Mocca Calendar Application
![]() | A Calendar Application supporting several Calendars |
Type | XAR |
Developed by | |
Active Installs | 364 |
Rating | |
License | GNU Lesser General Public License 2.1 |
Table of contents
Description
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.
Usage
After installing the extension you should have a "Calendar" in the applications panel; alternatively you can reach the application at http://<server>/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.
Issues
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
Compatibility
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/start_xwiki.sh 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:
Preparation
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.
To prevent any browser caching issues, update the version number manually in the src/main/resources/MoccaCalendar/Macro.xml.
Commit all changes so far and push the results.
Perform release
In the root directory:
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 http://nexus.xwiki.org/nexus/#stagingRepositories
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.
Cleanup
- 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:Of course feel free to add any other things worth noting.{{cache id="MOCCACAL-release--X.Y.Z" timeToLive="604800"}}
{{jira url="https://jira.xwiki.org" style="list" source="jql"}}
project = MOCCACAL and fixVersion = "X.Y.Z"
{{/jira}}
{{/cache}} - 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 Version | XWiki Flavor | Notes |
---|---|---|
2.1.8 | XWiki Enterprise 5.0.3, 5.3, 5.4.1, 6.0.1 | |
2.1.9 | XWiki Enterprise 6.2.4, 6.4 | |
2.4.4 | XWiki Enterprise 7.1.2 | |
2.5.3 | XWiki Enterprise 9.1.2 | |
2.5.4 | XWiki 9.8.1 | Issues: http://jira.xwiki.org/browse/MOCCACAL-105 , https://jira.xwiki.org/browse/MOCCACAL-114 , https://jira.xwiki.org/browse/MOCCACAL-115 |
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:
- Log in the wiki with a user having Administration rights
- Go to the Administration page and select the Import category
- Follow the on-screen instructions to upload the downloaded XAR
- Click on the uploaded XAR and follow the instructions
- You'll also need to install all dependent Extensions that are not already installed in your wiki
Release Notes
v2.6
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.
MOCCACAL-122Exceptions in the custom validator make event edit fail without user noticeMOCCACAL-118Allow to set the text color for calendars, tooMOCCACAL-117All events are created under MoccaCalendar.WebhomeMOCCACAL-114One day added each time you drag and drop an All Day event to another dateMOCCACAL-111CKEditor is broken in new event popupMOCCACAL-110All day event is shown in agenda view of calendar only with start dateMOCCACAL-109Upgrade to ical4j 2.0.4MOCCACAL-108Multi-day events do not work unless the time is enteredMOCCACAL-107Update to FullCalendar 2.0.4MOCCACAL-106When event takes all day there can not be changed the end dateMOCCACAL-102Automatically uncheck "all day" if time of event givenMOCCACAL-101Missing <issueManagement>MOCCACAL-99Ical Links not injected for non-terminal calendarsMOCCACAL-97Old events are not displayed in a renamed calendarMOCCACAL-96Translation key "xwiki.calendar.today" in DatepickerMOCCACAL-95Change Calendar's home page to be named "Calendar" instead of "Calendar overview"MOCCACAL-94Do not show "app within minutes" editor when editing the event classMOCCACAL-93Preinstalled "Other Events" Calendar should not be a terminal pageMOCCACAL-91Cannot create two events with the same title in the same calendar
v2.5.4
MOCCACAL-109Upgrade to ical4j 2.0.4
v2.5.3
MOCCACAL-102Automatically uncheck "all day" if time of event givenMOCCACAL-101Missing <issueManagement>MOCCACAL-96Translation key "xwiki.calendar.today" in Datepicker
v2.5.2
MOCCACAL-99Ical Links not injected for non-terminal calendarsMOCCACAL-97Old events are not displayed in a renamed calendarMOCCACAL-95Change Calendar's home page to be named "Calendar" instead of "Calendar overview"MOCCACAL-94Do not show "app within minutes" editor when editing the event class
v2.5.1
MOCCACAL-92If you get a validation error when creating a new event, the save button vanishes
v2.5
MOCCACAL-88Agenda view of past events: sort newest firstMOCCACAL-87Events spanning several days are not displayed fully in the calendarMOCCACAL-84Unmark MoccaCalendar.WebHome as hidden
v2.4.4
MOCCACAL-86Daylight Saving Time is not properly handled in ical exportMOCCACAL-83Wrong all day date for positive time zone when start date time is 0h0m0sMOCCACAL-82Event is created in the wrong space if the calendar is located in a non-terminal document
v2.4.3
added translations for lv and sk
v2.4.2
MOCCACAL-81Set current timezone in ical event
v2.4.1
added dependency missing from 2.4
v2.4
MOCCACAL-80Introduce extension to add ical export supportMOCCACAL-79Change scope of translation pages from ON_DEMAND to WIKIMOCCACAL-78Update dependency of FullCalendar macro to v2.0.2MOCCACAL-75If the calendar macro is restricted to the current space, it should create new events in that space
v2.3.1
MOCCACAL-74Validation that start date of event is before end date returnd badly layouted error pageMOCCACAL-72Calendar not displayed when the wiki is in French
v2.3
MOCCACAL-71Drag & drop of events not disabled for anonymous userMOCCACAL-70There is no Cancel button when you want to create a new event from the CalendarMOCCACAL-68Do not display generated random name as title for new eventsMOCCACAL-66Remove reading of undefined macro parametersMOCCACAL-65Mocca Calendar's livetable is missing .controlPagination iconsMOCCACAL-63Integrate polish translationMOCCACAL-61Remove tabbed information (comments, attachments, etc) from MoccaCalendar.WebHome and MoccaCalendar.MoccaCalendarSheetMOCCACAL-45The Views order should be: Day, Week, Month, AgendaMOCCACAL-29Selecting a color for the calendar should colorise the inputMOCCACAL-24Use FullCalendar app as dependencyMOCCACAL-22Get rid of the jQuery copy bundled with the MoccaCalendar appMOCCACAL-15Be able to edit an event from the 'calendar view'MOCCACAL-14Be able to delete an event from the 'calendar view'MOCCACAL-13Being able to see an event details by clicking in the 'calendar view'
v2.2.2
fixed bungled release number in 2.2.1
v2.2.1
MOCCACAL-63Integrate polish translation
v2.2
MOCCACAL-62Strange borders when viewing Calendar on FlamingoMOCCACAL-59Add button for create an event and create a new calendarMOCCACAL-58Creating Event in a different space fails if no page with that name exists in the calendar spaceMOCCACAL-55Order parameter and add missing i18n keys for the "moccacalendar" macroMOCCACAL-47Update MoccaCal translations / Add Spanish translation from l10n.xwiki.orgMOCCACAL-39When creating a new calendar the title gets lostMOCCACAL-37Calendars list could be alphabetically sortedMOCCACAL-34Use .xform standard when you're viewing/editing an eventMOCCACAL-32Bad position for the Date/Time selector in 'Create an event' modal when scrollingMOCCACAL-28Remove 'Content' field when creating a new calendar
v2.1.9
MOCCACAL-57Cannot have several calendars on one pageMOCCACAL-56Link to create new events is shown even if the user cannot add eventsMOCCACAL-53Adding calendars with apostrophe in the name does not workMOCCACAL-52Including a Mocca Calendar page via the display-macro crashes the WYSIWYG editorMOCCACAL-51User which have rights to add events can select each calenderMOCCACAL-49Adding event with apostrophe in title causes other events to not display in Agenda, Month and Day view
v2.1.8
MOCCACAL-48Deprecated calls to date.getYear etc in JSONService
Dependencies
Dependencies for this extension (org.xwiki.contrib:application-mocca-calendar-ui 2.6):
- org.xwiki.platform:xwiki-platform-rendering-wikimacro-store 7.4
- org.xwiki.rendering:xwiki-rendering-macro-html 7.4
- org.xwiki.platform:xwiki-platform-rendering-macro-code 7.4
- org.xwiki.platform:xwiki-platform-rendering-macro-groovy 7.4
- org.xwiki.platform:xwiki-platform-rendering-macro-include 7.4
- org.xwiki.platform:xwiki-platform-rendering-macro-velocity 7.4
- org.xwiki.platform:xwiki-platform-livetable-ui 7.4
- org.xwiki.platform:xwiki-platform-appwithinminutes-ui 7.4
- org.xwiki.platform:xwiki-platform-jodatime 7.4
- org.xwiki.contrib:macro-fullcalendar 2.0.4