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.

Components/Modules

PhpGedView Component

There is a component com_gedview already developed to integrate Gedview with Joomla!. It was developed by Ron Field and Veit Olschinski. The latest version 1.3 can be found here.

The component com_gedview will allow registered users to be automatically registered with phpGedView (depending upon your choice of settings).

For the component com_gedview to work you first install PhpGedView in a directory on the same domain like Joomla and configure it for your system. To integrate it with Joomla you then install the component via the menu system and configure the component with the settings relevant to your system.

Erreur lors de la création de la miniature : Fichier manquant
Click to Enlarge Image of Component Configuration

Tested with Joomla! 1.5.5, PhpGedView 4.1.5 and com_gedview 1.3.

Gallery 2

Gallery is an electronic photo album. Components/Modules to integrate it into Joomla have been written and are available. There is a component that allows the integration of Gallery2 into Joomla and Currently, there are two modules – a Sidebar module (for controlling album actions and navigation while you are using the Gallery 2 component) and a Random Picture module (for displaying a random picture from your Gallery 2 installation on your home page).

For Joomla 1.5 the following components, modules, and plugins are available (as of October 2008) from joomlacode.org. Note that these are ALPHA versions:

  • com_g2bridge - the main component
  • mod_g2bridge_sidebar
  • mod_g2bridge_imageblock
  • plg_g2bridge_search
  • plg_g2bridge_user
  • plgcb_g2bridge_cb

After installing the Gallery2 Bridge you need to configure it from the Components -> Gallery 2 Bridge menu:

  • Gallery 2 Path: the full file system path and filename of the Gallery 2 embed.php file. Ex. /var/www/gallery2/embed.php
  • Gallery 2 URI: the URI of the native Gallery 2 installation. Ex http://www.mysite.net/gallery2/
  • Login Redirect: the URL to display the Joomla login page. Ex. /index.php?option=com_login
Document/File Repositories

These modules will allow you to share files with others and accept files from others. This may assist you with family research etc. Examples of them include:-


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.