Calendars

From AEGEE wiki
Revision as of 09:38, 22 January 2022 by Дилян Палаузов (talk | contribs) (→‎Telegram Integration: Add image)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The new way

In short, there are the calendars:

• OMS, which extract the data from the Online membership system, converts it to iCalendar. Included are the Statutory events and since September 2021 also the Summer Universities.

• Birthdays, which contains one event per body, on the founding date of the body. The data is again extracted from the OMS

• The “Quarantine Calendar”, which is the same as the “Quarantine events” at https://calendar.google.com/calendar/ical/aegee.eu_v5mn651imeqpvs87v4ln7hr1f4%40group.calendar.google.com/public/basic.ics , except some HTML formatting is stripped.

• The Miscellaneous calendar, which allows to enter data manually.


These calendars are exported over CalDAV and as iCalendar/webcal feed. The integration procedure is described at https://cal.aegee.org/h/en.html. https://cal.aegee.org shows the calendars in the browser.

The code for extracting data from OMS and converting it to iCalendar/VCard is available at https://mail.aegee.org/cgit/aegee-cal/.

Application deadlines for events and some Agora/EPM deadlines from OMS are mapped to VTODO objects in the OMS calendar. These can be accessed from Mozilla Thunderbird, Gnome Evolution, on Android - with DAVx⁵ or with Tasks.org. Overdue tasks are deleted from the server.

https://mail.aegee.org/infcloud/ shows in a web interface: all events, all deadlines and all contacts extracted from OMS.

The section “Address book over CardDAV” is current and the other sections are outdated.

Address Book over CardDAV

N.B.: The same information is available over LDAP.

The data from https://my.aegee.eu/bodies is converted to vCard 3.0 and exported over CardDAV. CardDAV is a protocol for automatic synchronizations of contacts‘ data, like email address, name, phone number. Members can subscribe to the contact data and show the list of bodies in their phones or mail application. Thunderbird, Gnome Evolution, Apple, DavX⁵ (for Android), Outlook + https://caldavsynchronizer.org support CardDAV. The subscription procedure for contacts over CardDAV is similar to the integration procedure for events over CalDAV, described above.

In Gnome Evolution select File → New → Collection Account. Leave e-mail address empty. Under “Advance options/Server” enter aegee.org → “Look up” → Next. Leave Collection selected, un-select “Mail Receive” and “Mail Send” → Next → Finish. This setup integrates both the calendars and the address book.

In DavX⁵ click on the orange + → “Advanced login (special use cases)”. As base URL enter aegee.org , no username/password, no client certificate → Login → select as Contact group method: Groups are per Contact categories → “Create account”. Now both contacts (in the CardDAV tab) and calendars (CalDAV tab) can be integrated in Android. DAVx⁵ is open-source available as paid verson from Google Play and as free version from F-Droid.

CardDAV Sync free is another option for Android. Select “Add account“ → CardDAV → Server name: cal.aegee.org , do Use SSL, username: anonymous@aegee.org , password is not required, but any password can be provided; Client certificate: None → Next → Select “Sync from server to phone only” → Finish → Done. In some minutes the contacts will appear the Contacts apps. The NOTE (Description) and LABEL (free form address) properties of VCard 3.0 are not synchronized.

Thunderbird 78 offers two ways to integrate the contacts:

  • With the CardBook addon installed, select from the menu Tools → Cardbook → (on the top-left side) the Hamburger symbol → Address book → “Add new address book” → (location) “Remote” → Type: CardDAV, Connection/URL: https://cal.aegee.org/ , Username: anonymous@aegee.org, any password. Click ValidateNext. Leave as vCard 3.0 → Next → Finish.  CardBook has the advantage, that it can visually sort the Antennae, Commissions, Contacts, Contact Antennae, Interest Groups, the Partner, Projects,Working Groups, and Others.
  • With the TBSync and DAV-4-TBSync addons installed, select “Account actions” → Add new account → “CalDAV & CardDAV” → “Automatic Configuration“.  As “Server URL” and “account name” type aegee.org, leave user name and password empty. → Next → Finish.  Check “Enable and synchronize this account”.  Select all collections → “Synchronize now”.   Open the Address book from the Tools menu.

Thunderbird 91 offers setup without installing addons: select Tools menu → Address Book. Then File → New → CardDAV Address Book… .  Leave user name empty. As location type aegee.org. → Continue . Thunderbird shows the addressbook “Bodies” → Continue. The address book in Thunderbird does not show the LABEL (free-form address) property from VCard 3.0.

On iPhone go to Settings → Contacts → Accounts → Add account → Others → Add CardDAV-Account.  As server enter aegee.org as username anonymous@aegee.org with any password. Open the Contacts app.  Apple does not show the description and address fields (in VCard terms: NOTE and LABEL properties).

In other software as server enter cal.aegee.org. If the software insists on username, provide anonymous@aegee.org with any password. That’s all, if the software is good it shall find automatically the settings.

Sending emails about new Events

How does cal.aegee.org work?

This section describes what happens after an event or task is uploaded at cal.aegee.org. It does not matter whether the event was uploaded manually, e.g. using Thunderbird, or automatically. The next section describes what automatism is used within AEGEE to upload at cal.aegee.org .

At cal.aegee.org can be uploaded “iCalendar objects”. These objects are events or tasks/deadlines. Each event/task can have attachments like a picture. The attachments can be either just a URI to some file in internet, or be contained in the iCalendar file itself. The server refuses to accept iCalendar files bigger than 300kb. Thunderbird only supports attachments as URIs.

After the CalDAV server detects a change, it updates https://cal.aegee.org (website), https://cal.aegee.org/f.ics (a file containing all not yet finished events, which file can be integrated in the calendars of yahoo/hotmail/gmail). The uploaded data can be downloaded using the CalDAV protocol and integrated in various calendar software, see https://cal.aegee.org/h/en.html .

For each new event or task, an email is sent over the mailing list AEGEE-EVENT-L, if all conditions apply:

  • When event is uploaded, the event has not finished yet. If a task is uploaded, the task has either no due date, or is due in the future.
  • No email was sent already for that event or task. If an event is deleted and created again, a new mail is triggered, if the remaining conditions apply. Just changing the description, colour, attachments of an event or task, does not trigger a new email.
  • Each iCalendar object has a property called CLASSification, Thunderbird calls it “Privacy”. If the iCalendar object is created with CLASS:PRIVATE or CLASS:CONFIDENTIAL, no email is sent. Once the CLASS is changed to PUBLIC, an email is sent.

Example: an event is created now post-factum, which event ended two week ago. No email is sent, since only for events, which have not ended yet, emails are generated. The event is edited and the end date of the events is moved to tomorrow. Since for this event no mail was sent yet, an email notification is triggered over AEGEE-EVENT-L on saving the event.

Example: a task/deadline is created, which is due in the future. The classification/privacy is set to Confidential. No email is sent. The classification/privacy is changed to PUBLIC. Email is sent. The classification is changed to Confidential. No email is sent. The classification is set to PUBLIC. No new email is sent, since for the task in the past an email was sent.

If an event/task has the Organizer or Attendee property set, it is used as sender of the email.

Automatically uploading Events

The software at https://mail.aegee.org/cgit/aegee-cal/ generates events and tasks, as described below, and uploads them to cal.aegee.org over the CalDAV protocol.

For each body with birthday from OMS, a new recurring iCalendar object with CLASS:PRIVATE is created in the calendar “Birthdays”.

For each event in the Quarantine Events Calendar the html text is cut a bit and then the event is uploaded at cal.aegee.org in the calendar “Quarantine Events”.

For each event from OMS a new “iCalendar object” of type event is created. The remaining text from this section applies to these events.

Based on the category of the event, a colour is set. Summer universities are violet, conferences: plum, cultural events: crimson, network meetings: gold, trainings: lime, agorae and epms: navy, everything else is olivedrab.

If the event has a geo-location or location-description as text, the geo-location/description are included in the iCalendar object. In events with many locations, only the first one is included, as the iCalendar format allows only one location.

All organizers are set as ATTENDEEs of the event.

If the event has image, it is added as external attachment to the iCalendar object.

Each event is in one of the following states:

  • If the event’s end is the past, the description of the event ends in “This event was organized by…”.
  • If the event has not finished yet, but it is not possible to apply for the event any more, the description ends with “Applications are over. This event is organized by…”.
  • If the event’s title starts with “cancelled:” or “cancelled:”, the iCalendar object is set with STATUS:CANCELLED and the description is amended with “This event would have been organized by…”.
  • Finally, if it is possible to apply for the event now, or the application’s period start in the future, these things happen:
    • The event description is amended with “Applications are open until … The fee is MANDATORY(+OPTIONAL)€ [alt. There is no fee]. This event is for maximum … participants and is organized by ….”
    • An additional iCalendar object of type Task (different from type Event) is created, containing the application deadline. This Task can be seen in Thunderbird, Evolution, Android’s Tasks.
    • For agorae even more tasks are created, like deadlines for submitting members list; deadlines for publishing drafts and definitive versions of proposals and booklets.
    • Automatically generated tasks always have CLASS:PRIVATE. No emails are sent for automatically generated tasks.
    • When the event first appears, an email is sent over the mailing list AEGEE-EVENT-L

Automatically created tasks share the location, categories, colour, picture as the event they relate to. Overdue tasks are removed.

When time passes, the event changes its state in the above list. The end of its description is changed accordingly and the Task object is deleted/re-created. If an application deadline of an event changes, so that it is again possible to apply, the last state from above is re-applied, except no second email is sent.

Telegram Integration

AEGEE-Tlgrm

All events and tasks from cal.aegee.org are mirrored to the Telegram channels cal_aegee_org and cal_aegee. Events and tasks with classification private or confidential, that is: events for which no email is sent over the mailing list AEGEE-EVENT-L, are not posted to the Telegram channels.

Telegram supports either text-only messages with up to 4096 characters description, or image messages with caption, which caption may not exceed 1024 characters in length. Events with short description and attached picture are sent to Telegram as image-with-caption message. The attachments can be either URI-link to some files in internet, or embedded in the event. when the attachment is a URI-link, then only images in format JPEG, PNG or GIF are considered. For embedded attachments, only images in format JPEG, PNG, WEBP, GIF or AVIF are considered. When the text generated for an event with attached picture is longer than 1024 characters, the event is sent to Telegram as text-only message without picture.

The next sections are outdated

“All AEGEE Events”

The events at https://my.aegee.eu/calendar are from the events registration in OMS and from the “Quarantine Calendar” . These events, together with the Agora Agenda calendar, described in the following sections, can be added to your device.

  • With CalDAV your device downloads only the changes, whenever there are changes. It is more data-efficient than Webcal, but is harder to set up. To configure for CalDAV in some software, like Thunderbird (with the TbSync and DAV-4-TBsync addons) it is sufficient to enter as host https://mail.aegee.org to complete the setup. Others, like DAVx⁵ or Apple, can be configured by providing anonymous@aegee.org with any password as user name.
  • Using Webcal: This is one big file containing the data from all sources. You can subscribe to it: https://mail.aegee.org/calendar/AllAegeeEvents.ics . Whenever some data in the file is changed, your software will re-download the whole file. As of Aprli 2020 the file contains 172 entries and is 225kb. However, if your software understands Gzip or Brotli data compression, it will download the compressed version, which is approximaltely 3.6 times smaller.

The data in CalDAV, WebCAL and the AEGEE Events calendar in GSuite is updated hourly. Once any source calendar is edited, up to an hour later the changes can be fetched.

Apart from the events above, AEGEE members can attends SU Events and some of the BEST events. These two sources are not included in the “All AEGEE Events” calendar.

Note: the data between the Google AEGEE Events calendar and the WebCAL/CalDAV calendar have slightly different presentation:

  • The CalDAV/WebCAL files have for cancelled events stripped the Cancelled from the title and instead set status:cancelled in the event properties. This allows some calendar software to either show the events as striked-out, or to hide the events, depending on user preferences. The “Quarantine Calendar” contains HTML-data, but the iCalendar standard does not allow HTML. These data is sanitized: links are preserved and most of the remaining HTML tags are cut. The URL of the events from OMS is not in the description, but in the specialied “URL” field of iCalendar.
  • The “GSuite AEGEE Events” calendar does not modify the status of the events and keeps “cancelled“ as part of the title. It keeps also the HTML text from the “Quarantine” calendar. The URL of the events from OMS is embedded in the event descritpion.

General

To present provider independent data for an event, with description, start time, end time, location and other properties a standard called iCalendar exists. To distribute (subscribe to) the iCalendar data, a standard called CalDAV exists. When configured properly, CalDAV allows to integrate the events somebody published in your calendar, on your device. Most commercial software vendors try to lock users somehow in their systems, so they are not interested in using standards, that will let users easily switch the vendor. That's why you have likely not heard about iCalendar or the WebDAV extension CalDAV.

For the AGORA İstanbul you can subscribe to the Agenda using the URL https://mail.aegee.org/dav/calendars/user/chair/agenda , user name anonymous, and any password. You have to enter useless username, because some applications do not register you without username. Other applications don’t let users authenticate (something we will do later), if the server does not force them always to enter user name.

The above URL can be accessed in two ways: with HTTP GET, where one big file is downloaded with all data in iCalendar format. Some applications can only this. The second way is download over CalDAV (HTTP PROPFIND). With it, only the changes since the last synchronisation are downloaded. The idea is not only to get the shedule once, but your device is supposed to synchronise in the background regularly, presenting you always accurate information.

The server where this service runs is kind of slow. It doesn’t take ethernity, but also is not instant. Give it some time, be patient

When you upload a meeting with participants, the server sends invitations to the participants per email. You can use any email address for the recipients, except @aegee.org . Use instead @mail.aegee.org . The reason is, that for local deliveries the server uses a protocol (CalDAV Scheduling), the invitations are not delivered per Email, and no client yet understands that protocol.

Please update this wiki yourself, if you find something is missing.

Below is described how you can use some of the clients. Check https://en.wikipedia.org/w/index.php?title=Comparison_of_CalDAV_and_CardDAV_implementations for a fuller, yet incomplete catalogue.

Personal Data

Since 1st October 2018 you can log in with your Intranet account, and not only with the “anonymous user”. All the explanations on this page for the “anonymous” user apply also for your Intranet login. For the first login you will need a “full” CalDAV client, like AgenDAV, Evolution or davDroid. Aftrewards you can use even clients that do not have a notion of “many calendars per user”, like Thunderbird/Lightning or Caldav Sync Free Beta. For the setup of the latter you will need the calendar address.

One possibility to obtain the CalDAV-calendar address is to login at https://mail.aegee.org/agendav. Then on the other right click on calendars and then or the ⚙ on the right. Behind the “Calendar URL for CalDAV clients” is a link to the full calendar CalDAV address.

Another possibility is to visit https://mail.aegee.org/dav/calendars/user/your-user-name (don’t just click on the link, but replace the last segment with your username). After authenticating with your user name, behind the text “Download” is the link to your calendars. Disadvantage ot this second possibillty is, that it does not show any shared calendars.

You can store under personal data whatever you want, it does not have to be related to AEGEE. These data is yours and it is by default neither analyzed nor shared with anybody. One day these data can be scanned for viruses or spam-probability, just as mail is scanned, but that will be everything.

If you want to share a calendar with another user, contact the mail team to arrange this.

Concerning security, best efforts are done not to leak anything, but practice shows that data leakage can happen to every service provider.

The service is provided as-is. You can use it, if you want, or not.

Sharing data

In the future, there will be a notion of groups, extracted from the intranet, that can share calendars or address books.

For now, if any of you want to share data, just create the calendar/addressbook and let mail(on)aegee.org know who shall have access to it. Please note, that the notion of shared calendars is not yet standardized, and server-side sending of invitations uploaded invitations there is unclear.

For real groups, like Antennae, a new calendar will be created on the server, that is not attached to a particular personal account.

AEGEE Calendar of Events

At https://mail.aegee.org/dav/calendars/calendar-of-events/ waits a calendar, that is meant to hold information about the events in AEGEE. Members can subscribe it, after login either with their Intranet credentials, or using username “anonymous” with any password. Upon “real” login members can upload there events.

Extras

Near CalDAV there is another protocoll CardDAV used for distributing contacts.

A good CalDAV/CardDAV client, like Evolution or davDroid, will find two additional resources for anonymous@aegee.org:

  • An additional CalDAV collection, that can be used as mirror of the “AEGEE Calendar of Events” - URL https://mail.aegee.org/dav/calendars/calendar-of-events/ . You can add this one also “manually” in the not so good clients, just use this address instead of the Agenda one.

Little Homework

One can try to present the downloaded iCalendar data on a web server, suitable for showing in browsers.

Setup under Mozilla Thunderbird

The AGORA Agenda

If the Lightning calendar plugin is not installed yet, click on the menu ☰ -> Addons -> Addons, search for lightning and follow the instructions to install lightning (Lightning is included in recent versions of Thunderbird, you can directly continue adding the calendar)

Addons

Once installed click on the calendar button on the right part of the window bar. The calendar tab is opened. In the calendar column right-click and choose "New Calendar".

New Calendar

Choose "On the network". Choose the "CalDAV" radio button and for location enter https://mail.aegee.org/dav/calendars/user/chair/agenda/

URL

Choose a Name for instance "Agora". For Authentication use anonymous@aegee.org as email address and a random password.

URL

Click on "Synchronize" to download the agenda of the Agora

The AEGEE-wide public address book

To get the aforementioned addressbook in TB install The Carbook add-on. Then "Add Addressbook" -> Remote -> CalDAV and enter as user anonymous, server https://mail.aegee.org .

Setup under Android

Android needs some adapters to synchronize calendar data with the local calendars.

Displaying Parallel Events under Android

eTar calendar

Caldav-parallel-etar.png

Android Open Source Project Calendar

Caldav-parallel-aosp-calendar.png

Google Calendar

Caldav-parallel-google-cal.png

Whatever adapter you install, you need to grant it access to your calendars.

The setup is successful, if at the end you see in your calendars for the begin of October some interesting entries.

All the software shall offer a way to manually force re-synchronisation, try to find it out where this function is hidden.

DAVdroid

DAVdroid is the best choice and is open source When installed from the Google Play Store, a donation of 4 € must be paid for the work authors put in it.

  • DAVdroid 1.png

Once started, click on the plus “+” sign.

  • DAVdroid 2.png

Enter under “Login with email address” anonymous@aegee.org, any text as password.

  • DAVdroid 3.png

Select “Groups are separate VCards” on the next page and “Create account”.

  • DAVdroid 4.png

Click on the account

  • DAVdroid 5.png

Make a tick before “Agenda” and click on the synchronization symbol at the top.

Eventually select the ⚙ gear under the created account and from there for “Past event time limit” delete the content, so that “All events will be synchronized”. This in theory will speed up the synchronization.

Caldav Sync Free Beta

This is the only option mentioned here, for which a permanent setup that does not cost money. Once installed, go to ⚙ Settings → “Users & Accounts” → “Add account”. Select as type “CalDav Sync Adapter”.

The instructions are below the pictures

CalDAV Sync Adapter 1.png

Type as user “anonymous’, at least four characters as password, and as URL https://mail.aegee.org/dav/calendars/user/chair/agenda/ → “Sync in or register”.

CalDAV Sync Adapter 2.png

You are back in the “User & accounts” menu. Select from there the new account. Click on “Account sync”.

CalDAV Sync Adapter 3.png

Switch the calendar from “Sync is OFF” and wait for the synchronization to complete.

CalDAV Sync Adapter 4.png

To manually trigger an update select ⋮ from the top.

iCal Import/Export

This application provides two weeks free for testing. If you plan to use it until the end of the Agora, activate it on 24th September 2018 or later. Choose from the menu “SYNC - CALDAV”, click on the “+” and select “Not listed provider or own server”. As address enter https://mail.aegee.org/dav/calendars , username anonymous and any password. Select the “Agenda” calendar, click → and make sure to start the synchronization.

Calendar Sync - trial

The first two weeks after the installation this can be used for free: to use it during the Agora make sure you install it after 24th September.

From ⋮ select “Create a new WebiCal” → “Start the guided CalDAV setup” → “Yes, I want to select my server to automatically configure my servers url” → “Unknown/Not at the list”. As server URL https://mail.aegee.org/dav/calendars, username anonymous, password anything. Click on “Test connection/configuration to continue”. Once the three tests are OK go to “Search available calendars”. Set a tich at after “Agenda” and then “Configure selected calendars”. Go bach to the main menu and from ⋮ select “Display created WebiCals”. There should be only one Agenda. Click on the synchronization symbol.

Setup under iOS and Mac

You can use the default Mac OS's Calendar application. To do it, follow these instructions:

  • Open Calendar app, go to Menu -> 'Calendar' -> 'Preferences'
  • Open the 'Accounts' tab and press '+' button under the accounts list.
  • In the pop-up window, select 'Other CalDAV account' and press 'Continue'.
  • Select 'Manual' as account type, put in these credentials: 'https://mail.aegee.org/dav/calendars' as a server name, 'anonymous' as a user name and any password, then press 'Sign in'.
  • You're all done!

Setup under Windows

(not tested, but based on tutorials in Internet) Go to “Windows Settings” → Accounts. Add new iCloud account. Enter anonymous@aegee.org as user name and anything as password. Try to login and you will get an error. Click on Modify→Advanced and enter as CalDAV and CardDAV servers https://mail.aegee.org/ and localhost as IMAP and SMTP server. Clich Done and retry. Yes, it is that stupid, because MS wants it to be like this. Once configured you can see on your computer the Calendar App. Your People App should also have received some AEGEE contacts.

See https://www.ctrl.blog/entry/how-to-win10-webdav-syncengine for details, enter https://mail.aegee.org as server instead. Onge you finish the procedure

em Client

Emclient-1.png

Select Menu → Tools → Accounts

Emclient-7.png

Calendar → CalDAV

Emclient-3.png

As account address enter https://mail.aegee.org/dav/calendars/, username anonymous, and any password.

Emclient-4.png

Give this account a name_

Emclient-5.png

… and finish.

Emclient-6.png

The overview at the end

Addressbooks

Emclient-2.png

To add address books, choose Contacts → CardDAV and enter as URL https://mail.aegee.org/dav/addressbooks/ .

Outlook

With the Outlook CalDav Synchronizer plug-in for Desktop Outlook you can integrate the data in your Outlook.

Setup under Linux

Gnome Evolution

Go to Edit › Accounts › Add › Collection Account , enter as email anonymous@aegee.org. Click twice on “Next”. Select only “Collections“, de-select “Mail Receive” and “Mail Send”. This imports in fact two Calendars, two Task Lists, two Memo Lists and one Address Book. Click on the properties of each of them and select “Copy content for local operation” to speed up operations.