You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl@perl.apache.org by Ragnar Hakonarson <ra...@signal.bz> on 2005/09/26 18:01:06 UTC
Having issues with Embperl::Object
Dear all
I have been building web based application with Embperl since end 1999. I
just now decided to start utilising Embperl::Object and, consequently,
altered relevant configuration files to enable me to use the OO paradigm.
My intention was to run both older Embperl web applications (not requiring
Embperl::Object) and newer ones requiring Embperl::Object. However, this has
caused some issues.
More to the point, I have managed to get both Embperl applications and
Embperl::Object applications to run individually but not jointly. That is, a
certain configuration allows me to run my older Embperl applications but
then the newer Embperl::Object applications fail, and vice versa.
If I include in the http.conf "PerlModule Embperl" the web applications
utilising Embperl::Object works, by omitting it web applications not using
Embperl::Object (but still Embperl) works. BUT I NEVER GET THEM BOTH TO
WORK!!!!
The error message I get when web applications utilising Embperl::Object does
not work is : "ERR: 56: : Unknown Provider epcompile" and, when web
applications utilising Embperl without Embperl::Object does not work I get
error message "Undefined subroutine &HTML::Embperl::handler called.\n".
Any help would be highly appreciated thank you.
Below are my perl.conf and startup.pl.
Thanks
Ragnar
####################### perl.conf ##########################
PerlRequire /etc/httpd/startup.pl
PerlFreshRestart On
SetEnv EMBPERL_DEBUG 1
SetEnv EMBPERL_MAIL_ERRORS_TO emb_errors@tnsn.com
PerlLogHandler Apache::DBILogger
PerlSetVar DBILogger_data_source dbi:Pg:dbname=httpdlog
<files *.epl>
SetHandler perl-script
PerlHandler HTML::Embperl
Options +ExecCGI
</files>
<location /reports>
SetHandler perl-script
PerlHandler HTML::Embperl
Options +ExecCGI
</location>
<files press.html>
SetHandler perl-script
PerlHandler HTML::Embperl
Options +ExecCGI
</files>
AddType text/html .epl
# --------- Access directives (inhouse) ----------
<location /protected>
PerlAccessHandler Apache::SubTicketAccess->authenticate
PerlSetVar TicketRealm protected
</location>
<location /loginform>
SetHandler perl-script
PerlHandler Apache::SubTicketAccess->login_form
PerlSetVar TicketRealm protected
</location>
<location /login>
SetHandler perl-script
PerlHandler Apache::SubTicketAccess->login
PerlSetVar TicketRealm protected
</location>
<location /protected/logout>
SetHandler perl-script
PerlHandler Apache::SubTicketAccess->logout
PerlSetVar TicketRealm protected
</location>
# ------------ Access Directives (tracker) ----------
<location /protected_tracker>
PerlAccessHandler Apache::SubTicketAccess->authenticate
PerlSetVar TicketRealm protected_tracker
</location>
<location /loginform_tracker>
SetHandler perl-script
PerlHandler Apache::SubTicketAccess->login_form
PerlSetVar TicketRealm protected_tracker
</location>
<location /login_tracker>
SetHandler perl-script
PerlHandler Apache::SubTicketAccess->login
PerlSetVar TicketRealm protected_tracker
</location>
<location /protected_tracker/logout>
SetHandler perl-script
PerlHandler Apache::SubTicketAccess->logout
PerlSetVar TicketRealm protected_tracker
</location>
# ------------ SOLICITOR MATTER MANAGEMENT HANDLER ---------------
<location /protected_sol_matter_mngt>
PerlAccessHandler Apache::SubTicketAccess->authenticate
PerlSetVar TicketRealm protected_sol_matter_mngt
</location>
<location /loginform_sol_matter_mngt>
SetHandler perl-script
PerlHandler Apache::SubTicketAccess->login_form
PerlSetVar TicketRealm protected_sol_matter_mngt
</location>
<location /login_sol_matter_mngt>
SetHandler perl-script
PerlHandler Apache::SubTicketAccess->login
PerlSetVar TicketRealm protected_sol_matter_mngt
</location>
<location /protected_sol_matter_mngt/logout>
SetHandler perl-script
PerlHandler Apache::SubTicketAccess->logout
PerlSetVar TicketRealm protected_sol_matter_mngt
</location>
<Location /protected_sol_matter_mngt>
PerlSetEnv EMBPERL_OBJECT_BASE base.oop
PerlSetEnv EMBPERL_FILESMATCH "\.oop$"
PerlSetEnv EMBPERL_OBJECT_STOPDIR /protected_sol_matter_mngt
SetHandler perl-script
PerlHandler Embperl::Object
Options ExecCGI
</Location>
######################## startup.pl ##########################
#!/usr/bin/perl
BEGIN {
unshift(@INC, "/caseTracking/packages");
}
use Apache::DBI;
use DBI;
$ENV{EMBPERL_SESSION_HANDLER_CLASS} = 'no';
use Apache::Cookie;
use Apache::DBILogger;
use Apache::TicketAccess();
use Apache::SubTicketAccess();
# -- Access directives for 'protected' area --
Apache::SubTicketAccess->configure('protected', {
TicketDB => 'dbi:Pg(AutoCommit=>0):dbname=transactiondb',
TicketDBUser => 'clm',
TicketUserTable => 'users:username:passwd',
TicketTable => 'tickets:ticket_hash:expires',
TicketSecretTable => 'ticketsecrets:sec_data:sec_version',
TicketDomain => '.tnsn.com',
TicketPath => '/protected',
TicketSecure => 0,
TicketLoginForm => '/loginform',
TicketLoginScript => '/login',
TicketExpires => 30,
TicketLogoutURI => '/loginform?logout=1',
TicketDefaultPage => '/home.epl',
});
# -- Access directive for tracker.tnsn.com --
Apache::SubTicketAccess->configure('protected_tracker', {
TicketDB =>
'dbi:Pg(AutoCommit=>0):dbname=transactiondb',
TicketDBUser => 'clm',
TicketUserTable => 'users_tracker:username:passwd',
TicketTable => 'tickets:ticket_hash:expires',
TicketSecretTable => 'ticketsecrets:sec_data:sec_version',
TicketDomain => '.tnsn.com',
TicketPath => '/protected_tracker',
TicketSecure => 0,
TicketLoginForm => '/loginform_tracker',
TicketLoginScript => '/login_tracker',
TicketExpires => 60,
TicketLogoutURI => '/',
TicketDefaultPage =>
'/protected_tracker/mainpage.epl?first=true',
});
# -- Access directive for solicitor matter management --
Apache::SubTicketAccess->configure('protected_sol_matter_mngt', {
TicketDB =>
'dbi:Pg(AutoCommit=>0):dbname=transactiondb',
TicketDBUser => 'clm',
TicketUserTable => 'users_solicitors:username:passwd',
TicketTable => 'tickets:ticket_hash:expires',
TicketSecretTable => 'ticketsecrets:sec_data:sec_version',
TicketDomain => '.tnsn.com',
TicketPath => '/protected_sol_matter_mngt',
TicketSecure => 0,
TicketLoginForm => '/loginform_sol_matter_mngt',
TicketLoginScript => '/login_sol_matter_mngt',
TicketExpires => 60,
TicketLogoutURI => '/',
TicketDefaultPage => '/protected_sol_matter_mngt/home.oop',
});
1;
RE: Having issues with Embperl::Object
Posted by Gerald Richter <ri...@ecos.de>.
HI,
You are using HTML::Embperl which is Embperl 1.3 and Embperl::Object which
is Embperl 2.0. Is this intented?
Both work together, so no problem, but you need a
PerlModule HTML::Embperl
For Embperl 1.3 and the lines
LoadModule /path/to/perl5/site/lib/..../Embperl.so
PerlModule Embperl
For Embperl 2.0 to work correctly.
Gerald
---------------------------------------------------------------------------
Besuchen Sie uns auf der Systems 2005 in München, Halle B2, Stand 704
---------------------------------------------------------------------------
Gerald Richter ecos electronic communication services gmbh
IT-Securitylösungen * Webapplikationen mit Apache/Perl/mod_perl/Embperl
Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz
E-Mail: richter@ecos.de Voice: +49 6133 939-122
WWW: http://www.ecos.de/ Fax: +49 6133 939-333
---------------------------------------------------------------------------
ECOS BB-5000 Firewall- und IT-Security Appliance: www.bb-5000.info
---------------------------------------------------------------------------
> -----Original Message-----
> From: Ragnar Hakonarson [mailto:ragnar@signal.bz]
> Sent: Monday, September 26, 2005 6:01 PM
> To: embperl@perl.apache.org
> Subject: Having issues with Embperl::Object
>
>
>
> Dear all
>
>
>
> I have been building web based application with Embperl since
> end 1999. I just now decided to start utilising
> Embperl::Object and, consequently, altered relevant
> configuration files to enable me to use the OO paradigm.
>
>
>
> My intention was to run both older Embperl web applications
> (not requiring Embperl::Object) and newer ones requiring
> Embperl::Object. However, this has caused some issues.
>
>
>
> More to the point, I have managed to get both Embperl
> applications and Embperl::Object applications to run
> individually but not jointly. That is, a certain
> configuration allows me to run my older Embperl applications
> but then the newer Embperl::Object applications fail, and vice versa.
>
>
>
> If I include in the http.conf PerlModule Embperl the web
> applications utilising Embperl::Object works, by omitting it
> web applications not using Embperl::Object (but still
> Embperl) works. BUT I NEVER GET THEM BOTH TO WORK!!!!
>
>
>
> The error message I get when web applications utilising
> Embperl::Object does not work is : ERR: 56: : Unknown
> Provider epcompile and, when web applications utilising
> Embperl without Embperl::Object does not work I get error
> message Undefined subroutine &HTML::Embperl::handler called.\n.
>
>
>
> Any help would be highly appreciated thank you.
>
>
>
> Below are my perl.conf and startup.pl.
>
>
>
> Thanks
>
> Ragnar
>
>
>
> ####################### perl.conf ##########################
>
>
>
> PerlRequire /etc/httpd/startup.pl
>
> PerlFreshRestart On
>
>
>
> SetEnv EMBPERL_DEBUG 1
>
> SetEnv EMBPERL_MAIL_ERRORS_TO emb_errors@tnsn.com
>
>
>
> PerlLogHandler Apache::DBILogger
>
>
>
> PerlSetVar DBILogger_data_source dbi:Pg:dbname=httpdlog
>
>
>
> <files *.epl>
>
> SetHandler perl-script
>
> PerlHandler HTML::Embperl
>
> Options +ExecCGI
>
> </files>
>
>
>
> <location /reports>
>
> SetHandler perl-script
>
> PerlHandler HTML::Embperl
>
> Options +ExecCGI
>
> </location>
>
>
>
> <files press.html>
>
> SetHandler perl-script
>
> PerlHandler HTML::Embperl
>
> Options +ExecCGI
>
> </files>
>
>
>
> AddType text/html .epl
>
>
>
> # --------- Access directives (inhouse) ----------
>
> <location /protected>
>
> PerlAccessHandler Apache::SubTicketAccess->authenticate
>
> PerlSetVar TicketRealm protected
>
> </location>
>
>
>
> <location /loginform>
>
> SetHandler perl-script
>
> PerlHandler Apache::SubTicketAccess->login_form
>
> PerlSetVar TicketRealm protected
>
> </location>
>
>
>
> <location /login>
>
> SetHandler perl-script
>
> PerlHandler Apache::SubTicketAccess->login
>
> PerlSetVar TicketRealm protected
>
> </location>
>
>
>
> <location /protected/logout>
>
> SetHandler perl-script
>
> PerlHandler Apache::SubTicketAccess->logout
>
> PerlSetVar TicketRealm protected
>
> </location>
>
>
>
> # ------------ Access Directives (tracker) ----------
>
> <location /protected_tracker>
>
> PerlAccessHandler Apache::SubTicketAccess->authenticate
>
> PerlSetVar TicketRealm protected_tracker
>
> </location>
>
>
>
> <location /loginform_tracker>
>
> SetHandler perl-script
>
> PerlHandler Apache::SubTicketAccess->login_form
>
> PerlSetVar TicketRealm protected_tracker
>
> </location>
>
>
>
> <location /login_tracker>
>
> SetHandler perl-script
>
> PerlHandler Apache::SubTicketAccess->login
>
> PerlSetVar TicketRealm protected_tracker
>
> </location>
>
>
>
> <location /protected_tracker/logout>
>
> SetHandler perl-script
>
> PerlHandler Apache::SubTicketAccess->logout
>
> PerlSetVar TicketRealm protected_tracker
>
> </location>
>
>
>
> # ------------ SOLICITOR MATTER MANAGEMENT HANDLER ---------------
>
>
>
> <location /protected_sol_matter_mngt>
>
> PerlAccessHandler Apache::SubTicketAccess->authenticate
>
> PerlSetVar TicketRealm protected_sol_matter_mngt
>
> </location>
>
>
>
> <location /loginform_sol_matter_mngt>
>
> SetHandler perl-script
>
> PerlHandler Apache::SubTicketAccess->login_form
>
> PerlSetVar TicketRealm protected_sol_matter_mngt
>
> </location>
>
>
>
> <location /login_sol_matter_mngt>
>
> SetHandler perl-script
>
> PerlHandler Apache::SubTicketAccess->login
>
> PerlSetVar TicketRealm protected_sol_matter_mngt
>
> </location>
>
>
>
> <location /protected_sol_matter_mngt/logout>
>
> SetHandler perl-script
>
> PerlHandler Apache::SubTicketAccess->logout
>
> PerlSetVar TicketRealm protected_sol_matter_mngt
>
> </location>
>
>
>
>
>
> <Location /protected_sol_matter_mngt>
>
> PerlSetEnv EMBPERL_OBJECT_BASE base.oop
>
> PerlSetEnv EMBPERL_FILESMATCH "\.oop$"
>
> PerlSetEnv EMBPERL_OBJECT_STOPDIR /protected_sol_matter_mngt
>
> SetHandler perl-script
>
> PerlHandler Embperl::Object
>
> Options ExecCGI
>
> </Location>
>
>
>
> ######################## startup.pl ##########################
>
>
>
> #!/usr/bin/perl
>
>
>
>
>
> BEGIN {
>
> unshift(@INC, "/caseTracking/packages");
>
> }
>
>
>
> use Apache::DBI;
>
> use DBI;
>
>
>
> $ENV{EMBPERL_SESSION_HANDLER_CLASS} = 'no';
>
>
>
> use Apache::Cookie;
>
> use Apache::DBILogger;
>
> use Apache::TicketAccess();
>
> use Apache::SubTicketAccess();
>
>
>
>
>
> # -- Access directives for 'protected' area --
>
> Apache::SubTicketAccess->configure('protected', {
>
> TicketDB =>
> 'dbi:Pg(AutoCommit=>0):dbname=transactiondb',
>
> TicketDBUser => 'clm',
>
> TicketUserTable => 'users:username:passwd',
>
> TicketTable => 'tickets:ticket_hash:expires',
>
> TicketSecretTable => 'ticketsecrets:sec_data:sec_version',
>
> TicketDomain => '.tnsn.com',
>
> TicketPath => '/protected',
>
> TicketSecure => 0,
>
> TicketLoginForm => '/loginform',
>
> TicketLoginScript => '/login',
>
> TicketExpires => 30,
>
> TicketLogoutURI => '/loginform?logout=1',
>
> TicketDefaultPage => '/home.epl',
>
> });
>
>
>
> # -- Access directive for tracker.tnsn.com --
>
> Apache::SubTicketAccess->configure('protected_tracker', {
>
> TicketDB =>
> 'dbi:Pg(AutoCommit=>0):dbname=transactiondb',
>
> TicketDBUser => 'clm',
>
> TicketUserTable => 'users_tracker:username:passwd',
>
> TicketTable => 'tickets:ticket_hash:expires',
>
> TicketSecretTable => 'ticketsecrets:sec_data:sec_version',
>
> TicketDomain => '.tnsn.com',
>
> TicketPath => '/protected_tracker',
>
> TicketSecure => 0,
>
> TicketLoginForm => '/loginform_tracker',
>
> TicketLoginScript => '/login_tracker',
>
> TicketExpires => 60,
>
> TicketLogoutURI => '/',
>
> TicketDefaultPage =>
> '/protected_tracker/mainpage.epl?first=true',
>
> });
>
>
>
> # -- Access directive for solicitor matter management --
>
> Apache::SubTicketAccess->configure('protected_sol_matter_mngt', {
>
> TicketDB =>
> 'dbi:Pg(AutoCommit=>0):dbname=transactiondb',
>
> TicketDBUser => 'clm',
>
> TicketUserTable => 'users_solicitors:username:passwd',
>
> TicketTable => 'tickets:ticket_hash:expires',
>
> TicketSecretTable =>
> 'ticketsecrets:sec_data:sec_version',
>
> TicketDomain => '.tnsn.com',
>
> TicketPath => '/protected_sol_matter_mngt',
>
> TicketSecure => 0,
>
> TicketLoginForm => '/loginform_sol_matter_mngt',
>
> TicketLoginScript => '/login_sol_matter_mngt',
>
> TicketExpires => 60,
>
> TicketLogoutURI => '/',
>
> TicketDefaultPage =>
> '/protected_sol_matter_mngt/home.oop',
>
> });
>
>
>
>
>
> 1;
>
>
>
>
>
>
>
> ** Virus checked by BB-5000 Mailfilter **
> !DSPAM:43381b6774891900910809!
>
>
** Virus checked by BB-5000 Mailfilter **
---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org