Hi everyone,
In order to design the new model module we need to list the
requirements for it. Here are some I have found by reviewing existing
mailing on our list:
* Notions of:
** multi wiki
** wiki
** space
** document
** document metadata (language, syntax id, etc)
** document objects
** document classes
** attachment
* UUIDs for Documents, Spaces, Wikis, Farms
** Ability to have multiple URIs for model objects
* Nested spaces
* Ability to version model objects
* Ability to add metadata to model objects
* Easy to use API (typed API)
* Simple API to get other sub elements in model objects (for ex:
ability to get documents in a given space). More complex retrieval API
in the Query Manager
* Authentication/Authorization relationship with model to be defined
** Should checks be done outside of the model module?
** Should we use JAAS and if so what's the relationship
* Allow inheritance for document objects/classes
** objects with more than 1 class? (sergiu)
* Observation: Ability to get callbacks when objects are modified/
created/removed
* Ability to lock model objects to prevent modifications in some cases
(when someone is already modifying them or if the wiki is in readonly
mode for example)
Are there any requirements I've missed?
Thanks
-Vincent
http://xwiki.com
http://massol.net
http://xwiki.org