Subwikis To Workspaces Conversion Application

Last modified by Andreea Popescu on 2021/03/17 21:06

database_refreshConverts an old XEM (farm-mode) instance to a new XEM (Workspaces) instance
TypeXAR
Category
Developed by

Guillaume Delhumeau

Rating
0 Votes
LicenseGNU Lesser General Public License 2.1

Installable with the Extension Manager

Description

This extension is not officially supported by the XWiki Developpers Team.

Explanation

Differences from old XEM(Farm-mode) to newXEM (Workspaces)

The idea behind then new XEM (Workspaces) is that users are all stored in the global wiki, and then can create and be invited on "workspaces", which are subwikis. They can work on different workspaces on the same time, they can delete an old workspace which is not needed anymore, etc... And every user can create a new workspace for his own use.

An old XEM (Farm-mode) does not offer all these possibilities. Only an administator can create or delete a new subwiki. And a user can be a local user of a subwiki.

So if you need to upgrade an old XEM (Farm-mode) to a new XEM (Workspaces) instance, you need to explain to the users that they have to change their way of using XWiki.

If you upgrade an old XEM where there are local users, then you have this following choices:

  • move the local users to the main wiki, and then invite theses users to the workspaces where they were. Then verify that the user have the same rights. And it could be there a problem if the local users are managed with LDAP, for example, because you now need to invite users to subwikis depending on the old LDAP configuration.
  • consider not upgrading to XEM (Workspaces) and keep the old way of using XEM in farm-mode. This is possible since the platform is quite the same.
  • let the users where they are, change subwikis to workspaces. It is the easiest way and everything will work, but the user may have to log several times, and this not the idea behind Workspaces.

Official documentation

Upgrade a farm to XEM (Workspaces)

So you have decided to migrate from the old XEM (Farm-mode) to the new XEM (Workspaces).

Then, you have to do:

  1. In the main wiki, go to the XWiki.XWikiServerSubwiki (Replace Subwiki with the name of the subwiki, starting with a capital letter, for example: http://test.xwiki.youdomain.com/ we would have to go to the XWiki.XWikiServerTest)
  2. Edit in object mode and add a WorkspaceManager.WorkspaceClass object to the document. Set membership type by desire.
  3. Go to the the subwiki you want to convert, and import the workspace-template-features.xar file corresponding to the version of the XE xar that is installed (Link to xars)
  4. Register workspace translations (add WorkspaceManager.Translations and WorkspaceManager.TemplateTranslations to the Localization settings)
  5. Register the Workspace Information Panel (add Panels.WorkspaceInformationPanel to the right panels settings, it should be the first panel to display)
  6. Extend XWiki.SearchSuggestConfig to show Workspaces as search suggestions (add an object with this fieldsemoticon_smile
    1. name: Workspaces
    2. query: XWiki.XWikiServerClass.wikiprettyname:__INPUT__* AND object:WorkspaceManager.WorkspaceClass'
    3. resultsNumber: 3
    4. url: $xwiki.getURL("${xcontext.mainWikiName}:WorkspaceManager.WorkspacesSuggestLuceneService", 'get', 'outputSyntax=plain')
    5. activated: 1
    6. highlight: 1
    7. icon: $xwiki.getSkinFile('icons/silk/chart_organisation.png'))
  7. Remove the local admin from XWikiAllGroup and XWikiAdminGroup. (optionnal but recommended)
  8. Disable (Delete) the local admin. (optionnal but recommended)
  9. Set rights for displaying panels properly to guests/registered users. 
  10. Set rights for displaying color themes properly to guests/registered users. 
  11. Set rights for displaying the skin properly to guests/registered users.
  12. Disable local user registration. (don't do it if you have chosen C)
  13. Disable local user management. (don't do it if you have chosen C)
  14. BIG DEAL: Move the local users to the main wiki, and then invite theses users to the workspaces where they were - update references to that pages (via the rights for example). If LDAP is used in subwikis, you may have to change configurations (tip: this could help) (don't do it if you have chosen C)

Complete reference here.

This extension

This application helps you to do the steps 4 to 13.

After the installation of this extension, go to XWiki.SubwikisToWorkspaces

subWikisToWorkspaces.png

Prerequisites & Installation Instructions

We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager). Note that installing Extensions when being offline is currently not supported and you'd need to use some complex manual method.

You can also use the following manual method, which is useful if this extension cannot be installed with the Extension Manager or if you're using an old version of XWiki that doesn't have the Extension Manager:

  1. Log in the wiki with a user having Administration rights
  2. Go to the Administration page and select the Import category
  3. Follow the on-screen instructions to upload the downloaded XAR
  4. Click on the uploaded XAR and follow the instructions
  5. You'll also need to install all dependent Extensions that are not already installed in your wiki

Release Notes

v1.0

First version.

Tags:
    

Get Connected