New simpl_add-on released “Simpl_privacy”

On the forum at webtrees.net recently there has been a lot of discussion about the risk that data errors might accidentally expose living people’s details to public view.

Although I do not feel there is a major issue for webtrees to “fix”, I have myself very occasionally found it difficult to identify the reason for such accidental displays of living people.

This module seeks to reduce that problem simply by providing a note of the privacy status of each individual in a discrete sidebar element on each individual’s page. In addition it includes a narrative about the data that has resulted in the status, making it easy to then identify and if appropriate rectify the error.

Privacy status is identified as Dead, Living, or “Presumed dead”, each of which is explained further in the linked help text.

As always the module includes it’s own “ReadMe” file explaining how to install it. The module is available at simpl_privacy.

Part 3 of “An alternative to webtrees’ FAQ module”

For the next step I want to make some changes to the structure of the the pMF pages to overcome some of the issues listed earlier. But at this stage I want to do it in a way that will be universal across any webtrees theme, so involving layout only, not styles. That means a single “webtrees” theme for pMF will work on any webtrees site. This solution will still leave some issues I want to fix, but takes a lot less effort to create and maintain.

  • First we need to create a new theme in pMF. That is a simple matter of copying the existing “default” theme and renaming it. The standard theme is /faq/assets/template/default. Copy that whole folder, and call it /faq/assets/template/webtrees.
  • Login to the administration pages of pMF. You will find an option under Configuration – Main configuration for  “Template set to be used”. Change this to “webtrees” and save.

    (Note: This option does not appear until there is more than one template available.)

  • To change the overall layout of pMF requires replacing the file index.tpl in your newly created webtrees template. Download the file index.zip from the attachments list at the end of this post, and use the file it contains to replace the one copied from the default template.

You will now have a tidier looking FAQ page within your webtrees framework, similar to this:

faq2

One last change before this part is completed. By removing the header from pMF we have also removed the link to pMF’s administration pages. Replace it by adding a second menu item in the webtrees simpl_menu2 settings. Name it something like “FAQ admin“, give it a link of faq/admin, and set its access level to “show to managers”. This will give only you, as admin (unless you have other managers on your site), access to the pMF administration. It will open in a new window, outside of webtrees, which avoids any iframe complications, and will require you to login using the admin credentials you used when setting up pMF.

That completes the second level of a solution for embedding phpMyFAQ in webtrees. The final part will tackle modifying the pMF style sheets to make pMF look and feel more like a native component of webtrees.

An alternative to webtrees’ FAQ module – part 2

As discussed in part 1, I am looking at a series of different options for implementing phpMyFAQ (“pMF”).

This first approach is the easiest to implement, as it requires no adjustment to pMF beyond its standard configuration options. All that is required are the following steps:

  1. Install pMF following its supplied installation instructions into a sub-folder (not sub-domain) of your webtrees folder. For convenience I suggest you name that folder “faq”, and all my following steps assume you have done that. If you choose a different name just change the instructions accordingly. The URL for your installation of pMF will therefore be “http://yourwebtreesdomain/faq/”.
  2. Create a simple php file to contain the code webtrees needs to display pMF in an iframe or wrapper as explained in this article here under the heading “Managing the height of iframes”. I called my file “phpmyfaq.php”
  3. Install and enable the add-on “simpl_menu2” from our collection here, and configure it to link directly to the file  “phpmyfaq.php” created in step 2 above, and set it’s access levels to whatever you feel right for your site.
  4. Optionally – change line 38 of the file module.php in simpl_menu2 from “Menu” to “FAQ”, so that your FAQ menu icon has a more appropriate name. You might also want to consider replacing the default menu icon with an FAQ related image. As you may see below, I chose to use an adaptation of the phpMyFAQ logo.
  5. In webtrees’ administration pages disable the standard FAQ page. You can do this by disabling the module, or by changing the access level of the menu item, or both.
  6. In pMF you can now create your categories, sub-categories, FAQs, news items etc.. If you want to transfer existing webtrees FAQ items to pMF it might be possible to do it in the database tables, but is probably best done by a simple copy & paste between the two pages displayed in your browser window(s).

Once these steps are complete you will have pMF available in your webtrees pages much like my trial shown below.

faq1

This is certainly a workable solution, and may suit some people. But for me it remains incomplete. It has an invitation for users to “sign up” which could confuse; it has it’s own header and footer elements that add to the page complexity; it allows non-registered visitors to submit FAQs, and it’s overall look or style is totally different to webtrees.

My next update will look at correcting some of these these issues.

An alternative to webtrees’ FAQ module

In a recent forum post on webtrees.net a member asked “Would it be feasible to have section headers in the FAQ?

The short answer I gave was “no, it is not currently possible, and given the generally low use of FAQs, it is not likely to be a priority to develop such a change“.

However I do think the idea has some merit.

I have mixed views on FAQs myself. I firmly believe they are rarely used or read, but at least if they exist they do provide somewhere to point people to rather than keep repeating the same advice.  So rather than suggest a significant change to webtrees, I suggested that perhaps there is a suitable already-existing software that could achieve the same goal.

Looking around the web I found phpMyFAQ. It is a very comprehensive FAQ tool, written in php, using a MySQL database, and is open source. In other words, a near perfect match for webtrees! Those features also make it a great fit for webtrees’ stated aim “… to be efficient and effective by using the right combination of third-party tools, design techniques and open standards“. (stated on the Home page of webtrees.net).

So I have started to develop a way, or ways, to utilise “pMF” in webtrees, without requiring major programming effort. On this page I aim to talk about what I have found and the solutions I have tried. At the same time I am amending my own Our Families site to use pMF. Once completed I will publish the solutions, and if necessary a module to help. Feel free to comment here if you have any thoughts on the issues raised.

Progress report 1

To start I will list some of the problems involved in using pMF in webtrees  Not, I must stress, because there is anything wrong with pMF, but to document some things that do need considering in this situation.

  1. pMF is currently in the midst of a major upgrade. The current stable release is version 2.7.9, but it’s replacement, 2.8.0, is close to release, and is quite significantly different (better from what I can see). Therefore all my development is based on 2.8.0.
  2. pMF has it’s own comprehensive user management system. Because I intend avoiding any major programming, and in particular any hacking of pMF’s code, I will be ignoring that aspect completely, with the sole exception of a single admin user necessary to create and edit FAQs.
  3. pMF 2.8.0 makes extensive use of ‘bootstrap’ styling and css. This is great for pMF, but not currently practical for webtrees. So styling will be different. I expect this will result in two or perhaps three alternative levels of integration, with the simplest being just linking to a default pMF installation and the most complex being a custom theme to match one or more of the webtrees themes (and / or simpl_themes).
  4. A major design aspect to pMF’s functionality is the ability of members / users to add their own questions, to which an administrator can add answers, creating a full FAQ. Without  using pMF’s user database, webtrees will not have access to that part of the system. All FAQs will need to be entered by a single webtrees admin, or group of webtrees users manually added to pMF. But that is no different to the standard webtrees FAQ module, so should not be a major issue.

That will do as a list for now. I’m sure there will be more as I progress. I do already have pMF operational on Our Families, but not yet to a stage where I can make it visible to guests. I can however report that it was very straightforward to install, with many similarities in both requirements and set up process to webtrees. It certainly more than satisfies the original request “…to have section headers in the FAQ…”. So at this stage it is looking good 🙂

I will add more soon.

Using simpl_menu and keeping pages within webtrees’ framwork

As I browse webtrees sites I’m always pleased to find people using the “simpl_menu” module. Its a great way to introduce other pages or software products into your family history site. Examples I’ve seen include blogging software and gallery products like Gallery2.

But, I do think many people are missing a great opportunity to maintain a sense of continuity within their webtrees site. Of course this might be by choice, and that’s fine, but I wonder if sometimes it is because users are not aware they can link to external pages AND keep them within the webtrees menu structure. For a simple example of what I am talking about, go to my Our Families site. Select Other -> My tools. That is a menu created with simpl_menu linking to a basic HTML page saved to the webtrees root directory.

The ‘trick’ to keeping that page within the webtrees structure is in its header:

<?php
define('WT_SCRIPT_NAME', 'simpl_utilities.php');
require './includes/session.php';
require_once WT_ROOT.'library/WT/Controller/Base.php';
global $controller;
$controller=new WT_Controller_Page();
$controller
	->setPageTitle(WT_I18N::translate('Utility tools'))
	->pageHeader();
echo '<h2>', WT_I18N::translate('Utility tools'), '</h2>';
?>

Everything below that is just normal HTML, and (in this case) some javascript. But you can add whatever you want, and of course adjust the text in that snippet to suit your needs.

That works fine for a simple HTML page, but what if you want to embed Gallery2, or a forum like phpBB? The answer to that is to take a leaf out of Joomla’s book, and use what they term a “wrapper”, better known as an iframe. This exists for just such a purpose, to embed an external web page within an existing framework.

There are a some things to consider with this approach though:

  1. If such products require their own login, I recommend disabling it. Manage access via webtrees’ module administration for simpl_menu setting access to members only if you don’t want casual visitors to see the page.
  2. If you want those products to blend seamlessly with your webtrees site you will need to adapt their theme to match your preferred webtrees one. That is generally not hard to do, but can take time to perfect. I also suggest in such cases that you do NOT allow your users to switch between different webtrees themes. Select your default, and fix it at that.
  3. One of the greatest drawbacks with iframes is controlling their dimensions. It’s easy enough with css to ensure the width if the frame fits your site correctly, but the height can be tricky, as the height of the content can vary from page to page. But there are solutions, such as the one described below.

Managing the height of iframes

Typically in products like Joomla the solution is to set a height greater than the maximum you think you will ever need. But that can push your webtrees’ footer so far down an empty page no-one ever sees it! Alternatively, if you set the height too short, you will get an ugly vertical scroll bar, or perhaps even two if your webtrees page needs one of its own!

What is needed is a dynamic height that automatically adjusts as the content of the iframe changes. Fortunately webtrees includes the full jQuery library, making exactly such a solution possible. If you Google the issue your will find a number of solutions. The one I prefer, and have fully tested in webtrees is below here, shown as additional code on the same header described above. This is taken from a solution I am developing to include the great FAQ software phpMyFAQ.

<?php
define('WT_SCRIPT_NAME', 'phpmyfaq.php');
require './includes/session.php';
$controller=new WT_Controller_Page();
$controller
	->setPageTitle(WT_I18N::translate('FAQs'))
	->pageHeader()
	->addInlineJavascript('
		var iFrames = document.getElementsByTagName("iframe");
		function iResize() {
			iFrames.style.height = iFrames.contentWindow.document.body.offsetHeight + "px";
		}
		jQuery("iframe").load(function() {
			this.style.height = this.contentWindow.document.body.offsetHeight + "px";
		});
	');
?>
<iframe id="myFrame" src="phpmyfaq/index.php" width="98%" scrolling="no" frameborder="0" style="width:100%;"></iframe>
Latest Release – a new theme “simpl_designer”.

After a long wait the latest theme is now available – and it is VERY different from anything produced before!

Key features include:
1 – Configurable colour / font and other options in a unique admin module.
2 – A unique block layout on the Home page.
3 – Bold colour scheme.
4 – Social media “Like” buttons
5 – Login drop-down from top menu

WARNING: This theme is more complicated than “normal” themes, and has limitations on how it can be used.

When you have downloaded the zip file, unpack it on your desktop. It contains a “ReadMe” folder. In there click on the file “read.html” and study that carefully. Do NOT try to install this until you have read those instructions.

You can see the theme “in action” at simpl_designer demo and you can download it here.

It incorporates a number of new concepts, and could contain more. So please let me have your feedback on our forum.