Login | Register
My pages Projects Community openCollabNet

propel
Reply to message

* = Required fields
* Subject
* Body
Attachments
Send reply to
Topic
Author (directly in email)
Please type the letters in the image above.

Original message

Author hlellelid
Full name Hans Lellelid
Date 2007-11-16 04:02:10 PST
Message Hi Ron,

> I'll check out the symfony code, though I know they're still at propel
> 1.2 and despite many user request can't seem to even get a beta or
> unstable version with 1.3 running (afaik) so I'm not hoping for much.
> You're right, it's very much AOP. I just know a whole lot more web
> developers familiar with the concept of events (from javascript) than
> AOP, so I choose to name it events. I'll definitely make an option to
> completely disable the code.

Ok, yeah, this sounds great. Fabien mentioned that he didn't think the
Symfony-based system was optimal (or when we discussed this, he said
"Don't do it the way we did"), but it seems like it would be good to
look at, since I think it has the same goal.

> Currently, I except that I'll start with completely refactoring the om
> builder classes so that a function no longer add a complete function to
> the om class, but instead multiple functions will do this (I'll check
> out symfony first though and maybe they used a solution that I can
> borrow). First function will open the function, second will add the body
> and a third will close the function.

Ok. It should be a little easier now that Basic & Complex objects were
merged into a single class. For the sake of BC, I suggest that you keep
the existing methods (like addSave()) but then add the additional
methods. So that if people are currently overriding addSave() their
code will still work.

For next version (2.0, I mean) I'd also like to move these to a more
modular model. I imagine a world where you register different builders
which declare that they add or override specific methods. Any thoughts
on this while you're in there would be appreciated! :)

> Are the test units for the om
> classes complete? Does performing the test just involve building the
> bookstore project and running the tests?

Yeah, that's all they do. The GeneratedObjectTest and GeneratedPeerTest
  just perform tests on the generated objects. It's not optimal --
since obviously there are different objects that can be generated. In
the end, the tests need to be linked up to a build process. I'm
considering having different suites for different build options (and
some core tests for the basics).

Hans