Intégration dans un CMS

De PGVWiki
Sauter à la navigation Sauter à la recherche

Système de gestion de contenu (ou CMS: Content Management Systems)

PhpGedView a été intégré dans divers Content Management Systems (CMS). Wikipedia nous dit ce qu'est un système_de_gestion_de_contenu. Il est possible d'intégrer PhpGedView dans ce type de système assez facilement. Il existe par ailleurs de nombreux paquets CMS disponibles.

CMS offre la possibilité de créer facilement un site web sans avoir besoin de connaître avec précision le language html. Les CMS sont conçus pour faciliter l'intégration d'autres morceaux de logiciels afin de fournir un site web modularisé - vous ajoutez ce que vous voulez. Les premiers facteurs à prendre en compte pour une intégration dans un CMS sont l'authentification de l'utilisateur (login et processus d'enregistrement) et l'intégration d'un thème/maquette. Les paquets CMS peuvent utiliser des sélectionneurs de thèmes/maquettes, similaires à ceux utilisés par PGV, qui permettent une modification rapide de l'esthétique de votre site web tout en conservant le contenu inchangé.

Cette page contient les informations sur "comment" intégrer PGV dans un CMS et fournit des liens vers des sites qui utilisent des logiciels adéquats.

Joomla!

Joomla est un rejeton du projet original [Mambo] et les deux produits sont très similaires.

Joomla! utilise des composants et des modules qui permettent d'éjouter un site web. Beaucoup de composants et de modules ont été écrits pour pouvoir être ajoutés sur les composants de base de Joomla. Ils s'ajoutent à votre site Joomla! par l'intermédiaire d'un système de menu qui rend très facile la modification de votre site. Joomla! possède un certain nombre de composants/modules qui font partie intégrante du logiciel. Vous pouvez choisir de ne pas les utiliser mais il est conseillé de ne PAS supprimer les composants/modules par défaut du système car une réinstallation complète de Joomla sera alors nécessaire pour les restaurer - cela inclut la suppression de votre base de données MYSQL et donc le contenu de votre site à moins que vous ne soyez familier avec MYSQL (prenez garde à l'experience).


Modifier le thème de PGV pour une intégration dans Joomla

Depuis la version 4 de PhpGedView, les rubriques de la barre de menu items sont appelées par le fichier header.html qui est localisé dans votre répertoire PhpGedView/theme. Lorsque vous décidez d'intégrer PhpGedView dans un système de management de contenu (CMS) vous souhaitez en règle générale que les rubriques du menu n'apparaissent que si la personne s'est authentifiée. Celà s'applique en particulier à phpGedView. Cette option est tout à fait réalisable si vous décidez d'intégrer PhpGedView dans Joomla, en utilisant les composants développés par Ron Fields pour PGV. Il suffit d'utiliser les lignes de code suivantes dans le fichier header.html dans la partie de ce fichier qui concerne la rubrique du menu pour laquelle vous ne souhaitez un accès qu'aux seuls les utilisateurs authentifiés dans Joomla:-

  $uname = getUserName();
    if (! empty($uname)) {
     la rubrique du menu se trouve à cet endroit
    }

La ligne commençant par $uname n'a besoin d'être présente qu'une seule fois si vous choisissez de l'utiliser pour plusieurs rubriques du menu. Même si une personne se rend directement sur PGV, http://votresite.exemple/phpgedview les rubriques du menu ne s'afficheront pas.

La rubrique du menu ne s'affichera que si la personne s'est authentifiée dans Joomla.

Ce qui est décrit précédemment n'a pas été testé avec d'autres intégrations mais je ne vois pas pourquoi cela ne fonctionnerait pas.

Composants/Modules

Composant PhpGedView

Il exsite un composant com_gedview qui a été développé pour intégrer PhpGedview avec Joomla!. Ce composant a été développé par Ron Field et Veit Olschinski. La dernière version 1.3 se trouve ici.

Le composant com_gedview permettra uax utilisateurs authentifiés d'être automatiquement enregistrés dans phpGedView (en fonction des paramètres définis par l'administrateur de PhpGedView).

Pour que le composant com_gedview puisse fonctionner, vous devez tout d'abord installer PhpGedView dans un répertoire qui se trouve dans le même domaine que Joomla et le configurer pour votre système. Pour intégrer PhpGedView à Joomla vous devez installer ensuite le composant par l'intermédiaire du menu et le configurer en fonction des paramètres de votre système.

Erreur lors de la création de la miniature : Fichier manquant
Cliquez pour agrandir l'image de la configuration du composant

Testé avec Joomla! 1.5.5, PhpGedView 4.1.5 et com_gedview 1.3.

Gallery 2

Gallery est un album photo électronique. Les composants/Mmodules qui doivent être intégrés dans Joomla ont été écrits et sont disponibles. Il exsite un composant qui permet l'integration de Gallery2 dans Joomla et actuellement, il existe deux modules – un module Sidebar (pour contrôler les actions de l'album et la navigation lorsque vous utilisez le composant Gallery 2) et un module Image aléatoire (qui permet d'afficher une image aléatoire de votre module Gallery 2 sur votre page d'accueil).

Pour la version de Joomla 1.5 les composants, modules, et plugins suivants sont disponibles (à la date d'octobre 2008) à partir du site joomlacode.org. Il faut noter qu'il s'agit de versions ALPHA:

  • com_g2bridge - le composant principal
  • mod_g2bridge_sidebar
  • mod_g2bridge_imageblock
  • plg_g2bridge_search
  • plg_g2bridge_user
  • plgcb_g2bridge_cb

Après avoir installé le composant Gallery2 Bridge vous devrez le configurer à partir du menu Composants -> Gallery 2 Bridge:

  • Gallery 2 Path: le chemin complet et le nom complet du fichier de Gallery 2 embed.php. Par exemple: /var/www/gallery2/embed.php
  • Gallery 2 URI: L'URI de l'installation native de Gallery 2. Par exemple: http://www.monsite.net/gallery2/
  • Login Redirect: L'URL pour afficher la page de login de Joomla login. Par exemple: /index.php?option=com_login
Dépots des Document/Fichiers

Ces modules vous permettront de partager et d'accepter des fichiers avec d'autres personnes. Cela peut vous aider dans vos recherches généalogiques etc... Exemples de ce type de module:

Guest Books

This allows visitors to your site to leave feedback. This area has been subject to spamming so it is suggested that you use a component that requires some form of additional security such as image identification to stop unsolicited use of your site. Examples of them include:-

Group Access

One of the limitations I have found with Joomla is the number of groups that can be created to restrict/give access to users. This is apparently being looked at in a later version. There are some things I only want to see when I log on (menu items / personal blog / local weather) are just a few possible examples. I have been able to do this using a component called Group Access. It is a bit difficult to find and appears to have dropped off the net but it can be accessed at

Group Access Download and my web site (there are two parts to this a component and a module make sure you get both if downloading from here).

You can also look at JACLPlus from www.byostech.com this is a hack of the main joomle code so it is best to use there joomla upgrade patches as the normal joomla patch will beak your site.

Problems and tips

You need to watch your permission's in the joomla menu as the most restictive wins even if it not been shown ( I had a family only menu and had a like to PHPGED locked down in the menu which meant that the link in the main menu was there but guest user got an permission error from that link)

Component List

A Joomla user has listed and categorised some components/modules that are available. It is makes looking much easier and is available here

Example Sites

Remember all these sites are using the same CMS but have just applied different templates.

CPG-Nuke DragonflyCMS

A very basic module for installing PhpGedView within Dragonfly which utilises the current Dragonfly Theme and menu system as a wrapper using iframes around PhpGedView is available here http://dragonflycms.org/Downloads_9x/details/id=284.html

It may be seen in action at Pretzy's Place Pertzel Family Tree History site here http://pretzy.dnsalias.com The module can also be downloaded from my site's Downloads section

A second version of this module is being created which will integrate a single sign on for both programs and some extra features in the admin section of Dragonfly

phpNuke & PostNuke

Within the PGV distribution, there is a pgvnuke folder for integration with phpNuke and PostNuke. Follow the instructions in the postged-readme.txt file for more information.

Xoops

Separate, but closely following the PGV project, is PGVXooops, which is a modified version of PGV for use with Xoops-based web sites. This project is being maintained at phpGedView for Xoops.

PhpGedView for Xoops (revived), known as PGVXoops, is a project to integrate PGV 3.3.5 into Xoops 2.0.* as a module. The original integration was done by Patrick Kellum and was later revived by Steve Kenow.

  • There are two main benefits to using this integration.
    1. The user database is shared between the two programs.
      • You need only one login Id for both programs.
    2. PhpGedView is not viewed inside an Iframe.
      • This allows for better search engine indexing.
      • It also allows for bookmarking of pages within PhpGedview.

However, with this type of visual integration some conflicts arose. This integration includes PGV theme modifications to eliminate many of the conflicts with Xoops html and css selectors. Make sure to use the included themes.

Notes:

* A patch for the SunTzu Worm (only for PGV 3.3.5) is also available on the projects website, PGVXoops.
* Please direct all support questions for this integration to the PGVXoops forums.
* A patch for PGVXoops is available to make it compatible with PhpGedView 3.3.8. It can be found in the patches section Here,
  along with the instructions.


Wordpress

See integrating PhpGedView with Wordpress

PGV with new Menu

You can also display contents by a added PGV-menu, inside of PGV, described in a tutorial.

PGV with Drupal

There is a development level module for the drupal CMS which can be found on the drupal website. There has been mixed success with getting it to work. The results on the author's website look encouraging though.