Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [incubator:Improvements.AppDevelopmentFlavor]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.
Application Development Flavor
Community Feedback
Objectives
Besides being a wiki, XWiki is also an application development platform. An application is a set of pages that adds new functionality to the wiki (like a blog, or a task manager). You can build simple applications, extend the platform with custom plugins, or even build complex Web applications.
Short Version
The highlights of the Application Development wiki are:
- Advanced User Mode
- Extension Manager
- App Within Minutes
- Focused on development Applications
- Custom Macros specialized for application development
Issues
- Group Development Macros together
Tasks & Features
Task: Basic Mechanisms
Pages
Pages are atomic entities of the wiki. They can be edited using the Syntax editor or the WYSIWYG editor. They have 'Copy', 'Rename', 'Move', 'Delete' functionality. Also you can manage the 'History' (restore versions), add Attachments to them and manage them with 'Document Index'.
Pages are organized in Spaces, that are grouped in Wikis.
Mandatory
Default
Rights
Rights can control who can view, edit or delete documents in a flexible manner. You can apply rights to a document, a space or an entire wiki. For special cases (when there is a need to execute powerful code that can affect the entire wiki) there is a programming right.
Mandatory
Default
Backup
Backups prevent information loss by having regular backups, useful also when doing upgrades or moving from one instance to another. Also you can export your application's pages into a single XAR archive that is reusable across wikis.
Mandatory
Default
Extension
Internationalization
You can internationalize your macros and applications by creating and integrating translations keys for your values.
Optional
Default
Advanced User Mode
You can switch the user mode from the Profile. The Advanced User Mode reveals access to the advanced edit modes (Class Editor, Object Editor, Rights, etc.) Also it activates the Keyboard Shortcuts.
Mandatory
Default
Programming
There are several scripting languages that can be used inside wiki pages: Velocity, Groovy, Python, Ruby and PHP. Also XWiki exposes an API that allows you to manipulate the wiki.
Mandatory
Default
Classes & Objects
XWiki's Data Model uses Classes, Properties and Objects in order to build applications.
Classes are templates that define an unique type of object. It defines what properties an object can have. There are several kind of properties you can use: string, number, boolean, static list, database list, date, etc. Classes are defined in wiki pages.
Objects are unique instances of a class with unique values defined for each of the properties that make up the class. An object is attached to a specific page. Each page can have multiple objects.
There are special editors for Classes and Objects. Also, by default there is a set of predefined classes that can be used inside your applications like StyleSheetExtensions (allows you to add CSS specific to your page), JavaScriptExtensions (allows you to add JS), etc.
Mandatory
Default
Applications
There are two ways to create applications inside XWiki: first, App Within Minutes targeted towards users with no technical knowledge; second, by using XWiki Classes, Objects and Templates.
By default there is a set of preinstalled applications and also a repository with applications installable by Extensions Manager.
Mandatory
Default
Extension
Custom
Macros
Macros add extra functionality inside wiki pages. There are certain macro categories, from content formatting to application specific macros. Macro categories need to be customized and specialized for application development.
Some examples of useful macros:
You can write your own Macros.
Mandatory
Default
Extension
Custom
Skins
Just like Applications and Macros, Skins can be extended from wiki pages. Skin customize the look&feel of the wiki, by modifying the templates, styles, etc.
Mandatory
Default
Extension
Custom
Task: Application Management
Workspaces
Workspaces are subwiki that are created and used by regular users (not just admins). The workspace is a place to collaborate on a specific topic, being able to have independent applications, rights, presentation, backup, etc.
Mandatory
Extension Manager
Extension Manager allows applications to be installed/updated/removed in and from the wiki. All installed applications are displayed in an Applications Panel.
The extensions are available in e.x.o repository.
Mandatory
Default
App Within Minutes
App Within Minutes creates collaborative web applications within minutes, based on XWiki's powerful structured data management system.
The wizard allows you to manage the application structure and preferences, offering a drag&drop fields palette.
Mandatory
Default
Task: Default Applications
Search
Search for content inside pages, comments, objects and also in the content of attachments. You can restrict your search results by using filters based on location, content type, modification date, author, etc.
Also the Search Suggest feature rapidly displays the top matches for a certain query and highlights documents name, document content, attachment content and user names.
Mandatory
Default
Livetable
Livetables allow filtering of pages that share structured data. You can view multiple details on a certain page, like name, location, author, modification date, images, etc. Pages selection can be done for an entire space, wiki, class, tag, author, etc.
Mandatory
Default
Activity Stream
Activity Stream lets you monitor the activity on pages, comments, attachments, by seing new, edited, deleted content.
Optional
Default
Task: Development Applications
Repository
Repository Application manages extensions in a repository based on XWiki.
Optional
Extension
Syntax Highlighting
Syntax highlighting provides highlighting for writing code inside XWiki pages. Similar functionality is provided by Skywriter, Skin Editor. To highlight code snippets use Highlight Macro or Code Macro.
Optional
Extension
Macro Manager
Macro Manager manages all your wiki macros on a single wiki page.
Optional
Extension
Database List Manager
Database List Manager manages database list values of a class.
Optional
Extension
GitHub
GitHub Commit Application allows to commit and update XWiki pages to and from GitHub.
Optional
Extension
Groovy Console
Groovy Console Application allows full access to XWiki API.
Optional
Extension
Filesystem Browser
Filesystem Browser Application allows to browse the filesystem on the server.
Optional
Extension
Debug Skin
Debug Skin allows to help understand XWiki templates.
Optional
Extension
SVN
SVN Application allows to commit and update XWiki pages to and from SVN.
Optional
Extension
Selenium
Selenium Application lets you write tests directly inside wiki pages.
Optional
Extension
JS Unit Test Runner
JS Unit Test Runner Application lets you run JS tests from XWiki.
Optional
Extension
SQL Tools
SQL Tools are tools to execute SQL queries on JDBC compatible databases.
Optional
Extension
Task: Administrator Tools
Logging Application
Logging Application displays received logs.
Optional
Default
CRaSH Console
CRaSH Console provides standard commands and XWiki specific ones to be run from the console, interacting with the JVM.
Optional
Extension
Admin Tools
Admin Tools contains administration tools that checks configurations, indexes, rights, etc.
Optional
Extension
Plover
Plover Application is a sanity check runner that executes check suites defined as groovy scripts.
Optional
Extension
Features Summary
Feature | Status | |||||
---|---|---|---|---|---|---|
Workspaces | Mandatory | |||||
Extension Manager | Mandatory | Default | ||||
App Within Minutes | Mandatory | Default | ||||
Pages (History, Attachments, Document Index) | Mandatory | Default | ||||
Advanced User Mode | Mandatory | Default | ||||
Programming | Mandatory | Default | ||||
Classes & Objects | Mandatory | Default | ||||
Rights | Mandatory | Default | ||||
Search | Mandatory | Default | ||||
Livetable | Mandatory | Default | ||||
Applications | Mandatory | Default | Extension | Custom | ||
Skins | Mandatory | Default | Extension | Custom | ||
Macros | Mandatory | Default | Extension 1 | Custom | ||
Backup | Mandatory | Default | Extension 2 | |||
Internationalization | Optional | Default | ||||
Activity Stream | Optional | Default | ||||
Logging Application | Optional | Default | ||||
Repository | Optional | Extension 3 | ||||
GitHub | Optional | Extension 4 | ||||
SVN | Optional | Extension 5 | ||||
Syntax Highlighting | Optional | Extension 6 | ||||
Macro Manager | Optional | Extension 7 | ||||
Database List Manager | Optional | Extension 8 | ||||
Groovy Console | Optional | Extension 9 | ||||
Filesystem Browser | Optional | Extension 10 | ||||
Debug Skin | Optional | Extension 11 | ||||
Selenium | Optional | Extension 12 | ||||
JS Unit Test Runner | Optional | Extension 13 | ||||
SQL Tools | Optional | Extension 14 | ||||
Admin Tools | Optional | Extension 15 | ||||
Plover | Optional | Extension 16 | ||||
CRaSH Console | Optional | Extension 17 |
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/JIRA+Macro
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/SavedListExporterApplication
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/Repository+Application
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/GitHubApp
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/SVN+Application
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/Syntax+Highlighting+Application
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/Macro+Manager+Application
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/MLDBListManager+Application
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/Groovy+Console+Application
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/Filesystem+Browser+Application
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/DebugSkin
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/Selenium+Application
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/JSUnit+Test+Runner+Application
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/SQL+Tools
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/Admin+Tools+Application
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/Plover+Application
- ^ http://extensions.xwiki.org/xwiki/bin/view/Extension/CRaSH+Console