[xwiki-devs] Listing requirements for the new XWiki Model 2.0 module
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
* 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)
You mean "transactional support". Perhaps long live transactions? -- Verhás Péter CEO Verhás & Verhás Szoftver Manufaktúra Kft. [email protected] t: +36(30)9306805
Hi Peter, On Jan 4, 2009, at 12:32 AM, Peter Verhas wrote:
* 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)
You mean "transactional support". Perhaps long live transactions?
No I meant locking so that someone can lock a document for example for exclusive accesss. I didn't list transactional support since I didn't see the use cases for us at the model level (at the storage level it's required so that we can have repository integrity). Do you have a use case for transactions at the model level?
-- Verhás Péter CEO Verhás & Verhás Szoftver Manufaktúra Kft. [email protected] t: +36(30)9306805 _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Thanks -Vincent http://xwiki.com http://massol.net http://xwiki.org
2009/1/4 Vincent Massol <[email protected]>
...... Do you have a use case for transactions at the model level?
If I look at xWiki as a generic programming platform then yes. To mention a very simple example that I have in my mind for our own use in the near future: We have corporate documents. Each document has a unique id, and this id has to contain a number that is a serial number starting from 1 to X during a year. If there is a document numbered N then there should be one numbered N-1, in other word there should be no gaps. For example existence of the document 'contracts/2009/10' ensures that there is a 'contracts/2009/9'. To allocate these numbers needs transactional support to ensure that no two documents get the same number as well as no id remains without document. Even though I have not too much experience with xWiki, only starting it. -- Verhás Péter CEO Verhás & Verhás Szoftver Manufaktúra Kft. [email protected] t: +36(30)9306805
participants (2)
-
Peter Verhas -
Vincent Massol