Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
(GSoC 2017) Final report
During this summer I was working on the issues (tasks):
Issue 852 - Advanced calendar components
The project/orgunit calendar component lacks the following advanced features to
cover Sigmah user needs:
- event lasting more than a day
- repetition of an event
For the 8th of June:
1) 5 radiobuttons (once, daily, weekly, monthly, yearly) were added into the "Add event" window for creating the repetitive events of different types. Tooltips for all radiobuttons were added too.
2) Checkbox "All day" was added for the creation of events with full-day time interval. Hiding fields "Start hour" and "End hour" checking the checkbox "All day".
3) "Monthly settings" panel was added to the "Add event" window. It appears after the selection of the monthly radio button. This panel contains two radiobuttons ("Same day of week" and "Same date"). It is used to calculate next start date for the repetitive events
4) "Date end" field was added into the "Add event" and "Edit event" windows for the selecting of the event end date.
For the 13th of June:
The functionality for the daily repetitive events was implemented.
For the 23th of June:
The functionalities for these actions were implemented:
1) Add weekly events
2) Add monthly events (with functions 'Same day of week' and 'Same date of month')
3) Add yearly events (with functions 'Same day of year' and 'Same date of year')
For the 11th of July:
1) Added 'Delete chain' link to the popup window for deleting all related recurring events
2) Two columns ('referenceid' and 'eventtype') were added into the database, which is necessary for the implementing of the functionality for deleting all recurrences.
2) Two columns ('referenceid' and 'eventtype') were added into the project data model, which are necessary implementations of the functionality.
For the 23th of July:
1) A new group of fields was created for daily monthly weekly and yearly events. This group includes two radiobuttons. The first is "Number of repetitions", which enables field to enter the number of repetitions for the event chain ('1' as a default). The second is "Repetition end date", which enables field for the selecting of the event chain repetition end date (today's day as a default).
2) The functionality of the 'Date end' field was changed. It enables to set the (recurrence) end date for the several days event.
For the 8th of August:
1) Several GUI changes were implemented. It is possible now to display full-day events taking more than one day on sigmah calendar as solid strip with a fade from blue to white.
2) Each full-day 'event for several days' takes only one line in the database (it is not divided into many one-day events as it was earlier).
For the 24th of August:
1) Each non-full-day 'event for several days' takes only one line in the database.
2) Several GUI changes for non-full-day events. Each part of these events (the amount of parts depended on the amount of days this event takes) had the view of a strip with a fade from blue to white.
For the 28th of August:
1) The views of the full-day and non-full-day events were changed. They don't have a fade from blue to white. Instead, they have blue background color.
2) Several minor improvements were implemented:
1. autofiling the enddate with the startdate after the first time the start date field is filled
2. renamed "Start"/"End" "hour" into "Start"/"End" "time"
3. renamed "Delete chain" into "Delete all recurrences"
4. renamed "Daily"/"Weekly"/"Monthly"/"Yearly" "repeats details" into "Daily"/"Weekly"/"Monthly"/"Yearly" "repetition details"
Issue 824 - Calendars export to other devices
The task was to provide to Sigmah user a possiblity to perform the export of Sigmah project calendar using iCal format and to subscribe to Sigmah project calendar from other calendar software. My task was to develop the solution which allows to generate so called Share URL using which it would be possible to export and subscribe.
For the 14th of August:
1) Added "Share link" buttons.
2) Created a servlet for external users that can be called by the url. The servlet generates an ics output stream with the requested Sigma calendar data. So Sigma calendar data can be imported to the calendar of the external user.
3) The developed solution confirms the possibility of importing of the events generated by a servlet (launched in a sigmah project) at ics format into the Google calendar
For the 23th of August:
By clicking on the "Share link" button a pop-up window provides the user with an url, that can be put into the other calendar to import Sigmah calendar events (for example Google calendar).
For the 25th of August:
1) Added possibility to update (refresh) Sigmah calendar in Outlook imported by URL with defined in ExportCalendar servlet time interval.
2) Added name to the exported Sigmah calendar which is shown when the calendar is imported to other calendar systems (like Outlook or Google calendar).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment