TIP: Use Markdown or, <pre> for multi line code blocks / <code> for inline code.
maturity of ORM and Sprig [SOLVED]
  • In terms of maturity of features, should I choose ORM or Sprig (or anything else) as a modeling system?

    In addition to normal CRUD, I need Form creation and MPTT. Is any ahead of the other when it comes to how well it supports these elements?

    (I wish I had more free time so that I could fully check out the source of both...)
  • As far as I know, both ORM and Sprig have MPTT modules available, but only Sprig can handle form generation as well.

    There's also Jelly, which is currently in beta, but I don't think it has any form capabilities.. although you could always use a separate module for that, I guess there are several available.
  • Even more choice :-)
    I guess I'll go with Sprig or Jelly then. Does anybody have experience with both?

    edit: seems like Jelly does not have MPTT. I'll dive into Sprig! Thanks everybody :)
  • oh no, that gets Jelly back into the race ;)

    Still though, choices shouldn't be hard: if one option is superior, go for that one. If the options are equally attractive, just pick one, it doesn't matter.
    The problem here is misinformation, so that seemingly equally attractive options can turn out to be very different after all.

    On the side of Sprig, I've been reading a good lot the last hours. I like the setup of Banks' classes, and his Sprig ACL, which is another thing I will be using. Now, I do just not know anything about Jelly. Anybody experience?
  • Here's a good discussion that offers some insight into what other Kohana developers use.
  • Jelly has some form-capabilities but it's very limited and will be removed when version 1.0 is released. The new Formo has some Jelly integration, though I haven't checked it out.

    Jelly 1.0 (which will take some time still) will have things like MPTT and other things shipped with it. Check it here: http://github.com/jonathangeiger/kohana-jelly/issues#issue/125
  • I've said it before but JELLY IS NOT STABLE! If you are writing an app for production don't use Jelly. It's API WILL change and you WILL have to re-write stuff.

    Good summary from @SpadXIII
  • Also, My AACL and Sprig classes are not under active development currently as I have been working on Jelly when I get a chance.

    I have vague plans to change AACL to be Jelly based in the future but won't for a while and the changes between the two will be minimal.
  • Thanks for pointing me to that discussion, neovive!

    It seems that most (plan to) use Jelly. I'll wait for the stable version 1.0, and then look into it.Thanks for the info, SpadXII!
    For now, it is going to be Sprig... I just created a table-builder that builds tables from Sprig models. Now that that is done, I really should get some things done :-)

    edit: and thanks for the info, Banks! I assume that the switch from Sprig to Jelly wouldn't be too big of a step?
  • Sprig and Jelly are quite different .. changing your code to work with Jelly (coming from Sprig) will require quite some work

    I think the changes to adopt the 1.0 API of Jelly coming from 0.9 Jelly will be less extensive and probably even remove some custom code :)
    At least, I hope it will.. as I'm using Jelly right now.. but since it's not "stable" I'll have to do extensive testing (especially when upgrading)
  • Thanks SpadXIII. I'll have to refrain from using the Jelly beta, and stick with Sprig then, and see if it fits my needs.
    Might I find out that the stable Jelly surpasses the possibilities / speed / reliability of Sprig, I will dive into it and see whether I can and will switch!

    Thanks again!