Re: Apache::Session and user sessions

2002-12-09 Thread Rafiq Ismail (ADMIN)

On Mon, 9 Dec 2002, Perrin Harkins wrote:

 md wrote:
  My question is with regards to whether I need or
  should put the submitted data into the session as the
  user navigates the forms (to create an account). The
  user will be taken through three forms to create an
  account. So for instance, form one will ask the user
  to create a username, password, and provide an email
  address. Before moving on to form two (billing info),
  should I put this data in the session, or just go
  ahead and dump it in the database (after making any
  nec. checks), since I won't need the info until they
  actually login? Or should I collect all the info from
  all three screens by putting it in the session as the
  user traverses the forms and then put it all in the
  database at once? I'm currently using the first
  option. BTW, it is possible for a user to create a
  free account by hitting form one only, so no harm
  would come if something happened after form one.

 This is really a question of requirements.  In systems where all

Agreed.
I have a golden rule for this:

if (( management are annoying and like to know about incomplete
  registrations
  ||
  you want one point of varifying input so that designers can
  shove in as many intermediary pages as possible)
 )

You don't have a ridiculous amount of fields to process )
{
place in session
}
else
  {
  shove in hiddens.
  }

I wouldn't start populating your real tables until the registration is
complete since you may end up with lots of incomplete junk in there and
your form design will be governed by any database constraints placed on
your table (foreign keys, and stuff).

Then again, I sometimes have to bend my golden rules.  Fortunately Perl
and Gold both bend easily.

 usually don't store form input in the session because it leads to
 strange results if the user has multiple browser windows open on the
 site, but that may not be an issue for your application.

I'm not sure how often a user will attempt to complete one form through
multiple browsers.  To be honest I'm not sure that he/she should.  I think
of a form as one process which may remain persistant due to hiddens or a
session.  Once the form has been completed or a user has logged in, the
session data used for the rest of the site should probably be unrelated
and populated separately.

That's just my 0.02 EU on a cold Monday evening.

R.





Re: Newbie: Why does my script prompt to be downloaded intermittantly?

2002-11-21 Thread Rafiq Ismail (ADMIN)
On Thu, 21 Nov 2002, Trevor Joerges [SendMIME Software] wrote:
 behavior is intermittent. I've read the mod_perl pitfalls and the
 PerlSendHeader is set to on in my config file. Is there something else I
 need to add or remove?
Hi Treveor,

I've seen three fixes to this sort of problem in the past, so you might
want to see if any of the following apply to your case:

1) Changing Browser - Galeon had me testing for days, when I could
clearly see that I was getting the correct header, via telnet to the port.
See below.

2) Turning PerlSendHeader Off and sending your own headers.
The problem was probably somewhere else, but sending my own
headers fixed it.  Then again, the problem might not have been elsewhere.

3) Make sure you're not sending your header twice.  With
PerlSendHeader being on or off, plus a code segment sending a header/or
some gibber elsewhere, or even a stray 'print' to STDOUT from some other
place, before the header is dispatched.

I've had header trouble a couple of time and have often found telneting to
the vhost to be a very handy detector of what might be going wrong.  If
that fails then paracetamol is usually a good cure.

My late night 0.02 EU.

R.





Re: Apache::DBI and password security

2002-11-15 Thread Rafiq Ismail (ADMIN)
On Fri, 15 Nov 2002, [iso-8859-1] Faßhauer, Wolfgang, FCI3 wrote:
 one database user because of resource limits. The problem I see is that the
 password for connecting to the database is clear readable in the perl
 script.
 Does anybody know how to hide that password?

Have you thought of running your webserver as some 'www' user?  You can
then make your scripts readonly by a 'dev' group which the www user and
the developes are members of.






Re: Apache::DBI and password security

2002-11-15 Thread Rafiq Ismail (ADMIN)
On Fri, 15 Nov 2002, Rafiq Ismail (ADMIN) wrote:

 On Fri, 15 Nov 2002, [iso-8859-1] Faßhauer, Wolfgang, FCI3 wrote:
  one database user because of resource limits. The problem I see is that the
  password for connecting to the database is clear readable in the perl
  script.
  Does anybody know how to hide that password?

 Have you thought of running your webserver as some 'www' user?  You can
 then make your scripts readonly by a 'dev' group which the www user and
 the developes are members of.
CORRECT:
'readonly' should be 'only readable' by

R.





Re: AW: Apache::DBI and password security

2002-11-15 Thread Rafiq Ismail (ADMIN)
On Fri, 15 Nov 2002, [iso-8859-1] Faßhauer, Wolfgang, FCI3 wrote:
  Have you thought of running your webserver as some 'www' user?  You can
  then make your scripts readonly by a 'dev' group which the www user and
  the developes are members of.
 CORRECT:
 'readonly' should be 'only readable' by

 Yes, that's our plan, too. But the risk still remains that someone will get
 a look to the script. I think, there is a golden rule: Never put clear text
 passwords in files. Those files are stored in archives by backup for
 example. There maybe a lot of people (sysadmin, developer, ...) concerned
 with the webserver. So it's not easy to secure it.


A thought, although I've never been so secure myself and I'm not sure how
secure this would be - but it's one of those silly convoluted ideas you
have to tell someone.  Since you're using mod_perl and apache_dbi, this is
just a thought.  Use the Crypt::Blowfish_PP to generate an encrypted
password and place it as a variable in a package somewhere.  During server
startup take a password from the command line, some sort of:

Perl
Paranoid::CryptDBIPassword::promptForPassword
/Perl

getliner.

Take the value as my $key and:

my $bfish = Crypt::Blowfish_PP-new($key)

$Apache::PARANOID::dbiPassword
= $bfish-decrypt($encryptedPassword);



then whenever you want your password you access
$Apache::PARANOID::dbiPassword.


Hmm.  I think that the guy who wrote Blowfish_PP would cut my danglies off
for that one.

R.







Re: AW: Apache::DBI and password security

2002-11-15 Thread Rafiq Ismail (ADMIN)
On Fri, 15 Nov 2002, [iso-8859-1] Faßhauer, Wolfgang, FCI3 wrote:
Hmm.  I think that the guy who wrote Blowfish_PP would cut my
 danglies off
for that one.

This is an interesting idea.

Cutting my danglies off? hmm.  Sounds painful.

Many thanks to you, Rafiq!

s'ok, although I wouldn't implement this myself.  There are probably nicer
ways of being paranoid out there.

And just use Crypt::Blowfish if you really want to use Blowfish.
:)

Good luck.

R.




Help - SEGFAULTS on 'PerlModule' after version upgrade

2002-11-14 Thread Rafiq Ismail (ADMIN)
Ugggh: My software works with the 'original server settings', (apache
1.3.24/mod_perl 1.26) see below(1), under linux.

It doesn't work with 'new server settings', (apache 1.3.26 / mod_perl
1.26) see below(2), under freeBSD.

Symptoms:

With the new build, I get seg faults with 'some' of the PerlModules
included through PerlModule in various virtualhosts.  Other modules work.
These packages all run with strict and do not include any XS besides what
may hide under the cover with DBI, Date::Calc and Template.  I also have a
headache.  The packages were happily being included into my old build and
there is nothing unusual about them.  An strace displays the last couple
of lines before a segfault as follows:


Server Settings follow this Block===

stat(/usr/local/lib/perl5/site_perl/5.005/i386-freebsd/auto/Date/Calc/Calc.bs,
{st_mode=S_IFREG|0444, st_size=0, ...}) = 0
sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV SYS], []) = 0
open(/usr/local/lib/perl5/site_perl/5.005/i386-freebsd/auto/Date/Calc/Calc.so,
O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0555, st_size=105794, ...}) = 0
read(7, \177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 )\0\000...,
4096) = 4096
mmap(0, 102400, PROT_READ|PROT_EXEC, MAP_PRIVATE, 7, 0) = 0x28316000
mmap(0x2832e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 7,
0x17000) = 0x2832e000
close(7)= 0
access(/usr/lib/libperl.so.3, F_OK)   = 0
open(/usr/lib/libperl.so.3, O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0444, st_size=615768, ...}) = 0
read(7, \177ELF\1\1\1\t\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0|O\1\000...,
4096) = 4096
mmap(0, 622592, PROT_READ|PROT_EXEC, MAP_PRIVATE, 7, 0) = 0x2832f000
mmap(0x283bd000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 7,
0x8d000) = 0x283bd000
mmap(0x283c6000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0x283c6000
close(7)= 0
access(/usr/lib/libm.so.2, F_OK)  = 0
access(/usr/lib/libm.so.2, F_OK)  = 0
access(/usr/lib/libutil.so.3, F_OK)   = 0
sigprocmask(SIG_SETMASK, [], NULL)  = 0
sigprocmask(SIG_BLOCK, ~[ILL TRAP ABRT EMT FPE BUS SEGV SYS], []) = 0
sigprocmask(SIG_SETMASK, [], NULL)  = 0
--- SIGSEGV (Segmentation fault) ---
--- SIGSEGV (Segmentation fault) ---

===

Can someone please help??  I can provide a fuller strace if someone
might be able to decipher my problem from this.

Very, very, lost,
Cheers,
Rafiq

SERVER CONFIGS:


(1)'original server settings'
-
Server version: Apache/1.3.24 (Unix)
Modperl: 1.26
Compiled-in modules:
  http_core.c
  mod_so.c
Server compiled with
 -D EAPI
 -D HAVE_MMAP
 -D HAVE_SHMGET
 -D USE_SHMGET_SCOREBOARD
 -D USE_MMAP_FILES
 -D HAVE_FCNTL_SERIALIZED_ACCEPT
 -D HAVE_SYSVSEM_SERIALIZED_ACCEPT
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D HTTPD_ROOT=/usr/local/apache
 -D SUEXEC_BIN=/usr/local/apache/bin/suexec
 -D DEFAULT_PIDLOG=logs/httpd.pid
 -D DEFAULT_SCOREBOARD=logs/httpd.scoreboard
 -D DEFAULT_LOCKFILE=logs/httpd.lock
 -D DEFAULT_XFERLOG=logs/access_log
 -D DEFAULT_ERRORLOG=logs/error_log
 -D TYPES_CONFIG_FILE=conf/mime.types
 -D SERVER_CONFIG_FILE=conf/httpd.conf
 -D ACCESS_CONFIG_FILE=conf/access.conf
 -D RESOURCE_CONFIG_FILE=conf/srm.conf



(2)'new server settings':
-
Server version: Apache/1.3.26 (Unix)
Mod_Perl: 1.26
Compiled-in modules:
  http_core.c
  mod_so.c
Server compiled with
 -D HAVE_MMAP
 -D USE_MMAP_SCOREBOARD
 -D USE_MMAP_FILES
 -D HAVE_FLOCK_SERIALIZED_ACCEPT
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D SO_ACCEPTFILTER
 -D ACCEPT_FILTER_NAME=httpready
 -D HTTPD_ROOT=/usr/local
 -D SUEXEC_BIN=/usr/local/sbin/suexec
 -D DEFAULT_PIDLOG=/var/run/httpd.pid
 -D DEFAULT_SCOREBOARD=/var/run/httpd.scoreboard
 -D DEFAULT_LOCKFILE=/var/run/httpd.lock
 -D DEFAULT_ERRORLOG=/var/log/httpd-error.log
 -D TYPES_CONFIG_FILE=etc/apache/mime.types
 -D SERVER_CONFIG_FILE=etc/apache/httpd.conf
 -D ACCESS_CONFIG_FILE=etc/apache/access.conf
 -D RESOURCE_CONFIG_FILE=etc/apache/srm.conf





More Segfaultage - FreeBSD, building apache, ssl, mod_perl fromports

2002-11-12 Thread Rafiq Ismail (ADMIN)
I'm a bit irritated by FreeBSD ports at the moment and need somoene to
shine some light.  I need to build Apache from ports on a BSD box - it has
to be from ports - but i don't want to include mod_perl in as a dso.
Thus, I'd like to go to ports and 'Make' with a bunch of options which
will compile mod_perl straight into my apache1.3-ssl package.  Having run
make on www/apache1.3-ssl and www/mod_perl, all I get is segfaults.  I
simply want to run one make to build it in one go.

How???

I'm sure that the BSD users amoungst you have all done it 101 times.

Help please?

Cheers,

Rafiq








Re: More Segfaultage - FreeBSD, building apache, ssl, mod_perl from ports

2002-11-12 Thread Rafiq Ismail (ADMIN)
On Tue, 12 Nov 2002, Dominic Mitchell wrote:

  I'm sure that the BSD users amoungst you have all done it 101 times.

 Nope, ports only supports mod_perl as a DSO.
oh, poop.

 The alternative is to use something like apache toolbox[1] to install it
 all in one go.  If you want to be sneaky, you can always get a list of
 files post-install and run it through pkg_create to fake up a package.
 It's what the ports makefile does for you behind your back, anyway...

Sounds fun.  I'll look into pkg_create.
Cheers.

Rafiq





Re: Help mod_perl 1.27 and DB

2002-11-08 Thread Rafiq Ismail (ADMIN)
On Fri, 8 Nov 2002, Tony Simbine wrote:
 GET http://www.myhost.com/myscript.perl
  now I get the results as expect
 GET http://www.myhost.com/myscript.perl
  now I get an error
 wenn i reload my apache-webserver, then i allways get the expected page.
 how can i resolve it?

You know he's right?  It's always best to show what your errors actually
are.

Read the modperl guide and it will show you that this sort of behaviour
comes from globals bouncing between processes.  Scrop your variables and
you'll be a happy man.  Always use strict and .. it's a friday night, I'm
going to frag now.  Read the guide, it's in there.  It's under common
pitfalls or something of that nature.
byebye.








Re: Is there an easy way to trace / debug Apache::DBI (Postgres)leaks?

2002-10-16 Thread Rafiq Ismail

On Wed, 16 Oct 2002, Kirk Bowe wrote:
  my $dbh = DBI-connect (dbi:Pg:dbname=hello, postgres, foo);
  my %orig = ();
  my @attrs = qw(AutoCommit RaiseError);
  $orig{$_} = $dbh-{$_} for @attrs;
  $dbh-{AutoCommit} = 0; $dbh-{RaiseError} = 1;

 When I later do the $dbh-commit, it fails with this in my log file:

I've always done it this way, further the DBI man states:

   Enable transactions (by turning AutoCommit off)
   until the next call to commit or rollback. After
   the next commit or rollback, AutoCommit will
   automatically be turned on again.

Although I usually just do a $dbh-{AutoCommit}=1 to re-enable.

Are you sure that there isn't something else changing the AutoCommit back
on, unintentionally?

Rafiq
-- 
Senior Programmer
Bookings.nl
--
Me::[EMAIL PROTECTED]||www.dreamthought.com
Budget hosting on my 10Mbit/backbone::[EMAIL PROTECTED]





Re: current state of conf/code, feedback?

2002-10-15 Thread Rafiq Ismail

On Tue, 15 Oct 2002, Paul Simon wrote:
 variables, such as the DBI handle, offer any benefits (or pain) of a
 shared connection?

You might want to try using Apache::DBI for persistent connections.
It is completely transparent to your code, in terms of changes.

R.
-- 
Senior Programmer
Bookings.nl
--
Me::[EMAIL PROTECTED]||www.dreamthought.com
Budget hosting on my 10Mbit/backbone::[EMAIL PROTECTED]





Re: Apache::DBI and CGI::Application with lots of modules.

2002-10-14 Thread Rafiq Ismail

On Mon, 14 Oct 2002, Eric Frazier wrote:
 That looks like voodoo code copied from a man page.  If you call this as
 Holds-new(), you don't need that junk about ref.  (And most people
 recommend against the new Holds syntax.)

 I wanted the DBH to be global since just about every sub in Holds does a
 query of some sort. I guess it doesn't matter either way if I do the connect
 in the new() vs  up top outside of a sub.

Boredom break:

As for your dbh, stick it whereever its scope applies, however I don't
like declaring globals, so I've found that if I make the dbh accessible
via an object, usually together with Apache::DBI in the background, I can
often do clean up stuff, such as closing the handle (incase Apache::DBI
isn't in place with a particular invokation of the package), last system
logging updates/inserts, or whatever the job requires in a DESTROY method.

 What is the problem with the my $holdcheck = new Holds() type of syntax?
 I never read anything about that either way.
It's in the book which I think should be called, 'the guy in the silly hat
book,' ie. Damien's OO book, pretty much saying that,

The indirect object syntax does, however, suffer from the same type of
ambiguity problems that sometime befuddles print 

my $cd3 = new get_classname() (@data) #Compilation Error

...

parapharased type=badly
Assuming you have $cd=MyPackage and:
get_name $cd;

This is usually equivalent to:
$cd-get_name;

However, let's say that you have a method in the invoking script
named 'get_name', then:

get_name $cd;

Gets interpreted as:

get_name(MyPackage)

Which is not what you're after.
/paraphrase
 - from the guy in the silly hat book

-- 
Senior Programmer
Bookings.nl
--
Me::[EMAIL PROTECTED]||www.dreamthought.com
Budget hosting on my 10Mbit/backbone::[EMAIL PROTECTED]





Re: Apache::DBI and CGI::Application with lots of modules. (fwd)

2002-10-14 Thread Rafiq Ismail


On Mon, 14 Oct 2002, Eric Frazier wrote:
 That looks like voodoo code copied from a man page.  If you call this as
 Holds-new(), you don't need that junk about ref.  (And most people
 recommend against the new Holds syntax.)

 I wanted the DBH to be global since just about every sub in Holds does a
 query of some sort. I guess it doesn't matter either way if I do the connect
 in the new() vs  up top outside of a sub.

Boredom break:

As for your dbh, stick it whereever its scope applies, however I don't
like declaring globals, so I've found that if I make the dbh accessible
via an object, usually together with Apache::DBI in the background, I can
often do clean up stuff, such as closing the handle (incase Apache::DBI
isn't in place with a particular invokation of the package), last system
logging updates/inserts, or whatever the job requires in a DESTROY method.

 What is the problem with the my $holdcheck = new Holds() type of syntax?
 I never read anything about that either way.
It's in the book which I think should be called, 'the guy in the silly hat
book,' ie. Damien's OO book, pretty much saying that,

The indirect object syntax does, however, suffer from the same type of
ambiguity problems that sometime befuddles print 

my $cd3 = new get_classname() (@data) #Compilation Error

...

parapharased type=badly
Assuming you have $cd=MyPackage and:
get_name $cd;

This is usually equivalent to:
$cd-get_name;

However, let's say that you have a method in the invoking script
named 'get_name', then:

get_name $cd;

Gets interpreted as:

get_name(MyPackage)

Which is not what you're after.
/paraphrase
 - from the guy in the silly hat book

-- 
Senior Programmer
Bookings.nl
--
Me::[EMAIL PROTECTED]||www.dreamthought.com
Budget hosting on my 10Mbit/backbone::[EMAIL PROTECTED]






Re: Forking process

2002-10-09 Thread Rafiq Ismail

On Wed, 9 Oct 2002, Anton Permyakov wrote:
 Hi all,

 I need to start process, which would get big amount of data from another
 server into my DataBase,
 and while it will do it, my browser should show me progress-bar on this data
 extraction.

 I have mod_perl based web-server, so, i should not use fork(), as explained
 in Mod_perl docs. But also i cannot invoke system(), as this proccess could
 take very long time.
 What i have to do?

I'm not sure that I understand what you want to do, however, have you
considered:

* writing a handler which would connect to a deamon which itself could
start the secondary process.

* The script running the secondary processes could update some datastore
which you could periodically read from to show progress.

* It might also be possible to use syscalls straight from your script to
get progress on your dataextraction - depending on what and how it is
being extracted.

* Meta-refresh the page every now and then to keep updating your progress
bar.

R.

-- 
Senior Programmer
Bookings.nl
--
Me::[EMAIL PROTECTED]||www.dreamthought.com
Budget hosting on my 10Mbit/backbone::[EMAIL PROTECTED]





[Silly Problem] Error Logs all over the place

2002-10-02 Thread Rafiq Ismail

Hi People,

I'm trying to figure out why something is happening and after a failed
very silly idea of forking, backticks, greps and strace, I seek your help!

Background
--
Using:

moya# /usr/local/sbin/httpd -v
Server version: Apache/1.3.26 (Unix)
Server built:   Jul  2 2002 13:08:13

On a server which has declared a global MySQL PerlLogHandler and a global
declaration of:

ErrorLog syslog:local6


Someone else set up the httpd.conf on this server and we have '#includ'ed
a vhost with it's own ErrorLog directed to the bottom of the global
httpd.conf file.

Problem
---

The VirtualHost/ is playing up and appears to be showing STDERR output
from other VirtualHosts in it's ErrorLog file. I'm not sure if the global
PerlLogHandler is interfering in anyway, however this seems most bizzar to
 me since grepping for that particular ErrorLog file amoungst the other
virtual hosts appears to reveal that it is only decalred with the 'one'
VirtualHost/ block, whilst all the others seem to fall back to the
global declaration.

S0 -- It seems like a little slip up somewhere, however I don't see how an
 ErrorLog declared within 'one' VirtualHost block would become the default
for any other vhost processes? Any ideas on this one?

Cheers,

Rafiq


-- 
Senior Programmer
Bookings.nl
--
Me::[EMAIL PROTECTED]||www.dreamthought.com
Budget hosting on my 10Mbit/backbone::[EMAIL PROTECTED]





[Silly Problem] Error Logs all over the place

2002-10-02 Thread Rafiq Ismail

Hi People,

I'm trying to figure out why something is happening and after a failed
very silly idea of forking, backticks, greps and strace, I seek your help!

Background
--
Using:

moya# /usr/local/sbin/httpd -v
Server version: Apache/1.3.26 (Unix)
Server built:   Jul  2 2002 13:08:13

On a server which has declared a global MySQL PerlLogHandler and a global
declaration of:

ErrorLog syslog:local6


Someone else set up the httpd.conf on this server and we have '#includ'ed
a vhost with it's own ErrorLog directed to the bottom of the global
httpd.conf file.

Problem
---

The VirtualHost/ is playing up and appears to be showing STDERR output
from other VirtualHosts in it's ErrorLog file. I'm not sure if the global
PerlLogHandler is interfering in anyway, however this seems most bizzar to
 me since grepping for that particular ErrorLog file amoungst the other
virtual hosts appears to reveal that it is only decalred with the 'one'
VirtualHost/ block, whilst all the others seem to fall back to the
global declaration.

S0 -- It seems like a little slip up somewhere, however I don't see how an
 ErrorLog declared within 'one' VirtualHost block would become the default
for any other vhost processes? Any ideas on this one?

Cheers,

Rafiq


-- 
Senior Programmer
Bookings.nl
--
Me::[EMAIL PROTECTED]||www.dreamthought.com
Budget hosting on my 10Mbit/backbone::[EMAIL PROTECTED]






[Silly Problem] Error Logs all over the place

2002-10-02 Thread Rafiq Ismail

Hi People,

I'm trying to figure out why something is happening and after a failed
very silly idea of forking, backticks, greps and strace, I seek your help!

Background
--
Using:

moya# /usr/local/sbin/httpd -v
Server version: Apache/1.3.26 (Unix)
Server built:   Jul  2 2002 13:08:13

On a server which has declared a global MySQL PerlLogHandler and a global
declaration of:

ErrorLog syslog:local6


Someone else set up the httpd.conf on this server and we have '#includ'ed
a vhost with it's own ErrorLog directed to the bottom of the global
httpd.conf file.

Problem
---

The VirtualHost/ is playing up and appears to be showing STDERR output
from other VirtualHosts in it's ErrorLog file. I'm not sure if the global
PerlLogHandler is interfering in anyway, however this seems most bizzar to
 me since grepping for that particular ErrorLog file amoungst the other
virtual hosts appears to reveal that it is only decalred with the 'one'
VirtualHost/ block, whilst all the others seem to fall back to the
global declaration.

S0 -- It seems like a little slip up somewhere, however I don't see how an
 ErrorLog declared within 'one' VirtualHost block would become the default
for any other vhost processes? Any ideas on this one?

Cheers,

Rafiq


-- 
Senior Programmer
Bookings.nl
--
Me::[EMAIL PROTECTED]||www.dreamthought.com
Budget hosting on my 10Mbit/backbone::[EMAIL PROTECTED]







OT: Help with SQL SELECT on Varchar from character 0..n

2002-09-17 Thread Rafiq Ismail (ADMIN)

Hi,

I'm using postgres and remember having done something ages ago with some
operator in mysql, although it makes zero sense to me now as to how I did
it the first time.  What I want to do is have a select return a partial
string from the ith character of a string to the jth character of a
string.  I'd like postgres to filter this partial string and return it to
me.

Any ideas how I can go about doing this without using postgres regular
expressions?  Am I simply imagining that I managed to do this the first
time around?  Or should I be ashamed that I don't remember how to do it
this time around?

Cheers,

Rafiq






Re: OT: Help with SQL SELECT on Varchar from character 0..n

2002-09-17 Thread Rafiq Ismail (ADMIN)

Doh!  SUBSTR - I forgot to wear my brain this morning.



On Tue, 17 Sep 2002, Rafiq Ismail (ADMIN) wrote:

 Hi,

 I'm using postgres and remember having done something ages ago with some
 operator in mysql, although it makes zero sense to me now as to how I did
 it the first time.  What I want to do is have a select return a partial
 string from the ith character of a string to the jth character of a
 string.  I'd like postgres to filter this partial string and return it to
 me.

 Any ideas how I can go about doing this without using postgres regular
 expressions?  Am I simply imagining that I managed to do this the first
 time around?  Or should I be ashamed that I don't remember how to do it
 this time around?

 Cheers,

 Rafiq









Apache::Session HELP!

2002-08-09 Thread Rafiq Ismail (ADMIN)

Hi, I'm in major poop.

Got a presentation soon and my just implemented, implementation of
Apache::Session is not working as per the man page.

I've set commit to 1 and tied a session to a postgres database.  I then
set a field and check the table it's not there.

When I later do a fetch on it, I get a scarey error:

 [error] Object does not exist in the data store at
/usr/lib/perl5/site_perl/5.6.1/Apache/Session/Store/Postgres.pm line 81


Create and fetch methods, with table schema, below:


1)Create:


sub tieSession
{
  my $self = shift;
  my %session;
  my $dsn = DBI:Pg:dbname=.$DBI_DB.;host=.$DBI_HOST;

  print STDERR \n CREATING SESSION using dsn: $dsn \n;

  tie %session, 'Apache::Session::Postgres', undef,
{
 DataSource = $dsn,
 UserName = $DBI_USER,
 Password = $DBI_PWD,
 Commit = 1
};

  ## store creation time
  $session{CREATION_TIME}=time;

  return \%session;
}





2) fetching the session:



sub fetchSession
{
  my $self = shift;
  my $sessionId = shift;
  my $dsn = DBI:Pg:dbname=.$DBI_DB.;host=.$DBI_HOST;
  my %session;

  print STDERR \n getting session for $sessionId\n;

  tie %session, 'Apache::Session::Postgres', $sessionId,
{ DataSource = $dsn,
  UserName = $DBI_USER,
  Password = $DBI_PWD,
  Commit = 1
};

  ## store last access
  $session{LAST_ACCESS} = time;

  $ENV{GUEST_ID} = $session{GUEST_ID} || undef;
  return \%session;
}



3) Table Schemata



CREATE TABLE sessions (
   id char(32) not null primary key,
   a_session text
);




help?

Cheers,

fiq





RE: Some wierd problem with mod_perl and Apache

2002-08-03 Thread Rafiq Ismail (ADMIN)

On Sat, 3 Aug 2002, Ged Haywood wrote:

 Hi there,

 On Sat, 3 Aug 2002 [EMAIL PROTECTED] wrote:

  Well I wouldn't use CGI.pm just to  call param().
 
  If I don;t use CGI.pm, it complains during compilation
  - Undefined subroutine Apache::ChangePassword::param.

 Yup.  You need to parse the input some other way.  It's not difficult.

the one liner from the good old book:


my %params = $r-method eq 'POST' ? $r-content : $r-args;

Shove that in your handler somewhere and pass it around.  Remember that $r
is your request object.









RE: CGI Scripts w/mod_perl

2002-07-26 Thread Rafiq Ismail (ADMIN)

On Fri, 26 Jul 2002, Mark Coffman wrote:
 Try running which perl and use that path for your #!/usr/bin/perl line.
 Then rename your script as .cgi and see if that helps.

Um.. yeah, ignore all my locate tribble.  'which' is the way to go.
That wasn't a question.





PerlSendHeader and $r-header_out

2002-07-25 Thread Rafiq Ismail (ADMIN)

Hi People With Functioning Brain Cells,

I'm having a brief period of grief, which I'm sure I've been through
before.

I have this situation where I set a cookie using:
$r-header_out('Set-Cookie'=$cookie);

Now this is all fine, however I'm having a major problem in getting my
header into the right place.

If I call $r-send_http_header right after my $r-header_out(set_stuff)
directive, and then call $r-print(page contents), I get:

page_contents
HTTP_HEADERS DISPLAYED HERE (INCLUDING COOKIE HEADER)

Now, I experimented with PerlSendHeader being set to On, whilst disabling
the call to $r-send_http_header, yet it then appears to give me a header
which doesn't include the cookie header:

HTTP/1.1 200 OK
Date: Thu, 25 Jul 2002 13:01:12 GMT
Server: Apache/1.3.20 (Linux/SuSE) PHP/4.0.6 mod_perl/1.26
Transfer-Encoding: chunked
Content-Type: text/html

Any idea what is going on?

I'd like to just send_http_header with the headers appearing on top of my
page.  It appears to do things in the wrong order.  There is no
duplication of headers either.

If anyone can help and would fancy flying me out, I'll even buy you a
beer. :)

My content handler returns the result of another method called within the
same module.  This method is passed the request object, which in turn it
uses to send the headers and print the page.  This seems 'sensible' to me;
so why is it not working??

Many Thanks,

Fiq





   We're so wonderfully wonderfully wonderfully
Wonderfully pretty
Oh you know that I'd do anything for you
We should have each other to tea, huh?
We should have each other with cream
Then curl up by the fire
And sleep for awhile
It's the grooviest thing
It's the perfect dream
- The Cure, Love Cats.





Caching in TT2 or Some Mod Perl oddity

2002-06-26 Thread Rafiq Ismail (ADMIN)

I'm in a baffled state, ladies and gentleman.

I'm using TT2 to ultimately display some pages, however I'm having some
rather odd behaviour creeping in.

In my template constructor I have CACHE_SIZE set to 0.

I have a page which - even after a server restart - reverts to an older
version of the page.

Whilst I was still debugging, I accidently had Data::Dumper doing a print
STDOUT and a lovely $VAR1=[] in the corner of my screen.  This has long
since been removed from my code, however I keep going through hits of the
same page - as I said, even after a restart - where either I have the
'correct' funky page, or on the next hit reverting to the old over
funked paged.

From my understanding of TT2, it's not the actual page which is cached but
some sort of compiled version of the nested code (?). Thus I'm having
trouble seeing how it might be a TT2 problem, especially with
{CACHE_SIZE=0} whenever Template is instantiated.  Is it TT2 or is it
some Mod_Perlus Oddity?

Anyone?

Cheers,

Fiq





'Don't you love her madly?
 Don't you need her badly?
 Don't you love her ways?
 Tell me what you say?
 Don't you love her madly?
 want to be her daddy?
 Don't you love her face?
 Don't you love her as she's walking out the door?'

- Jim Morrison, The DoorS.





Idiot question: headers at the base of the page.

2002-06-12 Thread Rafiq Ismail (ADMIN)

I'm doing squinty eyed coding and need someone to knock common sense into
me.  In the right order - as far as I can see - I have my content_type
;send_http_headers; $r-print'ed.  With loads of poo in between.  Under
what circumstances would my page render, dumping the HTTP headers at the
base?  Other than their being sequentially out of order, that is.

It's probably one of those look at it again in the morning questions.

Someone hit me over the head with a hammer please.







Re: [OT] MVC soup (was: separating C from V in MVC)

2002-06-06 Thread Rafiq Ismail (ADMIN)


On Thu, 6 Jun 2002, Bill Moseley wrote:

 Anyone have links to examples of MVC Perl code (mostly controller code)
 that does a good job of M and C separation, and good ways to propagate
 errors back to the C?

http://pagekit.org,; might be interesting.

Fiq





Re: [OT] MVC soup (was: separating C from V in MVC)

2002-06-06 Thread Rafiq Ismail (ADMIN)

 On Thu, 6 Jun 2002, Bill Moseley wrote:

  Anyone have links to examples of MVC Perl code (mostly controller code)
  that does a good job of M and C separation, and good ways to propagate
  errors back to the C?

I'm working on my own impelmentation at the moment and am planning to have
a mechanism in my unoverridden forms controller subclass which hosts
methods which can validate data based on types derrived from the form's
input names, together with a set of valid fields.  For more complex
validation I'm planning on subclassing and overloading these methods.

The validation routines get called if there is a '_validate' field and
these in turn generate an errors structure which gets fed to the View's
view of the model.  I have a seed method in my controller which determines
the execution order, however what it does is call other seeds in the model
layer.  If all is cool, it does an internal redirect to the next page as
supplied in a hidden field - or determined at runtime.

You'll have to excuse me for the mubling, but my face is currently being
stuffed full of falafal. :)  Try some?

Fiq.













MVC advice..?

2002-05-29 Thread Rafiq Ismail (ADMIN)

Hi,

I'm building an MVC architecture site and have hit a design issue.  I have
varoius Control subclasses which relate to different templates with
different behaviour.  Now my problem is that I have to assign which
Subclass I want to instantiate, based on the script and params.  I my last
effort I went for a Shared datastructure holding (script, control module
pairs) which then allowed one to be dynamically eval 'use..''ed in the
main content handler.  I found that clunky.  I'm building from scratch
again and am thinking of just firing up a template and allowing the
control to be loaded INTO the view as a template toolkit plugin.  What I
hate about this is that I'm surrendering my View layer.

Is there a neat way of dynamically loading in the appropriate control
subclass?  Something proven and widely used.

Cheers,

Fiq

__  __   _ __  __
|  \/  | ___   __| | ___ _ __ _ __ |  \/  | __ _ _ __
| |\/| |/ _ \ / _` |/ _ \ '__| '_ \| |\/| |/ _` | '_ \
| |  | | (_) | (_| |  __/ |  | | | | |  | | (_| | | | |
|_|  |_|\___/ \__,_|\___|_|  |_| |_|_|  |_|\__,_|_| |_|
a pathetic example of his organic heritage
- Bad Religion






Re: MVC advice..?

2002-05-29 Thread Rafiq Ismail (ADMIN)

Ello,

On 29 May 2002, Randal L. Schwartz wrote:

  Rafiq == Rafiq Ismail (ADMIN) [EMAIL PROTECTED]
writes:
 Rafiq Is there a neat way of dynamically loading in the appropriate
control
 Rafiq subclass?  Something proven and widely used.

 Load the file with a require, and then just call the appropriate
 constructor using an indirect call:

 require My/Prefix/$type; # presuming $type has no colons
 $myClass = My::Prefix::$type;
 my $handler = $myClass-new(@parms);

 This works even in use strict.

Thanks.  This is pretty much the handler which I'd previously written,
with the the exception of s/use/require/.  I'll probably either go with
Apache::Dispatch, using the DispatchRequire option, or write something
custom.


On Wed, 29 May 2002, Perrin Harkins wrote:
 So, you're asking how to map URLs to perl modules?  Is there some reason
 you aren't simply using httpd.conf or Apache::Dispatch?  In my last MVC

I just took a look at Apache::Dispatch and I get he impression that if I
were to use it then I would have to either PerlModule 'all' my subclasses
beforehand, or alternateively use the DispatchRequire option anyway.  I'm
already using StatINC so I'm going to have to do a toss between code which
I've already written and converging to the Apache::Dispatch interface.

I'm not so keen on loading all the inheriting classes into memory
beforehand, nor setting up multiple handlers for each location.  It's a
fairly large site and my main concern was to do with how I should store
the correspondence from uri to object.


 design, we had all of our controllers inherit from one base controller
 that held all of the common code.

I could just map from URLs to the specific control subclasses and then use
Dispatch to require them - I'd already started on writing a mapping from
path names to relative namespaces.  I was still 'eval/use'ing the
Modules though.

How does StatINC behave with 'required' packages?

Hmm.. it's make your mind up time. ;)


Thanks for the tips.
Cheers,

Fiq

__
__  __   _ __  __
|  \/  | ___   __| | ___ _ __ _ __ |  \/  | __ _ _ __
| |\/| |/ _ \ / _` |/ _ \ '__| '_ \| |\/| |/ _` | '_ \
| |  | | (_) | (_| |  __/ |  | | | | |  | | (_| | | | |
|_|  |_|\___/ \__,_|\___|_|  |_| |_|_|  |_|\__,_|_| |_|
a pathetic example of his organic heritage
- Bad Religion




Re: PDF's [OT I THINK]

2002-04-08 Thread Rafiq Ismail (ADMIN)

Hi Geoff,
 not sure where to start looking for some info, so I thought here first

 I need to be able to print pdf's from an apache webserver using perl...
 I know usually that just an link to the file is sufficient, but these files
 are outside of the /var/www/path to webserver.

In such cases I usually point to a dynamic link which then sets the mime
type and then reads and spews out the document.  The browser will then
either render or hit you with a save option.


fiq
__
__  __   _ __  __
|  \/  | ___   __| | ___ _ __ _ __ |  \/  | __ _ _ __
| |\/| |/ _ \ / _` |/ _ \ '__| '_ \| |\/| |/ _` | '_ \
| |  | | (_) | (_| |  __/ |  | | | | |  | | (_| | | | |
|_|  |_|\___/ \__,_|\___|_|  |_| |_|_|  |_|\__,_|_| |_|
a pathetic example of his organic heritage
- Bad Religion




tt2 using mason tags

2002-04-08 Thread Rafiq Ismail (ADMIN)

Hi,

I'm experimenting with conversion of a mason template based system to tt2.
I tried to set TT2Tags to mason and then to %  however this, even with
the evaluate option to on, doesn't seem to work. (Apache::Template)

I then wrote a custom handler which uses a custom parser, which I've
constructed with the tag style set to mason.  No go there either. I've got
inline perl turned on, however I seem to alternate between a random
permissions error (probably a silly oversight) and an unevaluated
tempalate.

Does this sound familiar?

Has anyone had any success with porting straight from Mason?

Part two would be to replace the inline code with tt2 directives- thought
it was worth mentioning this before getting flamed.  :)

I'm just after evaluation with mason tags.  Anyone?

TIA,
fiq




__
__  __   _ __  __
|  \/  | ___   __| | ___ _ __ _ __ |  \/  | __ _ _ __
| |\/| |/ _ \ / _` |/ _ \ '__| '_ \| |\/| |/ _` | '_ \
| |  | | (_) | (_| |  __/ |  | | | | |  | | (_| | | | |
|_|  |_|\___/ \__,_|\___|_|  |_| |_|_|  |_|\__,_|_| |_|
a pathetic example of his organic heritage
- Bad Religion





Re: tt2 using mason tags

2002-04-08 Thread Rafiq Ismail (ADMIN)

 Mark Fowler wrote:
 Agreed.  Also, any significant Mason component is likely to use Mason's
 built-in object model, which is not part of TT.  You will probably have
 to port some code before it will run.

Understood, but it's a small application which is more custom o.o. perl
and inline perl based than it is custom mason.  Other than the fact that
it gets rendered by mason, it is pretty independent.

It's just the fact that in spite of my specifying that it should use
inline_perl, it didn't interpolate the inline code which uses custom
modules in mason tags.  I've got it to try and interpolate now, however it
seems to warn that $VARNAME's are odd symbols.  I'll look at that later.
Going to redo the whole thing in tt2 directives anyway.

Cheers to all.

fiq

__
__  __   _ __  __
|  \/  | ___   __| | ___ _ __ _ __ |  \/  | __ _ _ __
| |\/| |/ _ \ / _` |/ _ \ '__| '_ \| |\/| |/ _` | '_ \
| |  | | (_) | (_| |  __/ |  | | | | |  | | (_| | | | |
|_|  |_|\___/ \__,_|\___|_|  |_| |_|_|  |_|\__,_|_| |_|
a pathetic example of his organic heritage
- Bad Religion




DBI: selectall_hasref incompatibility

2002-04-02 Thread Rafiq Ismail (ADMIN)

Got a slight problem here..

Does anyone know why there was at some point a major change in the return
value for DBI::selectall_hashref?  And is there a depricated method which
still uses the original prototype?

My problem:
---

Using DBI V1.19 on my box, the reported prototype is:
   selectall_hashref
 $ary_ref = $dbh-selectall_hashref($statement);
 $ary_ref = $dbh-selectall_hashref($statement, \%attr);
 $ary_ref = $dbh-selectall_hashref($statement, \%attr,
bind_values


So i wrote shiney happy code and tried it on our production box.


On the Production box, using DBI V1.21, the given prototype is:

   selectall_hashref

 $hash_ref = $dbh-selectall_hashref($statement, $key_field);
 $hash_ref = $dbh-selectall_hashref($statement, $key_field,
\%attr);
 $hash_ref = $dbh-selectall_hashref($statement, $key_field,
\%attr, bind_values);


hmm.. I sware that I saw something similar about a year ago.

I don't want to go about rewriting code, so has anyone found some secret
undocumented method which still use the original prototype.


TIA,

fiq


__  __   _ __  __
|  \/  | ___   __| | ___ _ __ _ __ |  \/  | __ _ _ __
| |\/| |/ _ \ / _` |/ _ \ '__| '_ \| |\/| |/ _` | '_ \
| |  | | (_) | (_| |  __/ |  | | | | |  | | (_| | | | |
|_|  |_|\___/ \__,_|\___|_|  |_| |_|_|  |_|\__,_|_| |_|
a pathetic example of his organic heritage
- Bad Religion





Re: DBI: selectall_hasref incompatibility

2002-04-02 Thread Rafiq Ismail (ADMIN)

Fixed it with common sense - using values %$result to get back my
original struct.  Time to upgrade DBI.

Cheers anyway.  And a great big nasty insult to the wonderful guy who went
and made the selectall_hashref method do what it logically sounds like it
should do. ;)

fiq



On Tue, 2 Apr 2002, Rafiq Ismail (ADMIN) wrote:

 Got a slight problem here..

 Does anyone know why there was at some point a major change in the return
 value for DBI::selectall_hashref?  And is there a depricated method which
 still uses the original prototype?

 My problem:
 ---

 Using DBI V1.19 on my box, the reported prototype is:
selectall_hashref
  $ary_ref = $dbh-selectall_hashref($statement);
  $ary_ref = $dbh-selectall_hashref($statement, \%attr);
  $ary_ref = $dbh-selectall_hashref($statement, \%attr,
   bind_values


 So i wrote shiney happy code and tried it on our production box.


 On the Production box, using DBI V1.21, the given prototype is:

selectall_hashref

  $hash_ref = $dbh-selectall_hashref($statement, $key_field);
  $hash_ref = $dbh-selectall_hashref($statement, $key_field,
 \%attr);
  $hash_ref = $dbh-selectall_hashref($statement, $key_field,
 \%attr, bind_values);


 hmm.. I sware that I saw something similar about a year ago.

 I don't want to go about rewriting code, so has anyone found some secret
 undocumented method which still use the original prototype.


 TIA,

 fiq


 __  __   _ __  __
 |  \/  | ___   __| | ___ _ __ _ __ |  \/  | __ _ _ __
 | |\/| |/ _ \ / _` |/ _ \ '__| '_ \| |\/| |/ _` | '_ \
 | |  | | (_) | (_| |  __/ |  | | | | |  | | (_| | | | |
 |_|  |_|\___/ \__,_|\___|_|  |_| |_|_|  |_|\__,_|_| |_|
   a pathetic example of his organic heritage
   - Bad Religion







Re: [OT] Return Receipts

2002-03-21 Thread Rafiq Ismail (ADMIN)

A quick fix might be to stick your from header in your script, when
generating the email.

fiq




On Thu, 21 Mar 2002, Ewen Marshall wrote:

 I apologise striaght away for the completly off topic mail, but I'm desparate!

 I am having problems with return receipts from our users here at work. When someone
 requests a return receipt and I click okay, I get a Mailer-Daemon with the error:

  MAIL From:fransmaas.co.uk SIZE=2583
  501 fransmaas.co.uk: domain missing or malformed

 For some reason it appears that the return receipt is not picking my email address as
 being the From: address and the mail server (Sun box, Solaris 2.6) is substituting
 the From: with From:fransmaas.co.uk When I have a look at the sendmail 
config
 (sendmail.cf) I can find:

 # handle from: special case
 R$*$* $ turn into magic token

 Has this got anything to do with the problem? Please be aware that my sendmail 
knowledge
 is very poor :(

 Thanks in advance for any help.

 Ewen





Re: modperl and SQL db select

2002-03-21 Thread Rafiq Ismail (ADMIN)


Postgres: +More relational?  So they say.  More features perhaps.
  +stored procedures - ie. you can make query wrapping methods
  -pain the rear postgres user permissions to control.
  +been doing complex sql queries (subselects etc,)
   for longer.
  +Reminds me a lot of what I used to be able to do
   with oracle.
  +probably faster to set up ( than oracle ;) ).
  +every element of the database has a unique oid field which
   internally makes everything uniquely accessible by
   this field.
  +has all or nothing transaction support to avoid partially
   corrupting your data - it either completes the query(or group
   of queries)  or it does'nt - useful when it's under heavy load or
   joe blogs comes along writes cr@p code and dependent writes updates
   to the live db, since he enjoys making changes to live, he
   doesn't know much sql and and he mispells update in the
   second query. Ooops.  He's got a partially altered database
   and who knows what insanity this might cause for us.  Or even
   manager blogs using odbc and doing the same there with his 'i'm
   a techie deep down' script.  That was long!
  +Better under heavy load.
  +Clean shutdowns under heavy load.
  +psql has a cr@p command line.
  +better optimizer

Mysql:+we all start with it.
  +Bench marks much faster.
  +/-Can allow nested queries (subselects again) though this is a
   relatively new feature.
  +People say it's less relational.  Isn't really - but has fewer
   features (see above)
  +Doesn't have stored procedure support.
  +Think that I've read that it's indexing mechanism is not as
   good as postgres'.
  +probably easier to grasp if you haven't used it before
  +negate all of the above postgres points.
  -less reliable under heavy load.

Images: Image::Magick - probably don't want the pictures themselves in the
database, so much as pointers to their physical location and a means of
pushing them in and out - use this for getting stats on them and
manipulating thumbnails etc.

My .02 EU
Probably get flamed for being all wrong.  But I'm not.
So there!! :)

Happy First Day of Spring,
fiq







On Thu, 21 Mar 2002, dreamwvr wrote:

 hi,

   Is there any issue with using modperl with postgres vs mysql
 for a database driven website? Don't want to bark up the wrong
 tree in a mod_perl project only to discover I picked the wrong .db :-/

 From a licensing perspective which one is less risky if doing some
 work for a client? Noticed slashcode however the postgres port
 has stopped. AFAIK anyhow. Thought if practical I would do
 some coding to integrate Postgres if it is the right choice.
 If not MySQL? Just wanted to confirm that either is safe for a
 customer to use. They would not sell the program but they might
 sell the programs I write and the actual singular database.

Basically I want to simply insert data into a
 .db and then  produce HTML from the results and queries.
 The thought has crossed my mind to as well output the images
 as well from the .db What mod:perl modules should I seriously
 consider. Appreciate any pointers here as am just about to
 to begin the DBI:: stuff.

 TIA
 [EMAIL PROTECTED]








Re: Document Caching

2002-03-07 Thread Rafiq Ismail (ADMIN)

On Wed, 6 Mar 2002, Rasoul Hajikhani wrote:
 Robert Landrum wrote:
  #startup.pl
 
  open(FILE,/path/to/tmpl);
  $MY::TEMPLATE .= while(FILE);
  close(FILE);
 Thanks... But I use Template Toolkit to generate a dynamic file. How
 would the above code work in that situation?!
Not how I'd do it, although I'm pretty sure that TT2 has it's own caching
mechanism, however in answer to this 'particular question' could you not
overload TT's service object to use the preloaded instantiation similar,
or more specialised than the one above. (SEE ALSO man Template::Service
..probably) :)

fiq


btw Apache::Template does let you control caching of templates in memory.




Re: how to pass data in internal redirects?

2002-02-26 Thread Rafiq Ismail (ADMIN)

Surprisingly I'm actually doing a proof of principle on the same theme.
I'm developing a set of MVC classes which tie in with either tt2 or mason.

I've got abstract Model, View and Controller classes.  View can be
subclassed into HTML, XML, whatever.  I'm using normal classes at the
moment, but if I get the go ahead, I'll be replacing these with some sort
of pseudo-hash framework.

My controller object would use the request object and the environment to
determine a framework/templates and which overloaded Controller to
generate.

There is a generic events handler in the base class, which gets overloaded
and which specialises the associated model object for the particular view
subclass.  I haven't looked at pre-reading the model and passing it into
the first content handler, since in my case the model is likely to emerge
from a large dataset.

Once possible idea, floating in my head is to follow a principle adopted
by the first company i was with, in that I could have a transitory daemon
through which the data is called - this could possibly cache models
requests, preventing second re-reads; also checking to see if the
underlying model has changed, as per the original MVC paper.

I guess that we can then reaccess the model at any point thereafter
so that the the controller doesn't need to reaccess the data.

Another point would be to cache the final generated templates, so that
the view and controller override interaction with the model, where this
data is already persistant.  Got my basic framework in place - might make
it my first cpan release if I can figure out how - want to share ideas?

fiq

On Tue, 26 Feb 2002, F. Xavier Noria wrote:

 As an exercise studying mod_perl I am trying to see how could the MVC
 pattern be implemented.  I've thought a possible approach would be to
 write the model using normal Perl classes, and controllers and views
 with Apache modules.

 I suppose that controllers would use internal redirects to call the
 views, is there a way to pass Perl data this way?  For example, in the
 hangman game in O'Reilly's book a controller would load a session from
 the cookie, process user's guest, modify the state and redirect the
 request internally to the view.  Ideally the view shouldn't read the
 data to display from the database again... could it be passed somehow by
 the first content handler?

 -- fxn






Re: Mistaken identity problem with cookie (fwd)

2002-02-15 Thread Rafiq Ismail (ADMIN)

Although all your cookies will be probably be going to the same proxy for
those requests from the same isp, the tcp-ip session will remain the same
and it is most likely that you'll still be connected to the same ip which
made the initial proxy connection.  My thought is possibly that you're
misuing global variables here, or that  you have name space issues?

Thus the variable which you are setting your cookie value with may not be
correctly reset.

Just a thought.

Fiq










Re: Samba authorization

2002-02-11 Thread Rafiq Ismail (ADMIN)

Have you tried running a locate on AuthenSmb.pm to make sure that it's
under your @INC?  Wondering whether you installed it in the correct
location?  Try sticking a :
Perl
use lib path/to/Apache;
/Perl

a little higher up.


Fiq

On Mon, 11 Feb 2002, Andrew Afliatunov wrote:

 Hi!

 I want to use authorization against NT server for some directories of my
 web server (apache 1.3.22 on SunOS 5.8). So I installed mod_perl-1.26
 (configured with EVERYTHING=1), installed Authen-Smb-0.91 and
 Apache-AuthenSmb-0.60, made corresponding changes in httpd.conf.
 (
 Directory /u01/httpd/docs/admin
 Options Indexes FollowSymLinks Includes
 AllowOverride None
 AuthType Basic
 PerlSetVar myPDC e250.taom.lan
 PerlSetVar myBDC e250.taom.lan
 PerlSetVar myDOMAIN ACADEMY
 AuthName Administrator's page
 require user u0100659
 PerlAuthenHandler Apache::AuthenSmb
 /Directory
 ).
 But when I try to go to the directory, apache says - Internal Server
 Error, and in error.log file I see Undefined subroutine
 Apache::AuthenSmb::handler called. But all necessary files shurely
 exist and they have appropriate rights. I can't understand what's the
 matter? Please, help!


 --
 Andrew








Re: Can't locate Sybase/CTlib.pm

2002-02-07 Thread Rafiq Ismail (ADMIN)

Hi Lynne,

On Wed, 6 Feb 2002, Ng, Lynne (Exchange) wrote:
 #!/usr/bin/perl -I
 /usr/local/lib/perl5/site_perl/5.005/sun4-solaris/Sybase:/usr/local/lib/perl
 5/site_perl/5.005/sun4-solaris/auto/Sybase
 use Sybase::CTlib;
 @INC = @lib::ORIG_INC; **
 print Hello world;

** Assuming that @INC = @lib::ORIG_INC; will add the path for Sybase to
your @INC, you've got the order wrong.  You should:

@INC=... and then
use Sybase::CTlib;

 It showed this error:
 Can't locate Sybase/CTlib.pm in @INC
Thus, your script was unable to find CTlib.pm.


Fiq





Re: Can't locate Sybase/CTlib.pm

2002-02-07 Thread Rafiq Ismail (ADMIN)

btw, my assumption here was that massive long line in your -I is some
how wrong.  Well it's got to be right?

Fiq


On Thu, 7 Feb 2002, Rafiq Ismail (ADMIN) wrote:

 Hi Lynne,

 On Wed, 6 Feb 2002, Ng, Lynne (Exchange) wrote:
  #!/usr/bin/perl -I
  /usr/local/lib/perl5/site_perl/5.005/sun4-solaris/Sybase:/usr/local/lib/perl
  5/site_perl/5.005/sun4-solaris/auto/Sybase
  use Sybase::CTlib;
  @INC = @lib::ORIG_INC; **
  print Hello world;

 ** Assuming that @INC = @lib::ORIG_INC; will add the path for Sybase to
 your @INC, you've got the order wrong.  You should:

   @INC=... and then
   use Sybase::CTlib;

  It showed this error:
  Can't locate Sybase/CTlib.pm in @INC
 Thus, your script was unable to find CTlib.pm.


 Fiq







Re: Server error log says Accept mutex: sysvsem

2002-02-06 Thread Rafiq Ismail (ADMIN)

Not sure but it just looks like you're getting confirmation of semaphore
locking which is probably occuring between the different processes - I'd
guess.  Then again, it's worrying that it's being directed to STDERR.  My
guess would be that it's harmless.  Check the options with which you
rebuilt apache; you haven't got excessive debugging info have you?

Someone with much more wisdom may prove me wrong - I'm just filling an
empty moment with speculation. :)
fiq



On Tue, 5 Feb 2002, Al Pacifico wrote:

 The following message keeps appearing in my server error log after
 building a newer version of Apache (v.1.3.23) and mod_perl (v.1.26) than
 I had been running. I never saw this before (I think I had Apache 1.3.20
 with mod_perl 1.24 most recently).
 What does it mean and should I worry?

  [Tue Feb  5 11:44:46 2002] [notice] Accept mutex: sysvsem (Default:
 sysvsem)

 Thanks in advance.
 -al
 Al Pacifico
 Seattle, WA






Re: PerlEditor - Freeware or Trialware

2001-12-26 Thread Rafiq Ismail

On 25 Dec 2001, Randal L. Schwartz wrote:
  Anand == Anand Ratnasabapathy [EMAIL PROTECTED] writes:
 Anand Can any one help me with a Nice Editor for 
 Anand working on Perl-cgi,
 Anand Must be trial or freeware for me to test.
 
 GNU Emacs is free.
Given that you're talking about 'trial' and 'freeware' I assume this is
for Win32?  There is a version of XEmacs for Windows, which I've used and
have to admit is pretty good.  It really looks and feels like XEmacs.  
You'll also be able to learn all your fancy key-mappings and take them
straight over to Xnix boxes.  Provided that emacs is installed, that is.

My second favourite windows editor is pfe which you could probably also
search for.  No special perl-friendliness, however I've used it with
prolog and java in the past.  You can set up macros to load things
straight into a debugger or to start up a compiler, thus I don't see why
you can't pipe straight to a perl -d session?

There is also a version of vim which runs under windows, although I
haven't personally tried this out; you might want to?  VI is a standard
editor on Xnix boxes and might be a useful tool to master if you're going
to ever start working on native platforms - well not native, but UNIX
based.  I'm think it likely that the windows version may offer syntax
highlighting under perl.  You'll have to check the doccos:

http://www.tqbase.demon.co.uk/mirror/vim/binaries.html

Hope that helps?

Merry Christmas, a day belated, :)

Fiq

-- 
Rafiq Ismail

Software Engineer and Systems Administrator
http://www.codix.net


All the best people in life seem to like Linux. - Steve Wozniak







RE: mod_perl.so not built after building mod_perl

2001-11-15 Thread Rafiq Ismail

On Wed, 14 Nov 2001, Manjrekar Pratiksha wrote:
 [Wed Nov 14 21:14:05 2001] [error] [Wed Nov 14 21:14:05 2001] null: 
 Undefined subroutine Apache::ROOT::vswap1_2e1_2e5::index_2eeml::my_start 
 called at /apps/vswap1.1.5/index.eml line 13.

I'd guess that you may want to load the module which houses the my_start
function in your server conf.  Use PerlModule/ or Perl use lib
whereeverVSwapstufflives; use WhatEverVSwapModule;/Perl type
stuff.  Although, I'd assume
you read your documentation and did this when setting up your server
right?  You did, didn't you? :)  you WML guys. :)  






-- 
Rafiq Ismail

Software Engineer and Systems Administrator
http://www.codix.net


All the best people in life seem to like Linux. - Steve Wozniak







Re: how to install the XML::LibXSLT along with libxslt?

2001-11-14 Thread Rafiq Ismail
 for perl... perl
 checking for libxml libraries = 2.4.7... ./configure: xml2-config: command not found
 ./configure: test: integer expression expected before -ge
 configure: error: You need at least libxml2 2.4.7 for this version of libxslt
 
 
 Please, help me.
 
 
 -SubbaReddy
 
 
 

-- 
Rafiq Ismail

Software Engineer and Systems Administrator
http://www.codix.net


All the best people in life seem to like Linux. - Steve Wozniak







Off-topic - Apache Config - Load crises

2001-10-11 Thread Rafiq Ismail

I know this is a bit off topic, but I could use some immediate advise on
server config?


Got a server which is getting hit really bad.
Have to keep it up.  I've got:


P Timeout 300

# Keepalive, better on this server...
KeepAlive   On
MaxKeepAliveRequests100
KeepAliveTimeout5

# performance services
MinSpareServers 5
MaxSpareServers 50
StartServers20
StartServers20
MaxClients  250


Pings look like:

64 bytes from x.x.x.x: icmp_seq=0 ttl=244 time=1069.3 ms
64 bytes from x.x.x.x: icmp_seq=1 ttl=244 time=984.8 ms
64 bytes from x.x.x.x: icmp_seq=2 ttl=244 time=1138.9 ms
64 bytes from x.x.x.x: icmp_seq=3 ttl=244 time=1567.1 ms
64 bytes from x.x.x.x: icmp_seq=4 ttl=244 time=1622.3 ms
64 bytes from x.x.x.x: icmp_seq=5 ttl=244 time=1382.8 ms
64 bytes from x.x.x.x: icmp_seq=6 ttl=244 time=1145.5 ms
64 bytes from x.x.x.x: icmp_seq=7 ttl=244 time=1065.6 ms
64 bytes from x.x.x.x: icmp_seq=8 ttl=244 time=1133.6 ms



There are some really graphic intensive pages here, however I'm not sure
if Keep alive is good when there's lots of contention for pages.  Should
I:
 i) disable keep alive?

ii) reduce the keep alive time out ?

   iii) up my number for max spare servers?  Since i've not maxed out
on load or memory, perhaps more idle servers will reduce the contention
for apache children?  My intutition is that since the server is obviously
in trouble, resource wise, perhaps increasing the number of daemons will
relieve the load.  Not sure.  It's a big box.  Any ideas?

   iv) Something else?


I'd appreciate some suggestions.

Thanks,

R.









-- 
Rafiq Ismail

Software Engineer and Systems Administrator
http://www.codix.net


All the best people in life seem to like Linux. - Steve Wozniak







Re: Virtual Host?

2001-09-11 Thread Rafiq Ismail

I set up something similar recently.  What I would recommend is setting up
a separate samba view to 'just' that dirctory on your unix disk which you
wish to make publically accessible - set this up in your smb.conf file.  
You can specify valid users (just the webserver?), whether it is writable
accross the network, default netmask etc.

You can then set appropriate write permissions on it, without making your
whole secure and wonderful unix partion vulnerable to access from your not
so wonderful NT server.  If you only need a view to those files which you
want to add to your web server readable directories, there is no need to
make the whole drive visible from the outside.  Just map that view to a
drive, point your httpd.conf at the drive and you're sorted.

R.

On Mon, 10 Sep 2001, Medi Montaseri wrote:

 
 I think people are responding with how to fix this on a Unix. He is on
 a NT.
 
 Assuming the disk is on the Unix and the Unix is running Samba, then
 just define a network drive on your NT, say 
 
 V: which mapps to \\yourunixbox\disk7
 
 

-- 
Rafiq Ismail

Software Engineer and Systems Administrator
http://www.codix.net


All the best people in life seem to like Linux. - Steve Wozniak







Rewrite block before a Perl block

2001-08-24 Thread Rafiq Ismail

Hi,

I'm trying to set up an apache vhost which either redirects to a proxy or
sets its DocumentRoot and then opens a Perl/Perl block, and then
eventually processes the request through a mod_perl handler..

My rewrite rule:
RewriteEngine   On
RewriteCond %{REQUEST_FILENAME}^/tfl
RewriteRule ^/(.*) http://x.x.x.net:82/$1 [P]


Now this block will happily redirect when it alone is the content of my
vhost conf., however the second I add a DocumentRoot and a mod_perl
handler, it decides to send 'everything' to the handler and totally ignore
my rewrite rule.

I'd be grateful if someone, able to see what I'm missing, would let me
know why this won't work as is.

I've attached the relevant excerpt below - the nature of the modules does 
not matter as much as my ordering, I'd assume:




RewriteEngine   On
RewriteCond %{REQUEST_FILENAME} ^/blah
RewriteRule ^/(.*)  http://x.x.x.net:82/$1
[P]


PerlFreshRestartOn
DocumentRoot/home/httpd/proj/html

PerlSetVar  ProjectName proj_proxy
PerlModule  HTML::Apache::ASPerl


Perl
use lib '/home/httpd/proj/lib';


HTML::Apache::ASPerl::setupServer('proj_proxy','/home/httpd/proj/asperl.conf');
/Perl

PerlModule  Proj  


Location /
SetHandler  perl-script
PerlHandler HTML::Apache::ASPerl
/Location

###


Many Thanks,

R.



-- 
Rafiq Ismail

Software Engineer and Systems Administrator
http://www.codix.net


All the best people in life seem to like Linux. - Steve Wozniak








RE: [OT] Content-Disposition to change type and action?

2001-05-31 Thread Rafiq Ismail

 
 On Wed, 30 May 2001, Ged Haywood wrote:
 On Wed, 30 May 2001, Issac Goldstand wrote:
 
   Ged wrote:
IE is particularly fond of ignoring Content-type.  If the file is
 called
something.html or something.htm I've found IE will treat it as html
 even
if you say it's text/plain in Content-type.  Ugh.
 
 added a fake parameter of like ie=x.pdf to the end of the URL IE3 would
 refuse


Just to confirm this - I've recently had the same experience with ie5/mac
calling a real media file delivered through cgi.  Had to use the same
?...fakeparam=.rm cop-out.

I'm sure Microsoft probably see this a feature though.  Just like they've
always see their blue screen of death as a feature.  

R.




-- 
Rafiq Ismail

Software Engineer and Systems Administrator
http://www.codix.net


All the best people in life seem to like Linux. - Steve Wozniak







Known bugs with so's and mod_perl 1.21??

2001-05-16 Thread Rafiq Ismail

I'm getting a rather odd situation on one of our boxes:

spec

Sun OS 5.6/solaris2.6
Apache 1.3.11
mod_perl 1.2.1

We've got a sitation where mod_perl intensive pages seem to severely knock
our idle time - which in it self probably isn't bad, however is it also
reflected by noticable latency on apache itself, together with a large
number of libhttpd.ep processes.  This isn't specific to any one chunk of
perl either.

I'd think this would be a shared library thing (although I wouldn't know
what?) - however we have a simlarly set up box which runs fine ; the only
exception being that it was set up with mod_perl 1.2401.  The second
server runs without ever displaying libhttpd.ep in its process
list.  So I'm kind of at a loss.  Is this a version thing?  Has anyone
experienced anything of this nature?  Thought I'd check before updating
versions.

Would appreciate any feedback.
Thanks.
Rafiq
  


-- 
Rafiq Ismail

Software Engineer and Systems Administrator
http://www.codix.net


All the best people in life seem to like Linux. - Steve Wozniak