esup-multi

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Bloc de code
languagediff
firstline102
titledev/user-frontend-ionic/src/environments/environment.ts
linenumberstrue
    numberOfEventsLimit: 3,
    display: 'list',
}),
+ CardEuPageModule.forRoot({
+     knownErrors: ['NO_PHOTO', 'NO_ACTIVE_CARD', 'ESCN_MISSING'],
+     display: 'extended',
+ }),
ChatbotModule,
ClockingModule,

Styles et thèmes

...

Info

Ce nouveau module permet l'affichage de la carte étudiante européenne

...

selon 2 formats

Affichage light (connecteur non nécessaire)Affichage extended (connecteur nécessaire)

Image Added

Image Added

Pour utiliser l'affichage light, il suffit de passer l'option 'light' à l'attribut display dans le fichier environment.ts

Avertissement
Pour que l'affichage light fonctionne, il est impératif que votre connecteur / provider qui fournit les informations de l'utilisateur qui se connecte renvoie l'identifiant européen de l'étudiant (escn)
cf. https://www.esup-portail.org/wiki/x/C4D4Tw

Pour utiliser l'affichage extended, il suffit de passer l'option 'extended' à l'attribut display dans le fichier environment.ts

Avertissement

Pour que l'affichage extended fonctionne, vous devez fournir un connecteur  qui renverra les informations supplémentaires qui ne sont pas retournées par l'API des cartes européenne (par exemple la photo de l'utilisateur)
cf. https://www.esup-portail.org/wiki/x/PYC3YQ

Styles et thèmes

Les assets de la carte européenne (logos, ...) ont été déplacés dans le dossier user-frontend-ionic

Copiez le dossier des styles associé au module card-eu :

...

languageshell

...

/src/theme/app-theme

...

/assets/

...

cards/card-eu

...

/

...

(initialement dansuser-frontend-ionic/src/theme/app-theme/assets/cards/)

Copiez le dossier des styles associé au module card-eu :

Bloc de code
languageshell
$ cp -Ra /dev/user-frontend-ionic/src/theme/app-theme-dist/styles/card-eu /dev/user-frontend-ionic/src/theme/app-theme/styles/card-eu

Traduction

Ajoutez le dossier des fichiers de traduction associé au module card-eu : dev/user-frontend-ionic/src/theme/app-theme/i18n/modules/card-eu/*

...

Bloc de code
languagediff
firstline1
titledev/user-backend-nest/microservices/card/.env
linenumberstrue
+ CARD_SERVICE_HOST=localhost
+ CARD_SERVICE_PORT=3007
+ CARD_SERVICE_NATS_SERVERS=nats://localhost:4222

+ # Infos de connexion au connecteur fournissant les informations pour l'affichage de la carte dématérialisée
+ CARD_SERVICE_PROVIDER_API_URL=http://localhost:3099/mocking/card/{username}
+ CARD_SERVICE_PROVIDER_API_BEARER_TOKEN=

Plan : remplacement du fichier statique des POIs par l'utilisation du CMS

Frontend

Le module Map a été revu pour afficher de nouveaux éléments, il est donc nécessaire d'installer les nouvelles dépendances et de rebuild le module map.

Bloc de code
languageshell
$ cd dev/user-frontend-ionic && npm ci
$ npm run module:build-all

dev/user-frontend-ionic/src/environment.ts

Bloc de code
languagediff
firstline115
linenumberstrue
+ MapModule.forRoot({
+   mapType: "osm",
+   accessToken: "",
+   minZoom: 1,
+   maxZoom: 19,
+   maxBounds: false,
+   highAccuracy: false,
+   maxDisplayedFloatingButton: 5
+ }),

defaultMapLocation.longitude : Longitude de la position par défaut sur la carte.
defaultMapLocation.latitude : Latitude de la position par défaut sur la carte.
mapType : ("mapbox" | "osm") : Le fond de carte qui sera utilisé, par défaut il s'agit d'Open Street Map.
accessToken : En cas d'utilisation de Mapbox il faut un token d'accès, lié à un compte Mapbox.
minZoom : Zoom minimum autorisé.
maxZoom : Zoom maximum autorisé.
maxBounds : Lorsque cette option est définie sur true, la carte restreint la vue aux limites géographiques données, faisant rebondir l'utilisateur lorsqu'il essaie de se déplacer en dehors de la vue.
highAccuracy : Indique que l'application souhaite recevoir les meilleurs résultats possibles. Définie sur true et si l'appareil est capable de fournir une position plus précise, il le fera. Notez que cela peut entraîner des temps de réponse plus lents ou une consommation électrique accrue.
maxDisplayedFloatingButton : Nombre maximum de campus affichés à l'écran sous forme de bouton flottant avant de passer sur l'affichage d'une liste

Backend

dev/user-backend-nest/microservices/map

Les POIs sont à présent chargés depuis le CMS, et non plus depuis le fichier statique map-data.json. En plus des POIs et de leur catégorie respective, les icônes sont gérées par le back, et la notion de campus a été ajoutée.

Vous pouvez supprimer le fichier map-data.json

De nouvelles variables sont à ajouter dans l'environnement du microservice :

Bloc de code
languagediff
firstline1
titledev/user-backend-nest/microservices/map/.env
linenumberstrue
+ # Infos de connexion au connecteur fournissant les données
+ MAP_SERVICE_CMS_CONNECTOR_API_URL=
+ MAP_SERVICE_CMS_CONNECTOR_API_BEARER_TOKEN=

Si vous souhaitez ajouter une 2e source de données, vous pouvez ajouter et compléter les variables suivantes. Dans cet exemple, la seconde source est le mock.

Bloc de code
languagediff
firstline1
titledev/user-backend-nest/microservices/map/.env
linenumberstrue
+ # Provider additionel
+ MAP_SERVICE_ADDITIONAL_PROVIDER_API_URL=http://localhost:3099/mocking/map
+ MAP_SERVICE_ADDITIONAL_PROVIDER_API_BEARER_TOKEN=

Connecteur CMS

Une nouvelle variable a été ajoutée à la config du connecteur pour ces nouvelles collections. Ajoutez dans votre .env :

Bloc de code
languagediff
firstline1
titledev/connectors/multi-cms-connector/.env
linenumberstrue
+ # Map points - 1 jour par défaut
+ CACHE_TTL_MAP_POINTS=86400000

CMS

Directus

Documentation de l'API Directus : https://directus.io/docs/api/schema

  • Sauvegardez vos collections par sécurité.
  • Identifiez les différences dans le schéma par rapport à la nouvelle version :
    Bloc de code
    languageshell
    curl --location 'localhost:8055/schema/diff?force=true' \
    --header 'Authorization: Bearer <votre jeton directus>' \
    --form 'file=@"~/multi/env/local/docker/directus/directus/snapshot/snapshot.yaml"'
  • Retirez les collections et les fields qui ne concernent pas campus ; map_categories ; map_categories_translations ; map_icons ; map_points ; map_points_translations.
  • Appliquez les changements :
    Bloc de code
    languageshell
    curl --location 'localhost:8055/schema/apply' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <votre jeton directus>' \
    --data '{
        "hash": "...",
        "diff": { ... }
    }'
  • Redémarrez Directus.
  • Complétez les nouvelles collections.

WordPress

  • Mettez à jour l'extension WordPress Multi Wordpress Config (désactiver puis réactiver le plugin est nécessaire pour faire apparaitre les nouvelles collections)
  • Dans Polylang (Langues > Réglages > Types de publication personnalisés et taxonomies), activer la traduction pour Points sur la carte (map_points) et Catégories de points (map_categories)
  • Ajout des nouveaux hooks : un seul hook par action, sur la route /cache/clear/map-points, mais en sélectionnant dans la config de WP Webhooks les 4 pods : Campus ; Catégorie de point ; Icône carte ; Point sur la carte.
  • Une nouvelle entrée est apparue dans le menu latéral : Cartes. Vous pouvez configurer les campus, les catégories de points, les icônes, et enfin créer les points.