Intégration dans un CMS
Sommaire
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 is. 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. They are designed to allow the integration of other pieces of software to provide a modularised website - you add what you want. Primary considerations for integration with a CMS are user authentication (login and registration processes) and theme/template integration. CMS packages are able to use theme/template selectors, very similar to PGV, which allow the quick changing of the look of your web site whilst maintaining the content.
This area contains information on "How To" integrate PGV into these packages and provides links to sites using the relevant software
Joomla!
Joomla is an offshoot from the original [Mambo] project and at this time the two products are very similar.
Joomla! uses Components and Modules to add to a web site. Many third part components and modules have been written to add onto the base components that come with Joomla!. They are added to your Joomla! site via a menu system making it very easy to modify your site. Joomla! comes with a number of inbuilt components/modules. You may not wish to use any/all of these but it is advisable to NOT remove the default components/modules from the system as a full renistall of Joomla is required to restore them - this will include deleting your MYSQL database and therefore your content/site unless you are familiar with MYSQL (be warned from experience).
Modifying PGV Theme for integration with Joomla
Since version 4 menu items are called in header.html which is located in your theme directory. With integration into a Content Management System you may want menu items to appear only if the person is logged into your system. This is particularly relevant to the login options for phpGedView. This can be done on an integration of Joomla, PGV and Ron Fields Component for PGV. It is accomplished using the following code in header.html around the menu item that you wish to only be shown if a person is logged into Joomla:-
$uname = getUserName(); if (! empty($uname)) { menu item goes here }
The line beginning with $uname only needs to be present once if you choose to use it on multiple items. Even if a person goes to PGV directly, http://yoursite.example/phpgedview the items will not be displayed.
That menu item appear will only appear if the person is logged into Joomla.
This has not been tested on any other integration but I can not see why it would not work.
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.
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
- The Lewis Family
- Gilhousen Family Association
- Morton families
- Ron Field
- The Bearne FamilyJoomla 1.0.15 and PhpGed 4.1.4
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.
- The user database is shared between the two programs.
- You need only one login Id for both programs.
- PhpGedView is not viewed inside an Iframe.
- This allows for better search engine indexing.
- It also allows for bookmarking of pages within PhpGedview.
- The user database is shared between the two programs.
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.