Hi devs ! In 5.2, we have introduced Workspace Application in XE. Now, we should go further and merge Wiki Application with Workspaces.
= New idea = * Add a "hidden" field to the Wiki. For example, I would like to be able to create wiki: ** which can not be seen by others ** which does not appear in searches ** e.g: workspacetemplate, or on a farm if I don't want people to know that I host a company AND its competitor = Options = * In your wiki, do you want to have the "Home" menu? * In your wiki, do you want to create your own users? = XARs and template = * The home menu is enabled only if the user want it (trivial) * The registration button should redirect to the home wiki depending on the configuration (trivial) * Disable XWiki.AdminRegistrationSheet, XWiki.AdminUsersSheet from the Administration (depending on the configuration) * Create a new UI, partially based on the current WorkspaceManager and WikiManager spaces. = API = * Create a new API: xwiki-platform-wiki. * The old modules (xwiki-platform-wiki-manager and xwiki-platform-workspace) go into legacy, and we mark them as deprecated. * The new API will use the new modules of Vincent: https://github.com/xwiki/xwiki-platform/compare/feature-resource-and-wiki-modules(wiki-descriptor) = Proposal for the API = * xwiki-platform-wiki ** xwiki-platform-wiki-descriptor *** xwiki-platform-wiki-descriptor-api **** WikiDescriptor.java ***** ID ***** Alias ***** Hidden ***** Description? ***** Ability to add custom data (where all will be stored) **** WikiDescriptorManager.java ***** getAll() ***** set() ***** remove() ***** getByWikiAlias() ***** getByWikiId() ** xwiki-platform-wiki-manager (but this name conflicts with the previous module that we put into legacy...) *** WikiManager.java **** createWiki() (create an empty wiki) **** deleteWiki() **** copyWiki() ** xwiki-platform-wiki-template *** WikiTemplateManager.java **** setWikiAsTemplate() **** unsetWikiAsTemplate() **** getWikiTemplates() **** isWikiTemplate() ** xwiki-platfrom-wiki-user (handle or not the local users) *** WikiUsersManager.java **** canWikiHasLocalUsers() **** setCanWikiHasLocalUsers() **** getWikiOwner() **** setWikiOwner() **** getMembershipType() (join/invite only/ask to join) **** setMembershipType() **** getWikiUsers() (list of the local users + those who are 'members' of the wiki) ** xwiki-platform-wiki-script (for script services) *** Wiki.java (only an helper) **** getDescriptor() **** getId() **** getAlias() **** addAlias() **** removeAlias() **** getReference() **** IsTemplate() **** setIsTemplate() **** getOwner() **** setOwner() **** canHasLocalUsers() **** setCanHasLocalUsers() **** getMembershipType() **** setMembershipType() **** getUsers() **** isHidden() **** setHidden() **** getDescription() **** setDescription() *** WikiManagerScript.java ("$services.wikimanager" but the name conflicts with the previous module...) **** getAllWikis() **** getHomeWiki() **** getWikiByAlias() **** getWikiById() **** getWikiTemplates() **** createWiki() **** deleteWiki() **** copyWiki() **** isWikiExists() **** isWikiNameAvailable() **** joinWiki()? **** askToJoinWiki()? ** xwiki-platform-wiki-ui (pages for both the home AND the (sub)wikis) *** ... + write tests + need a migration path + in the future: * Create a new wiki from a flavor: ** instead of creating a wiki from a template, you give an extension ID If you like this proposal, I will try to implement it as close it is possible, but I may change some elements to minimize dependencies. I will tell you. WDYT? Thanks, Louis-Marie _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

