Repository Module

Last modified by Thomas Mortagne on 2024/07/05 18:09

cogDistribute and expose extensions to the world
TypeOther
Category
Developed by

XWiki Development Team

Rating
0 Votes
LicenseGNU Lesser General Public License 2.1

Description

The Extension Module supports various kind of repositories. One of them is based on its own REST protocol. This extension define the generic API to manipulate such repository. You can find it's default implementation on Extension Repository Server.

Generic features:

  • Generic REST based protocol (does not depends in any way on XWiki or Java)
  • Searchable

REST

By default the REST resources can be found at the following URL: http://server:port/xwiki/rest/repository/

/extensions

  • HTTP Method: GET
    • Media type:
      • application/xml
    • Description:
      • The list of extensions contained within the repository
    • Sample input:
      • /extensions
    • Sample output:
      • <extensions>
         <totalHits>3</totalHits>
         <offset>0</offset>
         <extensionSummary>
           <id>org.xwiki.contrib:application-filemanager-ui</id>
           <name>File Manager Application</name>
           <type>xar</type>
         </extensionSummary>
         <extensionSummary>
           <id>guillaumelerouge:send-page-by-email-application</id>
           <name>Send Page By Email Application</name>
           <type>xar</type>
         </extensionSummary>
         <extensionSummary>
           <id>mflorea:enable-default-action-for-flamingo-menu</id>
           <name>Enable Default Action for Flamingo Menu</name>
           <type>xar</type>
         </extensionSummary>
        </extensions>

/extensions/{extensionID}

  • HTTP Method: GET
    • Media type:
      • application/xml
    • Description:
      • Information about an extension
    • Sample input:
      • /extensions/org.xwiki.contrib:application-filemanager-ui
    • Sample output:
      • <extension>
         <id>org.xwiki.contrib:application-filemanager-ui</id>
         <name>File Manager Application</name>
         <type>xar</type>
         <rating>
           <totalVotes>821</totalVotes>
           <averageVote>5.0</averageVote>
         </rating>
         <summary>Application to manage a hierarchy of folders and files. It embeds viewers for many known file types, such as office and PDF.</summary>
         <description>This application lets your organize your files inside XWiki using a tree hierarchy of folders. It supports all standard operations like move, rename, copy, delete on both files and folders. You can use drag & drop to upload new files and to modify the folder hierarchy. A wide range of files types can be viewed or played (in case of audio and video files) directly from the wiki. This includes PDF and office documents [...]</description>
         <licenses>
           <name>GNU Lesser General Public License 2.1</name>
         </licenses>
         <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application</website>
         <authors>
           <name>Thomas Delafosse</name>
           <url>http://www.xwiki.org/xwiki/bin/view/XWiki/tdelafosse</url>
         </authors>
         <authors>
           <name>Ludovic Dubost</name>
           <url>http://www.xwiki.org/xwiki/bin/view/XWiki/LudovicDubost</url>
         </authors>
         <authors>
           <name>Marius Dumitru Florea</name>
           <url>http://www.xwiki.org/xwiki/bin/view/XWiki/mflorea</url>
         </authors>
         <features>tdelafosse:file-manager-application</features>
         <features>org.xwiki.contrib:application-filemanager</features>
         <properties>
           <key>propertykey1</key>
           <stringValue>propertyvalue1</stringValue>
         </properties>
         <properties>
           <key>propertykey2</key>
           <stringValue>propertyvalue2</stringValue>
         </properties>
         <!-- Since 7.3M1 -->
         <issueManagement>
           <system>jira</system>
           <url>https://jira.xwiki.org/browse/XWIKI</url>
         </issueManagement>
         <!-- Since 8.3RC1 -->
         <recommended>true</recommended>
        </extension>

/extensions/{extensionID}/versions/{versionId}

  • HTTP Method: GET
    • Media type:
      • application/xml
    • Description:
      • Information about an extension version
    • Sample input:
      • /extensions/org.xwiki.contrib:application-filemanager-ui/versions/7.2
    • Sample output:
      • <extension>
         <id>org.xwiki.contrib:application-filemanager-ui</id>
         <name>File Manager Application</name>
         <type>xar</type>
         <version>7.2</version>
         <rating>
           <totalVotes>821</totalVotes>
           <averageVote>5.0</averageVote>
         </rating>
         <summary>Application to manage a hierarchy of folders and files. It embeds viewers for many known file types, such as office and PDF.</summary>
         <description>This application lets your organize your files inside XWiki using a tree hierarchy of folders. It supports all standard operations like move, rename, copy, delete on both files and folders. You can use drag & drop to upload new files and to modify the folder hierarchy. A wide range of files types can be viewed or played (in case of audio and video files) directly from the wiki. This includes PDF and office documents [...]</description>
         <licenses>
           <name>GNU Lesser General Public License 2.1</name>
         </licenses>
         <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application</website>
         <authors>
           <name>Thomas Delafosse</name>
           <url>http://www.xwiki.org/xwiki/bin/view/XWiki/tdelafosse</url>
         </authors>
         <authors>
           <name>Ludovic Dubost</name>
           <url>http://www.xwiki.org/xwiki/bin/view/XWiki/LudovicDubost</url>
         </authors>
         <authors>
           <name>Marius Dumitru Florea</name>
           <url>http://www.xwiki.org/xwiki/bin/view/XWiki/mflorea</url>
         </authors>
         <features>tdelafosse:file-manager-application</features>
         <features>org.xwiki.contrib:application-filemanager</features>
         <properties>
           <key>propertykey1</key>
           <stringValue>propertyvalue1</stringValue>
         </properties>
         <properties>
           <key>propertykey2</key>
           <stringValue>propertyvalue2</stringValue>
         </properties>
         <dependencies>
           <id>org.xwiki.platform:xwiki-platform-ratings-api</id>
           <constraint>7.2</constraint>
           <!-- Since 7.3M2 -->
           <repositories>
             <id>maven-xwiki</id>
             <uri>http://nexus.xwiki.org/nexus/content/groups/public</uri>
             <type>maven</type>
           </repositories>
         </dependencies>
         <!-- Since 7.3M1 -->
         <issueManagement>
           <system>jira</system>
           <url>https://jira.xwiki.org/browse/XWIKI</url>
         </issueManagement>
         <!-- Since 7.3M2 -->
         <repositories>
           <id>maven-xwiki</id>
           <uri>http://nexus.xwiki.org/nexus/content/groups/public</uri>
           <type>maven</type>
         </repositories>
         <!-- Since 8.3RC1 -->
         <recommended>true</recommended>
        </extension>

/extensions/{extensionID}/versions/{versionId}/file

  • HTTP Method: GET
    • Description:
      • Download the actual extension file
    • Sample input:
      • /extensions/org.xwiki.contrib:application-filemanager-ui/versions/7.2/file

/search?start={offset}&number={numberOfResults}&q={query}

  • HTTP Method: GET
    • Media type:
      • application/xml
    • Description:
      • Search 
    • Sample input:
      • /search?start=0&number=2&q=macro
    • Sample output:
      • <extensionsSearchResult>
         <totalHits>137</totalHits>
         <offset>0</offset>
         <extensions>
           <id>user-displayer-macro</id>
           <name>User Displayer Macro</name>
           <type>xar</type>
           <rating>
             <totalVotes>124</totalVotes>
             <averageVote>4.1</averageVote>
           </rating>
           <summary>User custom displayer macro with scope (local, global, both)</summary>
           <description>Custom displayer wiki macro to be used in List of Users properties. The major difference between this macro and the default List of Users displayer bundled with the standard XWiki Enterprise Manager is that it adds the ability to access and display global users in a sub-wiki. This is done by using the "scope" parameter. [...]</description>
           <licenses>
             <name>GNU Lesser General Public License 2.1</name>
           </licenses>
           <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/User+Displayer+Macro</website>
           <authors>
             <name>Flavius Olaru</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/FlaviusOlaru</url>
           </authors>
           <version>1.0</version>
           <!-- Since 8.3RC1 -->
           <recommended>false</recommended>
         </extensions>
         <extensions>
           <id>org.xwiki.contrib:application-filemanager-ui</id>
           <name>File Manager Application</name>
           <type>xar</type>
           <rating>
             <totalVotes>821</totalVotes>
             <averageVote>5.0</averageVote>
           </rating>
           <summary>Application to manage a hierarchy of folders and files. It embeds viewers for many known file types, such as office and PDF.</summary>
           <description>This application lets your organize your files inside XWiki using a tree hierarchy of folders. It supports all standard operations like move, rename, copy, delete on both files and folders. You can use drag & drop to upload new files and to modify the folder hierarchy. A wide range of files types can be viewed or played (in case of audio and video files) directly from the wiki. This includes PDF and office documents. [...]</description>
           <licenses>
             <name>GNU Lesser General Public License 2.1</name>
           </licenses>
           <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application</website>
           <authors>
             <name>Thomas Delafosse</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/tdelafosse</url>
           </authors>
           <authors>
             <name>Ludovic Dubost</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/LudovicDubost</url>
           </authors>
           <authors>
             <name>Marius Dumitru Florea</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/mflorea</url>
           </authors>
           <features>tdelafosse:file-manager-application</features>
           <features>org.xwiki.contrib:application-filemanager</features>
           <version>2.0-rc-1</version>
           <!-- Since 8.3RC1 -->
           <recommended>true</recommended>
         </extensions>
        </extensionsSearchResult>

/search

[since 7.0]

  • HTTP Method: POST
    • Media type:
      • application/xml
    • Description:
      • Search 
    • Sample input:
      • /search
      • <extensionQuery>
         <query>macro</query>
         <offset>0</offset>
         <limit>2</limit>
         <filters>
           <field>name</field>
           <valueString>macro</valueString>
           <comparison>MATCH</comparison>
         </filters>
         <sortClauses>
           <field>name</field>
           <order>DESC</order>
         </sortClauses>
        </extensionQuery>
    • Sample output:
      • <extensionsSearchResult>
         <totalHits>137</totalHits>
         <offset>0</offset>
         <extensions>
           <id>user-displayer-macro</id>
           <name>User Displayer Macro</name>
           <type>xar</type>
           <rating>
             <totalVotes>124</totalVotes>
             <averageVote>4.1</averageVote>
           </rating>
           <summary>User custom displayer macro with scope (local, global, both)</summary>
           <description>Custom displayer wiki macro to be used in List of Users properties. The major difference between this macro and the default List of Users displayer bundled with the standard XWiki Enterprise Manager is that it adds the ability to access and display global users in a sub-wiki. This is done by using the "scope" parameter. [...]</description>
           <licenses>
             <name>GNU Lesser General Public License 2.1</name>
           </licenses>
           <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/User+Displayer+Macro</website>
           <authors>
             <name>Flavius Olaru</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/FlaviusOlaru</url>
           </authors>
           <version>1.0</version>
           <!-- Since 8.3RC1 -->
           <recommended>false</recommended>
         </extensions>
         <extensions>
           <id>org.xwiki.contrib:application-filemanager-ui</id>
           <name>File Manager Application</name>
           <type>xar</type>
           <rating>
             <totalVotes>821</totalVotes>
             <averageVote>5.0</averageVote>
           </rating>
           <summary>Application to manage a hierarchy of folders and files. It embeds viewers for many known file types, such as office and PDF.</summary>
           <description>This application lets your organize your files inside XWiki using a tree hierarchy of folders. It supports all standard operations like move, rename, copy, delete on both files and folders. You can use drag & drop to upload new files and to modify the folder hierarchy. A wide range of files types can be viewed or played (in case of audio and video files) directly from the wiki. This includes PDF and office documents. [...]</description>
           <licenses>
             <name>GNU Lesser General Public License 2.1</name>
           </licenses>
           <website>http://extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application</website>
           <authors>
             <name>Thomas Delafosse</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/tdelafosse</url>
           </authors>
           <authors>
             <name>Ludovic Dubost</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/LudovicDubost</url>
           </authors>
           <authors>
             <name>Marius Dumitru Florea</name>
             <url>http://www.xwiki.org/xwiki/bin/view/XWiki/mflorea</url>
           </authors>
           <features>tdelafosse:file-manager-application</features>
           <features>org.xwiki.contrib:application-filemanager</features>
           <version>2.0-rc-1</version>
           <!-- Since 8.3RC1 -->
           <recommended>true</recommended>
         </extensions>
        </extensionsSearchResult>

Prerequisites & Installation Instructions

See Repository Application.

Get Connected