Re: [Catalyst] html::prototype syntax in new Cat version
There is absolutely no reason to use Prototype. The Prototype + Scriptaculous javascript framework is junk. There is absolutely no reason to use... Prototype + Scriptaculous It doesn't work very well, the syntax is terrible, it will break other javascript on the page just by being included This is not true, for prototype.js (including the syntax wich is as it is in OO-javaScript...). I have a working application in which is used prototype.js, tinyMCE.js, tabber.js (from Patrick Fitzgerald) with Catalyst and TT. Many complex applications (and widgets) exists, based on prototype.js. --vb There is absolutely no reason to use Prototype. On 7/5/07, Jonathan Rockway [EMAIL PROTECTED] wrote: On Thursday 28 June 2007 07:33:57 am vb wrote: HTML::Prototype is the Matt's Script Archive of javascript. possible, but don't confuse with prototype.js. Same difference. The Prototype + Scriptaculous javascript framework is junk. It doesn't work very well, the syntax is terrible, it will break other javascript on the page just by being included, and the cool effects it includes aren't even very good. There is absolutely no reason to use Prototype. Mochikit, Dojo, Mootools, Jquery, etc. will treat you much better. (I like Jemplate also, but that's not a framework per-se'.) A solution: use prototype.js as is, and not from HTML::Prototype! This is the right idea. Put your javascript in .js files, include those in the page, etc. Catalyst/Perl doesn't need to deal with your Javascript. Just treat it as static content (the library) or HTML (hooks in the document). If you want AJAX stuff, I recommend building a JSON/REST interface with Catalyst::Action::REST and using one of the above frameworks to talk to it. With Jemplate, you can render your TT templates client-side, which is always fun. -- package JAPH;use Catalyst qw/-Debug/;($;=JAPH)-config(name = do { $,.=reverse qw[Jonathan tsu rehton lre rekca Rockway][$_].[split //, ;$;]-[$_].q; ;for 1..4;$,=~s;^.;;;$,});$;-setup; ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] html::prototype syntax in new Cat version
HTML::Prototype is the Matt's Script Archive of javascript. possible, but don't confuse with prototype.js. (The engaged by a professional opinions is very important for my, but...) I having prob with Html::Prototype with Catalyst. A solution: use prototype.js as is, and not from HTML::Prototype! (could you see, which Version prototype.js is on your server? in HTML::Prototype prototype.js is of vesion 1.4) I'm not a professional, else I exercise to see that Prototype.js (1.5) IS a great javascript library (a framework, not a copy|paste widgets|effects library...); and it work very good with Catalyst (with TT, also with other JS lib's) - but I repeat: I'm a amateur (but... a very amateur!). --vb On 6/28/07, Matt S Trout [EMAIL PROTECTED] wrote: On Wed, Jun 27, 2007 at 09:48:33AM -0700, Will Smith wrote: Hi, This might be a pain in the neck to someone but please be patient if you read the mail. I having prob with Html::Prototype with Catalyst. It works like a champ with older version of Cat, but in the current version, the syntax might be a bit changed and I just cannot get it. HTML::Prototype is the Matt's Script Archive of javascript. Please move to CGI::FormBuilder or jquery or mochikit or dojo or someting decent. Prototype.js is a bad joke and nobody will touch it - you'd be as well asking for VBScript advice ... -- Matt S Trout Need help with your Catalyst or DBIx::Class project? Technical DirectorWant a managed development or deployment platform? Shadowcat Systems Ltd. Contact mst (at) shadowcatsystems.co.uk for a quote http://chainsawblues.vox.com/ http://www.shadowcatsystems.co.uk/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] displaying email addresses
a module for finding IP addresses in plain text: NetAddr::IP::Find --vb On 6/28/07, Octavian Rasnita [EMAIL PROTECTED] wrote: Hi, Do you know if there are any Catalyst plugins, or TT filters, or perl modules that can find all the email addresses in a text and convert them into a Javascript code that prints that email address (possibly as a link)? I want to do something like this for avoiding robots that harvest email addresses for doing spam, but in the same time print the correct email address. Thank you. Octavian ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Tabular interfaces
This is not a Catalyst job... but I also very interested of the best practice for integrate a tabular interface. Many JS libraries for tab interface exists (fabtabulous.js). I suggest you: google tab based interface techniques An example if you wish, from my work: http://lar.sitsco.com (where I use the JS from http://www.barelyfitz.com/projects/tabber/) --vb On 5/11/07, Duncan Ferguson [EMAIL PROTECTED] wrote: Hiya list, I need to add a tabular interface into my cat app and trying to work out the best practice way of doing it - are there any docs or info anywhere on how to do this? One part would be for user preferences where the first tab contains basic information (i.e. name, address, tel, etc), the second tab contains preferences for the app, etc. The second or n'th tab cannot be worked on until the first is done as some of the info might be dependent on it. Has anyone here done something similar and have examples I can look at? Thanks Duncs ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] displaying csv content
A solution for CSV from Catalyst I used time ago: sub down_san : Local { my ($self, $c) = @_; my $sc = $c-session-{scoala}; my $lu = $c-session-{stag0}; my $lnu = $lu-nume; my $ln = $lnu; $ln =~ s/-..$//; $ln = $ml{$ln}; my $an = $lnu; $an =~ s/^...-//; $an = '20' . $an; my @ang = salar::Model::State-angsclu($sc-id, $lu-id); my $csv = Text::CSV_XS-new({binary = 1}); my $out = ; my @h = (); my $f = $an.-.$ln.-sanatate.txt; @h = ('Nume-Prenume','CNP','Brut-san','CASS'); $csv-combine(@h); $out .= $csv-string . \n; foreach my $g (@ang) { # don't use diacritics in Romanian institutions! my $nume = $g-id_angajat-nume . ' ' . $g-id_angajat-pren; utf8::decode($nume); $nume =~ s/([ăşţîâĂŞŢÎÂ])/$DIACRITICE{$1}/eg; $nume = uc($nume); my @w = (); push @w, $nume; push @w, $g-id_angajat-cnp; push @w, $g-bsan; push @w, $g-isan; $csv-combine(@w); $out .= $csv-string . \n; } $c-res-headers-header('Content-Type' = 'text/csv'); $c-res-headers-header('Content-Disposition' = attachement;filename=$f); $c-res-body($out); } --vlad On 2/23/07, Octavian Rasnita [EMAIL PROTECTED] wrote: Hi, Can anyone point me to a place where I can find how to send csv content to the browser correctly? If I right click on the link and choose save as... the content is saved correctly, and the file name specified by Content-Disposition appears correctly, but if I just click on the link, it appears a window that asks me if I want to open or save it, and if I choose save, nothing happends, and that window don't ask me for a file name. I know that the http headers might be wrong, but I don't know the right way of sending them. Do I need to create another view, or I need to change something in the end() subroutine? Thanks. Octavian ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
[Catalyst] Re: login and C-P-Authentication-Store-DBIC
... the trick is to 'use base Class::DBI' and not 'use base C::Model::CDBI::Plain' in the root pm. table. --vb On 1/14/07, vb [EMAIL PROTECTED] wrote: I use CDBI - not DBIC - and I have the classical tables User, Role, UserRole (Authentication Authentication::Store::DBIC Authentication::Credential::Password Authorization::Roles) At home I have a Catalyst from Debian, with C::P::Session at Version=12 (and no problem with myApp from the corresponding vhost, with Apache-1.33-mod_perl ; also, no problem with the real server before the upgrade from C-5.7001 to 5.7006 - but now...) But at the real server, the (only) difference is that C::P::Session is at Version=13 (not 12) and I get this error: Can't locate object method search via package Catalyst::Base at /usr/share/perl5/Catalyst/Plugin/Authentication/Store/DBIC/User.pm line 19. from the execution of $c-login(username,password). Because I use CDBI, is a need to substitute Auth::Store::DBIC (-0.07 and Authentication=0.09)? Many Thanks for to clarify this question, --vb ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
[Catalyst] login and C-P-Authentication-Store-DBIC
I use CDBI - not DBIC - and I have the classical tables User, Role, UserRole (Authentication Authentication::Store::DBIC Authentication::Credential::Password Authorization::Roles) At home I have a Catalyst from Debian, with C::P::Session at Version=12 (and no problem with myApp from the corresponding vhost, with Apache-1.33-mod_perl ; also, no problem with the real server before the upgrade from C-5.7001 to 5.7006 - but now...) But at the real server, the (only) difference is that C::P::Session is at Version=13 (not 12) and I get this error: Can't locate object method search via package Catalyst::Base at /usr/share/perl5/Catalyst/Plugin/Authentication/Store/DBIC/User.pm line 19. from the execution of $c-login(username,password). Because I use CDBI, is a need to substitute Auth::Store::DBIC (-0.07 and Authentication=0.09)? Many Thanks for to clarify this question, --vb ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] $c-email
I use MIME::Lite, don't know $c-email... A concrete example, from a real salary application (salar.sitsco.com - in short time I provide a new, many featured, version): sub send_fisa : Local { my ( $self, $c, $ia ) = @_; my $st = salar::Model::State-retrieve($ia); my $emal = $st-id_angajat-email; my $from = $st-id_scoala-email; my $subj = 'fişă salariu'; $st-subrute; $c-stash-{angaj} = $st; $c-stash-{sendto} = 1; my $out = $c-view('TT')-render($c, 'fisa_stang.html'); my $msg = new MIME::Lite( From = $from, To = $emal, Subject = $subj, Type = 'TEXT', Data = $out ); $msg-attr(Content-type = text/html;charset=utf-8); $msg-send; # $c-res-redirect('/'); return $c-res-body(scripthideLev('hsind');/script); } --vb On 1/6/07, Octavian Rasnita [EMAIL PROTECTED] wrote: Hi, Does anyone have an example of sending a UTF-8 encoded email message using $c-email? Thank you. Octavian ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] default template
Since the code in RenderView is so small, I'm going to paste it here and tell you why each line there is important. ## comments are my notes . A very good (step-) tutorial! (simply) Commenting So, many Catalyst things - will assure more understanding than the usual tutorials! --vb On 12/29/06, Jonathan Rockway [EMAIL PROTECTED] wrote: Octavian Rasnita wrote: Hi, I often need to make external redirections like in the following case: sub logout : Local { my ($self, $c) = @_; $c-logout; $c-res-redirect($c-uri_for(/)); } How about $c-detach() after the redirect? BTW, I notice a common theme in your posts -- being burned by your poorly-designed custom global end action. Please switch to RenderView and avoid 90% of your problems :) Since the code in RenderView is so small, I'm going to paste it here and tell you why each line there is important. ## comments are my notes sub execute { my $self = shift;## setup my ($controller, $c ) = @_; $self-NEXT::execute( @_ ); ## run everything in the actual end ## action first ## dump requested (by setting ?dump_info=1 in the URL)? ## if so, die so we get the debug screen if ($c-debug $c-req-params-{dump_info}) { die forced debug } ## no content type set? use text/html so that the browser doesn't ## choke if(! $c-response-content_type ) { $c-response-content_type( 'text/html; charset=utf-8' ); } ## client doesn't want body? don't render it! return 1 if $c-req-method eq 'HEAD'; ## custom body set in an action? send that instead return 1 if length( $c-response-body ); ## errors and no template to show them with? let Catalyst handleit return 1 if scalar @{ $c-error } !$c-stash-{template}; ## redirect? don't render the template, just redirect! return 1 if $c-response-status =~ /^(?:204|3\d\d)$/; ## get the view my $view=$c-view() || die Catalyst::Action::RenderView could not find a view to. forward to.\n; ## and forward to it $c-forward( $view ); }; Pretty nice, eh? You can learn a lot by reading the fine source code. Regards, Jonathan Rockway -- package JAPH;use Catalyst qw/-Debug/;($;=JAPH)-config(name = do { $,.=reverse qw[Jonathan tsu rehton lre rekca Rockway][$_].[split //, ;$;]-[$_].q; ;for 1..4;$,=~s;^.;;;$,});$;-setup; ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] accessing the name of the logged user
I hope this help you: sub login_sc : Local { my ( $self, $c ) = @_; $c-login( $c-req-params-{username}, $c-req-params-{password} ); my $u = $c-session-{__user}; if ($u $c-user_object-roles) { my $rol = $c-user_object-roles-next; etc... if($c-user_exists) { my $u = $c-session-{__user}; etc... --vb On 12/28/06, Octavian Rasnita [EMAIL PROTECTED] wrote: Hi, Can you tell me how can I access the name of the currently logged user for printing it in a TT template? I have tried: if ($c-user_exists) { $c-stash-{user} = $c-user; } But it gives the following error: Coldn't render template undef error - Can't call method from_session on an undefined value at D:/usr/site/lib/Catalyst\Plugin\Authentication.pm line 122. I have spent a lot of time for finding that this is the problem, and I even found some threads on the list about this issue, but the only solution I have seen was to downgrade from C::P::Authentication 0.08 to 0.007, or to upgrade to 0.09. I am already using the version 0.09 though. If I use the following static text, it works: if ($c-user_exists) { $c-stash-{user} = Gigi; } So the issue is using $c-user. How can I access the user in another way that doesn't give errors? I have also tried (in the code and templates): $c-user-name $c-user-username [% c.user %] But all of them use in fact $c-user, so of course they didn't work. Thank you very much for any solution. Octavian ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] IE Cookie problems
I have them same problem. resolved, by adding in the Myapp::end() sub, the line: $c-res-headers-header('Cache-Control' = 'no-cache, max-age=0'); In MyApp.pm: use Catalyst qw/ Session Session::Store::FastMmap Session::State::Cookie Authentication Authentication::Store::DBIC Authentication::Credential::Password Authorization::Roles /; --vb On 12/19/06, Mojo Nichols [EMAIL PROTECTED] wrote: I have them same problem. I got MyApp to work with the Authentication example under firefox. Under IE7 and IE6 no cookies are set. I have another catalyst example that just uses cookies no Session Session::Store:FastMmap... etc and those cookies work okay. Any ideas or known issues( now that it is 6 months later). Can anyone definitively say they have this example working under IE 6 and 7? I only see two threads in the archive and both seem to be exactly what I see. Can anyone who has been through this pain funnel and come out unscathed please enlighten me to what it was even if it was very specific to you? Any way staring at this one pretty hard for a few days with my only option being to drop this and create some ugly work around:-( Thanks, Mojo On May 29, 2006, at 11:49 AM, Matt S Trout wrote: Shawn Ferris wrote: Thanks for the tips -- but nothing is helping unfortunately.. I've used both the IP address and the hostname, which only contains alpha chars and still no go. Within fiddler I see that the Response header has a Set-Cookie record but it doesn't seem to be doing anything with it. The authentication seems to be pretty simple in my case.. I have a login method within my Controller.. This has the form which is posting the un/pw back to itself.. then upon successful authentication, I see the session being created in the logs and then it's redirecting to the main page. It's almost taken 100% from the Cookbook. (There are errors in the code in the Cookbook that I've had to fix) -- and again, it's working from Firefox. I think I have everything correct, IE just doesn't take it. I've also installed Maxthon and used the tools there to clear all history, cookies, caches, etc.. to no avail. Any other suggestions out there? IE being retarded, have you tried running the test server with either -k (keepalive) or -f (fork)? I've seen inexplicable problems magically go away by doing that before (and never show up if you've got an HTTP proxy in front of the test server, or if you're using anything else to serve the app, or if the phase of the moon is different, and of course if you're using anything except Intarwub Exploder) ... ___ Catalyst mailing list Catalyst@lists.rawmode.org http://lists.rawmode.org/mailman/listinfo/catalyst ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Adjacency list trees and DBIC (recursion fun)
I think you can see also, DBIx::OO::Tree --vb On 12/14/06, Dylan Vanderhoof [EMAIL PROTECTED] wrote: Hello all, I have a bit of a niche question, but maybe somebody has run into this. My environment is Catalyst (latest stable), DBIx::Class and TT. Below is a table description and some chunk of code I'm actually using with altered names. I'm wanting to traverse the tree and just have debug statements to tell me what node I found and what order the node is. However, when running, it seems to recurse endlessly, which isn't happening in my pure-perl/DBI version. I'm guessing there's something about DBIC I'm running into that's making this not work and there should be a better approach. Anybody have any suggestions? =) (I put this on the Cat list because I'll almost certainly follow up with some Catalyst/TT questions, but I can punt it to the DBIC list if that makes more sens.) Thanks, Dylan --- Table structure and code follows I have a self-referencing table that forms a tree using an adjacency list, more or less of the format: Table Foo: id int not null pk parent int fk referencing self.id is_leaf boolean [data columns] A null parent is a root, and any node where is_leaf is true is the end of a branch. My DBIC config has (among other things): __PACKAGE__-has_many( foo, MyApp::Schema::Foo, { foreign.parent = self.id }, ); My thought was that I should be able to do: sub someroutine : Whatever { $rs = $schema-resultset('Foo')-search( { parent = undef } ); # root nodes while( $root_node = $rs-next ) { if( $root_node-leaf_node == 0 ) { $c-log-debug(Root is a left, stopping); } else { while ( $child = $root_node-foo-next ) { traverse_tree( $c, $root_node, $child, 2); } } } sub traverse_tree { my $c = shift; my $parent = shift; my $child = shift; my $order = shift; my $next_child; if( $child-leaf_node == 0 ) { $c-log-debug( Got order $order child: . $child-description ); while( $next_child = $child-foo-next ) { build_tree( $c, $child, $next_child, $order + 1 ); } } else { $c-log-debug( Got order $order child (leaf): . $child-description ); } } ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
Re: [Catalyst] Re: Last Chance / Last Day:Webdevelopmentplatformcontestand Perl / Catalyst
make a tutorial for the beginners in Catalyst. The tutorial should start thinking that the beginners don't know anything, and finish with examples that should show everything that Catalyst could do. don't know anything? I think the Catalyst *and* perl is not for beginners (see PHP for those) - or redefine: beginner:: a person with good background, and with good background in programming (including a independent experience in creation of a onorable application) --vb On 12/3/06, Octavian Rasnita [EMAIL PROTECTED] wrote: (and what would people say to re-doing the tutorial to add back in a couple chapters that -don't- use DBIC at the beginning, and then perhaps an additional one at the end that uses another model (SVN or LDAP spring to mind) ?) -- Matt S Trout, Technical Director, Shadowcat Systems Ltd. I think the best approach would be to make a tutorial for the beginners in Catalyst. For letting the beginners learn Catalyst easier, the focus should be only on Catalyst, and no other modules, because even if they know how to use DBIx::Class or other modules, the use of those libraries will just distract their attention. Then the next step, the next example, should be a sample program that introduce another module, for example a module that parses configuration files, then the next sample program should introduce more and more advanced modules, like some modules that can allow i18n, that can allow using of UTF-8, then a program that accesses a simple database without an ORM, then the same example when using an ORM, and so on, starting from the most simple external modules, to the more complex ones. Many times a programmer starts learning a programming language when he sees that there is a tool that could be very easily understood, that could help him to do what he wants, so a new Catalyst programmer could also be somebody that now doesn't even know perl. So I think that tutorial should not start from the idea that the beginners know everything, and that they should just learn some Catalyst subroutines, and the order in which they are called, and a few other things, and that's all. The tutorial should start thinking that the beginners don't know anything, and finish with examples that should show everything that Catalyst could do. That way will surely satisfy everybody. Teddy ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/ ___ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/