ContributingExtensions
How to contribute an extension on http://extensions.xwiki.org ?
step 1
Go to http://extensions.xwiki.org and login (You can create an account on http://www.xwiki.org/xwiki/bin/view/XWiki/RealRegistration).
Then type the name of the extension to create (TotemApplication) into the "contribute extension" box and click "add".
step 2
After clicking the Add button you will be redirected to the edit form of your new extension.
in the "Source" field, you can put the URL of github repo containing your application code.
Description/license/summary are whatever you want, we're creating an extension which can be installed with the ExtensionManager so "custom installation" and "custom installation instructions" should remain blank/unchecked.
Once you've done that, just save the TotemApplication page (save & view).
step 3
Add the .xar file as an attachment to your extension document.
step 4
So after you've finished uploading the .xar file, click "edit" on the page and then scroll down almost to the bottom...
and click: "Add Download information for the new attachment by filing in a new Extension Version".
Now you should be back at the edit page with a "Current Downloads" section added.
With "Release notes", "download URL" "id" and "version" download url should be
for example: "
id is just a generic name like "totem"
version is whatever the version number is, for example 1.0
Make sure to use only <major>.<minor> in the version number, a version number such as 1.0.0 or 1.0-feb13 will cause problems.
Save the extension page (save & view).
step 5
So when you go back to the page, you should see a field saying "Installable with extension manager".
Notice on this extension, there is that field: http://extensions.xwiki.org/xwiki/bin/view/Extension/Wiki+Flavor+Application.
If there is no "Installable with extension manager" then there is a problem. you have to go back to the edit page and check the extension information as mentionned above in this document.
step 6
In our example the extension depends on the following extension : http://extensions.xwiki.org/xwiki/bin/view/Extension/Multiselect+custom+display
We need the ID of the dependency extension (In our example : org.xwiki.contrib:displayer-multiselect-suggest).
To get the ID of the dependency extension, you can edit the extension in edit object mode.
Click Edit on extension page and append ?editor=object to the URL in order to be switched into Object Edit mode.
In our example the URL is the following :
http://extensions.xwiki.org/xwiki/bin/edit/Extension/Multiselect+custom+display?editor=object
Now expand the first entry in "Objects of type ExtensionCode.ExtensionClass (1)"
Select "id" which is the first entry in that (the value is "org.xwiki.contrib:displayer-multiselect-suggest")
Click cancel or close the tab.
So when you got the ID, go back to your extension edit page to declare the dependency.
Scroll down almost to the bottom ... and click: "You can also associate dependencies to each version by filing in the following information in a new Dependency".
Now you should be back at the edit page with a "Current Dependencies" section added.
Extension version is the version on which this dependency is assigned
Dependency id is the identifier of the dependency extension on the repository where it is localed
Dependency version constraint is the version related information of the dependency. Can be a version (e.g. 1.0) or one or several ranges of versions based on Maven standard syntax, for example: [1.0,) which would mean "at least 1.0".
Save the extension page (save & view).
To check if dependency was added successfully, go back to the main page and check that the "Installable with the Extension Manager" tag still exists.
extensions.xwiki.org will automatically remove it if something is broken with the extension after adding a dependency.
step 7
The last step is to start up a fresh wiki on your machine, go to "Administer Wiki", click "Install Extensions" on the left and type the name of your extension, in our example "totem".
Once you verify that the extension has successfully installed (and works) on your local wiki, then the process of creating the extension is complete.