Extension Repository Application

Last modified by Admin on 2024/10/28 16:22

cogAn application for managing extensions in a repository based on XWiki.
Recommended
TypeXAR
Category
Developed by

XWiki Development Team

Active Installs34
Rating
1 Votes
LicenseGNU Lesser General Public License 2.1

Installable with the Extension Manager

Description

This is the UI of the Extension Repository Server.

You can see it in action on http://extensions.xwiki.org.

Home Page

What is displayed on the home page depends if Recommendations are turned on or not (see below):

  • If Recommendations are on, then the home page displays the list of Recommended Extensions and there's a "Browse" button to switch to displaying all Extensions

    home-with-recommendations.png

  • If Recommendations are off, then the home page displays the full list of all Extensions

    home-without-recommendations.png

Extension Page

When viewing an Extension:

extension.png

Import

Extensions can be imported from Maven repositories:

import.png

Rating

It is possible to rate extensions.

The ratings are also displayed in the Extension Manager.

exo4.png

Categories

Extensions can be organized in Categories.

The following Categories are provided by default (sorted alphabetically):

  • API (id: api)
  • Application (id: application)
  • Color Theme (id: colorthemes)
  • Flavor (id: flavor)
  • Macro (id: macro)
  • Other (id: other)
  • UI Extension (id: uix)
  • Skin (id: skin)
  • Icon Theme (id: icontheme)
  • XWiki 16.5+ WebJar (id: webjar)

Categories on extensions.xwiki.org

The following Categories are available on extensions.xwiki.org:

  • Rendering Transformation (id: transformation): A rendering Transformation
  • Other (id: other):
  • Macro (id: macro): A Macro (or set of Macros), either written in Java or a Wiki Macro.
  • Project (id: project): Entry point for the whole project. The goal of the project, list modules, commons stuff, etc.
  • Flavor (id: flavor): A top level extension usually used as wiki flavor.
  • Filter (id: filter): A filter stream that can be used in Filter Stream Converter application for example.
  • Authenticator (id: authenticator): Authenticate the user.
  • WebJar (id: webjar): A WebJar.
  • Icon theme (id: icontheme): An icon theme.
  • Skin (id: skin): A skin.
  • Syntax (id: syntax): Contains rendering syntax parser(s) and/or renderer(s).
  • Color theme (id: colortheme): A color theme.
  • UI Extension (id: uix): An extension primarily contributing UI Extensions for existing UI Extension Points
  • Application (id: application): An application.
  • API (id: api): An API.

Recommendations and Support

Extensions can be marked as Recommended in order to provide some form of curation and separate "good" Extensions from others. The need arises when there are lots of Extensions. 

By default this feature is turned off. To turn it on, navigate to the ExtensionCode.RepositoryConfig page and edit in Object mode. Check the Use Recommendations" field and save.

Also note that there's currently no dedicated UI to mark an Extension as Recommended. To do so, navigate to your Extension page and use the Object editor. Then find the ExtensionCode.ExtensionClass xobject and check the "Recommended" xproperty and save.

XWiki 16.8.0+

XWiki extensions now have the concept of supporters and support plans. The goal is to replace the very vague concept of Recommended we currently have for a very explicit pledge of organizations and individuals (Supporters) to support an extension, and to which extent (Support Plans).

ER-supportedby.png

Proxying

By default only the extension file is proxied from external source. You can bump proxy level up and proxy also previous extension versions and their dependency information. After update of extensions this information will no longer be kept in document objects but, when requested, proxied from external source. This may be enabled by setting Proxy Level attribute of ExtensionProxy XObject to File and Previous Versions. The point of bumping up proxying level is to save space in XWiki database.

Customizing

The home page is meant to be customized. Its content is created by including other pages which make up the separate pieces of the UI. You can decide to reuse only some of them or even replace them with your own content.

Example: extensions.xwiki.org

The web site extensions.xwiki.org uses a slightly customized version of this Repository application.

Here are some screenshots of it:

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

Dependencies

Dependencies for this extension (org.xwiki.platform:xwiki-platform-repository-server-ui 16.9.0):

Get Connected