[xwiki-devs] [Proposal] Workspace Integration
Hi developers. I'm sorry to post such a long post, but the workspace integration in XE is a big deal, with a lot of things to discuss. That is why I describe the current state, what we want to have in the long term and what we can do for 5.2. 1 - Current state ------------------ 1.1 - What "Workspaces" is --------------------------- Currently, "Workspaces" is a set of features developped on top of XWiki Entreprise. It was developped for a research project and released as an extension. We now have a special release for it, but "Workspaces" is still not integrated deeply into the core. From the core perspective, it is still like an "add-on". That is why we have 2 modules: xwiki-platform-wiki-manager and xwiki-platform-workspace. 1.2 - What a subwiki is ------------------------ A subwiki is just an other wiki, that can use either global or local users (as you decide). You can invite people to your subwiki through the "Invitation" application, which is bundled by default. But the "Invitation" application is now hidden, so we need to add a new entry point for it. 1.3 - What a workspace is --------------------------- A workspace is a "space" where people can collaborate for a project. The actual implementation says that: - a workspace is a subwiki - a workspace does not have local users - there is an option that make possible for people to "join" the workspace (if he is not already in), with the optionnal validation of an admin. These options are called "membership type". - a workspace can be created by everyone, by default. + there is an UI in the workspace administration to invite user to the workspace. 1.4 - WorkspaceManager has to be installed ------------------------------------------- When you download a new XEM and create a fresh instance of "Workspaces", you will have a message on the main page that invite you to "Install WorkspaceManager". This installation of WorkspaceManager creates a new subwiki called "workspacetemplate". In this template, 2 XARS are imported: - workspace-template.xar, which is a nothing but a renamed xwiki-entreprise-ui-all.xar, most of the time. - workspace-template-features.xar, that add some UI for the workspace features (changing the top menu, etc). The installation also changes some settings in the template subwiki and then, 4 pages are removed: XWiki.AdminRegistrationSheet, XWiki.RegistrationConfig, XWiki.RegistrationHelp, XWiki.AdminUsersSheet. This is because a workspace is not supposed to have local users. This new workspace is a template, hidden to the users, and it will be used when you create a new workspace, unless the user manually decide to use an other template. If "WorkspaceManager" is not installed, you won't have the ability to create workspaces. This installation process is dirty in my point of view. Why should the user install something else after having installed XEM? 1.5 - What "WikiManager" is. ---------------------------- The module xwiki-platform-wiki-manager is the module that provides an API and a UI to manage multi-wikis. Is is a dependency for xwiki-platform-workspace. But this module is quite old. It was first developed as a "plugin" and not as a component, even if it can be used through a bridge. 2 - Long term objectives --------------------------- 2.1 - What we have discussed --------------------------- After some discussion in the mailing list, we have decided the following: - the ability of create subwikis will be integrated by default on XE. - we will stop making a distinction between workspaces and subwikis. There will be only the notion of "subwiki", with several options to cover all the use cases. - we will have a single UI to create a new subwiki, integrated in the top menu, like the space and the page creation. Now, this is what I propose to do after a discussion with Vincent: 2.2 - Create a new 'wiki' module --------------------------------- Currently we have xwiki-platform-wiki-manager and xwiki-platform-workspace. But it no longer make sense to have 2 distinct modules since we will have only one concept. But instead of integrating the workspace features into the wiki-manager module, we will create a new one. Why? Because xwiki-platform-wiki-manager is not a compoment and this new module will be a clean component with a clean API and a clean script service. Vincent already has created a new 'wiki' module for his URL module so it make sense to go in this direction. This new module will not be too long to implement since we can keep a lot of code from the 2 existing modules, but it will be written in a manner that the "farm" and the "workspace" use-cases are handled. 2.3 - The creation of a subwiki will not be possible until a subwiki template is created ----------------------------------------------------------------------------- The user may not want to use subwikis, so we should not force him to do it. Moreover, instead of having a "WorkspaceManager Install" process, we can add a new entry in the Administration that create the "workspacetemplate" and actually enable the "subwikis" features. It will not be seen a post-install installation. When creating the "workspacetemplate" (which will be called "subwikitemplate"), I will not remove XWiki.AdminRegistrationSheet, XWiki.RegistrationConfig, XWiki.RegistrationHelp and XWiki.AdminUsersSheet. I will make some code to "disable" them if the "local users" option is disabled. For example, the RegisterSheet will redirect to the main wiki Registration. 2.4 - Merge WorkspaceManager UI and WikiManager UI -------------------------------------------------- There will be only one UI in the future that shows all the subwikis and offering features of the 2 current UIs. 2.5 - Improve Invitation application ------------------------------------- Right now, we both have the "workspaces users" section in the administration and the Invitation application. It seems that Invitation application is a better application than the "workspace users" section because it can do more things. But the UI should be improved. Moreover, if a user wants to "join" a subwiki, the "join" link should be located near the "register" one. It would look more "integrated" than the current thing. At the end, it should replace the invitation feature of the current "workspaces users" section of the administration. 3. What I have already done --------------------------- I have made a new wizard, based on the Caty proposal and the current workspace creation UI. Screenshots: - Step1: http://tof.canardpc.com/view/582b629c-80c7-4e82-acda-ea99a20741a8.jpg - Step2: http://tof.canardpc.com/view/32737e88-9f78-4249-8063-caa42f92665c.jpg I have also started to change the XARs organization of enterprise, see it there: http://markmail.org/message/e4agvo2gevst6gox 4 - What I propose to do for 5.2 --------------------------------- Regarding the objectives, it seems obvious that we won't have the time to do all the work for 5.2. So we have to decide what we do. I propose to make it iteratively, but we have to take into account that the "Workspace Integration" has been voted for 5.2. So, we should: - bundle the "Workspaces" application by default, not bundle the "Wiki Manager UI". So the user can only create workspaces, which is the main use case. If the user want to create a subwiki like in the "farm" use-case, he will have to manually install WikiManager UI from the Extension Manager, which is not very hard! - start dropping the "workspace" terminology. The Workspaces application will be integrated, but all the texts will mention "subwikis" instead of "workspaces". So the user will not be used to the "workspace" term since we want to drop it in the near future. I don't know yet if it is better to create new translation keys or to reuse current ones (like workspacemanager.doc.createwiki.wikiname). - we keep the current main page, we do not put the Workspaces main page by default. - we integrate the new subwiki creation wizard that I have made, but in the end it does not do more than the current workspace creation UI. We do not implement the "users isolation" option. - Add a link to WorkspaceManager.Install in the administration instead of having it in the main page. - I create the menu Home/Wiki/Space/Page based on the option D of the Caty's proposal. http://incubator.myxwiki.org/xwiki/bin/view/Improvements/CreateWikiImproveme... The menu will be: * Add * Subwiki (if WorkspaceManager has been installed) * Space * Page * Home * Administer wiki (if you have the right) * Subwiki directories --- * Watch home (if you are in the main wiki) * Document index (if you are in the main wiki) * Subwiki (if you are not in the main wiki): * Watch subwiki * Administer subwiki * Document index * Delete subwiki * Space: * No change there * Page: * No change there Then, for the next releases (5.3?), we start to make the work that I have described in the long term objectives section. Conclusion ---------- WDYT? ;)
On Aug 28, 2013, at 6:44 PM, Guillaume Louis-Marie Delhumeau <gdelhumeau@xwiki.com> wrote:
Hi developers. I'm sorry to post such a long post, but the workspace integration in XE is a big deal, with a lot of things to discuss. That is why I describe the current state, what we want to have in the long term and what we can do for 5.2.
[snip]
4 - What I propose to do for 5.2 --------------------------------- Regarding the objectives, it seems obvious that we won't have the time to do all the work for 5.2. So we have to decide what we do.
I propose to make it iteratively, but we have to take into account that the "Workspace Integration" has been voted for 5.2.
So, we should:
- bundle the "Workspaces" application by default, not bundle the "Wiki Manager UI". So the user can only create workspaces, which is the main use case. If the user want to create a subwiki like in the "farm" use-case, he will have to manually install WikiManager UI from the Extension Manager, which is not very hard!
- start dropping the "workspace" terminology. The Workspaces application will be integrated, but all the texts will mention "subwikis" instead of "workspaces". So the user will not be used to the "workspace" term since we want to drop it in the near future. I don't know yet if it is better to create new translation keys or to reuse current ones (like workspacemanager.doc.createwiki.wikiname).
- we keep the current main page, we do not put the Workspaces main page by default.
- we integrate the new subwiki creation wizard that I have made, but in the end it does not do more than the current workspace creation UI. We do not implement the "users isolation" option.
- Add a link to WorkspaceManager.Install in the administration instead of having it in the main page.
And rename that page since it's no longer about install but about creating the template
- I create the menu Home/Wiki/Space/Page based on the option D of the Caty's proposal.
http://incubator.myxwiki.org/xwiki/bin/view/Improvements/CreateWikiImproveme...
The menu will be: * Add * Subwiki (if WorkspaceManager has been installed) * Space * Page * Home * Administer wiki (if you have the right) * Subwiki directories
We need to decide if we write Subwiki or SubWiki. I don't have a preference ATM. It should be singular not plural and uppercase 'D': Subwiki Directory This "Home" menu (which I don't really like but ok for now) should only be visible if there's more than 1 (sub)wiki. What about User Directory? Should it be left in the Application panel or moved to a menu to be consistent with Document Index and Subwiki Directory?
--- * Watch home (if you are in the main wiki) * Document index (if you are in the main wiki) * Subwiki (if you are not in the main wiki): * Watch subwiki * Administer subwiki * Document index * Delete subwiki * Space: * No change there * Page: * No change there
Then, for the next releases (5.3?), we start to make the work that I have described in the long term objectives section.
Conclusion ---------- WDYT? ;)
Sounds good. We won't have more time to for 5.2. Thanks -Vincent
I have created a new SUBWIKI_CREATION right. See JIRA: http://jira.xwiki.org/browse/XWIKI-9405 See the Pull Request: https://github.com/xwiki/xwiki-platform/pull/143 I need this right to know if I can display the "Add SubWiki" link in the top menu. If the admin only want a single wiki and disable the subwiki feature, he just have to unset this right for XWikiAdminGroup. Thanks, Louis-Marie 2013/8/29 Vincent Massol <vincent@massol.net>
On Aug 28, 2013, at 6:44 PM, Guillaume Louis-Marie Delhumeau < gdelhumeau@xwiki.com> wrote:
Hi developers. I'm sorry to post such a long post, but the workspace integration in XE is a big deal, with a lot of things to discuss. That is why I describe the current state, what we want to have in the long term and what we can do for 5.2.
[snip]
4 - What I propose to do for 5.2 --------------------------------- Regarding the objectives, it seems obvious that we won't have the time to do all the work for 5.2. So we have to decide what we do.
I propose to make it iteratively, but we have to take into account that the "Workspace Integration" has been voted for 5.2.
So, we should:
- bundle the "Workspaces" application by default, not bundle the "Wiki Manager UI". So the user can only create workspaces, which is the main use case. If the user want to create a subwiki like in the "farm" use-case, he will have to manually install WikiManager UI from the Extension Manager, which is not very hard!
- start dropping the "workspace" terminology. The Workspaces application will be integrated, but all the texts will mention "subwikis" instead of "workspaces". So the user will not be used to the "workspace" term since we want to drop it in the near future. I don't know yet if it is better to create new translation keys or to reuse current ones (like workspacemanager.doc.createwiki.wikiname).
- we keep the current main page, we do not put the Workspaces main page by default.
- we integrate the new subwiki creation wizard that I have made, but in the end it does not do more than the current workspace creation UI. We do not implement the "users isolation" option.
- Add a link to WorkspaceManager.Install in the administration instead of having it in the main page.
And rename that page since it's no longer about install but about creating the template
- I create the menu Home/Wiki/Space/Page based on the option D of the Caty's proposal.
http://incubator.myxwiki.org/xwiki/bin/view/Improvements/CreateWikiImproveme...
The menu will be: * Add * Subwiki (if WorkspaceManager has been installed) * Space * Page * Home * Administer wiki (if you have the right) * Subwiki directories
We need to decide if we write Subwiki or SubWiki. I don't have a preference ATM.
It should be singular not plural and uppercase 'D': Subwiki Directory
This "Home" menu (which I don't really like but ok for now) should only be visible if there's more than 1 (sub)wiki.
What about User Directory? Should it be left in the Application panel or moved to a menu to be consistent with Document Index and Subwiki Directory?
--- * Watch home (if you are in the main wiki) * Document index (if you are in the main wiki) * Subwiki (if you are not in the main wiki): * Watch subwiki * Administer subwiki * Document index * Delete subwiki * Space: * No change there * Page: * No change there
Then, for the next releases (5.3?), we start to make the work that I have described in the long term objectives section.
Conclusion ---------- WDYT? ;)
Sounds good. We won't have more time to for 5.2.
Thanks -Vincent
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
I have edited the Workspaces translation keys for English & French in order to replace "Workspace" by "Subwiki". It may change in the future. JIRA: http://jira.xwiki.org/browse/XWIKI-9411 PR: https://github.com/xwiki/xwiki-platform/pull/146 Guillaume Louis-Marie 2013/8/29 Guillaume "Louis-Marie" Delhumeau <gdelhumeau@xwiki.com>
I have created a new SUBWIKI_CREATION right. See JIRA: http://jira.xwiki.org/browse/XWIKI-9405 See the Pull Request: https://github.com/xwiki/xwiki-platform/pull/143
I need this right to know if I can display the "Add SubWiki" link in the top menu. If the admin only want a single wiki and disable the subwiki feature, he just have to unset this right for XWikiAdminGroup.
Thanks, Louis-Marie
2013/8/29 Vincent Massol <vincent@massol.net>
On Aug 28, 2013, at 6:44 PM, Guillaume Louis-Marie Delhumeau < gdelhumeau@xwiki.com> wrote:
Hi developers. I'm sorry to post such a long post, but the workspace integration in XE is a big deal, with a lot of things to discuss. That is why I describe the current state, what we want to have in the long term and what we can do for 5.2.
[snip]
4 - What I propose to do for 5.2 --------------------------------- Regarding the objectives, it seems obvious that we won't have the time to do all the work for 5.2. So we have to decide what we do.
I propose to make it iteratively, but we have to take into account that the "Workspace Integration" has been voted for 5.2.
So, we should:
- bundle the "Workspaces" application by default, not bundle the "Wiki Manager UI". So the user can only create workspaces, which is the main use case. If the user want to create a subwiki like in the "farm" use-case, he will have to manually install WikiManager UI from the Extension Manager, which is not very hard!
- start dropping the "workspace" terminology. The Workspaces application will be integrated, but all the texts will mention "subwikis" instead of "workspaces". So the user will not be used to the "workspace" term since we want to drop it in the near future. I don't know yet if it is better to create new translation keys or to reuse current ones (like workspacemanager.doc.createwiki.wikiname).
- we keep the current main page, we do not put the Workspaces main page by default.
- we integrate the new subwiki creation wizard that I have made, but in the end it does not do more than the current workspace creation UI. We do not implement the "users isolation" option.
- Add a link to WorkspaceManager.Install in the administration instead of having it in the main page.
And rename that page since it's no longer about install but about creating the template
- I create the menu Home/Wiki/Space/Page based on the option D of the Caty's proposal.
http://incubator.myxwiki.org/xwiki/bin/view/Improvements/CreateWikiImproveme...
The menu will be: * Add * Subwiki (if WorkspaceManager has been installed) * Space * Page * Home * Administer wiki (if you have the right) * Subwiki directories
We need to decide if we write Subwiki or SubWiki. I don't have a preference ATM.
It should be singular not plural and uppercase 'D': Subwiki Directory
This "Home" menu (which I don't really like but ok for now) should only be visible if there's more than 1 (sub)wiki.
What about User Directory? Should it be left in the Application panel or moved to a menu to be consistent with Document Index and Subwiki Directory?
--- * Watch home (if you are in the main wiki) * Document index (if you are in the main wiki) * Subwiki (if you are not in the main wiki): * Watch subwiki * Administer subwiki * Document index * Delete subwiki * Space: * No change there * Page: * No change there
Then, for the next releases (5.3?), we start to make the work that I have described in the long term objectives section.
Conclusion ---------- WDYT? ;)
Sounds good. We won't have more time to for 5.2.
Thanks -Vincent
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
I have made a new page "MultiWiki administration" in the Admin app, in order to set the SUBWIKI_CREATION right: JIRA: http://jira.xwiki.org/browse/XWIKI-9412 PR: https://github.com/xwiki/xwiki-platform/pull/147 Thanks to look at some of my PR ;) Guillaume 2013/9/2 Guillaume "Louis-Marie" Delhumeau <gdelhumeau@xwiki.com>
I have edited the Workspaces translation keys for English & French in order to replace "Workspace" by "Subwiki". It may change in the future.
JIRA: http://jira.xwiki.org/browse/XWIKI-9411 PR: https://github.com/xwiki/xwiki-platform/pull/146
Guillaume Louis-Marie
2013/8/29 Guillaume "Louis-Marie" Delhumeau <gdelhumeau@xwiki.com>
I have created a new SUBWIKI_CREATION right. See JIRA: http://jira.xwiki.org/browse/XWIKI-9405 See the Pull Request: https://github.com/xwiki/xwiki-platform/pull/143
I need this right to know if I can display the "Add SubWiki" link in the top menu. If the admin only want a single wiki and disable the subwiki feature, he just have to unset this right for XWikiAdminGroup.
Thanks, Louis-Marie
2013/8/29 Vincent Massol <vincent@massol.net>
On Aug 28, 2013, at 6:44 PM, Guillaume Louis-Marie Delhumeau < gdelhumeau@xwiki.com> wrote:
Hi developers. I'm sorry to post such a long post, but the workspace integration in XE is a big deal, with a lot of things to discuss. That is why I describe the current state, what we want to have in the long term and what we can do for 5.2.
[snip]
4 - What I propose to do for 5.2 --------------------------------- Regarding the objectives, it seems obvious that we won't have the time to do all the work for 5.2. So we have to decide what we do.
I propose to make it iteratively, but we have to take into account that the "Workspace Integration" has been voted for 5.2.
So, we should:
- bundle the "Workspaces" application by default, not bundle the "Wiki Manager UI". So the user can only create workspaces, which is the main use case. If the user want to create a subwiki like in the "farm" use-case, he will have to manually install WikiManager UI from the Extension Manager, which is not very hard!
- start dropping the "workspace" terminology. The Workspaces application will be integrated, but all the texts will mention "subwikis" instead of "workspaces". So the user will not be used to the "workspace" term since we want to drop it in the near future. I don't know yet if it is better to create new translation keys or to reuse current ones (like workspacemanager.doc.createwiki.wikiname).
- we keep the current main page, we do not put the Workspaces main page by default.
- we integrate the new subwiki creation wizard that I have made, but in the end it does not do more than the current workspace creation UI. We do not implement the "users isolation" option.
- Add a link to WorkspaceManager.Install in the administration instead of having it in the main page.
And rename that page since it's no longer about install but about creating the template
- I create the menu Home/Wiki/Space/Page based on the option D of the Caty's proposal.
http://incubator.myxwiki.org/xwiki/bin/view/Improvements/CreateWikiImproveme...
The menu will be: * Add * Subwiki (if WorkspaceManager has been installed) * Space * Page * Home * Administer wiki (if you have the right) * Subwiki directories
We need to decide if we write Subwiki or SubWiki. I don't have a preference ATM.
It should be singular not plural and uppercase 'D': Subwiki Directory
This "Home" menu (which I don't really like but ok for now) should only be visible if there's more than 1 (sub)wiki.
What about User Directory? Should it be left in the Application panel or moved to a menu to be consistent with Document Index and Subwiki Directory?
--- * Watch home (if you are in the main wiki) * Document index (if you are in the main wiki) * Subwiki (if you are not in the main wiki): * Watch subwiki * Administer subwiki * Document index * Delete subwiki * Space: * No change there * Page: * No change there
Then, for the next releases (5.3?), we start to make the work that I have described in the long term objectives section.
Conclusion ---------- WDYT? ;)
Sounds good. We won't have more time to for 5.2.
Thanks -Vincent
_______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs
participants (2)
-
Guillaume "Louis-Marie" Delhumeau -
Vincent Massol