I looked over the code because there was talk of switching over to OpenERP. My thoughts on the server component so far (keeping in mind that I'm exceptionally pedantic) --
- Internal inconsistencies w.r.t formatting -- sometimes there's newlines between functions, sometimes not.
- Docstrings are fairly haphazard. I remember seeing some somewhere, but can't find them anymore. I have no idea what the `ir` module does or what it's for.
- The custom ORM (`bin/osv/`) scares the daylights out of me. It only has 4 test cases that I can see (in `test/test_osv.py`). I don't see any test cases for the DSL that the `osv` module provides.
- It appears that the ORM uses raw SQL as an intermediate for composing queries, then uses regular expressions to extract data from these intermediates.
I've only spent 10 minutes thumbing through the code, haven't read the docs or anything, so the above is a very shallow analysis.
It's not exactly my system; we work "on top" of it, developing new modules, maintaining installations and offering support and training, as partners of OpenERP S.A. We don't work on the core stuff.
That said, the addons I mentioned _are_ part of the core. OpenERP is an extremely modular system, where even some basic blocks are modules. But these modules come with the server, not with the "addons" set. See https://bazaar.launchpad.net/~openerp/openobject-server/trun...
It's obvious you're pedantic. How much I wish `inconsistent newlines between functions` would be my first shallow observation when reading through my code.
Agreed. You should see the code of our current ERP ;-)
Generally, I find the code to be well-organized and easy to find (it's just a set of python modules for the most part). I can't speak to the syntax formatting or functionality of the ORM yet...