Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/epfl-si/wp-polylex
Manage and serve the list of EPFL lexes
https://github.com/epfl-si/wp-polylex
epfl lexes meteor polylex react
Last synced: 12 days ago
JSON representation
Manage and serve the list of EPFL lexes
- Host: GitHub
- URL: https://github.com/epfl-si/wp-polylex
- Owner: epfl-si
- Created: 2019-07-17T12:05:51.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-12-18T13:10:21.000Z (about 1 year ago)
- Last Synced: 2024-11-12T06:06:49.033Z (2 months ago)
- Topics: epfl, lexes, meteor, polylex, react
- Language: JavaScript
- Homepage:
- Size: 698 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# wp-polylex
[![Build Status](https://travis-ci.org/epfl-si/wp-polylex.svg?branch=master)](https://travis-ci.org/epfl-si/wp-polylex)
Cette application a pour but de stocker les textes légaux abrogés.
## Lancer l'application en local
Se placer dans l'app :`cd app/`
Puis lancer la commande :
`meteor --settings settings.json`
Ensuite aller à l'adresse http://localhost:3000
Vous êtes alors redirigé sur une URL du type https://localhost:3000/?key=aop0wd1yo3abmhr0z5w1wbcz9sj6z9cc il suffit alors de supprimer le s de https://
## Utilisation du CLI
Le CLI permet d'importer les données de prod ou de test dans la DB locale.
Pour installer le CLI en local, il faut:
- Se placer dans le répetoire `cli/`
- Faire un `npm install`
- Faire un `npm install -g ./`Lorsque le CLI est installé :
- Se placer à la racine du projet polylex
- On peut maintenant faire un `polylex-cli --help````
greg@epfl:~/workspace-idevfsd/wp-polylex$ polylex-cli --help
Usage: polylex-cli [options] [command]Options:
-h, --help display help for commandCommands:
clean-all-documents Delete all documents from the local MongoDB
restore-test-db Restore the test MongoDB on local MongoDB
restore-prod-db Restore the production MongoDB on local MongoDB
restore-prod-db-on-test Restore the production MongoDB on test MongoDB
help [command] display help for command
```## Déployer une nouvelle version sur l'environnement de test d'Openshift
Pour commencer, si ce n'est déjà fait, on doit changer le numéro de version :
- Dans le fichier app/package.json
- Dans le composant Header app/imports/ui/header/Header.jsx pour correspondre à la version du fichier app/package.json
- On commit/push
- On crée le tag : `git tag -a 1.0 -m "polylex version 1.0"`
- On push le tag : `git push --follow-tags`
Puis,
- `./ansible/polysible -t build-and-deploy`Si le build est difficile sur Openshift, on peut le faire localement et ensuite pusher l'image avec:
- `./ansible/polysible -t locally-build-and-deploy`## Déployer de test vers la prod. d'Openshift
`./ansible/polysible --prod -t promote`
## Plus d'info sur la configuration OpenShift
Déploiement de Polylex sur OpenShift
## Autentification Tequila et rôle
- Pour se connecter à l'application, il se faut s'authentifier Tequila.
- Pour obtenir le rôle 'admin' il faut appartenir au groupe 'wp-polylex-admins' de l'application groups.epfl.ch
- Pour obtenir le rôle 'editor' il faut appartenir au groupe 'wp-polylex-editors' de l'application groups.epfl.chATTENTION :
A la différence de wp-veritas, la mise à jour de meteor 1.9 ne pose pas de problème. Donc dans le Dockerfile on utilise node en version 12
`FROM node:12.14.0-alpine`## Exécuter les tests en local
`TEST_WATCH=1 meteor test --driver-package meteortesting:mocha`
## Mise à jour de paquet alanning:roles
La mise à jour du paquet `alanning:roles` de la version 1 à la version 3 a necessité des changements en DB.
En effet, il faut supprimer la collection `roles` et la re-créée via le fichier server/fixtures.js
De plus, le user n'a plus d'attributs roles mais une nouvelle collection `role-assignement`### procédure de mise en prod
Lancer le déploiement => ce qui va exécuter `updateRoles` qui supprime la collection `roles` et qui supprime l'attribut roles dans chaque user. La collection est re-créée automatiquement.
## Spécification de l'application
Voir [documentation](doc/SPECS.md)