Accueil > Téléchargement et installation > Exemples d'installation


Présentation

Dernière modification : 31/05/2001 08:35:16     Contact : Martin Sévigny

Cette section a pour objectif de présenter des exemples d'installation de SDX avec différents environnements. Vous trouverez pour l'instant :


  • webapps/sdx/sdxdoc/conf/catalog

  • Configuration Tomcat

    Le fichier web.xml contient les paramètres de configuration de SDX au niveau Tomcat. Dans ce fichier, vous devez repérer les lignes suivantes :

    <context-param>
      <param-name>sdx_baseUrl</param-name>
      <param-value>http://localhost/sdx/</param-value>
    </context-param>
    

    Si cette URL ne correspond pas à votre installation, modifiez-la en conséquence.

    De plus, si vous utilisez Oracle, Interbase ou InstantDB comme SGBD, vous devrez repérer ces lignes :

    <context-param>
      <param-name>sdx_DatabaseType</param-name>
      <param-value>mysql</param-value>
    

    et y mettre oracle ou interbase ou instandb à la place de mysql.

    Configuration Cocoon

    Le fichier cocoon.properties contient la configuration nécessaire pour l'engin Cocoon utilisé par SDX. Les indications les plus importantes concernent la base de données. A ce sujet, repérer la section # Turbine DB Connection Pool, vous y trouverez quelques configurations de base pour certains SGBD. La partie non commentée, et donc active, est valable pour une base de données MySQL nommée "sdx" et accessible sur le serveurr localhost avec le code d'utilisateur sdx et le mot de passe xml. Vous pouvez modifier ces paramètres pour qu'ils soient cohérents avec votre configuration dans MySQL.

    Si vous utilisez un SGBD autre que MySQL, modifiez les entrées en conséquence, en suivant les autres modèles commentés dans le fichier.

    Pour un fonctionnement standard de SDX, aucune autre adaptation n'est nécessaire dans ce fichier.

    Configuration du catalogue sdxdoc

    Plus tard dans l'installation, nous allons créer une base de documents nommée sdxdoc, pour la documentation en ligne. Pour une bonne gestion des DTD, il est nécessaire d'utiliser un tel système de catalogues. Ce catalogue est défini par le consortium OASIS. Il est probable que vous deviez modifier la première ligne du fichier sdxdoc/conf/catalog pour indiquer l'URL de base de votre installation SDX.

    Création de la base de données

    SDX nécessite une base de données relationnelle pour le stockage des documents et pour certaines informations de gestion. Le fichier cocoon.properties indique aux outils où se trouve la base de données et comment y accéder. Le paramétrage de cette base de données doit donc être en phase avec les informations indiquées dans ce fichier.

    Il doit y avoir une base de données accessible pour SDX. On doit y créer un utilisateur ayant les droits d'écriture de données et de modification de structure dans cette base de données. Toutes les tables utilisées par SDX ont un nom qui commence par sdx. Il est donc possible d'installer SDX sur une base existante, en autant que cette dernière n'utilise pas des noms de table commençant par ces trois lettres.

    Nous avons remarqué que dans certaines situations, il est nécessaire de créer un utilisateur avec mot de passe pour que le lien entre SDX et la base de données soit fonctionnel. Nous vous suggérons donc fortement de le faire, ce qui est aussi une bonne chose pour la sécurité.

    Dans les paragraphes qui suivent, nous prenons pour acquis que cette base s'appelle sdx_v1.

    A noter : Pierrick Brihaye a écrit un script pour MySQL qui permet de créer la base de données et de créer les structures et données nécessaires. Si vous exécutez ce script, vous n'aurez pas besoin de faire les étapes suivantes. Nous vous conseillons toutefois de modifier le mot de passe administrateur qui s'y trouve.

    Les tables globales

    SDX a besoin de cinq tables globales pour fonctionner. Ces cinq tables ont la structure suivante (définition normalement valable pour tout SGBD respectant le standard SQL/92, voir plus loin pour Interbase) :

    CREATE TABLE sdx_user
    (
      code varchar(50) NOT NULL,
      passwd varchar(50),
      first_name varchar(100),
      last_name varchar(100),
      language char(2),
      PRIMARY KEY (code)
    );
    
    CREATE TABLE sdx_privilege
    (
      user_code varchar(50) NOT NULL,
      db_code varchar(100) NOT NULL,
      type char(1) NOT NULL,
      PRIMARY KEY (user_code,db_code)
    );
    
    CREATE TABLE sdx_db
    (
      code varchar(100) NOT NULL,
      admin_name varchar(100),
      admin_email varchar(255),
      PRIMARY KEY (code)
    );
    
    CREATE TABLE sdx_group
    (db VARCHAR(100) NOT NULL,
    name VARCHAR(255) NOT NULL,
    description VARCHAR(255),
    PRIMARY KEY(db, name)
    );
    
    CREATE TABLE sdx_user_group
    (db VARCHAR(100) NOT NULL,
    user VARCHAR(50) NOT NULL,
    gr VARCHAR(255) NOT NULL,
    ty CHAR(1) NOT NULL,
    PRIMARY KEY (db, user, gr, ty)
    );
    

    Ces trois requêtes SQL ont été testées avec succès sur MySQL version 3.23, InstantDB version 3.25 et Oracle 8i.

    Avec Interbase, il faut utiliser ces requêtes :

    CREATE TABLE sdx_user
    (
      code varchar(50) NOT NULL,
      passwd varchar(50),
      first_name varchar(100),
      last_name varchar(100),
      language char(2),
      PRIMARY KEY (code)
    );
    
    CREATE TABLE sdx_privilege
    (
      user_code varchar(50) NOT NULL,
      db_code varchar(100) NOT NULL,
      "type" char(1) NOT NULL,
      PRIMARY KEY (user_code,db_code)
    );
    
    CREATE TABLE sdx_db
    (
      code varchar(100) NOT NULL,
      admin_name varchar(100),
      admin_email varchar(255),
      PRIMARY KEY (code)
    );
    
    CREATE TABLE sdx_group
    (db VARCHAR(100) NOT NULL,
    name VARCHAR(255) NOT NULL,
    description VARCHAR(255),
    PRIMARY KEY(db, name)
    );
    
    CREATE TABLE sdx_user_group
    (db VARCHAR(100) NOT NULL,
    user VARCHAR(50) NOT NULL,
    gr VARCHAR(255) NOT NULL,
    ty CHAR(1) NOT NULL,
    PRIMARY KEY (db, user, gr, ty)
    );
    

    L'administrateur

    Il doit y avoir au moins un administrateur de SDX. Voici les requêtes nécessaires pour le créer :

    INSERT INTO sdx_user (first_name, last_name, code, passwd, language)
    VALUES ('', 'Administrateur', 'admin', 'nimda', 'fr');
    
    INSERT INTO sdx_privilege ( user_code, db_code, type )
    VALUES ('admin', ' ', 's');
    

    Attention ! Il est très fortement conseillé de modifier le mot de passe !

    Ces deux requêtes SQL ont également été testées avec succès sur MySQL version 3.23, InstantDB version 3.25 et Oracle 8i.

    Avec Interbase, utiliser plutôt :

    INSERT INTO sdx_user (first_name, last_name, code, passwd, language)
    VALUES ('', 'Administrateur', 'admin', 'nimda', 'fr');
    
    INSERT INTO sdx_privilege ( user_code, db_code, "type" )
    VALUES ('admin', ' ', 's');
    

    Création de la base de documents sdxdoc

    Afin de montrer les possibilités de SDX, il est intéressant de créer tout de suite une base de documents dont le contenu est fourni avec la distribution. Il s'agit de la documentation que vous êtes en train de consulter.

    Pour ce faire, on doit aller à la page d'accueil SDX (index.xsp), puis s'enregistrer en tant qu'administrateur, dans le formulaire en bas de la page. Une fois cela fait, on retrouve la page d'accueil, mais cette fois avec un lien vers l'administration SDX, dans le haut de la page. Suivre ce lien.

    La page obtenue liste les bases de documents accessibles. Normalement, il ne devrait y en avoir aucune. Il faut donc cliquer sur le lien "Ajouter une base de documents". Dans le formulaire proposé, taper le nom de code sdxdoc ainsi que des informations de base sur l'administrateur de cette base de documents (tous les champs sont obligatoires). Si tout se déroule comme prévu, vous verrez la même page, mais cette fois avec la base de documents créée.

    Ensuite, vous pouvez cliquer sur le code de la base et vous devriez trouver une petite page d'accueil pour cette base de documents. A ce moment, un lien vous indique la procédure à suivre pour charger les document.

    Alimentation de la base de documents sdxdoc

    Pour pouvoir profiter de cette base de documents, on doit y insérer quelques documents XML. Vous pourrez le faire avec la documentation SDX, dont les sources XML sont fournies. Si vous êtes correctement identifiés comme administrateur, vous pouvez suivre le lien Charger des documents XML en vrac et puis indiquer, dans la première zone de texte, le répertoire docs/hyperarticle/xml de la distribution (ces documents doivent être sur un disque accessible au serveur et vous devez préciser le chemin d'accès complet au répertoire).


    he GNU General Public License as published by