atemerev has asked for the wisdom of the Perl Monks concerning the following question:

Hi monks,

As for me, there is a big problem with Catalyst and DBIx::Class — I don't like 'em. They are bulky, they rely on ugly and Pythonesque (G-d forbid!) __PACKAGE__ statements, they don't give reasonable defaults, etc etc. OK, maybe it's just me.

Anyway, there _is_ a web framework that I really like and consider it a touch of pure genius. It's called Everything Engine and yes, it is the very framework Perlmonks is running at. The problem with Everything Engine is that it's a little outdated (last updated in 2002? Or 2003? Can't remember now). Now in a world of mod_perl2, I'd really like to see something modern in Everything's spirit. Some time ago, I even put HTML::Mason templates inside the ecore (this code is now lost), and extracted and rewrote ecore's persistence stuff in a separated module dealing with plain objects, not nodes (this code is still alive, but it's MySQL only, cannot handle complex relationships and now I know the mighty Moose which could do better — though this code could load methods right from database and bind them to objects and do lots of other ecore's wizardry).

Anyway. I've heard that there is a project: complete rewrite of Everything Engine. Does anyone know if it's still alive? If it is, tell me the name and take me as a developer. If it isn't, I'll seek volunteers to get started. I'd enjoy the new Everything.

Replies are listed 'Best First'.
Re: The New Everything
by Your Mother (Archbishop) on Apr 03, 2008 at 17:12 UTC

    I don't think any relies on __PACKAGE__, it's just a nice syntactic way to make your code easier to repurpose; package name change doesn't require change in code. Cutting and pasting a declaration means you only edit the params, not the package name.

    I've thought about how much PerlMonks could gain rewritten in Catalyst. Do *not* get me wrong. I love this place, I adore the monks who care for it and totally appreciate their service (Gods, Janitors, Dev, all). That said, this is easily the slowest site I ever visit. I don't mind -- I remember what modem speeds were like in the 90s and I still feel spoiled on any modern connection -- but I'd certainly enjoy a speed-up. http://www.everydevel.com/ just timed out, for example.

    Consider how many people it takes to make this place run and add features. How much legacy cruft is in the guts. The power of Catalyst, which does come with some bulk, is that one developer can replace a team, just about any deployment is possible, and if you don't like DBIC you can use Rose::DB or DBI or MyCrazyWheelIdidntKnowWouldBeSoHardToDoRightx.

    (Though I have been curious what a Catalyst rewrite in Moose might look like...)

      (Though I have been curious what a Catalyst rewrite in Moose might look like...)

      You're not going to have to wonder for very long. As soon as DBIx::Class is rewritten in Moose, Catalyst is next. The Class::MOP stuff for Catalyst is going to be amazing.


      My criteria for good software:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
        You're not going to have to wonder for very long. As soon as DBIx::Class is rewritten in Moose, Catalyst is next.

        I think there already is a branch for "Catalyst on Moose" being worked on actually. Ask on #catalyst, IIRC konobi and groditi were working on it.

        -stvn

        I'm as giddy as a non-gender-specific school-age child. The mere fact that someone is already planning/working on scratching that itch probably just saved me 100, self-edifying but otherwise wasted, hours messing around with it myself. Now I can back-seat develop in style and comfort!

      The slowness is probably more a factor of the code being fairly old and built up over a long period of time by many contributors rather than something specific to Everything. A rewrite nearly always speeds things up, but it wouldn't matter if it was done with Catalyst or just a modern version of Everything.
Re: The New Everything
by chromatic (Archbishop) on Apr 03, 2008 at 16:57 UTC

    Everydevel on Sourceforge is somewhat maintained, but there's not a lot of energy in it. I'm sure patches are more than welcome.

Re: The New Everything
by Nomad (Pilgrim) on Apr 05, 2008 at 09:04 UTC

    I'm glad you like the everything engine.

    The project is being transformed at the moment. A large amount of work has been done which has overhauled the code base. This work is on going, but, at least on the front end, the real heavy lifting is over.

    The current main branch will install and work.

    So, feel free to grab the code and try to install the system and, as chromatic suggested, submit some patches. Currently, there is no TODO list, but there will be one in due course, especially if you push me to create one :)

    For some ideas on what to work on first, run the tests and see what is skipped! Otherwise subscribe to the maillist everydevel-opers or ask on irc channel #edev on slashnet.

    http://sourceforge.net/projects/everydevel

    and
    svn co https://everydevel.svn.sourceforge.net/svnroot/everydevel everydevel
Re: The New Everything
by PetaMem (Priest) on Apr 08, 2008 at 08:19 UTC
    If you're looking for something modern, well maintained (well ... active development), small/neat, you could add the Hyper Framework to the list of your options for consideration.

    Bye
     PetaMem
        All Perl:   MT, NLP, NLU

      maintained (well ... active development)

      Oh how quickly such words become false...

      Is that any relation to the Hyper distro on CPAN?

        Actually, Hyper is currently maintained and in active development. Yes, the Hyper namespace on CPAN is for this project.

        Bye
         PetaMem
            All Perl:   MT, NLP, NLU