Show last authors
1 XWiki 7.2 has introduced the concept of Nested Spaces. With this new concept it's legitimate to ask oneself what are the differences between using a (sub)wiki or using Nested Pages.
2
3 = Summary =
4
5 There are 2 main use cases when you'd use a Wiki instead of Nested Pages:
6
7 * You want to provide custom Applications/Extensions to a group of users of your wiki
8 * You want to implement an XWiki Farm where each wiki is seen as an island (own users, etc)
9
10 = Features =
11
12 |=Feature|=Supported by Wiki?|=Supported by Nested Pages?|=Notes/Ideas
13 |Set a custom Skin/Color Theme/Icon Theme|(/)|(/)|\\
14 |Set custom Panels|(/)|(/)|\\
15 |Delegate Administration/Right Management|(/)|(/)*|In 7.2, an Admin can decide that such user or group has Admin rights on a Page and its children. [*] It's much harder to implement the rights for a Farm Mode when using Nested Pages than when using a Wiki, but it's possible.
16 |Dedicated Users and Groups|(/)|(x)|Provides isolation, both in term of visibility and security.
17 |Notion of Owner|(/)|(x)|The Owner has all permissions in a wiki
18 |Ability to install JAR Extensions|(/)|(x)|Right now when installing with the EM UI, you cannot decide to install an Extension only for a Nested Page even though this is supported in the Core
19 |Ability to install Applications/Flavors|(/)|(x)|Right now when Importing or using the EM UI to install an Application (XAR), it's not possible to root it under a certain Nested Page (i.e have it install itself relatively to a Nested Page). It's also not possible to install a Flavor in a Nested Page.
20 |Ability to have a dedicated domain name/Clean URL scheme and Breadcrumb|(/)|(!)*|[*] Possible but with some configuration: Apache-level config or URLRewriteFilter config
21 |Ability to maintain the database easily|(/)|(x)|Subwiki use different schemas and this makes it very easy to maintain per wiki (for Farm use cases for ex). Database backups and restores can be done on a per-wiki basis. A wiki can be moved independently to another server (some links may be broken, depends on usage), providing solution to scalability issues. Extensions can create special tables in the schema of a given wiki (still needs some manual configuration). Schemas can also be optimized for specific purposes such as custom mapping.
22 |Ability to easily query data across instances|(x)*|(/)|[*] Because wikis are stored in independent schemas, you cannot perform a single DB query across multiple schema. However you can query content using the Solr syntax of the Query Manager which works across schemas. Nested Pages, on the other side, are within the same wiki, so within the same schema; it is possible to cover data stored in multiple Nested Pages with a single database query. For example displaying data coming different wikis inside a LiveTable is not easy and requires writing some custom JSON.
23 |Ability to search in multiple instances|(/)|(/)|Solr indexes data independently from the database storage, so searching works across both wikis and Nested Pages.
24 |Ability to create based on a Template with several Pages|(/)|(x)|Page Templates are currently only a single Page.
25 |Creation/Deletion of Wiki or Nested Page|(/)*|(/)|[*] Deleting a Nested Page will warn about broken links which is not the case when deleting a wiki. Also, you cannot rollback a deleted wiki, so unless you have a backup you've lost your data. You can't restore a deleted Page with a single click from the UI either, but at least you can restore each children Page under a Nested Page from the UI, or use a script. In other words, there's no Recycle bin for wikis.
26 |Renaming of Wiki or Page|(x)|(/)|Page Rename updates backlinks automatically
27 |Invite Users|(/)|(x)|You cannot invite users only for a Page
28 |Export content as XAR|(/)|(x)|You can export a whole wiki in XAR format natively, but you can't do the same for a Nested Page from the UI yet (you need to use a special URL or a code snippet), even though this is supported at a platform level.
29 |Implement a "playground"|(/)|(x)|Nested Page share the XClasses. If you modify one XClass (e.g. XWiki.JavaScriptExtension) you affect all the Pages that use it. Wikis have to duplicate the XClasses, but this means the modifications are isolated. As a consequence, it's much harder (if
30 not impossible) to implement a "playground" using a Nested Page than using a wiki.

Get Connected