Differences

This shows you the differences between the selected revision and the current version of the page.

en:documentation:faq 2016/01/27 16:36 en:documentation:faq 2016/01/27 16:50 current
Line 19: Line 19:
====  A quoi sert le PACS de sauvegarde ? ==== ====  A quoi sert le PACS de sauvegarde ? ====
 +
Voir le [[en:documentation:RolePacs|rôle du serveur PACS de sauvegarde]]. Voir le [[en:documentation:RolePacs|rôle du serveur PACS de sauvegarde]].
==== Envoyer un fichier sur le PACS de sauvegarde avec dcmsnd ? ==== ==== Envoyer un fichier sur le PACS de sauvegarde avec dcmsnd ? ====
 +
Il faut faire attention à bien utiliser les bons keystore et trustore. Il faut faire attention à bien utiliser les bons keystore et trustore.
<code bash> <code bash>
Line 30: Line 32:
==== Récupérer un fichier situé sur un PACS avec dcmqr ? ==== ==== Récupérer un fichier situé sur un PACS avec dcmqr ? ====
 +
Il faut faire attention à bien utiliser les bons keystore et trustore. Il faut faire attention à bien utiliser les bons keystore et trustore.
Récupérer tous fichiers dont le Sop class UID est de type MR (1.2.840.10008.5.1.4.1.1.4) et dont l'attribut StudyDate est 20091117 Récupérer tous fichiers dont le Sop class UID est de type MR (1.2.840.10008.5.1.4.1.1.4) et dont l'attribut StudyDate est 20091117
Line 40: Line 43:
==== Base de données Shanoir ==== ==== Base de données Shanoir ====
 +
=== Comment générer le script de création des tables ? === === Comment générer le script de création des tables ? ===
== MyQSL == == MyQSL ==
 +
Pour générer le script sql\CREATE.mysql distribué avec Shanoir, il faut exécuter l'action suivante sous un système Unix (sensible à la casse) : Pour générer le script sql\CREATE.mysql distribué avec Shanoir, il faut exécuter l'action suivante sous un système Unix (sensible à la casse) :
<code bash> <code bash>
Line 48: Line 53:
</code> </code>
-ATTENTION : Windows et Unix n'ont pas la même sensibilité à la casse! Par exemple, si vous êtes sous Windows et que vous faites un mysqldump, les noms de vos tables apparaitront en minuscules dans le fichier CREATE.mysql. Après l'exécution de ce script sql sous un système Unix, les tables créées seront alors en minuscules. Du coup, lorsque Hibernate se lancer et tentera de faire le mapping entre le modèle Java et les tables, il échouera avec le un message d'erreur du type "can't find table ACQUISITION_EQUIPMENT". Et pour cause, la table s'appelle "acquisition_equipment". Il faut donc bien prendre garde à générer le script sous Unix/Linux.+:!:ATTENTION : Windows et Unix n'ont pas la même sensibilité à la casse! Par exemple, si vous êtes sous Windows et que vous faites un mysqldump, les noms de vos tables apparaitront en minuscules dans le fichier CREATE.mysql. Après l'exécution de ce script sql sous un système Unix, les tables créées seront alors en minuscules. Du coup, lorsque Hibernate se lancer et tentera de faire le mapping entre le modèle Java et les tables, il échouera avec le un message d'erreur du type "can't find table ACQUISITION_EQUIPMENT". Et pour cause, la table s'appelle "acquisition_equipment". Il faut donc bien prendre garde à générer le script sous Unix/Linux.
== PostgreSQL == == PostgreSQL ==
 +
Pour générer le script sql\CREATE.psql distribué avec Shanoir, il faut exécuter l'action suivante : Pour générer le script sql\CREATE.psql distribué avec Shanoir, il faut exécuter l'action suivante :
<code bash> <code bash>
Line 57: Line 63:
 +=== Comment accéder au contenu des tables ? ===
-=== Comment accéder au contenu des tables ? === 
  * MySQL : Utilisez [[http://dev.mysql.com/downloads/gui-tools/5.0.html|MySQL Query Browser]]   * MySQL : Utilisez [[http://dev.mysql.com/downloads/gui-tools/5.0.html|MySQL Query Browser]]
  * PostgreSQL : Utilisez [[http://www.pgadmin.org/|pgAdmin]]   * PostgreSQL : Utilisez [[http://www.pgadmin.org/|pgAdmin]]
Line 70: Line 76:
 +=== Comment changer de base de données ? ===
- 
- 
-=== Comment changer de base de données ? === 
3 types de bases de données sont utilisables : HSQL, PostgreSQL et MySQL. 3 types de bases de données sont utilisables : HSQL, PostgreSQL et MySQL.
== Bases de données par défaut == == Bases de données par défaut ==
 +
  * Profil **dev** : HSQL : base de données en mémoire ou en fichier, pratique pour les tests et pour développer en local.   * Profil **dev** : HSQL : base de données en mémoire ou en fichier, pratique pour les tests et pour développer en local.
  * Profil **prod** : PostgreSQL   * Profil **prod** : PostgreSQL
Line 146: Line 151:
==== Audit et versioning ==== ==== Audit et versioning ====
 +
=== Comment fonctionne l'audit et le versioning de la base de données ? === === Comment fonctionne l'audit et le versioning de la base de données ? ===
 +
L'utilisation d'[[http://www.jboss.org/envers/|Hibernate Envers]] permet d'avoir facilement d'enregistrer toutes les modifications appliquées à la base de données.\\ L'utilisation d'[[http://www.jboss.org/envers/|Hibernate Envers]] permet d'avoir facilement d'enregistrer toutes les modifications appliquées à la base de données.\\
Ajouter l'annotation @Audited à une entité ENTITE du modèle (classe annotée avec @Entity) va créer une nouvelle table dans la base de données **ENTITE _AUD**. A chaque modification dans la table ENTITE, une nouvelle entrée est créée dans la table ENTITE_AUD avec un numéro de révision, à la façon de SVN. Ajouter l'annotation @Audited à une entité ENTITE du modèle (classe annotée avec @Entity) va créer une nouvelle table dans la base de données **ENTITE _AUD**. A chaque modification dans la table ENTITE, une nouvelle entrée est créée dans la table ENTITE_AUD avec un numéro de révision, à la façon de SVN.
Line 156: Line 163:
{{:documentation:synchronisation_bdd_xml.zargo.zip|Archive zippée au format argoUML}} {{:documentation:synchronisation_bdd_xml.zargo.zip|Archive zippée au format argoUML}}
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-===== Web services ===== 
- 
-==== Comment ajouter un webservice ? ==== 
-Vous pouvez vous inspirer du webservice DownloadService pour développer de nouveaux web services. 
- 
-  * Créer une interface dans le package org.shanoir.webservices.interfaces 
-    * Annoter l'interface avec @Remote 
-  * Créer son implémentation dans le package org.shanoir.webservices.impl 
-    * Annoter la classe avec @WebService 
-    * Annoter les méthodes à exposer avec @WebMethod 
-  * Générer les fichiers d'interface en executant la tâche ant <code>ant build-server-java</code> 
- 
-=== How to add a trusted Shanoir Server in the Web Service truststore ? === 
-<code> 
-keytool -import -alias name_of_cert -file path_to_the_certificate -keystore path_to_the_truststore 
-</code> 
- 
-=== Why my webservice crashes at runtime ? === 
- 
-If you get the following error trying to run a webservice: 
-<code> 
-Exception in thread "main" com.sun.xml.ws.protocol.soap.MessageCreationException: Couldn't create SOAP message due to exception: XML reader error: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog 
- at [row,col {unknown-source}]: [1,0] 
-</code> 
- 
-with in the JBoss log (JBOSS_HOME/server/default/log/server.log): 
-<code> 
-2009-12-09 09:50:45,671 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] SOAP request exception 
-java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage 
-</code> 
- 
-It is more likely because JBoss doesn't have jboss-saaj.jar and jboss-jaxrpc.jar libraries in $JBOSS_HOME/lib/endorsed. You must copy them manually. 
Line 222: Line 183:
==== Démarrer dcm4chee sur chiasma en cas de coupure d'électricité ou de redémarrage ==== ==== Démarrer dcm4chee sur chiasma en cas de coupure d'électricité ou de redémarrage ====
 +
La machine chiasma (131.254.13.250) héberge un serveur PACS pour les tests en environnement de développement. En cas de redémarrage, il faut le relancer . Pour cela, il est nécessaire d'avoir les droits d'un super utilisateur. La machine chiasma (131.254.13.250) héberge un serveur PACS pour les tests en environnement de développement. En cas de redémarrage, il faut le relancer . Pour cela, il est nécessaire d'avoir les droits d'un super utilisateur.
Lancer les commandes : Lancer les commandes :
Line 231: Line 193:
==== Régler le problème d'une séquence qui crée plusieurs datasets au lieu d'un seul ==== ==== Régler le problème d'une séquence qui crée plusieurs datasets au lieu d'un seul ====
 +
Ce cas se présente notamment pour les données de perfusion, de diffusion et d'IRMf. La solution (temporaire) qui a été trouvée consiste à lister ces séquences dans un fichier de configuration.\\ Ce cas se présente notamment pour les données de perfusion, de diffusion et d'IRMf. La solution (temporaire) qui a été trouvée consiste à lister ces séquences dans un fichier de configuration.\\
Pour ajouter une nouvelle séquence : \\ Pour ajouter une nouvelle séquence : \\

Personal Tools