Přeskočit na obsah Přeskočit na hlavní navigaci Přeskočit na zápatí (patičku)

Úkoly z plánování ve formátu iCalendar

Tato funkce je k dispozici, pokud máte u instalace aktivní modul Plánování a aktivní modul Task manager.

Úkoly ze systému ISPadmin ve formátu iCalendar
Úkoly ze systému ISPadmin ve formátu iCalendar

Pomocí tokenu je možné přidat úkoly z kalendáře do kteréhokoliv jiného kalendáře, který podporuje formát souboru iCalendar/iCal (.ics).

Tento formát (iCal) podporují různé programy napříč platformami (Google Calendar, Windows Calendar, Apple Calendar aj.).

Generování tokenu

Generování tokenu pro přístup k událostem konkrétního uživatele je možné v jeho uživatelském nastavení, které je dostupné přes zobrazované jméno uživatele v hlavičce rozhraní v sekci (Uživatelské nastavení –> Plánování).

Zároveň je možné nastavit si formát názvu propisovaných úkolů ze systému ISPadmin do formátu iCal v sekci Nastavení názvu úkolu pro iCal.

Nastavení iCal tokenů pro přístup ke kalendáři v modulu Plánování
Nastavení iCal tokenů pro přístup ke kalendáři v modulu Plánování

Přehled vygenerovaných tokenů

Přehled všech vygenerovaných tokenů v systému (všech uživatelů) je možné zobrazit a spravovat (možnost smazat) na stránce (Plánování –> Nastavení –> iCal tokeny).

Přehled vygenerovaných iCal tokenů v systému ISPadmin
Přehled vygenerovaných iCal tokenů v systému ISPadmin

Zabezpečení přístupu

UPOZORNĚNÍ
Pokud již máte nastavené zabezpečení pro mobilní aplikaci, tak již máte systém nastaven (zabezpečen pro přístup). Port pro přístup ke kalendáři lze tedy použít stejný.

Dostupnost kalendáře ve formátu iCal (iCalendar), ze systému ISPadmin, pro ostatní kalendářové aplikace, lze zabezpečit povolením připojení pouze přes volný vybraný port.

Cílem je povolit komunikaci pouze se zdrojem dat z kalendáře nebo pro mobilní aplikaci a zbytek systému tak kompletně zabezpečit/znepřístupnit z internetu.

Na nakonfigurovaném portu poběží jen API pro mobilní aplikaci nebo kalendář.

Je potřeba splnit několik podmínek a provést potřebná nastavení konfigurace:

  • Vybrat si libovolný volný port pro přístup ke kalendáři a ten mít povolen na firewallu pro přístup k systému ISPadmin z internetu
  • Na začátku konfiguračního souboru (etc/apache2/sites-enabled/ispadmin.conf) přidat ke stávající konfiguraci:
Listen [zvoleny_port]
  • Ve stejném souboru (etc/apache2/sites-enabled/ispadmin.conf) kdekoliv přidat konfiguraci:
  • POZOR – sekce s certifikáty níže (SSL) platí pouze v případě, kdy využíváte certifikáty od certifikační autority Let’s encrypt (výchozí ISPadmin).
    Pokud využíváte jiné nebo vlastní certifikáty, tak je potřeba SSL sekci zkopírovat z již existující konfigurace Virtualhost např. pro port 443 (v konfiguračním souboru – ispadmin.conf):
<VirtualHost *:[zvoleny_port]>
 Protocols h2 h2c http/1.1
 ServerName [domenove_jmeno]
 DocumentRoot "/data/support/ispadmin/new/ispam/"
 AddDefaultCharset UTF-8
 <Directory /data/support/ispadmin/new/ispam/>
  Options +ExecCGI
  AddHandler cgi-script .cgi .pl .py
  Options FollowSymLinks MultiViews
  AllowOverride All
  Require all granted
 </Directory>

 CustomLog /var/log/apache2/access_support_ispadmin_ispam.log combined
 AddType application/x-httpd-php .php

 SSLEngine on
 SSLCertificateFile /data/ispadmin_cert/[domenove_jmeno]/fullchain.cer
 SSLCertificateKeyFile /data/ispadmin_cert/[domenove_jmeno]/[domenove_jmeno].key

</VirtualHost>
  • Nakonec restartovat službu Apache serveru:
systemctl restart apache2.service
  • Připojení k datům kalendáře ze systému ISPadmin je nyní (pokud je ISPadmin zabezpečen/nedostupný z internetu) dostupné pouze přes nastavený zvolený port (zadaný v URL)

Příklad URL se zvoleným a nastaveným portem pro přístup – 8899:

https://ispadmin.domena.eu:8899/new/www/api/v0/scheduling-calendar-export/bdb9b1291f263cc321015278944a09061793ec8376254f117695a2e6084306024c6838708061d8316587177378ace92ca97a615122ad89025e06d815c2dbb015

Konfiguraci je možné objednat také v rámci placeného servisního zásahu na support@ispadmin.eu.

Kalendář Google

Kalendář ze systému ISPadmin je možné napojit a pravidelně synchronizovat s Kalendářem Google (Google Calendar). Ten je pak možné použít v dalších aplikacích nebo řešeních (např. sdílení).

Pro pravidelnou aktualizaci kalendáře je však nutné přidat a automaticky spouštět skript (script.google.com), který zajistí, že se události budou v pravidelných intervalech do vytvořeného Google Kalendáře stahovat.

Ve výchozím nastavení dochází automaticky k aktualizaci kalendáře z externího zdroje v intervalu 12–24h. Externím skriptem (https://github.com/derekantrican/GAS-ICS-Sync), který je použit v postupu níže dosáhnete toho, že se události mohou aktualizovat častěji (např. každých 5 minut).

Přejděte na ikonu (ⓘ) v levém menu
Přejděte na ikonu (ⓘ) v levém menu
  • Na zobrazené stránce klikněte na ikonu „kopírovat“ v pravém horním rohu () viz obrázek níže
Klikněte na kopírovat v pravém horním rohu
Klikněte na kopírovat v pravém horním rohu
  • Po úspěšném zkopírování projektu je potřeba chování skriptu nakonfigurovat.
  • Příklad výchozí konfigurace níže kde:
    • Název kalendáře v Google kalendáři bude ISPA
    • Úkoly se budou synchronizovat každých 5 minut (nejmenší možná hodnota)
    • Případné další doplňující nastavení chování jsou v popisu skriptu
  • Níže uvedený kód je potřeba vložit do ohraničené sekce skriptu:
Ohraničená sekce, kam vložit níže uvedený textový řetězec
Ohraničená sekce, kam vložit níže uvedený textový řetězec
var sourceCalendars = [                // The ics/ical urls that you want to get events from along with their target calendars (list a new row for each mapping of ICS url to Google Calendar)
                                       // For instance: ["https://p24-calendars.icloud.com/holidays/us_en.ics", "US Holidays"]
                                       // Or with colors following mapping https://developers.google.com/apps-script/reference/calendar/event-color,
                                       // for instance: ["https://p24-calendars.icloud.com/holidays/us_en.ics", "US Holidays", "11"]
  ["https://ispadmin.domena.eu:8899/new/www/api/v0/scheduling-calendar-export/bdb9b1291f263cc321015278944a09061793ec8376254f117695a2e6084306024c6838708061d8316587177378ace92ca97a615122ad89025e06d815c2dbb015", "ISPA"]

];

var howFrequent = 5;                     // What interval (minutes) to run this script on to check for new events.  Any integer can be used, but will be rounded up to 5, 10, 15, 30 or to the nearest hour after that.. 60, 120, etc. 1440 (24 hours) is the maximum value.  Anything above that will be replaced with 1440.
var onlyFutureEvents = false;             // If you turn this to "true", past events will not be synced (this will also removed past events from the target calendar if removeEventsFromCalendar is true)
var addEventsToCalendar = true;           // If you turn this to "false", you can check the log (View > Logs) to make sure your events are being read correctly before turning this on
var modifyExistingEvents = true;          // If you turn this to "false", any event in the feed that was modified after being added to the calendar will not update
var removeEventsFromCalendar = true;      // If you turn this to "true", any event created by the script that is not found in the feed will be removed.
var removePastEventsFromCalendar = true;  // If you turn this to "false", any event that is in the past will not be removed.
var addAlerts = "yes";                    // Whether to add the ics/ical alerts as notifications on the Google Calendar events or revert to the calendar's default reminders ("yes", "no", "default").
var addOrganizerToTitle = false;          // Whether to prefix the event name with the event organiser for further clarity
var descriptionAsTitles = false;          // Whether to use the ics/ical descriptions as titles (true) or to use the normal titles as titles (false)
var addCalToTitle = false;                // Whether to add the source calendar to title
var addAttendees = false;                 // Whether to add the attendee list. If true, duplicate events will be automatically added to the attendees' calendar.
var defaultAllDayReminder = -1;           // Default reminder for all day events in minutes before the day of the event (-1 = no reminder, the value has to be between 0 and 40320)
                                          // See https://github.com/derekantrican/GAS-ICS-Sync/issues/75 for why this is neccessary.
var overrideVisibility = "";              // Changes the visibility of the event ("default", "public", "private", "confidential"). Anything else will revert to the class value of the ICAL event.
var addTasks = false;

var emailSummary = false;                 // Will email you when an event is added/modified/removed to your calendar
var email = "";                           // OPTIONAL: If "emailSummary" is set to true or you want to receive update notifications, you will need to provide your email address
var customEmailSubject = "";              // OPTIONAL: If you want to change the email subject, provide a custom one here. Default: "GAS-ICS-Sync Execution Summary"
var dateFormat = "YYYY-MM-DD"             // date format in the email summary (e.g. "YYYY-MM-DD", "DD.MM.YYYY", "MM/DD/YYYY". separators are ".", "-" and "/")
Odkaz v konfiguraci nahradit vlastním odkazem s vygenerovaným tokenem
Odkaz v konfiguraci nahradit vlastním odkazem s vygenerovaným tokenem
  • Následně skript aktivovat. V horním panelu mít vybranou možnost install a kliknout na tlačítko Spustit. Viz obrázek níže.
Aktivace skriptu
Aktivace skriptu
  • Následně je potřeba povolit přístup skriptu k datům vašeho profilu (Google Kalendář).
Udělení oprávnění pro přístup
Udělení oprávnění pro přístup
  • Vybrat účet pro který udělujeme oprávnění
Výběr účtu pro který udělujeme oprávnění
Výběr účtu pro který udělujeme oprávnění
  • Upozornění na aplikaci třetí strany, která není ověřena společností Google
Informace ohledně neověření aplikace společností Google
Informace ohledně neověření aplikace společností Google
Informace ohledně neověření aplikace společností Google potvrzení důvěry aplikaci
Informace ohledně neověření aplikace společností Google potvrzení důvěry aplikaci
  • Schválení přístupu aplikaci pro zvolený Google účet
Povolení přístupu aplikaci
Povolení přístupu aplikaci
  • Následně by v historii spuštění měly být vidět záznamy, kdy každých 5 minut dochází k synchronizaci
V historii spuštění by měly být záznamy o pravidelné synchronizaci
V historii spuštění by měly být záznamy o pravidelné synchronizaci
  • Zároveň by v aplikaci Google Kalendář (calendar.google.com) měl být vidět nový kalendář (ISPA) a události uživatele ze systému ISPadmin.
Události ze systému ISPadmin v aplikaci Kalendář Google
Události ze systému ISPadmin v aplikaci Kalendář Google