FYI, I now use the new-wiki-api branch. https://github.com/gdelhumeau/xwiki-platform/tree/new-wiki-api I will delete all the others. 2013/10/21 Guillaume "Louis-Marie" Delhumeau <[email protected]>
2013/10/11 Eduard Moraru <[email protected]>
Technical note: Looking at the code, I can`t see these WikiPropertyGroups being handled anywhere. I imagine that you would have to delegate the task of creating WikiDescriptor instances to the WikiManager which will, in turn, be in charge of querying all the WikiPropertyGroupProviders and populating the new WikiDescriptor with these properties before returning it to the caller.
You speak of WikiPropertyGroup as a storage location. However, in the code, I see that each provider is supposed to save the properties itself, so it is in charge of picking a physical location for these properties to be stored. The WikiDescriptor would only be a logical location where applications might store and read information/properties **about** the wiki. When an application would store a new property for a wiki in a certain property group, that group's provider will be in charge of physically storing the value in the location where that group's properties are physically stored.
It would be an interesting idea, but I find that it would be much more productive as a generic service of its own and not just limited to wikis. It is easy to imagine the need for such a service in the case of users. Applications might want to store/query properties for the current user, maybe for the current space and so on. For users, right now we`re storing stuff in the user profile. For wikis, we`d probably store it in XWikiPreferences, SpacePreferences for spaces and so on.
Maybe something a bit like what we do with ConfiguratinSource, but targeted on certain entities (wikis, users, etc)
https://github.com/xwiki/xwiki-commons/blob/master/xwiki-commons-core/xwiki-... ...however, what I don`t like about ConfigurationSource is that it is ReadOnly.
Would be a shame to spend the effort and not to make it a generic solution.
WDYT?
I think it is a good idea. But I won't have the time to do it for 5.3. I want to continue on what I have already proposed, and we could still make a generic solution after.
Thanks, Louis-Marie