-
Licence : AGPL v3 - Copyright Conseil Régional Nord Pas de Calais - Picardie, Conseil départemental de l'Essonne, Conseil régional d'Aquitaine-Limousin-Poitou-Charentes
-
Développeur(s) : ATOS
-
Financeur(s) : Région Nord Pas de Calais-Picardie, Département 91, Région Aquitaine-Limousin-Poitou-Charentes
-
Description : Application agenda personnel et agenda partagé
gradle copyMod
Dans le fichier /calendar/deployment/calendar/conf.json.template
:
Déclarer l'application dans la liste :
{ "name": "net.atos~calendar~0.2.0", "config": { "main" : "net.atos.entng.calendar.Calendar", "port" : 8098, "app-name" : "Calendar", "app-address" : "/calendar", "app-icon" : "calendar-large", "host": "${host}", "ssl" : $ssl, "userbook-host": "${host}", "integration-mode" : "HTTP", "app-registry.port" : 8012, "mode" : "${mode}", "entcore.port" : 8009 } }
Associer une route d'entée à la configuration du module proxy intégré ("name": "net.atos~calendar~0.2.0"
) :
{ "location": "/calendar", "proxy_pass": "http://localhost:8098" }
L’Agenda permet la création et la visualisation d’événements sous forme d’un calendrier ou d’une liste.
Des permissions sur les différentes actions possibles sur les agendas, dont la contribution et la gestion, sont configurées dans l'agenda (via des partages Ent-core). Le droit de lecture, correspondant à qui peut consulter l'agenda est également configuré de cette manière.
L'Agenda met en œuvre un comportement de recherche sur le titre, la description et le lieu des événements.
Les données du module sont stockées dans deux collections Mongo :
- "calendar" : pour toutes les données propres aux agendas
- "calendarevent" : pour toutes les données propres aux évènements
Le module serveur utilise 2 contrôleurs de déclaration :
CalendarController
: Point d'entrée à l'application, Routage des vues, sécurité globale et déclaration de l'ensemble des comportements relatifs aux agendas (liste, création, modification, destruction et partage)EventController
: Sécurité des évènements et déclaration de l'ensemble des comportements relatifs aux évènements d'un agenda (création, modification, destruction, récupération et import ical)
Les contrôleurs étendent les classes du framework Ent-core exploitant les CrudServices de base. Pour des manipulations spécifiques, des classes de Service sont utilisées :
EventService
: Concernant les évènements de l'Agenda
Le module serveur met en œuvre deux évènements issus du framework Ent-core :
CalendarRepositoryEvents
: Logique de changement d'année scolaireCalendarSearchingEvents
: Logique de recherche
Des jsonschemas permettent de vérifier les données reçues par le serveur, ils se trouvent dans le dossier "src/main/resources/jsonschema".
Le modèle Front-end manipule 3 objets models :
Calendars
: Correspondant aux agendasCalendar
: Correspondant à un agendaCalendarEvent
: Correspondant aux évènements d'un agenda
Il y a 2 Collections globales :
model.calendars.all
qui contient l'ensemble des objetscalendar
synchronisé depuis le serveur.model.calendarEvent.all
qui contient l'ensemble des objetsevent
synchronisé depuis le serveur.