Add custom fields to the core
Directory Entry fields : directory name (mandatory)
Document fields : document type (default to Document), document ref type (id or path - default to Id)
Principal fields : user|group|any (default to any)
For each (checked using unit tests) :
Using Core API, I should be able to get complete type description
Using Core API, I can associate a Directory Entry using it’s id
Using Core APi, I can associate a Document using a Document or a Document Ref (id or path)
Using Core API, I can associate Principal using a NuxeoPrincipal or a principal name
Validation API should throw exception when Entry, Document or Principal doesn’t exists
Validation API should throw exception when Entry, Document or Principal constraints are not respected
Core API should not replace value by null value when entry, document or principal is removed (???)
I don’t think we want to enforce referential integrity : cost is probably too high
nico: I agree
Core API should not throw exception when an element is removed and it’s referenced in a mandatory field (???)
There should be no error on read : read removes the reference silently.
=> Write will put a null except if user enters a new value
nico: I agree
Core API should not throw exception when a directory entry became obsolete
=> Same behavior : Edit should remove the bad references
nico: I agree
Migration mode : do nothing | remove if not compliant
Migration : add a way to get no-compliant datas