Integrate with CMS

From PGVWiki
Revision as of 17:38, 16 May 2010 by Momse (talk | contribs) (→‎Document/File Repositories)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Content Management Systems

PhpGedView has been integrated with various Content Management Systems (CMS). Wikipedia tells us what a Content Management System is. It is possible for PhpGedView to be integrated into these systems quite successfully. There are also a number of different CMS packages avaailable.

CMS allow the easy creation of a website without detailed knowledge of 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.4.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.

Click to Enlarge Image of Component Configuration

Tested with Joomla! 1.5.10, PhpGedView 4.1.6 - 4.2.1 and com_gedview 1.4.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.