pas-dev Mailing List for Perl Application Server (Page 11)
Status: Beta
Brought to you by:
mortis
You can subscribe to this list here.
2002 |
Jan
|
Feb
(6) |
Mar
(19) |
Apr
(3) |
May
(147) |
Jun
(6) |
Jul
(4) |
Aug
(12) |
Sep
(1) |
Oct
(12) |
Nov
(23) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(4) |
Feb
(12) |
Mar
(13) |
Apr
(16) |
May
(28) |
Jun
(9) |
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
(84) |
Dec
(25) |
2004 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(13) |
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
From: Kyle R. B. <mo...@us...> - 2002-10-16 02:48:17
|
Update of /cvsroot/pas/pas/docs/developersManual In directory usw-pr-cvs1:/tmp/cvs-serv31259 Modified Files: chapter3.sgml Log Message: more documentation |
From: Kyle R . B. <mo...@vo...> - 2002-10-16 02:47:10
|
I did some more work on the developer's manaul, which is linked to from the pas.sf.net site: http://pas.sf.net/docs/developersManual/Manual/book1.html all feedback is welcome. Kyle -- ------------------------------------------------------------------------------ Wisdom and Compassion are inseparable. -- Christmas Humphreys mo...@vo... http://www.voicenet.com/~mortis ------------------------------------------------------------------------------ |
From: Kyle R. B. <mo...@us...> - 2002-10-16 02:43:38
|
Update of /cvsroot/pas/pas/docs/developersManual In directory usw-pr-cvs1:/tmp/cvs-serv30063 Modified Files: chapter2.sgml chapter3.sgml Log Message: more documentation |
From: Mental P. <me...@ne...> - 2002-10-11 14:00:56
|
On Fri, 2002-10-11 at 09:19, Kyle R . Burton wrote: > Do any of you guys know what we can do to get CVS to CC this list with th= e > checkin comments and a summary of the files that were committed? >=20 From now on, cvs commits will result in an email to the dev list. HOWTO: cvs co CVSROOT vim loginfo cvs commit=20 --=20 Mental (Me...@Ne...) This body. This body holding me. Be my reminder here that=20 I am not alone in This body, this body holding me, feeling eternal All this pain is an illusion. --Tool "Parabola" CARPE NOCTEM, QUAM MINIMUM CREDULA POSTERO. GPG public key: http://www.neverlight.com/pas/Mental.asc |
From: Kyle R . B. <mo...@vo...> - 2002-10-11 13:19:19
|
Do any of you guys know what we can do to get CVS to CC this list with the checkin comments and a summary of the files that were committed? I've seen this work on the JScheme developers list, but have been afraid to ask. I've been doing some minor work on the developer's manual, the results of which can be observed here: http://pas.sourceforge.net/docs/developersManual/Manual/book1.html Kyle -- ------------------------------------------------------------------------------ Wisdom and Compassion are inseparable. -- Christmas Humphreys mo...@vo... http://www.voicenet.com/~mortis ------------------------------------------------------------------------------ |
From: Kyle R . B. <mo...@vo...> - 2002-10-09 12:23:12
|
> Under the following circumstances pas broke: > > documentRoot in pas.conf was relative to PAS_BASE > files included in psp's were absolute ( include file /includes/style.css) > > Added a block to the compiler to catch this combination. Hrm... cvs log on Org::Bgw::Pas::Psp::Compiler: ---------------------------- revision 1.27 date: 2002/10/09 02:59:54; author: fah-q; state: Exp; lines: +7 -0 Under the following circumstances pas broke: documentRoot in pas.conf was relative to PAS_BASE files included in psp's were absolute ( include file /includes/style.css) ---------------------------- revision 1.26 date: 2002/10/09 01:50:35; author: mortis; state: Exp; lines: +17 -2 fixed compiler error ---------------------------- ChangeLog: ---------------------------- v3.0.19 XXXXX * krb: fixed a compiler error where it wasn't successfuly determining a relativly pathed document root as being under PAS_BASE. * krb: worked some more on the developer's manual Looks like we both tried to fix the same thing at nearly the same time. I'd like to suggest that we both take a good look at resolve_includes in the compiler and make sure it's doing what we expect it is. I'm very surprised we didn't get a cvs conflict over this. Thanks for catching the error. kyle -- ------------------------------------------------------------------------------ Wisdom and Compassion are inseparable. -- Christmas Humphreys mo...@vo... http://www.voicenet.com/~mortis ------------------------------------------------------------------------------ |
From: Mental <Me...@Ne...> - 2002-10-09 03:01:10
|
Under the following circumstances pas broke: documentRoot in pas.conf was relative to PAS_BASE files included in psp's were absolute ( include file /includes/style.css) Added a block to the compiler to catch this combination. -- Mental (Me...@Ne...) This body. This body holding me. Be my reminder here that=20 I am not alone in This body, this body holding me, feeling eternal All this pain is an illusion. --Tool "Parabola" CARPE NOCTEM, QUAM MINIMUM CREDULA POSTERO. GPG public key: http://www.neverlight.com/pas/Mental.asc |
From: Kyle R . B. <mo...@vo...> - 2002-10-09 00:29:13
|
> I was reading about your project and i got a bit excited. > I planned to create such a thing by myself but now it seems > you are already on the half way :) Half way is a good description of where we are. > Anyway, are you using ithreads in your implementation ? No. When we started Pas, Perl 5.005 was the standard. We have thought about the potential of threading, and there is nothing that is incompatible with the idea, we just haven't used ithreads yet. > At the moment it seems that you are hanging on to apache > which might be a bad thing and at the same time it might be > good. Pas absolutely relies on Apache and mod_perl. For performance, this coupling has been beneficial. From a stand-alone generic application server perspective, Pas falls short of other potential solutions. For us, it works pretty well for developing interactive websites. > I personally thought a implementation like tomcat , > a separately running app with acceptors/wrappers/standard > http listeners on the "outside" and multithreaded perl inside, > with static objects etc. just like tomcat. > > I think i'm giving it a shot at first to write my own little > multithreaded perl webserver and see how far can i go with it. > how good are the benchmark results etc. > > If i generally manage to build up the webserver running in perl > it could be combined with your pas and it would be 'almost' > there. That shouldn't be too hard if that is what you actualy want to do. The only peice that would need to be re-written to get the bulk of Pas off of Apache/mod_perl is the mod_perl Request Handler in the module: Org::Bgw::Pas::RequestHandler. > I suspect there would have to be some changes in the arch. > in the pas side, but they should be pretty minor. > > [Hope i didn't scare u off with this] Not at all. I'm CC'ing the pas-dev list so others can beneift form our exchange. Pas could stand to become a more generic application server, right now the design is very targeted at being an extension of an HTTP server. Thanks for you email, Kyle R. Burton -- ------------------------------------------------------------------------------ Wisdom and Compassion are inseparable. -- Christmas Humphreys mo...@vo... http://www.voicenet.com/~mortis ------------------------------------------------------------------------------ |
From: Kyle R . B. <mo...@vo...> - 2002-09-24 13:58:58
|
v3.0.18 Tue Sep 24 09:36:46 EDT 2002 * krb: minor enhancments to the HTTP proxy to allow the local port for proxying and the control port to be specified on the command line. * krb: fixed really annoying bug where you lost your sid when error_page was called in the request handler. * krb: added sidCookieExpires get/set to the Response object. This allows you to set an expiration for the cookie so you are no longer forced to use a session cookie. Be careful setting this value, time differences between your server and your users computers can cause problems with cookie/session support that are _seriously_ _difficult_ to debug. * krb/wbj: added a catch method to Org::Bgw::Base::Common. It's not too far off of Graham Barr's Error module, and it's similar in purpose. We decided to provide this alternative for a few (possibly invalid reasons), mostly because as a method it's part of the inheritence hierarchy and logging systems. * krb/wbj: we fixed a problem with the include dependency checking for nested includes. Only the includes from the deepest psp file were being written to the .dep file. Now all the files, nested or not, are written to the .dep file, which allows the compiler and request handler to perform condiational recompilation based on all of the included psps. * krb: added localized scope to the PSP compiler for included files. So now included files inherit the including file's symbols, and can declare their own locals, possibly overshadowing those from their including file. There is no longer a fully shared namespace for a PSP built from multiple include files. * krb: fixed an error with the stacktrace that crept in somewhere recently that prevneted all but the deepest stack frame to get saved and reported. Now full stacktraces should be produced by the request handler's error page method and Exception's as_string method. * krb: I added conditionals to the build stack trace function in Exception to toss out the stackframes for Exception->_build_stack_trace, Exception->new, and Base::Common->throw, so they won't clutter up the reported stacktraces. Kyle -- ------------------------------------------------------------------------------ Wisdom and Compassion are inseparable. -- Christmas Humphreys mo...@vo... http://www.voicenet.com/~mortis ------------------------------------------------------------------------------ |
From: Kyle R . B. <mo...@vo...> - 2002-08-28 22:34:00
|
* krb: fixed really annoying bug where you lost your sid when error_page was called in the request handler. -- ------------------------------------------------------------------------------ Wisdom and Compassion are inseparable. -- Christmas Humphreys mo...@vo... http://www.voicenet.com/~mortis ------------------------------------------------------------------------------ |
From: Kyle R . B. <mo...@vo...> - 2002-08-23 19:45:45
|
* krb: added sidCookieExpires get/set to the Response object. This allows you to set an expiration for the cookie so you are no longer forced to use a session cookie. Be careful setting this value, time differences between your server and your users computers can cause problems with cookie/session support that are _seriously_ _difficult_ to debug. * krb/wbj: added a catch method to Org::Bgw::Base::Common. It's not too far off of Graham Barr's Error module, and it's similar in purpose. We decided to provide this alternative for a few (possibly invalid reasons), mostly because as a method it's part of the inheritence hierarchy and logging systems. -- ------------------------------------------------------------------------------ Wisdom and Compassion are inseparable. -- Christmas Humphreys mo...@vo... http://www.voicenet.com/~mortis ------------------------------------------------------------------------------ |
From: Kyle R . B. <mo...@vo...> - 2002-08-23 15:20:46
|
v3.X.XX Fri Aug 16 14:09:04 EDT 2002 * krb/wbj: we fixed a problem with the include dependency checking for nested includes. Only the includes from the deepest psp file were being written to the .dep file. Now all the files, nested or not, are written to the .dep file, which allows the compiler and request handler to perform condiational recompilation based on all of the included psps. Kyle -- ------------------------------------------------------------------------------ Wisdom and Compassion are inseparable. -- Christmas Humphreys mo...@vo... http://www.voicenet.com/~mortis ------------------------------------------------------------------------------ |
From: Kyle R . B. <mo...@vo...> - 2002-08-21 13:31:18
|
* krb: fixed an error with the stacktrace that crept in somewhere recently that prevneted all but the deepest stack frame to get saved and reported. Now full stacktraces should be produced by the request handler's error page method and Exception's as_string method. this is in CVS and will make it into the next release. Kyle -- ------------------------------------------------------------------------------ Wisdom and Compassion are inseparable. -- Christmas Humphreys mo...@vo... http://www.voicenet.com/~mortis ------------------------------------------------------------------------------ |
From: Kyle R . B. <mo...@vo...> - 2002-08-16 19:43:53
|
This is just an FYI, and a remidner for myself. The problems is that the compiler borks on contiguous tags like: <%= "this" %><%= "that" %> and needs to be fixed. I'm busy at the moment, so I'm just throwing this out there. Kyle -- ------------------------------------------------------------------------------ Wisdom and Compassion are inseparable. -- Christmas Humphreys mo...@vo... http://www.voicenet.com/~mortis ------------------------------------------------------------------------------ |
From: Kyle R . B. <mo...@vo...> - 2002-08-16 18:13:01
|
v3.X.XX Fri Aug 16 14:09:04 EDT 2002 * krb: added localized scope to the PSP compiler for included files. So now included files inherit the including file's symbols, and can declare their own locals, possibly overshadowing those from their including file. There is no longer a fully shared namespace for a PSP built from multiple include files. file1.psp: <% my %foo = 'bar'; %> Foo: <%= $foo %> <!-- prints 'bar' --> <%@ include file = "file2.psp" > <!-- prints 'qux' --> Foo: <%= $foo %> <!-- prints 'bar' --> file2.psp: <% my %foo = 'qux'; %> Foo: <%= $foo %> <!-- prints 'qux' --> Kyle -- ------------------------------------------------------------------------------ Wisdom and Compassion are inseparable. -- Christmas Humphreys mo...@vo... http://www.voicenet.com/~mortis ------------------------------------------------------------------------------ |
From: Kyle R . B. <mo...@vo...> - 2002-08-15 13:24:37
|
This is verbatim from the ChangeLog file: v3.0.17 Thu Aug 15 09:07:44 EDT 2002 * krb: fixed a long time problem with the request handler not correctly handling relativly pathed forward_request calls. Previously they had to be fully pathed from the root, while now they can be relative to the page object, unless they begin with a '/', in which case they are still considered absolute from the document root * krb: fixed a compiler problem with resolving included files in psp pages * krb: fixed typo: Recomile => Recompile for the config file setting * krb: fixed the request handler so page->execute() is only called if request_init returns true. This helps for features like a LoggedInPage that verfies the users status in request_init and redirects the user if the fail the verification. * krb: fixed exception problem in the request handler -- I had changed "my $self = shift;" to "my($self) = @_;", which was dropping the exception. Now the exception is preserved -- the install problems we've been seeing where the system doesn't report that it can't write to the psp-cache directory should be solved (it will now report the error correctly). * krb: added in basic unit tests for every package in the project * krb: revamped the db object generation to use PSPs instead, which is much simpler. See the files bin/dbObjectGenerator, test/objectTemplate.psp, and test/testDbGen.sh for examples. * krb: this begins the migration to Log::Dispatch, and Log::Dispatch::Config I gutted the old logging system and installed the new one. * krb: after Jason added the RequestInquisitor, I made some ehancements to it that additionaly scrub the parameter names, and allow for multiple parameter values. The code now also logs a warning when it encounters a potential XSS attack. We just started a 3rd project using Pas where I work, hopefuly, as this indicates, I'll have some time to spend improving Pas over the next few weekk. Some of these issues were really bugging me, so it feels really satisfying that they're fixed. I also added a few files to test/pg that are based on what we're using for the current project to generate our database objects. You can't use them as-is. I haven't had that much time to dedicate to them so they're not completely generic, but they should serve as a good example. Thanks, Kyle -- ------------------------------------------------------------------------------ Wisdom and Compassion are inseparable. -- Christmas Humphreys mo...@vo... http://www.voicenet.com/~mortis ------------------------------------------------------------------------------ |
From: Kaare R. <ka...@ka...> - 2002-08-06 08:08:33
|
To clarify these items: - cut - Generic components. ----------------------- 1. List block. - List of a simple table / view. - Standard actions. Select one (or more?) row(s) and select action: Insert, Update, Delete, ... - Sorting option - Search / subsetting. - Page forward / back. Overflow management 2. Child list / update - Only update on exit - Works inline - cut - I expect the main part of FreeMoney to consist og pages somewhat like this 1. Example. Find and update Page 1: List choice Select CustomerNr Name Address Postal Code o 1 Allan A street 2000 ... e.g. 25 or 50 rows 1-2-3-4...More New Update Delete ... Standard: - Sort Order If selecting labelhead (CustomerNr, Name,...), the list is sorted by that field If Selecting labelhead again, sorting is descending - More List There must be a way to list rows in portions og e.g. 25 or 50 rows and select a new portion to display. Google-like, or better - Search To decrease the number of rows to display, I need a search option Action: - When selecting a row and pushing New, Update, Delete or whatever option is present, a new page is visible Page 2: Update row A simple page displaying data from a row as input fields. Here I'd like the validation routines to kick in... Simplest way to update the actual data is appreciated. 2. Example Page 1. Parent / Child Order Number Customer Data ---------------------------------------------------------------- Select Product ID Name Qty Price Total o 1-11-0 PC 1 10000,00 10000,00 ... e.g. 25 or 50 rows 1-2-3-4...More Update Insert Delete ---------------------------------------------------------------- Update ... When updating parent / children data, it is important to only update when everything is OK. Therefore I'd like to keep children data in memory until user chooses Update for the whole page. -- Kaare Rasmussen --Linux, spil,-- Tlf: 3816 2582 Kaki Data tshirts, merchandize Fax: 3816 2501 Howitzvej 75 Åben 12.00-18.00 Web: www.suse.dk |
From: Kaare R. <ka...@ka...> - 2002-08-03 18:13:03
|
To ensure as little logic as possible in the individual pages, just include components. Generic components. ----------------------- 1. List block. - List of a simple table / view. - Standard actions. Select one (or more?) row(s) and select action: Insert, Update, Delete, ... - Sorting option - Search / subsetting. - Page forward / back. Overflow management 2. Child list / update - Only update on exit - Works inline Fields as objects ------------------- Input fields as objects places in a document. E.g. dateField = new InputField( type => 'date', class => 'edit' ... ); dateField->setLabel("Date: "); dateField->show(); or dateField->input(value=>'today'); show would expand into a simple display of the field's value. Input would generate an input field with css class 'edit'. There will be some automatic validation based on the type. There could be different base tags: - InputField - EditTable - SelectTree - Button - Dropdown / ComboBox Client side ------------ Some kind of support for JavaScript and CSS. - Save properties pr user? - tabs or layers -- Kaare Rasmussen --Linux, spil,-- Tlf: 3816 2582 Kaki Data tshirts, merchandize Fax: 3816 2501 Howitzvej 75 Åben 12.00-18.00 Email: ka...@we... 2000 Frederiksberg Lørdag 11.00-17.00 Web: www.suse.dk |
From: Kaare R. <ka...@ka...> - 2002-08-03 18:03:51
|
With a client connectedt hrough the Web, it's not possible to have longer transactions. You have to spawn them in the background. A financial application needs some controlled way of doing background processing. If someone can find a generic way to generate the result and cache it for later use, it can be a nice touch. Maybe Web Services is part of the answer. Anyway, I think that an application server these days should think about including Web Services. -- Kaare Rasmussen --Linux, spil,-- Tlf: 3816 2582 Kaki Data tshirts, merchandize Fax: 3816 2501 Howitzvej 75 Åben 12.00-18.00 Email: ka...@we... 2000 Frederiksberg Lørdag 11.00-17.00 Web: www.suse.dk |
From: Kaare R. <ka...@ka...> - 2002-08-03 18:00:57
|
If Pas is to be an Application Server, I expect that it will handle data sources? Pas should have a framework database, but users may have the need to connect to different databases. Freemoney would, for example, choose the database depending on which user is logging in. That way the same server can serve several companies each with their own separate database. And not only one database. Some information might be shared amonst companies, like monetary rates. So each user may require more than one database. Filter ------ - Filter on rows E.g. all rows with a certain value in a column - Filter on columns Disallow displaying a field to certain users. Disallow update. -- Kaare Rasmussen --Linux, spil,-- Tlf: 3816 2582 Kaki Data tshirts, merchandize Fax: 3816 2501 Howitzvej 75 Åben 12.00-18.00 Email: ka...@we... 2000 Frederiksberg Lørdag 11.00-17.00 Web: www.suse.dk |
From: Kaare R. <ka...@ka...> - 2002-08-03 17:51:58
|
i18n and l10n is not just about characters and codesets. In a financial application there are major issues: - Characters and Codesets - Numbers Numbers can be represented differently in different locales. For example, the following numbers are all written correctly for their respective locales: 12,345.67 English 12.345,67 Danish 12345,67 French 1,2345.67 Asia - Currency In addition to the way a number is represented, there is a difference in the way currency is displayed and entered. $ 400.00 American 400,00 DKK Danish - Dates 12/31/2002 31/12-2002 2002-12-31 - Time 23:59:59 12:59:59 PM - Messages I believe that all this can be covered quite easily by using perl modules like gettext. But this is the tough part: - It has to work both as input and output It is necessary, when the user enters a date, that it is recognised correctly. If my locale is Danish, and I enter 3/8/2002, I want it to be August 3, 2002. If the locale is US English, it is March 8. -- Kaare Rasmussen --Linux, spil,-- Tlf: 3816 2582 Kaki Data tshirts, merchandize Fax: 3816 2501 Howitzvej 75 Åben 12.00-18.00 Email: ka...@we... 2000 Frederiksberg Lørdag 11.00-17.00 Web: www.suse.dk |
From: Kaare R. <ka...@ka...> - 2002-07-29 16:04:06
|
Do you have any examples using recordGenerator ? I do miss some more exhaustive examples in general. But for now - examples using generated database objects ?? -- Kaare Rasmussen --Linux, spil,-- Tlf: 3816 2582 Kaki Data tshirts, merchandize Fax: 3816 2501 Howitzvej 75 Åben 12.00-18.00 Email: ka...@we... 2000 Frederiksberg Lørdag 11.00-17.00 Web: www.suse.dk |
From: Kaare R. <ka...@ka...> - 2002-07-09 11:40:59
|
While waiting for response to my postings on July 7, i wonder if you have considered cooperation with, or use of, AxKit and/or Callisto? Web Services is all the rage now, and AxKit seems to be the Perl answer to this. Callisto looks to be a very nice CMS, based on AxKit. -- Kaare Rasmussen --Linux, spil,-- Tlf: 3816 2582 Kaki Data tshirts, merchandize Fax: 3816 2501 Howitzvej 75 Åben 12.00-18.00 Web: www.suse.dk 2000 Frederiksberg Lørdag 12.00-16.00 Email:ka...@ka... |
From: Kaare R. <ka...@ka...> - 2002-07-03 13:40:11
|
Security -------- In my opinion there are two kinds of security. - Access to applications or objects - Access to data (filter) I will look at the former here. My idea is to have a framework database with tables like this User<-->user group<-->object group<-->object Meaning: A user can be a member of 1 or more user groups, and a group can have 1 or more users An object can be a member of 1 or more object groups, and a group can have 1 or more objects User groups can have 1 or more object groups and vice versa I imagine som sort of loader / controller in Pas that will only allow the user access to the relevant objects. I don't know how well it fits with Pas as it is - you tell me :-) Menu ---- Menus are closely connected to security. Something like this: object<-->menu<- ^ | | | ---- An object can be in 1 or more menus, and a menu can have 1 or more objects. A menu can have submenus. Notice that I don't make any distinction between objects, pages and applications. I hope that it can be this way. If an object is referred to from a menu, it has to be something that makes sense to use at that point. There can be more than one menu in a page (Top, Left...). The developer only has to invoke the Menu Loader to get a menu on the page. This menu will only contain the objects allowed for this user (of course). -- Kaare Rasmussen --Linux, spil,-- Tlf: 3816 2582 Kaki Data tshirts, merchandize Fax: 3816 2501 Howitzvej 75 Åben 12.00-18.00 Web: www.suse.dk 2000 Frederiksberg Lørdag 12.00-16.00 Email:ka...@ka... |
From: Kaare R. <ka...@ka...> - 2002-07-03 13:37:34
|
Hi This is a response to this: > If we can come up a design for the features you need, perhaps we can start > building them. I'm no accountant, though I have built sites that sell > on the internet. I have put on my thinking cap after developing the prototype of FreeMoney, and I will present you with some ideas / issues / proposals that I think is outside the scope of a Financial Application. I think that some of these fits well into Pas; others may not fit, but you have to be able to build them on top of Pas. First is my personal timeline. I will try to have something meaningful finished at the end of this year / beginning of next. This means that I don't want to waste too much time on Apache 1.3x, but hope that by then, Apache 2.0 and mod_perl 2.0 is a meaningful match. Of course, I hope that I can have some sort of site running long before that, but the aim is to have a couple of weeks in Jan 2003 where I have time to work with FreeMoney. This is my preliminary list of issues: - Security I know we had a bit of discussion regarding security and access control, but as I remember, there was no conclusion. There was a reference to some user information, but I couldn't tell if it already is in Pas or not. - Menu - Filter - i18n - Data Source - Scheduling - Style - Components - User interaction The three last items are connected, but I can't think of a common title for them right now! I will start in my next message with security and menus. -- Kaare Rasmussen --Linux, spil,-- Tlf: 3816 2582 Kaki Data tshirts, merchandize Fax: 3816 2501 Howitzvej 75 Åben 12.00-18.00 Web: www.suse.dk 2000 Frederiksberg Lørdag 12.00-16.00 Email:ka...@ka... |