From version < 105.37 >
edited by Bill Stewart
on 2018/12/24 00:15
To version < 105.38 >
edited by Bill Stewart
on 2019/01/07 00:05
< >
Change comment: Update install count



Installed count
... ... @@ -1,1 +1,1 @@
1 -362
1 +366
calendarA Calendar Application supporting several Calendars
Developed by

Denis Gotthans, Clemens Robbenhaar, Thomas Mortagne

Active Installs362
Active Installs366
8 Votes
LicenseGNU Lesser General Public License 2.1

Installable with the Extension Manager


You can also try the Pro version: Calendar Application (Pro).

Combines the Calendar Application application with the FullCalendar Application to provide an "out of the box" usable calendar within XWiki with the slick UI from the "FullCalendar" jQuery plugin.


After installing the extension you should have a "Calendar" in the applications panel; alternatively you can reach the application at http:///xwiki/bin/view/MoccaCalendar/

The application maintains several calendars. One default calender is preinstalled.
The start page displays all events of all calendars in the current month.
Users can either add new events (which end up in the default calendar, unless specified differently) or new calendars.

Overview page

Calendars have a description and color. All events of a given calendar are displayed in the color of it's calendar.
Events, beside of being colored like their corresponding calendar, also have a short name, a description, a start and an end date. Events can be "all day" events or have a defined start and end time, too. 

Display of various events on the main calendar page

Creating events

Clicking on the "Create an Event" link opens a modal dialog which allows you to give the new event a title, start and end date and time and a description. (The description only shows up in the details view). "All day" events are supported, too (currently you have to give even "all day" a dummy time for start and end date, too, which will be ignored however.)
Recurring events are not yet supported.

Dialog to create a new event

Editing events

Clicking on an event in the calendar opens the detail view of the event. In this dialog you can edit the event or delete the event (you have to confirm the delete in the dialog.)

Detail view of an existing event

Editing an existing event

Alternatively you can view the Event as a wiki page by clicking on the "View" button in the dialog; on that page you can add attachments, look at the history, etc.
You can go back to the calendar you came from via the link at the bottom, or to the main calendar overview via the link in the breadcrumbs.

An event viewed as wiki page

Managing Calendars

At the bottom of the overview page you can find a table of all existing calendars, with options to view edit or delete them, and a link to add new calendars on top of it:

List of all existing calendars

If you click on the "Create a calendar" link you will be first led to the normal "add page" dialog, which then will create a new calendar and show it to you in edit mode. You can set up the title, color (via the convenient color picker) and description. The latter is shown in the detail view of the calendar.

Editing a calendar

iCalendar export

You can use Mocca Calendar iCal export to add iCalendar export.


If you find a bug or have a suggestion for improvement, please report it in the Issue Tracker. Please check if the issue has been reported there already.

Migration to Nested Pages

If you update this extension from a pre-2.6 version, you likely want to migrate all the calendars to become nested pages. For this you will need to run the Nested Pages Migrator again (or maybe for the first time, if you set up the wiki with a version of 7.2 or later).

In case you have placed some events in spaces different from their calendar, maybe to apply special access restrictions to them, be advised that they will afterwards be a sub page of their calendar and the access restriction from the original space will no longer apply. You might want to exclude these events from the migration, and preferably move them to a calendar of their own so they get their access restrictions back.

Update from the Extension Manager

When updating the extension the extension manager will ask you to remove the page under "MoccaCalendar.Events" (unless you have removed/renamed the pre-installed default calendar). Do not do that, but keep the calendar around. Instead you might want to remove the version installed in the new place at "MoccaCalendar.Events.WebHome" which will happen automatically when using the Nested Pages Migrator Application in the next step.

Migrate your content with the  Nested Pages Migrator

Especially if you already have used the Nested Pages Migrator there are a few things to be taken into account so rerunning does mess up your instance:

  • in the configuration section:
    • add MoccaCalendar.WebHome to the list of excluded pages
    • add MoccaiCalendar to the list of excluded spaces
    • probably disable the "Add Redirection" in the "Advanced Settings"


Then compute the plan; you will see something in "Main" wants to be migrated, too. You likely do not want that.

Expand the "Main" section, and click the "Exclude Space" button for every space listed there, unless it contains a calendar. After the plan is recomputed, continue with the next space until the "Main" space vanishes from the plan (or it only contains spaces with calendars). 

Afterwards your plan should look like this:


It is ok that the MoccaCalendar.Events.WebHome will be overwritten; this is the new place of the preinstalled "default" calendar and the migration will overwrite it with your version of the calendar. (You will not see this warning if you have removed that calendar; in that case you likely want to remove the new version of the default calendar as well after the migration step).

Press "Execute plan" and wait until the migration process finishes.

Afterwards all events should be placed under their corresponding calendars, and both calendars and events are now proper nested pages.

For MoccaCalendar Developers


The oldest supported XWiki version can be found in the root pom.xml as the version of the xwiki-commons-pom.
You can set up a barebone instance of that version by running: mvn clean process-test-resources in the directory application-mocca-calendar-tests. Start the instance with ./target/xwiki/ or .\target\xwiki\start_xwiki.bat.

Always test changes at least against the oldest supported and the newest XWiki version. If a feature cannot be made to work in the oldest supported version, change the oldest supported version to a more recent one where that feature works.

Create a Release

Releases are created via the Contrib Release process, with some modifications:


Make sure the issue tracker has no open issues assigned to the to-be-released version - or move them to the next version.

Make sure you use a java version compatible with the oldest supported XWiki version - otherwise the integration tests might not be pleased.

Update the translations from with the help of the script in MVN=/path/to/your/mvn  L10N_USER=youraccount L10N_PASSWORD="your passwd"  ./application-mocca-calendar-scripts/ (See application-mocca-calendar-scripts/ for more options/quirks of the script.)

To prevent any browser caching issues, update the version number manually in the src/main/resources/MoccaCalendar/Macro.xml.

$xwiki.jsx.use("MoccaCalendar.Macro", {'defer': false, 'v' : '2.3.1'})

Commit all changes so far and push the results.

Perform release

In the root directory:

# check you really have no local modifications and are up to date:
git push
git status
# prepare the release
mvn -Pintegration-tests -Darguments="-DskipTests" release:prepare
# create a maintenance branch - not needed for minor releases
git branch stable-X.Y application-mocca-calendar-X.Y
# perform the actual release
mvn -Darguments="-DskipTests -Dgpg.skip=true" -Pintegration-tests release:perform
# push the changes to github
git push origin master
git push origin stable-X.Y

Then push the release through
Before finishing the release, check the validity of the release by installing the pending release in a fresh XWiki instance for the extension manager, "extended search" > 'org.xwiki.contrib:application-mocca-calendar-ui' + version number.


  • Sync the release on this page via the button right to "Extension imported from repository".
  • Read this page and update the descriptions, if necessary
  • Especially update the release notes; open this page in the object editor and update the "Release notes" field of the corresponding ExtensionCode.ExtensionVersionClass; at least adding the jira issues:
    {{cache id="MOCCACAL-release--X.Y.Z" timeToLive="604800"}}
    {{jira url="" style="list" source="jql"}}
    project = MOCCACAL and fixVersion = "X.Y.Z"
    Of course feel free to add any other things worth noting.
  • Mark the version as released in jira and create the next version (if not already done).

Tested on

This extension has been tested with the following configurations.

Extension VersionXWiki FlavorNotes
2.1.8XWiki Enterprise 5.0.3, 5.3, 5.4.1, 6.0.1
2.1.9XWiki Enterprise 6.2.4, 6.4
2.4.4XWiki Enterprise 7.1.2
2.5.3XWiki Enterprise 9.1.2

2.5.4XWiki 9.8.1

Issues: , ,

Prerequisites & Installation Instructions

We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager). Note that installing Extensions when being offline is currently not supported and you'd need to use some complex manual method.

You can also use the following manual method, which is useful if this extension cannot be installed with the Extension Manager or if you're using an old version of XWiki that doesn't have the Extension Manager:

  1. Log in the wiki with a user having Administration rights
  2. Go to the Administration page and select the Import category
  3. Follow the on-screen instructions to upload the downloaded XAR
  4. Click on the uploaded XAR and follow the instructions
  5. You'll also need to install all dependent Extensions that are not already installed in your wiki

Release Notes


As this version is the first one to support nested pages, you might want to use the Nested Pages Migrator if you upgrade from an older version.








added translations for lv and sk



added dependency missing from 2.4





fixed bungled release number in 2.2.1






Dependencies for this extension (org.xwiki.contrib:application-mocca-calendar-ui 2.6):

Get Connected