Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Take a look at gacela #2

Open
judgej opened this issue May 19, 2013 · 0 comments
Open

Take a look at gacela #2

judgej opened this issue May 19, 2013 · 0 comments

Comments

@judgej
Copy link
Member

judgej commented May 19, 2013

https://github.com/noah-goodrich/gacela

This project implements an active record approach, but unlike most ORM projects, is not tied to a PDO database for its storage.

Some things to check are:

  • Metadata is cached, as we don't want to be calling up get_module_files and get_active_modules several times on each request.
  • We can rely on the metadata to create the models for us, and not have to manually create them all ourselves. That might not be a bad thing (and we may want to create models for some entries so we can extend their business logic, and we would also want to extend the business logic generically anyway so that we can get at field properties such as visibility, optionality, drop-down list values and other validation data).
  • SugarCRM uses md5 hashes as primary keys. Make sure that is handled.
  • SugarCRM allows any number of relationships between any two entries (modules). Each relationship is given a name and can represent different business relationships. Can this be handled?
  • Relationships can contain metadata - that is both many-to-many and one-to-many, because ALL relationships use a joining table.
  • Having said that, there are "relation" fields that are not true relationships in the SuigarCRM world, but act like one-to-many relations in the RDBMS world. We could treat those as relationships also (but with no joining table, they would not contain metadata).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant