1. Your application must be accessible through the "Applications" panel

       Create a page containing a UI extension object (XWiki.UIExtensionClass).

  2. All technical pages must be hidden
  3. Make sure your application has a proper Translation page, read more about internationalising applications.
  4. Make sure your application pages are not orphans, use mvn xar:format and mvn xar:verify in order to assure these cases

      error Standardise the parent, some applications are children of AppWithinMinutes.WebHome


  1. Your application should have at least CRUD (create, read, update, delete) operations

       No matter what type of entities your application is managing, it is needed to have a way to create, view, edit and delete those types of entities for a basic functionality.
      error Standardise the creation of artifacts (pop-up | create action)
      error Standardise the display of artifacts (livetable | custom display)

  2. Consistent way of interacting with your application

       If your application is handling multiple types of entities, you must have a symmetric and consistent way of interacting with them.


  1. Check out the current skin supported by XWiki and make sure your application is following that particular style
  2. Use ColorTheme variables in order for your application to adjust to the theme color changes
  3. All forms must be vertical aligned
  4. Naming conventions

      error Standardise application's homepage title
      error Standardise usage of spaces for compound names (like Task Manager, File Manager, etc.)
      error Standardise 'Applications' panel name entry


  1. Careful using generic XWiki standard classes

       This is particularly important if you are using SSX objects with the "Always on this wiki" visibility option, because the rules will affect the whole wiki instance.
       For example, using something like the following code is bad since it will affect all document titles:

    #document-title {
      color: red;

    A solution is to use "on demand" SSX or to prefix your style with a CSS class specific to your application. Also make sure your classes don't overlap with other CSS classes used by XWiki.

  2. Don't use inline and !important declarations

       Always there is an alternative to rewrite the declarations, usually by adjusting the selector's specificity. Using inline and !important declarations will backfire on the long term when others will want to maintain and integrate your application.


Created by Ecaterina Moraru (Valica) on 2014/01/15 08:47

Get Connected