Hello devs, = Short story =
Since the metadata about a subwiki (pretty name, description, users scope) are in the middle between main wiki and the subwiki (are used on both), who should have the last word about this data? Global admin of the farm of local admin of the subwiki? = Long story = while looking at http://jira.xwiki.org/browse/XWIKI-11416 , we came across a couple of questions about what is a subwiki and who "owns" (controls) the metadata about it. It all started with the fact that XWIKI-11416 would imply allowing the local admins of the subwiki (potentially local users) to edit information which is stored on the main wiki. There are 2 important things to discuss about this requirement: A. 1/ it is important that the metadata about a subwiki can be controlled by the local admin group, or another _group_ of people. The owner of the wiki is not enough, as owner is not a role and can only be fulfilled by one person, which is limiting in terms of collaboration. 2/ the wiki description and pretty name are stored on the main wiki today, in the wiki descriptor, while information about the user scope and membership are stored on the subwiki. This was changed recently, when the wiki concept was revamped and integrated with workspaces, in 5.3 (before that, everything was on the main wiki). A 2/ takes us to the main question of this mail: who is responsible / should should be responsible for the information about a subwiki? One direct consequence of this answer is the storage of this data, but the implications are larger than that because they can define the usecases that we support for the new wikis (as they are defined by the new implementation from 5.3). This question arises because this metadata is quite tricky as it represents the relation between the main wiki and the subwikis, so it could be considered that both main wiki and subwikis have priority on it. Please express your opinion about the following approaches, both as a general guideline, and in particular in the context of the 5 items from the descriptor that we're discussing: pretty name, wiki description, membership type, user scope, owner. B 1/ the global admin must be able to control the data about the subwikis, regardless of the opinion of the local admins 2/ the local admins should be free to configure the data about the subwikis, without the global admin controlling these settings. Note that this is already the case for wiki rights, by construction of the wiki, and recently this was chosen for user scope and membership type by storing them on to the subwiki in 5.3 3/ both approaches should be possible, depending on the type of farm we make (farm of wikis with subwikis with local users which don't know one about the existence of the other wikis, a la myxwiki.org or farm of wikis where users can create wikis of their own, workspaces style) 4/ both approaches should be possible, depending on the type of wiki, which should be decided by the global admin (on the same farm we could have some wikis on which global admin decides this metadata and some wikis on which local admins decide it) Note that B 3 and 4, in my opinion, have consequences on the type of wikis that we want to make _by default_ (with customization everything will be possible): UC 1 : farm where the wikis are handles as dedicated spaces for collaboration inside the same community, the users all know about the existance of all wikis (workspaces style) UC 2 : farm where the users don't know about the existance of the other wikis, where every subwiki is independent, like an XWiki instance without subwikis, they are just managed by the same farm, for various reasons ( myxwiki.org style, cloud mode, real "farm" mode, the pre-workspaces way of making subwikis). Please comment on these items, from a conceptual point of view. Thanks, Anca P.S. we also discussed a couple of implementation details today, with Denis, Eduard and Guillaume D: * allowing local admins to change data that is stored in a document on the main wiki is problematic because it would mean to code a modification a document which would bypass the rights system, which is not generally a good idea, we should model this by using the regular rights system (the users that must be able to edit the descriptor should be able to have edit rights on it) * normally storing data on the subwiki is problematic because of the performance issues that arise when using this information on the main wiki (it's not possible to fetch it with a hql query). BUT the wiki manager implementation has a cache where this data can be stored so that it's not always looked up on the subwiki when needed on the main wiki. This cache, while quite limited today, can be improved to answer whatever filtering needs. _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

