[DIGEST] mod_perl digest 2001/08/11

2001-08-13 Thread Geoffrey Young

--

  mod_perl digest
 
  August 5, 2001 - August 11, 2001

--

Recent happenings in the mod_perl world...


Features

  o mod_perl status
  o module announcements
  o mailing list highlights
  o links


mod_perl status

  o mod_perl
- stable: 1.26 (released July 11, 2001) [1]
- development: 1.26_01-dev [2]
  o Apache
- stable: 1.3.20 (released May 15, 2001) [3]
- development: 1.3.21-dev [4]
  o Perl
- stable: 5.6.1 (released April 9, 2001) [5]
- development: 5.7.2 [6]


module announcements

  o Apache::ASP 2.21 - provides an Active Server Pages port for
Perl scripting only, and enables the development of dynamic web
applications with session management and embedded perl code [7]

  o HTTP::WebTest 1.06 - runs tests on remote URLs or local web
files and generates a detailed test report [8]


mailing list highlights

  o Here are some interesting thoughts and pitfalls to be aware of
if you want to start using Cache::Cache [9]

  o The source code for www.masonhq.com has been released [10]

  o There was a bugfix applied to libapreq concerning
Apache::Upload [11]

  o If you are not already aware, the Apache::Test framework has
moved to the httpd-test ASF project, and there has been a flurry
of activity there lately.  Unfortunately, I was unable to find
a list or CVS archive - volunteers welcome :)


news

  o Matt Sergeant's AxKit has been officially accepted as an ASF
Project [12]

  o July mod_perl numbers from Netcraft [13]
2,936,558 Domains  281,471 IP Addresses


links

  o The Apache/Perl Integration Project [14]
  o mod_perl documentation [15]
  o mod_perl modules on CPAN [16]
  o mod_perl homepage [17]
  o mod_perl news and advocacy [18]
  o mod_perl list archives
  - modperl@ [19] [20] 
  - dev@ [21]


happy mod_perling...

--Geoff
[EMAIL PROTECTED]

--
[1] http://perl.apache.org/dist/
[2] http://perl.apache.org/from-cvs/modperl/
[3] http://www.apache.org/dist/httpd/
[4] http://dev.apache.org/from-cvs/apache-1.3/
[5] http://www.cpan.org/src/stable.tar.gz
[6] http://www.cpan.org/src/devel.tar.gz 
[7] http://forum.swarthmore.edu/epigone/modperl/zhandwahthel
[8] http://forum.swarthmore.edu/epigone/modperl/plulsimka
[9] http://forum.swarthmore.edu/epigone/modperl/brenwarzeh
[10] http://forum.swarthmore.edu/epigone/modperl/saryoiming
[11] http://forum.swarthmore.edu/epigone/modperl/chelbraglah
[12] http://www.apacheweek.com/issues/01-08-10
[13] http://marc.theaimsgroup.com/?l=apache-modperl-cvsm=99718088621457w=2
[14] http://perl.apache.org
[15] http://perl.apache.org/#docs
[16] http://www.cpan.org/modules/by-module/Apache/
[17] http://www.modperl.com
[18] http://www.take23.org
[19] http://forum.swarthmore.edu/epigone/modperl/
[20] http://marc.theaimsgroup.com/?l=apache-modperlr=1w=2
[21] http://marc.theaimsgroup.com/?l=apache-modperl-devr=1w=2



ANNOUNCE -- CGI::Application v2.1

2001-08-13 Thread Jesse Erlbaum

Version 2.1 of CGI::Application is now available via CPAN!


Download site for CGI::Application:

  http://www.cpan.org/authors/id/J/JE/JERLBAUM/


CHANGES SINCE VERSION 2.0:
- The param() method has been extended to allow multiple parameters
  to be set at one time, via a hash (or hashref).
- Fixed bug in run() method where a null-string run-mode would be
  considered valid.  A zero-length run-mode will now result in the 
  start_mode() being called.
  (Thanks to Mark Stosberg for the two preceding ideas!)
- The run_mode() method now may be called a subsequent time to 
  amend the list of run-modes.


Read the recent Using CGI::Application article on Perl.com for an 
overview of this module and its usage:

  http://www.perl.com/pub/a/2001/06/05/cgi.html


CGI::Application is intended to make it easier to create sophisticated,
reusable web-based applications. This module implements a methodology which,
if followed, will make your web software easier to design, easier to
document, easier to write, and easier to evolve.

CGI::Application builds on standard, non-proprietary technologies and 
techniques, such as the Common Gateway Interface and Lincoln D. Stein's 
excellent CGI.pm module.  CGI::Application judiciously avoids employing 
technologies and techniques which would bind a developer to any one set 
of tools, operating system or web server.

The guiding philosophy behind CGI::Application is that a web-based
application can be organized into a specific set of Run-Modes. Each
Run-Mode is roughly analogous to a single screen (a form, some output, etc).
All the Run-Modes are managed by a single Application Module which is a
Perl module. In your web server's document space there is an Instance
Script which is called by the web server as a CGI (or an Apache::Registry
script if you're using Apache + mod_perl).

CGI::Application is an Object-Oriented Perl module which implements an
Abstract Class. It is not intended that this package be instantiated
directly. Instead, it is intended that your Application Module will be
implemented as a Sub-Class of CGI::Application.

If you have any questions, comments, bug reports or feature suggestions, 
post them to the support mailing list!  To join the mailing list, simply
send a blank message to [EMAIL PROTECTED].



--

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  Jesse Erlbaum ... CTO
  [EMAIL PROTECTED] . Vanguard Media
  v: 212.242.5317 x115 .. New York City
+-+-+-+-+-+- http://www.vm.com/ +-+-+-+-+-+-+




Re: url mangling/rewriting

2001-08-13 Thread David Hajek

On Fri, Aug 10, 2001, Tatsuhiko Miyagawa wrote:
 On Fri, 10 Aug 2001 14:40:13 +0200
 David Hajek [EMAIL PROTECTED] wrote:
 
 I see. You mean your session state is not stored on the database,
 but stored as encrypted text in session id itself. 

Yes, and the problem is whether there is some good
algorithm, which will generate this kind of session
ids. Security is not main part of this solution, but
easy finding of these session ids is not desirable. ;)



-- 
David Hajek
[EMAIL PROTECTED]  GSM: +420 604 352968
- Hackers of the world, unite!




[VOT] Need some info from people who do contract work on a regular basis

2001-08-13 Thread jbodnar

Please excuse this very off-topic post but I know that several people on this
list do regular Perl contract work and I could use some advise from a few of
them at the moment.

I've bcc'd the list so hopefully that will prevent any replies from going back
to the list, but just to be sure, if you do reply, please be sure to send it
only to me. If you'd like the answers to my question just drop me a message and
I'll send you a summary.

Now, on to the meat and potatoes.

I've been working on a project for a client for the past 7.5 months. The
project entails building a web site that is similar to TurboTax online except
this site deals with estate planning (Wills, Trusts, Power of Attorney docs,
etc.). You could also think of it as a web-based version of Quicken Family
Lawyer. (The client is not Intuit, though, unfortunately.)

I was told that I needed to build a system where users would register for the
site and enter some basic biographical and familial information. They then
would have access to a suite of wizards that would ask them questions whose
answers would provide the data for specific estate planning forms. After
completing the wizard, the user would be shown a completed document in PDF
format that could be printed or saved. The user could later go back and edit
the information they entered and change the document as needed.

I was given 20 or so Word documents that were templates for all the estate
planning documents. To me the project was quite easy. Turn the word documents
into some sort of intermediate format (HTML) with blanks for the data (I used
abiword), fill in the blanks when the document was requested and then use a
html2pdf program to create the resulting pdf file. Of course, there was also
some database work for registering users, displaying the wizards, storing
answers, etc.

We bid the project as 160 hours (80 for programming, 80 for site design
(including a flash animation)) at $125/hour for a total of $20K.

I quickly finished the the word-html-pdf portion of the contract. When I
showed the client how things worked I was told that that was not how things
needed to work. The client told me that the structure and the content of each
document would change depending on the users answers. For example, if the user
only had 3 children, a table listing child information would only contain three
rows instead of the 5 rows that the blank template had. Or, whole sections of
the document might be removed based on a users answer.

Now this was a whole other beast than what I had originally bid on but my
company needed the money and there wasn't any other contracts for me to work on
so we agreed to do the project as she was now describing it without changing
the contract or charging her any additional amount.

So, over the next few months, I began converting the word documents into XML
documents with my own tags, wrote an XML processing engine that converted the
XML documents into PDFs (using PDFLib), including the handling of conditional
and looping tags and created a library for writing HTML wizards.

Over the last 7 months the client has constantly complained about the project
not being done in the two months she was promised (though she's not being
billed for the additional 5 months I've been working on it). Now, she's telling
me that the project manager who she first spoke to about this project (who is
no longer working here) told her the project would include credit card
validation and processing for registering members and a la carte purchasing of
individual documents.

She owes $4600 on completion of the project and I plan on completing what I
consider the remainder of the project (none of the e-commerce stuff) and asking
for her final payment.

Now, here's the kicker. The contract that the project manager wrote for this
job is about as vague as you can get. It basically says we're going to build
her a web site and she's going to pay us $20K. So, if either one of us decides
to take the other to court, I don't think anybody would have a leg to stand on
based on the contract.

So, what I'm looking for from anybody who does Perl contract work (or any web
contract work for that matter) is a quick dirty bid for what you would have
charged to do this project.

In summary, here's what you're bidding on:

A database back-ended registration system.
Conversion of Word docs to some some of templating system with formatting
identifiers, looping constructs, conditional constructs (based on user supplied
data).
Web-based wizards for data acquisition and storage in a database.
An engine to parse the templates, fill in the blanks with the user-supplied
data and render the templates as PDF files.

Thanks for any and all help you can provide,

Jason Bodnar


-- 
Jason Bodnar
[EMAIL PROTECTED]
Gocho Networks

Flanders:
Homer, affordable tract housing made us neighbors, but you made us
friends.

Homer:  To Ned Flanders, the richest left-handed man in town.

   When Flanders 

Re: modperl 2.0

2001-08-13 Thread Vivek Khera

 TD == The Doctor [EMAIL PROTECTED] writes:


TD But a rude questioner DOES provoke a storm. 

You seem to be attempting to build up your same reputation here as you
did on the BSD/OS users list; soon everyone who knows the answers to
your questions will ignore you, like we did on the bsdi-users list.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vivek Khera, Ph.D.Khera Communications, Inc.
Internet: [EMAIL PROTECTED]   Rockville, MD   +1-240-453-8497
AIM: vivekkhera Y!: vivek_khera   http://www.khera.org/~vivek/



WWWThreads

2001-08-13 Thread Wayne Pascoe

Hi there,

Does anyone have any experience running WWWThreads under mod_perl? I
have just followed the installation instructions and at http restart I
get a lot of warnings as follows :

[Mon Aug 13 20:18:59 2001] w3t.pm: my variable $query masks earlier declaration in 
same scope at /home/waynep/wwwthreads/cgi-bin/modules/w3t.pm line 1747.
[Mon Aug 13 20:18:59 2001] w3t.pm: my variable $any masks earlier declaration in 
same scope at /home/waynep/wwwthreads/cgi-bin/modules/w3t.pm line 1758.
[Mon Aug 13 20:18:59 2001] w3t.pm: my variable $Viewable masks
earlier declaration in same scope at
/home/waynep/wwwthreads/cgi-bin/modules/w3t.pm line 1883.

Looking at the code, there are indeed multiple declarations of the
same variable using my in a single code block. This does not strike
me as a Good Thing...

Also, looking in the logs while running this product, I see the
following kinds of message (with PerlWarn On)

[Mon Aug 13 20:14:24 2001] postlist.pl: Use of uninitialized value in concatenation 
(.) or string at /home/waynep/wwwthreads/cgi-bin/postlist.pl line 622.
[Mon Aug 13 20:14:24 2001] postlist.pl: Use of uninitialized value in concatenation 
(.) or string at /home/waynep/wwwthreads/cgi-bin/postlist.pl line 632.
[Mon Aug 13 20:14:24 2001] postlist.pl: Use of uninitialized value in concatenation 
(.) or string at /home/waynep/wwwthreads/cgi-bin/postlist.pl line 946.
[Mon Aug 13 20:14:24 2001] postlist.pl: Use of uninitialized value in numeric gt () 
at /home/waynep/wwwthreads/cgi-bin/postlist.pl line 962.
[Mon Aug 13 20:14:24 2001] postlist.pl: Use of uninitialized value in
string ne at /home/waynep/wwwthreads/cgi-bin/modules/w3t.pm line 1222.

Once again I'm thinking that this can't be good. 

Does anyone have any opinions on this product (Good or bad welcomed)? 

Thanks,

-- 
- Wayne Pascoe
 | Intestines inside
[EMAIL PROTECTED]  | 
http://www.penguinpowered.org.uk | 



Re: WWWThreads

2001-08-13 Thread Kyle Dawkins

Wayne

 Does anyone have any experience running WWWThreads under mod_perl? I
 have just followed the installation instructions and at http restart I
 get a lot of warnings as follows :

Yes, we are running wwwthreads under mod_perl at a client site.  Don't use
Apache::Registry though: the wwwthreads source code is NASTY and you should
use Apache::PerlRun to be safe.  It worked for me without any trouble or
customisation.  Of course, now, our version of wwwthreads is heavily
customised, but I remember getting it to work originally without needing to
do anything special.

Kyle
Software Engineer
Central Park Software
http://www.centralparksoftware.com





Re: url mangling/rewriting

2001-08-13 Thread Perrin Harkins

  I see. You mean your session state is not stored on the database,
  but stored as encrypted text in session id itself.

 Yes, and the problem is whether there is some good
 algorithm, which will generate this kind of session
 ids. Security is not main part of this solution, but
 easy finding of these session ids is not desirable. ;)

So, it's not really a session ID then; it's your session data.

There are tons of two-way encryption modules on CPAN.  Try looking at
Crypt::CBC.

- Perrin




Re: DBI Problem...

2001-08-13 Thread Thomas Eibner

On Mon, Aug 13, 2001 at 03:33:18PM -, qazi Ahmed wrote:
 Hi DBI Gurus,

Even though many lurk here too, you're on the wrong list for DBI help.

 I have DBD, DBI, Apache::DBI installed in my machine.
 Actually when i try to access the database i am getting the following error.

Try DBI users mailinglist: [EMAIL PROTECTED]

-- 
  Thomas Eibner http://thomas.eibner.dk/ DnsZone http://dnszone.org/
  mod_pointer http://stderr.net/mod_pointer 




Re: Augmenting CPAN with P2EE specs, was CPAN polution

2001-08-13 Thread Gunther Birznieks

At 12:10 PM 8/11/2001 -0400, Stephen Adkins wrote:
Hi,

At 04:42 PM 8/11/2001 +0200, Elizabeth Mattijsen wrote:
 At 09:26 AM 8/11/01 -0500, Jim Smith wrote:
 If we want better QA, I'd propose requiring approval from someone on that
 list before a module is put anywhere in the heirarchy other than the
 author's directory instead of only requiring approval for a top-level
 namespace.
 
 Are you aware of the CPANTS initiative?  Michael Schwern gave an
 interesting talk about that at the YAPC::Europe.  See e.g.
 
   http:[EMAIL PROTECTED]/msg00148.html
 

I like the idea of CPANTS, karma, kwalitee, etc.
However, another approach is similar to what J2EE did to Java.
There were lots of libraries/packages growing up in Java, and the
J2EE spec said these versions of these API's make up a consistent,
extensive, useful, architecturally sound platform on which to build
applications.

What about the concept of a P2EE specification?
(P2EE is pronounced pitooey, as in I spit on the notion that
Java is the only language for enterprise-capable web application
development. It is also pronounced pee-two-ee-ee when managers
are around and you want to convince them it is a legit technology
for your next project.)
(I also note that p2ee.org is not yet taken as a domain.)

The idea behind P2EE is not precisely new. Larry Wall addressed it in his 
State of the Onion speech this year. Basically Perl 6 is the rewrite and he 
realized the standard distro of modules is really both bloated and too 
sparse at the same time.

So what may make sense is bundling stuff in the same way that Java does. So 
in Java you have the standard SDK library of class files but you also have 
the J2EE bundle.

We all know that there will never be a single P2EE specification.
This is because there will be those who think that one template system/
data persistence layer/XML Library/etc., combination is better than another.

However, individual perl gurus could pull together their list of
consistent, complementary, and quality API's/modules (and how to
use them) in a spec and call it their vision of P2EE.

This would be very valuable to those just getting started.
They understand that There's More Than One Way To Do It
(tmtowtdi), but at least they can survey how various perl gurus have
integrated the many different technologies before them and learn
at least One Good Way To Do It from each spec.

This method of competing P2EE visions

   * is decentralized and dynamic (not centralized and unchanging),
   * is merit-centric (P2EE visions will wax and wane based on merit), and
   * provides a way that individual modules can rise above the crowd.

I can envision that module authors would work with the leading P2EE spec
authors to ensure that their modules fit into the vision.  If the P2EE
spec authors like the modules, they get included in that particular spec.
In this way individual modules are naturally subjected to a certain form
of peer-review in order to qualify for a spec.  In return, the visibility
of the module is increased because of the spec.  If someone doesn't like
the existing P2EE specs, they can create their own.

Perhaps the various P2EE specs could be supported on CPAN with Bundles.

I also think it would be *much* easier to rate/rank P2EE specs than
individual modules on CPAN. (i.e. this goal is attainable with a finite
amount of effort)

Thoughts?

Stephen

I think this is reasonable. Items for definite inclusion would be POE and 
SOAP::Lite. I hesitate to include templating systems or application 
toolkits. Although Caching (Cache::Cache, IPC, etc) could also fall under 
P2EE I think.

Later,
 Gunther




Re: Augmenting CPAN with P2EE specs, was CPAN polution

2001-08-13 Thread kyle dawkins

Hi All

I was reading all the posts about people whining about the state of CPAN 
(as people should... it's hard to tell what's going on in CPAN these 
days ;-) and the topic has drifted to this P2EE thing that's getting 
thrown around.  I somehow feel vindicated:

http://www.geocrawler.com/archives/3/182/2000/12/0/4779413/


I posted that nine months ago when I got frustrated about the total lack 
of consistency, symmetry and homogeneity in Perl classes.  Even the shit 
that's built-in to Perl is a mess... who the hell wrote localtime()? 
Argh!  It's almost as bad as the java.util.Date fiasco.

Anyway, I am glad people are seeing that it's a problem.   When it comes 
to laying down standards, though, we have a few hurdles to jump... who 
decides who is in charge of these standards?  Perl gurus?  But more 
often than not, Perl gurus aren't engineers, they're ex-hackers, and 
I don't think hackers should be deciding what goes into P2EE...

But I think the basic idea of this P2EE --or whatever it's called-- is 
great.  I think things should be mandated everywhere like named 
arguments for methods, naming conventions for 
variables/methods/packages, coding styles.  APIs should be forced to be 
consistent across the board.  Methods should be named completely and 
descriptively (jesus h. effing christ i can't tell you how many times 
I've seen methods named do_it() and process_data()... are these 
people high?).  Methods should even be encouraged to describe their 
return value (like array_of_keys_sorted_by_name(%things) or something 
like that).  All of this comes back the basics of simple, clear 
programming to minimise bugs and maximise resources.  God, I can't tell 
you how many times I've had arguments with idiots who think it's OK to 
call a method m.  Like, $myObject-m($something, $somethingElse).
I mean, what the f**k does that do?  And their chief justification? 
Because it's easy to type.  Well, uh, PISS OFF.

OK, I'll stop ranting.  :-)

That's my 2c for the P2EE standards.

Kyle Dawkins
Software Engineer
Central Park Software
http://www.centralparksoftware.com




[admin] OT tolerance (was Re: Augmenting CPAN with P2EE specs, wasCPAN polution)

2001-08-13 Thread Stas Bekman

Now, you realize that all this is drifting very off-topic, it's too bad
when people who are interested in modperl remove themselves from the list
because of the high volume of the off-topic threads, which people don't
even care to mark as [OT] :(

The topics are very interesting indeed, but please take them to the right
forums and let the list know where you take them.

The currently discussed topic may belong to these discussion forums:

CPANTS  : http://lists.perl.org/showlist.cgi?name=perl-qa
Advocacy: http://lists.perl.org/showlist.cgi?name=advocacy
SDK : http://lists.perl.org/showlist.cgi?name=perl-sdk

and probably a few other lists that can be found here:
http://lists.perl.org/

Please move the thread there and tell us where so we can follow if
interested.

Also remember that your discussion of the offtopics is nice and
interesting, but it's usually a waste, because the thread will be
forgotten very soon. But if you discuss it in the right forum, you can
actually contribute a lot and help things happen.

We try hard to keep modperl list on-topic. I hope you realize that this is
very important.

Thanks for your understanding.

_
Stas Bekman  JAm_pH --   Just Another mod_perl Hacker
http://stason.org/   mod_perl Guide  http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]   http://localhost/  http://eXtropia.com/
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/





cvs commit: modperl-2.0/pod modperl_dev.pod

2001-08-13 Thread sbekman

sbekman 01/08/13 21:57:18

  Modified:pod  modperl_dev.pod
  Log:
  update Perl5 source control item
  
  Revision  ChangesPath
  1.34  +4 -0  modperl-2.0/pod/modperl_dev.pod
  
  Index: modperl_dev.pod
  ===
  RCS file: /home/cvs/modperl-2.0/pod/modperl_dev.pod,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- modperl_dev.pod   2001/08/12 10:22:09 1.33
  +++ modperl_dev.pod   2001/08/14 04:57:18 1.34
  @@ -326,6 +326,10 @@
   IPorting/repository.pod manpage coming with Perl for more
   information.
   
  +mailing list subscription: [EMAIL PROTECTED]
  +
  +archive: http:[EMAIL PROTECTED]/
  +
   =back