diff options
| author | Marc Florisson | 2014-02-17 09:53:30 +0100 |
|---|---|---|
| committer | Marc Florisson | 2014-02-17 09:53:30 +0100 |
| commit | a2b88b6612435a4a2883c4a378115068df941e5b (patch) | |
| tree | d59343b49a1968a10ec61798af9cb7f0659a43f1 | |
| parent | 0547437de59b2d5626f1c2c28a5a14baf4835f24 (diff) | |
| parent | c70672cda56b3db7b2b2ec5bfec06755f36534f0 (diff) | |
| download | chouette-core-a2b88b6612435a4a2883c4a378115068df941e5b.tar.bz2 | |
Merge branch 'master' of github.com:afimb/chouette2
| -rw-r--r-- | README.md | 113 | ||||
| -rw-r--r-- | app/views/help/imports.textile | 10 | ||||
| -rw-r--r-- | app/views/help/validations.textile | 67 | ||||
| -rw-r--r-- | config/locales/compliance_check_results.yml | 10 | ||||
| -rw-r--r-- | doc/install/postgresql.md | 5 | ||||
| -rw-r--r-- | public/help/notice.png | bin | 0 -> 1129 bytes | |||
| -rw-r--r-- | public/help/validation.png | bin | 0 -> 9138 bytes | |||
| -rw-r--r-- | public/help/validation_bulle.png | bin | 0 -> 22364 bytes | |||
| -rw-r--r-- | public/help/validation_location.png | bin | 0 -> 26404 bytes | |||
| -rw-r--r-- | public/help/validation_mandatory_detail.png | bin | 0 -> 38268 bytes | |||
| -rw-r--r-- | public/help/validation_mandatory_result.png | bin | 0 -> 8091 bytes | |||
| -rw-r--r-- | public/help/validation_optionnal_result.png | bin | 0 -> 8503 bytes | |||
| -rw-r--r-- | public/help/validation_result.png | bin | 0 -> 23537 bytes |
13 files changed, 136 insertions, 69 deletions
@@ -20,94 +20,113 @@ Requirements ------------ This code has been run and tested on [Travis](http://travis-ci.org/afimb/chouette2?branch=master) with : -* Ruby 1.8.7 -* JRuby 1.6.8 (oraclejdk7, openjdk7, openjdk6) +* Ruby 1.9.3 +* Postgres 9.x +* Proj 4.8.0 External Deps ------------- -On Debian/Ubuntu/Kubuntu OS : + +On Debian/Ubuntu/Kubuntu OS : assume depot contains the correct version ```sh sudo apt-get install postgresql sudo apt-get install pgadmin3 sudo apt-get install openjdk-7-jdk sudo apt-get install git sudo apt-get install unzip +sudo apt-get install ruby +sudo apt-get install proj-bin +sudo apt-get install libproj-dev +sudo apt-get install make ``` Installation ------------ - -Install [Postgres] (./doc/install/postgresql.md) -Install [JRuby] (./doc/install/jruby.md) - -Get git code : +Get git source code : ```sh cd workspace -git clone -b V2_1_0 git://github.com/afimb/chouette2 +git clone -b V2_2 git://github.com/afimb/chouette2 cd chouette2 ``` -**JRuby** - -Install dependencies -```sh -sudo apt-get install tomcat7 -sudo apt-get install proj-bin -sudo apt-get install libproj-dev -sudo apt-get install make -``` +The next step assume default path defined by ```Chouette::Command.command``` in file [production.rb](./config/environments/production.rb) is unchanged -Install chouette-gui-command to import and export transport offer : +Install chouette-gui-command to import, export and validate transport offer : ```sh sudo mkdir -p /usr/local/opt/chouette-command/ cd /usr/local/opt/chouette-command/ -wget http://chouette.dryade.net/chouette-cmd_2.1.0.zip -unzip chouette-cmd_2.1.0.zip -cd chouette-cmd_2.1.0 +wget http://maven.chouette.cityway.fr/fr/certu/chouette/chouette-gui-command/2.2.0/chouette-gui-command-2.2.0.zip +unzip chouette-gui-command-2.2.0.zip +mv chouette-gui-command-2.2.0.zip chouette-cmd_2.2.0 +cd chouette-cmd_2.2.0 sudo chmod a+w . ``` + +Create [Postgres database user] (./doc/install/postgresql.md) -Build War ( Use RAILS_ENV production mode and parameters ) +Download gem libraries and create database ```sh -jgem install bundler --version 1.2.4 -jgem install jruby-openssl -bundle install --path vendor/bundle +setenv RAILS_ENV=production +bundle install bundle exec rake db:create -bundle exec rake war ``` -Install war file ( Use RAILS_ENV production mode and parameters ) +The next step assume default path defined by following settings in file [production.rb](./config/environments/production.rb) are unchanged +* ```ImportTask.root``` +* ```Export.root``` + +Create directories ```sh -sudo cp chouette2.war /var/lib/tomcat7/webapp/. sudo mkdir -p /var/lib/chouette/imports sudo mkdir -p /var/lib/chouette/exports sudo mkdir -p /var/lib/chouette/validations sudo chmod a+x /var/lib/chouette/imports /var/lib/chouette/exports /var/lib/chouette/validations ``` -**Ruby** -Install chouette-gui-command to import and export transport offer : +Configuration +------------- + +Configure for Generating URLs in Action Mailer Views. +* Edit [production.rb](./config/environments/production.rb) and change ```config.action_mailer.default_url_options``` +* see [Action Mailer Configuration documentation](http://guides.rubyonrails.org/action_mailer_basics.html) + +Configure SMTP settings. +* Edit [production.rb](./config/environments/production.rb) and change ```ActionMailer::Base.smtp_settings``` +* see [Action Mailer Configuration documentation](http://guides.rubyonrails.org/action_mailer_basics.html) + +Configure IGN Géoportail Key. +* Edit [production.rb](./config/environments/production.rb) and uncomment and set```config.geoportail_api_key``` +* see [API Géoportail documentation](http://api.ign.fr/accueil) + +Configure Google Analytics Key. +* Edit [production.rb](./config/environments/production.rb) and change```GA.tracker``` +* see [Google Analytics](https://www.google.fr/intl/fr/analytics/) + + +Run +--- + +Launch the task to import and export asynchronously ```sh -sudo mkdir -p tmp/chouette-command/ -cd tmp/chouette-command/ -wget http://chouette.dryade.net/chouette-cmd_2.1.0.zip -unzip chouette-cmd_2.1.0.zip -cd chouette-cmd_2.1.0 -sudo chmod a+w . +RAILS_ENV=production bundle exec rake jobs:work ``` +This task may be added in system start up configuration -Install +Launch rails server with [WEBrick](http://guides.rubyonrails.org/command_line.html#server-with-different-backends) ( default RoR web server, note: running on default port 3000) ```sh -gem install bundler -bundle install -bundle exec rake db:create +RAILS_ENV=production bundle exec rails server ``` +This task may be added in system start up configuration. +Instead of using WEBrick, Rails application may be deployed on [Pushion Passenger](https://www.phusionpassenger.com/) with an [Apache](http://httpd.apache.org/) or [NGinx](http://nginx.com/) front-end, to make server faster and more robust. + Test ---- ```sh +setenv RAILS_ENV=tests +bundle exec rake db:create bundle exec rake spec ``` @@ -124,18 +143,6 @@ The description of the restful API is described in : * [User manual file](./doc/interfaces/Chouette_API_REST_v1.2.pdf) * [XSD file](./doc/interfaces/api_rest_v1.xsd) -Example Usage -------------- - -Launch the task to import and export asynchronously -```sh -bundle exec rake jobs:work -``` - -Launch rails server -```sh -bundle exec rails server -``` License ------- diff --git a/app/views/help/imports.textile b/app/views/help/imports.textile index bf9d05b02..7a6a82869 100644 --- a/app/views/help/imports.textile +++ b/app/views/help/imports.textile @@ -80,7 +80,7 @@ p. L'import est lancé en différé; son état d'avancement est affiché sous la - bleu : en cours - vert : terminé correctement -- rouge : terminé en échec +- rouge : terminé en échec (L'import n'a pas pu aboutir, contacter l'administrateur système pour plus de détails) p. Le résultat est conservé tant que l'import n'est pas supprimé. @@ -107,15 +107,15 @@ p. _1 - La synthèse des fichiers analysés affiche 3 secteurs_ p(border_image). !import_file_result.png! -* en vert les fichiers correctements lus -* en rouge les fichiers comportant des erreurs bloquantes -* en gris les fichiers non exploités +* en vert les fichiers correctements traités +* en rouge les fichiers comportant des erreurs qui empêche leur traitement +* en gris les fichiers ignorés p. La sélection d'un des secteurs affiche la liste des fichiers concernés : p(border_image). !import_file_detail.png! -p. _2 - La synthèse des lignes lues affiche le compte des objets extraits des fichiers correctement lus_ +p. _2 - La synthèse des lignes lues affiche le compte des objets extraits des fichiers correctement traités_ p(border_image). !import_line_result.png! diff --git a/app/views/help/validations.textile b/app/views/help/validations.textile index cff6337f6..35f022417 100644 --- a/app/views/help/validations.textile +++ b/app/views/help/validations.textile @@ -1,6 +1,6 @@ --- layout: default -title: Validations +title: Validation --- h3. Rôle @@ -10,13 +10,20 @@ Elle se décompose en 3 phases (ou niveaux) - Phase 1 := les données doivent respecter un format d'échange définissant une syntaxe et une sémantique précise (Actuellement seul le format Neptune est implémenté) - Phase 2 := les données doivent respecter le niveau de complétude et de cohérence du format d'échange (Actuellement seul le format Neptune est implémenté). -- Phase 3 := l'offre est analysée dans ses fonctionnalités et subit des contrôles de réalisme, cette phase effectuée sur les données une fois mises en base est indépendante du format d'échange. +- Phase 3 := l'offre est analysée dans ses fonctionnalités et subit des contrôles de réalisme, cette phase est indépendante du format d'échange. -Les tests de validation sont décrits dans l'aide en ligne de l'application, onglet 'Validation'. Ils sont également disponibles sur le site "chouette.mobi":http://www.chouette.mobi/spip.php?rubrique24 +Les tests de validation sont décrits sur le site "chouette.mobi":http://www.chouette.mobi/spip.php?rubrique24 h3. Formats disponibles - Neptune := format normalisé des échanges de données de transport en commun pour la France (cf "Normalisation":normalisation) +- Données internes Chouette := tests sur les objets déjà importés ou créés/modifiés en base (Phase 3 uniquement) + +h3. Activation + +La validation peut être activée sur un fichier lors de son import en précisant les paramètres nécessaires à la phase 3. + +L'onglet validation permet de réaliser un contrôle 'Phase 3' sur tout ou partie des lignes stockées en base. h3. Consultation des résultats @@ -24,8 +31,56 @@ p. La validation est lancée en différé; son état d'avancement est affiché s - bleu : en cours - vert : terminé correctement -- rouge : terminé en échec (la validation n'a pas pu aboutir) - -p. La consultation du résultat de la validation donnera le bilan des contrôles ou les motifs de l'échec. +- rouge : terminé en échec (la validation n'a pas pu aboutir, contacter l'administrateur système pour plus de détails) p. Le résultat est conservé tant que la validation n'est pas supprimée. + +p. La consultation du résultat de la validation donnera : + +p=. !validation.png! + +* le lien 'Validation _n°_' permet de voir la liste des tests de validation effectués sur le jeu de données +* le lien 'Import' permet de voir le bilan d'import si la validation est faite sur fichiers +* le lien 'Jeu de paramètres' permet de consulter les paramètres de seuils pour les tests de phase 3 + +h4. Résultats de validation + +p=. !validation_result.png! + +p. Le résultat de validation fournit 2 synthèses : + +# Synthèse des tests obligatoires +# Synthèse des tests optionnels + +p. _1 - La synthèse des tests obligatoires affiche 3 secteurs_ + +p(border_image). !validation_mandatory_result.png! + +* en vert les tests valides +* en rouge les tests en échec +* en gris les tests non réalisables (contexte du test ne permettant pas de l'effectuer) + +p(olnext). exemple : tests sur les accès avec aucun accès dans le jeu de données à valider + +p. _2 - La synthèse des tests optionnels affiche 3 secteurs_ + +p(border_image). !validation_optionnal_result.png! + +* en vert les tests valides +* en jaune les tests en échec +* en gris les tests non réalisables (contexte du test ne permettant pas de l'effectuer) + +p. Dans les 2 cas, la sélection d'un des secteurs affiche la liste des tests concernés avec le détail en cas d'erreur + +p(border_image). !validation_mandatory_detail.png! + +Une bulle d'information s'affiche en sélectionnant une icone bleue !notice.png! : + +p(border_image). !validation_bulle.png! + +En cas d'erreur, la localisation est fournie dans la colonne 'Détail': + +* pour les tests des phases 1 et 2, par l'emplacement (nom du fichier, ligne et colonne) de l'objet en erreur, +* pour les tests de la phase 3, par un lien vers la page de consultation de l'objet en erreur. + +p(border_image). !validation_location.png!
\ No newline at end of file diff --git a/config/locales/compliance_check_results.yml b/config/locales/compliance_check_results.yml index 073a7d62c..27dfdbc71 100644 --- a/config/locales/compliance_check_results.yml +++ b/config/locales/compliance_check_results.yml @@ -97,12 +97,12 @@ fr: detail_2_neptune_vehiclejourney_3: "La course %{objectId} référence une ligne (lineIdShortcut = %{lineIdShortcut}) inexistante" detail_2_neptune_vehiclejourney_4: "La course %{objectId} référence un opérateur (operatorId = %{operatorId}) inexistant" detail_2_neptune_vehiclejourney_5: "La course %{objectId} référence une fréquence horaire (timeSlotId = %{timeSlotId}) inexistante" - detail_2_neptune_vehiclejourney_6: "La course %(objectId) référence une mission %{journeyPatternId} incompatible de la séquence d'arrêts %{routeId}" - detail_2_neptune_vehiclejourney_7: "La mission %(objectId) n'est référencée par aucune course" - detail_2_neptune_vehiclejourneyatstop_1: "La course %(objectId) fournit un horaire sur un point d'arrêt (stopPointId = %{stopPointId}) inexistant" + detail_2_neptune_vehiclejourney_6: "La course %{objectId} référence une mission %{journeyPatternId} incompatible de la séquence d'arrêts %{routeId}" + detail_2_neptune_vehiclejourney_7: "La mission %{objectId} n'est référencée par aucune course" + detail_2_neptune_vehiclejourneyatstop_1: "La course %{objectId} fournit un horaire sur un point d'arrêt (stopPointId = %{stopPointId}) inexistant" detail_2_neptune_vehiclejourneyatstop_2: "Un horaire de la course %{objectId} référence une autre course : vehicleJourneyId = %{vehicleJourneyId}" - detail_2_neptune_vehiclejourneyatstop_3: "La course %(objectId) ne fournit pas les horaires des points d'arrêts selon l'ordre de la séquence d'arrêts %{routeId}" - detail_2_neptune_vehiclejourneyatstop_4: "La course %(objectId) ne fournit pas les horaires des points d'arrêts de sa mission %{journeyPatternId}" + detail_2_neptune_vehiclejourneyatstop_3: "La course %{objectId} ne fournit pas les horaires des points d'arrêts selon l'ordre de la séquence d'arrêts %{routeId}" + detail_2_neptune_vehiclejourneyatstop_4: "La course %{objectId} ne fournit pas les horaires des points d'arrêts de sa mission %{journeyPatternId}" detail_2_neptune_facility_1: "L'équipement %{objectId} est situé sur un arrêt inexistant (containedId = %{containedId})" detail_2_neptune_facility_2: "L'équipement %{objectId} référence un arrêt (stopAreaId = %{stopAreaId}) inexistant" detail_2_neptune_facility_3: "L'équipement %{objectId} référence une ligne (lineId = %{lineId} inexistante" diff --git a/doc/install/postgresql.md b/doc/install/postgresql.md index 204aec33f..45b8fc7e1 100644 --- a/doc/install/postgresql.md +++ b/doc/install/postgresql.md @@ -1,5 +1,10 @@ # Install Postgresql +Requirement +----------- + +Minimal version : 9.1 + Setup ----- diff --git a/public/help/notice.png b/public/help/notice.png Binary files differnew file mode 100644 index 000000000..16510c9c4 --- /dev/null +++ b/public/help/notice.png diff --git a/public/help/validation.png b/public/help/validation.png Binary files differnew file mode 100644 index 000000000..bb079657e --- /dev/null +++ b/public/help/validation.png diff --git a/public/help/validation_bulle.png b/public/help/validation_bulle.png Binary files differnew file mode 100644 index 000000000..efd8d5c36 --- /dev/null +++ b/public/help/validation_bulle.png diff --git a/public/help/validation_location.png b/public/help/validation_location.png Binary files differnew file mode 100644 index 000000000..e59d1344e --- /dev/null +++ b/public/help/validation_location.png diff --git a/public/help/validation_mandatory_detail.png b/public/help/validation_mandatory_detail.png Binary files differnew file mode 100644 index 000000000..10f2f3c18 --- /dev/null +++ b/public/help/validation_mandatory_detail.png diff --git a/public/help/validation_mandatory_result.png b/public/help/validation_mandatory_result.png Binary files differnew file mode 100644 index 000000000..458203e1f --- /dev/null +++ b/public/help/validation_mandatory_result.png diff --git a/public/help/validation_optionnal_result.png b/public/help/validation_optionnal_result.png Binary files differnew file mode 100644 index 000000000..59b9fbd83 --- /dev/null +++ b/public/help/validation_optionnal_result.png diff --git a/public/help/validation_result.png b/public/help/validation_result.png Binary files differnew file mode 100644 index 000000000..7df500a75 --- /dev/null +++ b/public/help/validation_result.png |
