[DIGEST] mod_perl digest 2001/08/11
-- 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
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
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
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
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
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
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
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...
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
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
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)
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
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