XWiki Contrib

Version 21.1 by Ecaterina Moraru (Valica) on 2013/01/09 14:58

The XWiki Contrib Project provides hosting for projects related to XWiki. These projects are not part of the official XWiki distributions and are not maintained by the XWiki development team.

Contrib Project List

The full list projects is available on the xwiki-contrib user on GitHub.

Project NameWhat is it?
CurrikiOpen Source Curriculum Sharing and Editing based on the XWiki Platform.

Hosting tools

The project hosting forge can provide contributors with some or all of the following tools :

  • A GitHub repository, under http://github.com/xwiki-contrib
  • A JIRA project for tracking bugs and feature requests, at http://jira.xwiki.org/ and under the "XWiki Contributed projects" category. Note that there will be a generic JIRA project to be used by all projects till they  achieve a first release or till they grow to a size significant enough to warrant a dedicated JIRA project
  • A generic maven groupId: org.xwiki.contrib.<module name> (until the project reaches a certain size and visibility, in which case it can have its own maven group id). For example: org.xwiki.contrib.mailarchive.
  • Project pages on extensions.xwiki.org to describe and document the project. When the project reaches a certain visibility and size it can have its own wiki on xwiki.org.

Requesting a project

The contrib project is open for anyone with a project that request it. Simply send us an email at devs AT xwiki.org using "[Contrib]" at the beginning of your email's subject. Let us know the name and a short description of your project. If your project has already been made available for download on extensions.xwiki.org, please precise it and point us to its page (If it is not, then no need to hurry, you will make it available once it's ready). Finally, let us know which of the listed tools you need. For GitHub access, you will need to register a user on http://github.com and let us know about it (a best practice is to have a username composed of the first letter of your first name immediately followed by your last name, the whole with no capital letter, for example jdoe if your name is John Doe).

Requesting snapshost builds for your project

XWiki.org has a continuous build which builds maven projects each time they are modified on GitHub and put the resulting artifact in our snapshots repository. This is useful when you want people using your project as a dependency to continuously benefit from the improvements.

Your can ask for your project to be added to the continuous build:

  • First you need to use the xwiki parent pom to have the correct distribution management information:
    <project>
    ...
     <parent>
       <groupId>org.xwiki.commons</groupId>
       <artifactId>xwiki-commons-pom</artifactId>
       <version>See https://github.com/xwiki/xwiki-commons/blob/master/pom.xml</version>
     </parent>
    ...
    </project>
  • Send a vote on the [email protected] mailing list to discuss the addition of your project in the continuous build
    [VOTE] Add myproject to the continuous build

    Hi XWikiers,

    I'm working on myproject and since it's used as a
    dependency by someotherproject it'd be convenient
    if it was built continuously.

    Here's my +1.

    Thanks,
    Me.

Release the project

XWiki.org allows you to release your project on its maven repository as long as you follow the following steps:

  • Use org.xwiki.contrib as groupId in your maven module
  • Request for an account on http://nexus.xwiki.org on [email protected]
  • Once you've received your credentials put them in ~/.m2/settings.xml
    <settings>
    ...
    <servers>
    ...
     <server>
       <id>xwiki-staging</id>
       <username>username</username>
       <password>********</password>
     </server>
    ...
    </servers>
    ...
    </settings>
  • Put the following configuration in your project pom.xml
    <project>
    ...
     <scm>
       <connection>scm:git:git://github.com/xwiki-contrib/{extensionrepository}.git</connection>
       <developerConnection>scm:git:[email protected]:xwiki-contrib/{extensionrepository}.git</developerConnection>
       <url>https://github.com/xwiki-contrib/{extensionrepository}</url>
     </scm>
    ...
     <distributionManagement>
       <repository>
         <id>xwiki-staging</id>
         <name>XWiki Staging Repository</name>
         <url>http://nexus.xwiki.org/nexus/service/local/staging/deploy/maven2/</url>
       </repository>
     </distributionManagement>
    ...
    </project>

    Where {extensionrepository} is the name of the repository in http://github.com/xwiki-contrib/.

  • Release the project with the maven release plugin
    mvn release:prepare
    mvn release:perform
  • Ask for someone to promote your release (ie. make it available on maven.xwiki.org) in the thread you've created earlier
  • After that your release will be available for download on maven.xwiki.org and anyone will be able to use it as a dependency for his own project

Get Connected