Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Why oh Why oh Whyo (Catalyst Woes)

by OverlordQ (Hermit)
on Feb 23, 2006 at 01:33 UTC ( [id://532135]=perlmeditation: print w/replies, xml ) Need Help??

Why is it that there is almost absolutely zero documentation for the beginning user about using Catalyst. Sure the Catalyst::Manual::Tutorial is nice, that is if all you're trying to do is what the manual says. Trying to go through the Manual proper will only further confuse yourself. I've come to this conclusion after trying for a solid week to get user authentication/authorization/roles done using DBIx::Class and a MySQL database. I tried looking at the relavent POD, but after (trying) to implement it how it shows, it leaves you with more questions then answers.

Basically my complaint is that every Document and Tutorial assumes you're already a master at the MVC layout and Catalyst and there is almost slightly less then zero tutorials or documentation for a beginning user trying to setup even a basic program using Catalyst.

I was going to code everything from scratch, then I decide to try some sort of framework to make it easier for repetitive tasks like user registration, authentication, sessions, and Catalyst billed itself as it 'Just Worked', well hate to rain on their slogan, but it hasn't been Fun, Rewarding, or Quick.

Replies are listed 'Best First'.
Re: Why oh Why oh Whyo (Catalyst Woes)
by PodMaster (Abbot) on Feb 23, 2006 at 06:56 UTC
    ... I've come to this conclusion after trying for a solid week to get user authentication/authorization/roles done using DBIx::Class and a MySQL database. I tried looking at the relavent POD, but after (trying) to implement it how it shows, it leaves you with more questions then answers.
    After a solid week, you should try asking for help (via SOPW or some-catalyst-mailing list). Show what you've attempted and how its failing for you.
    Basically my complaint is that every Document and Tutorial assumes you're already a master at the MVC layout and Catalyst and there is almost slightly less then zero tutorials or documentation for a beginning user trying to setup even a basic program using Catalyst.
    Sounds to me like you're so frustrated, you're overlooking the obvious, Catalyst::Manual::Intro.

    If you have questions, write them down, pass them around, you're probably not the only one whos been frustrated :)(they might even end up in the faq)

    You might want to try Catalyst::Plugin::Authentication::CDBI, as its mentioned in the Catalyst::Manual::Cookbook, and Class::DBI can handle mysql, among many other backends.

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.

      Really, really, don't use Catalyst::Plugin::Authentication::CDBI. No, please don't. seriously. It's ancient and it doesn't integrate with any of the new authentication and session code. Authentication::Store::DBIC *can* talk to Class::DBI, and if you have a simple database and don't need to do anything complex with your queries Class::DBI will work just fine - and DBIx::Class still maintains a CDBICompat layer for people porting across to use as a springboard, so if you realise later you need the more advanced features you can do that without too much trouble too.
      I wouldn't be so hasty, the Catalyst PODs are out of date, and I've submitted pointers on syntax errors and the like.
      FOSS projects need good solid documentation before they declare themselves to be really solid projects and start asking for users :)
      I already rm'd the directory and switched to CGI::App, but I could recreate it and post it as a SoPW and see if I can get an intelligable answer this time.
Re: Why oh Why oh Whyo (Catalyst Woes)
by Ultra (Hermit) on Feb 23, 2006 at 07:57 UTC

    I tend to share a little your frustration

    Recently I had a look into Catalyst because it seemed to me sexy, but after a while I had to step back and restart with the basics. I.e.: my HTML related knowledge is quite limited so, I started to learn HTML and Template at the same time. Now I'm moving into using Template in conjuction with Template::Plugin::DBI.

    You seem to have problems with databases, so I think you should learn that first before delving into Catalyst

    In my view Catalyst is not out there to teach you how to implement the Model, View or Controller. So if I'm right, you should first "master" those three first and then use Catalyst for the benefits it brings you in terms of development speed/quality and the rest.

    Dodge This!
Re: Why oh Why oh Whyo (Catalyst Woes)
by ghferrari (Acolyte) on Feb 23, 2006 at 16:09 UTC
Re: Why oh Why oh Whyo (Catalyst Woes)
by castaway (Parson) on Feb 24, 2006 at 00:32 UTC
    Sorry, but it's hard to give help on Catalyst without getting any actual questions on it. I haven't seen any questions on the mailing list from you, I saw you once on the IRC channel, and this is just complaining, and not asking questions..

    Yes, Catalyst needs more documentation, who doesn't? But the people who work on and with it daily get out of touch with how hard it is for newbies to get into it, without them coming along and asking, how do we know what to add to the documentation?

    As for assuming knowledge of MVC, it's not a framework for dummies, yes, the docs assume you can manage to google for things like MVC, and understand what you find. If you do that and still get stuck, sensisble questions will be answered, if we get them.

    C.

    BTW, I wrote most of that Tutorial, so, what's missing? What else did you need?..

Re: Why oh Why oh Whyo (Catalyst Woes)
by tphyahoo (Vicar) on Feb 24, 2006 at 09:52 UTC
    The deal is: if you are a beginner with Catalyst, go to IRC IMMEDIATELY. I'm sorry if this annoys the channel regulars, but that is just my judgement. Posting a question to the group is another option, but frankly I really dislike the interface (ie, sending an email -- I'd much prefer google groups, or phpbb or vbulletin or something), and having to search the group online with google means missing the most recent posts that google hasn't indexed yet. And I've had situations where I couldn't even understand what I really wanted to ask, until I chatted briefly to clear up the terminology.

    It's not that the documentation is bad, or that there isn't enough of it -- though for some areas this is true. Just, things are changing so fast, and the whole kit and kaboodle is so overwhelming, that it's better to check in with the developers/groupies and say, "What should I read" than google around.

    I bet if enough newbies overwhelmed the channel, the documentation effort would probably accelerate dramatically ;)

    In my opinion, the documentation is 50% of the hurdle, the other issue is confusing dependencies, and these two problems are probably interlinked. But yes, things are definitely getting better. Go catalyst.

      Any suggestions for those of whose work specifically forbids us from using IRC?

      (hell, depending on the interpretation of the rules, there's a chance that I'm not supposed to be posting on here, as it qualifies as "Participating in Chat Rooms, News Groups, or similar activities where the posting will be seen by the public", but it's specifically mentioning use of the domain name being seen, and you all can't tell where I work ... and I know a few other people on here work for the same place that has this rule)

      Oh -- and there's supposed to be a presentation on Catalyst at the next dc.pm meeting.

        I suggest you try the mailing list in that case, assuming you are allowed email? Or post questions to perlmonks, I'll certainly attempt to answer them.. (Hmm, I need something that filters new nodes and tells me about interesting ones ;)

        C.

      The deal is: if you are a beginner with Catalyst, go to IRC IMMEDIATELY.

      I'd extend that to a: And please, after your problem is solved, just put it on the wiki. There's also a SolvedIssues page on it.

      I bet if enough newbies overwhelmed the channel, the documentation effort would probably accelerate dramatically ;) If the IRC channel is just treated as an answering-machine, I fear it won't. But as stated above, a simple contribution (problem/symptoms/solution) to the wiki is worth a lot. As I see it, there are three kinds of people giving Catalyst a drive:

      - The "alchemysts" (those who bring new ideas, techniques and modules no one thought about before)
      - The "live infantry" (those who make--sometimes heavy--use of Catalyst in production, finding edges, problems and things that need to get simpler) and
      - The "players" (those who play around with it. Some of these are also likely to improve documentation when they know where it's needed, submit simple patches, etc.)

      Ordinary morality is for ordinary people. -- Aleister Crowley
Re: Why oh Why oh Whyo (Catalyst Woes)
by ghenry (Vicar) on Feb 24, 2006 at 11:30 UTC

    We are worrking on the docs. It's just that, like many projects, we all have fulltime jobs and it's hard to fit everything and get paid for what you do.

    All the dev team and the docs team (kind of me and castaway as well as the core devs) are in the IRC channel everyday, almost all day. Drop in, send a mail or give pointers.

    It all helps.

    Walking the road to enlightenment... I found a penguin and a camel on the way.....
    Fancy a yourname@perl.me.uk? Just ask!!!
Re: Why oh Why oh Whyo (Catalyst Woes)
by jasonk (Parson) on Feb 23, 2006 at 01:50 UTC

    If you want something that "just works", try something other than DBIx::Class, which is alpha, generally under heavy development, and at any given point doesn't really work the way the documentation says it should.


    We're not surrounded, we're in a target-rich environment!
      It's things like this that the (limited) documentation (for Catalyst) doesn't make clear, the only thing Catalyst::Plugin::Authentication::Store::DBIC says is:

      For best performance when using roles, DBIx::Class models are recommended. By using DBIx::Class you will benefit from optimized SQL using joins that can retrieve roles for a user with a single SQL statement.

      And I have yet to see any example code/tutorials that uses something besides SQLite.
      That's progress for you. Yes, if you don't like moving goalposts, then don't use it for a bit yet. We've stabilised quite a bit with 0.05, and now the docs need to catch up. A lot of it has improved recently, but some is still out of date.

      On the other hand, people are using it in production environments, and seem to be doing ok. I guess it's up to the individual to choose.

      .. And we're going to hit 1.0 by 2007, right Matt? ;)

      C.

Re: Why oh Why oh Whyo (Catalyst Woes)
by Anonymous Monk on Feb 24, 2006 at 00:07 UTC
    This complaint is entirely valid and healthy. If the Catalyst guys went hard core on making really great documentation that was reliable, accurate, and easy to use they could compete directly with Ruby on Rails and assist in revitalizing the entire Perl community at large.

    Not to mention attract a much larger audience that would eventually include enough contributors to snowball the whole project into a massive push that might end up turning Catalyst into a more integrated core type project for Perl 6.

    Maybe I'll stop working 16 hour days as a corporate whore and have time to help one of my dreams *sigh*

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://532135]
Approved by BrowserUk
Front-paged by BrowserUk
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (5)
As of 2024-04-19 12:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found