Relations Application
Create and display relations between pages |
Type | XAR |
Category | Application |
Developed by | Anca Luca, Clément Aubin, slauriere |
Active Installs | 3 |
Rating | |
License | GNU Lesser General Public License 2.1 |
Compatibility | XWiki 11.1 |
Table of contents
Description
The Relations application is meant to ease, in some cases, the creation of relations between pages and the navigation across the wiki page graph. XWiki makes it possible to interlink pages in multiple ways, in particular via hyperlinks, hierarchies, tags, page fields or database list fields. In some cases, it can be handy to have an additional way to link pages: as metadata added to the pages, using dedicated objects. It is typically useful when you want to navigate your wiki transversally rather than hierarchically, or when tags do not carry enough semantics, in particular due to the fact that tags cannot be tagged, or when introducing specific XWiki classes is considered too costly.
Features
Adding, removing, displaying relations
The application provides a user interface for adding or removing relations to a page and for displaying the current page's relations, as illustrated in the image below which relates page Charlie Chaplin to a few films and actors. Both direct and inverse relations are listed. Since verion 3.0, relations can be created across several wikis, and when entering text in the form for adding a relation, a full-text search query across the wiki farm is performed using Solr.
Relation List Panel
The application provides a panel displaying the current page's direct and inverse relations, named XWiki.Relations.Code.RelationListPanel.
Relations macro
The application provides a macro {{relations/}} displaying the current page direct and inverse relations.
Relation List Content Header UIExtension
A UI Extension is included, allowing to display the existing relations at the top of each page content, named XWiki.Relations.Code.RelationListHeaderUix. It can be disabled e.g. by editing the UIExtensionClass object and suffixing the Extension Point ID to org.xwiki.platform.template.content.header.after.disabled.
Future
- Automated creation of relations when page links are detected in the content.
- Ability to name relations, e.g.: Page A "relates to" Page B, Page A "has type" Page B...
- Automated suggestion of relations based on a natural language processing analysis of the content.
See also
This paragraph lists some initiatives that relate to the management of relations or software that implements a feature allowing to relate artefacts with one another:
- RDF proposes the concept of triples: subject - predicate - object, that's a way to relate the subject and the object.
- JIRA allows to link issues with one another with one of the following properties: blocks, depends on, duplicates, relates to.
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:
- Log in the wiki with a user having Administration rights
- Go to the Administration page and select the Import category
- Follow the on-screen instructions to upload the downloaded XAR
- Click on the uploaded XAR and follow the instructions
- You'll also need to install all dependent Extensions that are not already installed in your wiki
For extension version up to 2.4 and XWiki versions older than 10.4
For displaying the existing relations at the top of each page, the UI extension point org.xwiki.platform.template.content.header.after is required, which was introduced in XWiki 10.4RC1. In order to add this extension point to a previous version of XWiki, edit the file "contentview.vm" as follows:
<div class="xcontent">
#template('contentheader.vm')
#foreach ($uix in $services.uix.getExtensions('org.xwiki.platform.template.content.header.after'))
$services.rendering.render($uix.execute(), 'xhtml/1.0')
#end
## --------------------------------------------------------------------------
## Drop permissions as they are no longer needed. This allows us not to have
## to review the code below for security holes since nothing bad can happen.
## --------------------------------------------------------------------------
$xcontext.dropPermissions()
## ----------------------------
## Display the rendered content
## ----------------------------
<div class="row">
<div id="xwikicontent" class="col-xs-12">
#if ("$!contentvmexception" != '')
#displayUnhandledException($contentvmexception)
#else
$renderedContent
#end
</div>
</div>
</div>
[...]
Release Notes
v3.1.5
The following translations have been updated with this release:
v3.1.4
The following translations have been updated with this release:
v3.1.3
The following translations have been updated with this release:
v3.1.2
The following translations have been updated with this release:
v3.1.1
The following translations have been updated with this release:
v3.1
v3.0
v2.4
v2.3
v2.2
v2.1
v1.2
v1.1
v1.0
Dependencies
Dependencies for this extension (org.xwiki.contrib:application-relations-ui 3.1.5):
- org.xwiki.contrib:application-relations-api 3.1.5