Webtrees

De wikilivois
Sauter à la navigation Sauter à la recherche


Webtrees est un logiciel de généalogie libre sour forme de site web. Il est utilisé par livois.com et des démos sont proposées sur son site officiel.

Installation

https://wiki.webtrees.net/fr/Installation

  • Télécharger et dézipper la dernière version de webtrees
  • Aller sur <site>/webtrees et suivre la procédure d'installation
  • La page <site>/webtrees/admin_site_readme.php donne des explications complémentaires.

Geonames

Créer un compte geonames

SSO avec Drupal 7

A noter que le développement de la partie configuration n'est pas terminé. Il faut donc l'adapter un peu.


Pour forcer la langue en français (sinon l'arbre apparait en anglais), changer en-US en fr-FR.

  webtrees.module
$data['locale']=isset($webtrees->settings['locale']) ? $webtrees->settings['locale'] : 'fr-FR';
  $data['theme_id']=$theme ? $theme : 'colors';


Lors de la création d'utilisateurs, webtrees met à jour deux tables:

  • wt_user_gedcom_setting avec le paramètre canedit qu'il faut passer a edit pour les editeurs.
  • wt_user_setting avec la plupart des informations de compte (utilisateur vérifié, modifications autoacceptées,la langue, la zone, etc ...)

Pour donner les droits d'éditions aux utilisateurs authentifiés Il faut remplacer le rôle par défaut none à edit dans WebtreesUser.inc

  src/Helper/WebtreesUser.inc
  // check if administator
            $admin=$this->my_config->get('role.drupal.administrator');
            if ($admin && $user->hasPermission($admin)) {
              $canadmin='1';
              $this->role='admin';
            } else {
              $canadmin='0';
              $this->role='none';
              $this->role='edit';
              $role=$this->my_config->get('role.drupal.moderator');
              if ($role &&  $user->hasPermission($role)) {
                $this->role='accept';
              } else {
                  $role=$this->my_config->get('role.drupal.editor');
                  $this->log(t('Debug webtrees livois: ').$role);

                if ($role &&  $user->hasPermission($role)) {
                  $this->role='edit';
                }
              }
            }


A noter que la configuration module webtrees qui fait la correspondance entre les droits drupal (utilisateurs authentifiés) et les droits webtrees (access, edit, gestionnaire, ...) ne fonctionne pas pour Drupal 7. Il ne faut surtout rien configurer dans le module Drupal sinon cela génère une erreur. En effet, la fonction hasPermission n'existe que pour Drupal 8.


Pour créer les utilisateurs automatiquement, avec les paramètres que l'on veut Il faut adapter le code à la fin du fichier WebtreesUser.inc. Il n'est pas terminé et et ne prend pas encore compte des informations de l'interface d'administration.

  src/Helper/WebtreesUser.inc
// may get some settings from configuration form in the future
            $this->settings=array (
              'admin' => '0',
              'canadmin' => $canadmin,
              'autoaccept' => $this->get('autoaccept')?'1':'0',
              'autoaccept' => '1',
              'comment' => $this->get('comment'),
              'comment' => 'User added by Webtrees Drupal module',
              'comment_exp' => $this->get('comment_exp'),
              'defaulttab' => '0',
              'language' => $this->get('language'),
              'language' => 'fr',
              'contactmethod' => $this->get('contactmethod'), //messaging1, messaging2, mailto, none
              'contactmethod' => 'messaging1', //messaging1, messaging2, mailto, none
              'max_relation_path' => '1',
              'max_relation_path' => '0',
              'pwrequested' => '',
              'reghascode' => '',
              'reg_timestamp' => time(),
              'session_time' => time(),
              'sync_gedcom' => '0',
              'TIMEZONE' => $this->get('timezone'),
              'TIMEZONE' => 'Europe/Paris',
              // at least one of the verified options should be set. Set if both defaults are not set.
              'verified' => $this->get('verified')?'1':($this->get('verified_by_admin')?'0':'1'),
              'verified' => '1',
              'verified_by_admin' => $this->get('verified_by_admin')?'1':'0',
              'verified_by_admin' => '1',
              'visibleonline' => $this->get('visibleonline')?'1':'0',
              'visibleonline' => '1',


Configuration

Gestion des couleurs et palettes

Les couleurs du site peuvent être choisies à 3 niveaux

  • le site
  • l'arbre généalogique
  • l'utilisateur

Si on veut forcer la couleur, il faut interdire à l'utilisateur de la changer.

  • Préférences du site web
    • Thème par défaut: colors
    • Permettre aux utilisateurs de choisir leur propre thème : non
  • Gérer les arbres généalogiques => Préférences => Préférences de l’utilisateur
    • Menu pour changer de thème : masquer
    • Thème par défaut : colors
  • Utilisateurs => Définir les blocs par défaut
    • Mettre changer de thème dans les blocs "disponibles" (donc inactifs)

Le fonctionnement du choix de la palette est codé dans le fichier app/Theme/ColorsTheme.php Pour colors, le défaut est ash (mais on peut le changer dans ce fichier). Sinon, c'est la couleur choisie par le compte de l'administrateur qui gagne.

if (Auth::isAdmin()) {
               Site::setPreference('DEFAULT_COLOR_PALETTE', $this->palette);

Copyright

© 2019 Christophe de Livois

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. Pour plus d'informations consulter le site de l'APRIL.