Roadmap-free Sprint #1

Version 13.1 by Gabriela Smeria on 2015/04/22

Apr 20 2015

This blog post is not published yet.

From the 30th of March till the 12th of April the developers who were part of the Product team of the XWiki SAS company were given 2 weeks to work on whatever they wanted (actually it was closer to 1 week counting the fact that they still had to do community support, internal support, BFD, and more). Normally they follow the XWiki SAS proposed roadmap (see slide 12 of this presentation) but we decided to try this 2 week sprint to see what would come out. The developers were: Thomas, Marius, Guillaume D, Edy, Caty, Victor, Gabriela and Vincent.

Here's what was achieved:

URL Improvements

Vincent worked on improving URL handling in XWiki and especially the ability to register new URL types (he refactored the WebJar module to use this feature and it's now using the new format http://<server>/<context path>/webjars/<path/to/resource>[?version=<version>&evaluate=true|false]).

For example to add support for a new webjars URL type you'd write (see the documentation for more):

@Component
@Named("webjars")
@Singleton
public class WebJarsResourceReferenceHandler extends AbstractResourceReferenceHandler<ResourceType>
{
   /**
     * The WebJars Type.
     */

   public static final ResourceType TYPE = new ResourceType("webjars");

   @Override
   public List<ResourceType> getSupportedResourceReferences()
   {
       return Arrays.asList(TYPE);
   }

   @Override
   public void handle(ResourceReference resourceReference, ResourceReferenceHandlerChain chain)
       throws ResourceReferenceHandlerException
   {
       [...]
   }
}

Note that this support is dynamic so you can package these Resource Handlers in your extension and once installed through the Extension Manager the new URLs will be active!

Technical Documentation Skin Proposal

Caty focused on creating a proposal for a Technical Documentation Skin. It's named 'Jay Skin' and you should read the proposal.
previewJaySkin.png
The purpose of this proposal was to strip Flamingo Skin of any unneeded visual noise and just focus on navigation and content.

The main difference from Flamingo are the extensible panel areas, which hide the #docextra functionality (Comments, History, etc.) providing more room for content and simplifying the view. There are a lot of small things in the Jay Skin proposal that might be transparent to the end user, but there are small changes to the search bar, title area, table of content zone, parent editing, subheading editing, tags zone, tree styling, menu application styling, logo area, mobile view, accordion styling, code typography usage, etc. 

In the process of creating the skin, issues were also reported on XWiki 7.0 (XWIKI-11992, XWIKI-11988, XWIKI-11987, XWIKI-11985, XWIKI-12028, CKEDITOR-4, CKEDITOR-3 ). Creating proposals on the latest version and hacking into XWiki always surface bugs that you might otherwise miss. 

Syntax Highlighting and Autocomplete applications improvements

Eduard worked on various improvements for the Syntax Highlighting Application and the Autocomplete Application, finalizing with the release of the 3.0 version.

The work mainly centered around refactoring the applications to use RequireJS and Webjars, thus removing a lot of clutter introduced by the previous implementations.

wikiEditor-ambrient-theme.png

Among the improvements, there are:

  • Added an Administration section to configure the application
  • Added support for using the 33 themes provided by the CodeMirror project
  • Syntax highlighting is now also available in the object editor for the code property of objects of the XWiki.WikiMacroClass class
  • Upgraded to CodeMirror 5.1

See the full list of issues.

Extract old rendering engine and xwiki/1.0 syntax related code from oldcore

All the code related to xwiki/1.0 syntax and old rendering engine has been extracted from oldcore in its own module. The module can work as extension. It's still included by default in released XE along with the legacy modules to test it a bit but it will soon be completely removed and only available as an extension.

See http://jira.xwiki.org/browse/XWIKI-12001.

Tags:
    

Get Connected