<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.phpgedview.net/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Momse</id>
	<title>PGVWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.phpgedview.net/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Momse"/>
	<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php/Special:Contributions/Momse"/>
	<updated>2026-06-03T07:57:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=PGVWiki_talk:Namespace&amp;diff=12253</id>
		<title>PGVWiki talk:Namespace</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=PGVWiki_talk:Namespace&amp;diff=12253"/>
		<updated>2010-06-16T13:14:50Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* genealogy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Page types (Namespaces)==&lt;br /&gt;
At [[PGVWiki:Namespace]] I explain a little about page types, which are called namespaces in Mediawiki lingo.  I would like comment especially on PGVWiki vs. PGV Wiki.  Which name is going to be &amp;quot;correct&amp;quot;? I have been using PGVWiki.  But now I see the installation is called PGV Wiki. And the logo is split.  Maybe I should take a hint?  [[User:Tom Haws|Tom Haws]] 07:50, 24 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
:In line with the naming conventions used by Mediawiki [[User:Tom Haws|Tom]]is right and that the namespace should be PGVWiki (with a capital W).  The default configuration  made during installation (using the space), has been changed removing the space so automatic pages will now show PGVWiki without the space.  The logo that we are currently using is open for development and the community selecting an appropriate icon.  I personally feel that an icon based on the Mediawiki icon of the blue [[ ]] brackets and an image of a tree would look very good.  It would also show the wiki's roots (after all we are about family histories).  I am not sure you even need the name but if the name is used it should be '''PGVWiki'''. --[[User:Laurie|Laurie]] 08:13, 24 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
: (edit conflict) The only rational reason I can think of for why it would have to be PGVWiki instead of PGV Wiki is if we wanted to plan for and be harmonized with a possible pgvwiki domain name someday. [[User:Tom Haws|Tom Haws]] 08:15, 24 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
::Thanks, Laurie.  Those sound like great plans!  If a page is a page ''about PGVWiki'' instead of ''about phpGedView'', it should be prefixed with PGVWiki:  This helps us keep a clear mental distinction between the audiences and purposes for our pages.  I was also thinking that the pages with no prefix might ought to be called something special like &amp;quot;articles&amp;quot; to distiguish them from all the rest of the stuff behind the curtain.  [[User:Tom Haws|Tom Haws]] 08:20, 24 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
==Suggested Naming Conventions==&lt;br /&gt;
Submitted by --[[User:Laurie|Laurie]] 08:59, 24 November 2005 (EST)&amp;lt;br&amp;gt;&lt;br /&gt;
[[PGVWiki talk:Community Portal|Discussion on this topic has been moved to here]]&amp;lt;br&amp;gt;&lt;br /&gt;
PGVWiki has at this time four (4) areas (shown in sidebar)&lt;br /&gt;
:*phpgedview&lt;br /&gt;
:*genealogy&lt;br /&gt;
:*site help&lt;br /&gt;
:*pgvwiki community&lt;br /&gt;
&lt;br /&gt;
===phpgedview===&lt;br /&gt;
At present this menu area has a number of sub sections defined.  They are&lt;br /&gt;
:*Main Page&lt;br /&gt;
:*Installation Guide&lt;br /&gt;
:*User Guide&lt;br /&gt;
:*Administrator Guide&lt;br /&gt;
:*How To&lt;br /&gt;
:*FAQ&lt;br /&gt;
&lt;br /&gt;
All pages created in these sections should have the phpGedView logo at the top with a line underneath.  This shows that these pages are directly linked to phpGedView.&lt;br /&gt;
&lt;br /&gt;
The main page for each of these sections (and any others that are created) will be called the same as the menu name.  All sub pages under the sections top page will be named:- SectionName:PageName (please note that there are no spaces before and after the colon).&lt;br /&gt;
&lt;br /&gt;
===genealogy===&lt;br /&gt;
All pages created in this section will be start be in the format Genealogy:PageName (please note that there are no spaces before and after the colon).&lt;br /&gt;
&lt;br /&gt;
===site help===&lt;br /&gt;
All pages created in this section will be start be in the format Help:PageName (please note that there are no spaces before and after the colon).  &lt;br /&gt;
===pgvwiki community===&lt;br /&gt;
All pages created in this section will be start be in the format PGVWiki:PageName (please note that there are no spaces before and after the colon).&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Configuration_-_Display_and_Layout_-_Layout&amp;diff=12252</id>
		<title>Configuration - Display and Layout - Layout</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Configuration_-_Display_and_Layout_-_Layout&amp;diff=12252"/>
		<updated>2010-06-15T14:10:52Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Surname List Style */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Part of:'' [[Configuration File|GEDCOM Configuration]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
==Display and Layout - Layout==&lt;br /&gt;
====Pedigree Generations====&lt;br /&gt;
[[Image:4_layout_1.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Set the default number of generations to display on Pedigree charts.&lt;br /&gt;
&lt;br /&gt;
====Maximum Pedigree Generations====&lt;br /&gt;
[[Image:4_layout_2.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Set the maximum number of generations to display on Pedigree charts.&lt;br /&gt;
&lt;br /&gt;
====Maximum Descendancy Generations====&lt;br /&gt;
[[Image:4_layout_3.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Set the maximum number of generations to display on Descendancy chart&lt;br /&gt;
&lt;br /&gt;
====Default Pedigree Chart Layout====&lt;br /&gt;
[[Image:4_layout_4.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option indicates whether the Pedigree chart should be generated in landscape or portrait mode.&lt;br /&gt;
&lt;br /&gt;
====Place Levels To show In Person Boxes====&lt;br /&gt;
[[Image:4_layout_5.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This sets how much of the place information is shown in the person boxes on charts.&lt;br /&gt;
&lt;br /&gt;
Setting the value to 9 will guarantee to show all place levels. Setting the value to 0 will hide places completely. Setting the value to 1 will show the first level, setting it to 2 will show the first two levels, etc.&lt;br /&gt;
&lt;br /&gt;
====Zoom Boxes on Charts====&lt;br /&gt;
[[Image:4_layout_6.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Allows a user to zoom boxes on charts to get more information.&lt;br /&gt;
&lt;br /&gt;
Set to Disabled to disable this feature. Set to On Mouse Over to zoom boxes when the user mouses over the icon in the box. Set to On Mouse Click to zoom boxes when the user clicks on the icon in the box.&lt;br /&gt;
&lt;br /&gt;
====Popup Links on Charts====&lt;br /&gt;
[[Image:4_layout_7.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Allows the user to select links to other charts and close relatives of the person.&lt;br /&gt;
&lt;br /&gt;
Set to Disabled to disable this feature. Set to On Mouse Over to popup the links when the user mouses over the icon in the box. Set to On Mouse Click to popup the links when the user clicks on the icon in the box.&lt;br /&gt;
&lt;br /&gt;
====Default Tab to Show on Individual Page====&lt;br /&gt;
[[Image:4_layout_8.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option allows you to choose which tab opens automatically on the Individual page when that page is accessed.&lt;br /&gt;
&lt;br /&gt;
This sets $GEDCOM_DEFAULT_TAB in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====Automatically Expand Sources====&lt;br /&gt;
[[Image:4_layout_9.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option controls whether or not to automatically display content of a Source record on the Individual page.&lt;br /&gt;
&lt;br /&gt;
====Show Events Of Close Relatives On Individual Page====&lt;br /&gt;
[[Image:4_layout_10.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Births, marriages, and deaths of relatives are important events in one's life. This option controls whether or not to show these events on the Personal facts and details tab on the Individual page.&lt;br /&gt;
&lt;br /&gt;
The events affected by this option are:&lt;br /&gt;
&lt;br /&gt;
::* Death of spouse&lt;br /&gt;
::* Birth and death of children&lt;br /&gt;
::* Death of parents&lt;br /&gt;
::* Birth and death of siblings&lt;br /&gt;
::* Death of grand-parents&lt;br /&gt;
::* Birth and death of parents' siblings&lt;br /&gt;
&lt;br /&gt;
====Postal Code Position====&lt;br /&gt;
[[Image:4_layout_11.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Different countries use different ways to write the address. This option will enable you to place the postal code either before or after the city name.&lt;br /&gt;
&lt;br /&gt;
====Maximum Number of Surnames====&lt;br /&gt;
&lt;br /&gt;
====Maximum Number of Family Names====&lt;br /&gt;
&lt;br /&gt;
====Surname List Style====&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;del&amp;gt;Break Up Long Lists By The First Letter&amp;lt;/del&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
[[Image:4_layout_12.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For very long Individual and Family lists, set this to Yes to split the list into pages by the first letter of their last name.&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrators Guide]]&lt;br /&gt;
[[Category:phpGedView]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Configuration_-_Display_and_Layout_-_Hide_and_Show&amp;diff=12249</id>
		<title>Configuration - Display and Layout - Hide and Show</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Configuration_-_Display_and_Layout_-_Hide_and_Show&amp;diff=12249"/>
		<updated>2010-06-15T14:03:32Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Show Fact Icons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Part of:'' [[Configuration File|GEDCOM Configuration]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
==Display and Layout - Hide and Show==&lt;br /&gt;
====Upcoming Events Block Day Limit====&lt;br /&gt;
[[Image:4_hide_show_1.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Enter the maximum number of days to show in Upcoming Events blocks. This number cannot be greater than 30. If you enter a larger value, 30 will be used.&lt;br /&gt;
&lt;br /&gt;
The value you enter here determines how far ahead PhpGedView looks when searching for upcoming events. The results of this search, done once daily, are copied into a temporary file.&lt;br /&gt;
&lt;br /&gt;
No Upcoming Events blocks on Index or Portal pages can request more days than this value. The larger you make this, the longer it will take to build the daily database extract, and the longer it will take to display the block, even when you request to display a number of days less than this setting.&lt;br /&gt;
&lt;br /&gt;
====Show Empty Boxes On Pedigree Charts====&lt;br /&gt;
[[Image:4_hide_show_2.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option controls whether or not to show empty boxes on Pedigree charts.&lt;br /&gt;
&lt;br /&gt;
====Allow Users To See Raw GEDCOM Records====&lt;br /&gt;
[[Image:4_hide_show_3.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to Yes will place links on individuals, sources, and families to let users bring up another window containing the raw data taken right out of the GEDCOM file.&lt;br /&gt;
&lt;br /&gt;
====Hide GEDCOM Errors====&lt;br /&gt;
[[Image:4_hide_show_4.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this to Yes will hide error messages produced by PhpGedView when it doesn't understand a tag in your GEDCOM file. PhpGedView makes every effort to conform to the GEDCOM 5.5.1 standard, but many genealogy software programs include their own custom tags. See the readme.txt file for more information.&lt;br /&gt;
&lt;br /&gt;
====Add Spaces Where Notes Were Wrapped====&lt;br /&gt;
[[Image:4_hide_show_5.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Some genealogy programs wrap notes at word boundaries while others wrap notes anywhere. This can cause PhpGedView to run words together. Setting this to Yes will add a space between words where they are wrapped in the original GEDCOM.&lt;br /&gt;
&lt;br /&gt;
====Show Fact Icons====&lt;br /&gt;
&lt;br /&gt;
====Favorites Icon====&lt;br /&gt;
[[Image:4_hide_show_6.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Change this to point to the icon you want to display in peoples' favorites menu when they bookmark your site.&lt;br /&gt;
&lt;br /&gt;
====Show Hit Counters====&lt;br /&gt;
[[Image:4_hide_show_7.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Show hit counters on Portal and Individual pages.&lt;br /&gt;
&lt;br /&gt;
====Show Spider Tagline====&lt;br /&gt;
&lt;br /&gt;
====Show Execution Statistics====&lt;br /&gt;
[[Image:4_hide_show_8.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Show runtime statistics and database queries at the bottom of every page.&lt;br /&gt;
&lt;br /&gt;
====Show GEDCOM Record Last Change Date on Lists====&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrators Guide]]&lt;br /&gt;
[[Category:phpGedView]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Configuration_-_Contact_Information&amp;diff=12248</id>
		<title>Configuration - Contact Information</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Configuration_-_Contact_Information&amp;diff=12248"/>
		<updated>2010-06-15T13:58:35Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* PhpGedView Reply Address */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Part of:'' [[Configuration File|GEDCOM Configuration]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
====PhpGedView Reply Address====&lt;br /&gt;
&lt;br /&gt;
====Genealogy Contact====&lt;br /&gt;
[[Image:4_contact_1.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The person to contact about the genealogical data on this site.&lt;br /&gt;
&lt;br /&gt;
====Contact Method====&lt;br /&gt;
[[Image:4_contact_2.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The method to be used to contact the Genealogy contact about genealogy questions.&lt;br /&gt;
&lt;br /&gt;
{{Contact methods}}&lt;br /&gt;
&lt;br /&gt;
====Support Contact====&lt;br /&gt;
[[Image:4_contact_3.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The person to be contacted about technical questions or errors encountered on your site&lt;br /&gt;
&lt;br /&gt;
====Support Method====&lt;br /&gt;
[[Image:4_contact_4.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The method to be used to contact the Support contact about technical questions.&lt;br /&gt;
&lt;br /&gt;
{{Contact methods}}&lt;br /&gt;
&lt;br /&gt;
{{known_problems|Version 4.1|* The ''PhpGedView sends emails with no storage'' option is mis-labeled and is shown as the ''Mailto link'' option. The ''Mailto link'' option does not exist anymore}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrators Guide]]&lt;br /&gt;
[[Category:phpGedView]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=GEDCOM_Tags&amp;diff=12247</id>
		<title>GEDCOM Tags</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=GEDCOM_Tags&amp;diff=12247"/>
		<updated>2010-06-15T09:20:08Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* PEDI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''This page is currently undergoing changes and each tag is being moved to it's own article. This will help with linking to those terms from other articles etc. Those tags which have already had an article created have a strike through them.''&lt;br /&gt;
&lt;br /&gt;
For those of you who want to know more about the nitty-gritty of GEDCOM files or who would like to be able to read and edit them in your favorite word processor, here are the tags supported by the GEDCOM 5.5 standard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==ABBR==&lt;br /&gt;
{ABBREVIATION} A short name of a title, description, or name.&lt;br /&gt;
&lt;br /&gt;
==ADDR==&lt;br /&gt;
{ADDRESS} The contemporary place, usually required for postal purposes, of an individual, a submitter of information, a repository, a business, a school, or a company.&lt;br /&gt;
&lt;br /&gt;
==ADR1==&lt;br /&gt;
{ADDRESS1} The first line of an address.&lt;br /&gt;
&lt;br /&gt;
==ADR2==&lt;br /&gt;
{ADDRESS2} The second line of an address.&lt;br /&gt;
&lt;br /&gt;
==ADOP==&lt;br /&gt;
{ADOPTION} Pertaining to creation of a child-parent relationship that does not exist biologically.&lt;br /&gt;
&lt;br /&gt;
==AFN==&lt;br /&gt;
{AFN} A unique permanent record file number of an individual record stored in Ancestral File.&lt;br /&gt;
&lt;br /&gt;
==AGE==&lt;br /&gt;
{AGE} The age of the individual at the time an event occurred, or the age listed in the document.&lt;br /&gt;
&lt;br /&gt;
==AGNC==&lt;br /&gt;
{AGENCY} The institution or individual having authority and/or responsibility to manage or govern.&lt;br /&gt;
&lt;br /&gt;
==ALIA==&lt;br /&gt;
{ALIAS} An indicator to link different record descriptions of a person who may be the same person.&lt;br /&gt;
&lt;br /&gt;
==ANCE==&lt;br /&gt;
{ANCESTORS} Pertaining to forbearers of an individual.&lt;br /&gt;
&lt;br /&gt;
==ANCI==&lt;br /&gt;
{ANCES_INTEREST} Indicates an interest in additional research for ancestors of this individual. (See also DESI)&lt;br /&gt;
&lt;br /&gt;
==ANUL==&lt;br /&gt;
{ANNULMENT} Declaring a marriage void from the beginning (never existed).&lt;br /&gt;
&lt;br /&gt;
==ASSO==&lt;br /&gt;
{ASSOCIATES} An indicator to link friends, neighbors, relatives, or associates of an individual.&lt;br /&gt;
&lt;br /&gt;
==AUTH==&lt;br /&gt;
{AUTHOR} The name of the individual who created or compiled information.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==BAPL==&lt;br /&gt;
{BAPTISM-LDS} The event of baptism performed at age eight or later by priesthood authority of the LDS Church. (See also BAPM, next)&lt;br /&gt;
&lt;br /&gt;
==BAPM==&lt;br /&gt;
{BAPTISM} The event of baptism (not LDS), performed in infancy or later. (See also BAPL, above, and CHR, page 73.)&lt;br /&gt;
&lt;br /&gt;
==BARM==&lt;br /&gt;
{BAR_MITZVAH} The ceremonial event held when a Jewish boy reaches age 13.&lt;br /&gt;
&lt;br /&gt;
==BASM==&lt;br /&gt;
{BAS_MITZVAH} The ceremonial event held when a Jewish girl reaches age 12, also known as &amp;quot;Bat Mitzvah.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==BIRT==&lt;br /&gt;
{BIRTH} The event of entering into life.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==BLES==&lt;br /&gt;
{BLESSING} A religious event of bestowing divine care or intercession. Sometimes given in connection with a naming ceremony.&lt;br /&gt;
&lt;br /&gt;
==BLOB==&lt;br /&gt;
{BINARY_OBJECT} A grouping of data used as input to a multimedia system that processes binary data to represent images, sound, and video.&lt;br /&gt;
&lt;br /&gt;
'''deleted in GEDCOM 5.5.1'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==BURI==&lt;br /&gt;
{BURIAL} The event of the proper disposing of the mortal remains of a deceased person.&amp;lt;strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CALN==&lt;br /&gt;
{CALL_NUMBER} The number used by a repository to identify the specific items in its collections.&lt;br /&gt;
&lt;br /&gt;
==CAST==&lt;br /&gt;
{CASTE} The name of an individual's rank or status in society, based on racial or religious differences, or differences in wealth, inherited rank, profession, occupation, etc.&lt;br /&gt;
&lt;br /&gt;
==CAUS==&lt;br /&gt;
{CAUSE} A description of the cause of the associated event or fact, such as the cause of death.&lt;br /&gt;
&lt;br /&gt;
==CENS==&lt;br /&gt;
{CENSUS} The event of the periodic count of the population for a designated locality, such as a national or state Census.&lt;br /&gt;
&lt;br /&gt;
==CHAN==&lt;br /&gt;
{CHANGE} Indicates a change, correction, or modification. Typically used in connection with a DATE to specify when a change in information occurred.&lt;br /&gt;
&lt;br /&gt;
==CHAR==&lt;br /&gt;
{CHARACTER} An indicator of the character set used in writing this automated information.&lt;br /&gt;
&lt;br /&gt;
==CHIL==&lt;br /&gt;
{CHILD} The natural, adopted, or sealed (LDS) child of a father and a mother.&lt;br /&gt;
&lt;br /&gt;
==CHR==&lt;br /&gt;
{CHRISTENING} The religious event (not LDS) of baptizing and/or naming a child.&lt;br /&gt;
&lt;br /&gt;
==CHRA==&lt;br /&gt;
{ADULT_CHRISTENING} The religious event (not LDS) of baptizing and/or naming an adult person.&lt;br /&gt;
&lt;br /&gt;
==CITY==&lt;br /&gt;
{CITY} A lower level jurisdictional unit. Normally an incorporated municipal unit.&lt;br /&gt;
&lt;br /&gt;
==CONC==&lt;br /&gt;
{CONCATENATION} An indicator that additional data belongs to the superior value. The information from the CONC value is to be connected to the value of the superior preceding line without a space and without a carriage return and/or new line character. Values that are split for a CONC tag must always be split at a non-space. If the value is split on a space the space will be lost when concatenation takes place. This is because of the treatment that spaces get as a GEDCOM delimiter, many GEDCOM values are trimmed of trailing spaces and some systems look for the first non-space starting after the tag to determine the beginning of the value.&lt;br /&gt;
&lt;br /&gt;
==CONF==&lt;br /&gt;
{CONFIRMATION} The religious event (not LDS) of conferring the gift of the Holy Ghost and, among protestants, full church membership.&lt;br /&gt;
&lt;br /&gt;
==CONL==&lt;br /&gt;
{CONFIRMATION_L} The religious event by which a person receives membership in the LDS Church.&lt;br /&gt;
&lt;br /&gt;
==CONT==&lt;br /&gt;
{CONTINUED} An indicator that additional data belongs to the superior value. The information from the CONT value is to be connected to the value of the superior preceding line with a carriage return and/or new line character. Leading spaces could be important to the formatting of the resultant text. When importing values from CONT lines the reader should assume only one delimiter character following the CONT tag. Assume that the rest of the leading spaces are to be a part of the value.&lt;br /&gt;
&lt;br /&gt;
==COPR==&lt;br /&gt;
{COPYRIGHT} A statement that accompanies data to protect it from unlawful duplication and distribution.&lt;br /&gt;
&lt;br /&gt;
==CORP==&lt;br /&gt;
{CORPORATE} A name of an institution, agency, corporation, or company.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==CREM==&lt;br /&gt;
{CREMATION} Disposal of the remains of a person's body by fire.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CTRY==&lt;br /&gt;
{COUNTRY} The name or code of the country.&lt;br /&gt;
&lt;br /&gt;
==DATA==&lt;br /&gt;
{DATA} Pertaining to stored automated information.&lt;br /&gt;
&lt;br /&gt;
==DATE==&lt;br /&gt;
{DATE} The time of an event in a calendar format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DEAT==&lt;br /&gt;
{DEATH} The event when mortal life terminates.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DESC==&lt;br /&gt;
{DESCENDANTS} Pertaining to offspring of an individual.&lt;br /&gt;
&lt;br /&gt;
==DESI==&lt;br /&gt;
{DESCENDANT_INT} Indicates an interest in research to identify additional descendants of this individual. (See also ANCI)&lt;br /&gt;
&lt;br /&gt;
==DEST==&lt;br /&gt;
{DESTINATION} A system receiving data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==DIV==&lt;br /&gt;
{DIVORCE} An event of dissolving a marriage through civil action.&lt;br /&gt;
&lt;br /&gt;
==DIVF==&lt;br /&gt;
{DIVORCE_FILED} An event of filing for a divorce by a spouse.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DSCR==&lt;br /&gt;
{PHY_DESCRIPTION} The physical characteristics of a person, place, or thing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EDUC==&lt;br /&gt;
{EDUCATION} Indicator of a level of education attained.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==EMAIL==&lt;br /&gt;
{EMAIL} An electronic address that can be used for contact such as an email address.&lt;br /&gt;
&lt;br /&gt;
'''new in GEDCOM 5.5.1'''&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EMIG==&lt;br /&gt;
{EMIGRATION} An event of leaving one's homeland with the intent of residing elsewhere.&lt;br /&gt;
&lt;br /&gt;
==ENDL==&lt;br /&gt;
{ENDOWMENT} A religious event where an endowment ordinance for an individual was performed by priesthood authority in an LDS temple.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==ENGA==&lt;br /&gt;
{ENGAGEMENT} An event of recording or announcing an agreement between two people to become married.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EVEN==&lt;br /&gt;
{EVENT} A noteworthy happening related to an individual, a group, or an organization.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==FAM==&lt;br /&gt;
{FAMILY} Identifies a legal, common law, or other customary relationship of man and woman and their children, if any, or a family created by virtue of the birth of a child to its biological father and mother.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FAMC==&lt;br /&gt;
{FAMILY_CHILD} Identifies the family in which an individual appears as a child.&lt;br /&gt;
&lt;br /&gt;
==FAMF==&lt;br /&gt;
{FAMILY_FILE} Pertaining to, or the name of, a family file. Names stored in a file that are assigned to a family for doing temple ordinance work.&lt;br /&gt;
&lt;br /&gt;
==FAMS==&lt;br /&gt;
{FAMILY_SPOUSE} Identifies the family in which an individual appears as a spouse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==FAX==&lt;br /&gt;
{FAX} A FAX telephone number appropriate for sending data facsimiles.&lt;br /&gt;
&lt;br /&gt;
'''new in GEDCOM 5.5.1'''&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FCOM==&lt;br /&gt;
{FIRST_COMMUNION} A religious rite, the first act of sharing in the Lord's supper as part of church worship.&lt;br /&gt;
&lt;br /&gt;
==FILE==&lt;br /&gt;
{FILE} An information storage place that is ordered and arranged for preservation and reference.&lt;br /&gt;
&lt;br /&gt;
==FONE==&lt;br /&gt;
{PHONETIC} A phonetic variation of a superior text string.&lt;br /&gt;
&lt;br /&gt;
'''new in GEDCOM 5.5.1'''&lt;br /&gt;
&lt;br /&gt;
==FORM==&lt;br /&gt;
{FORMAT} An assigned name given to a consistent format in which information can be conveyed.&lt;br /&gt;
&lt;br /&gt;
==GEDC==&lt;br /&gt;
{GEDCOM} Information about the use of GEDCOM in a transmission.&lt;br /&gt;
&lt;br /&gt;
==GIVN==&lt;br /&gt;
{GIVEN_NAME} A given or earned name used for official identification of a person.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==GRAD==&lt;br /&gt;
{GRADUATION} An event of awarding educational diplomas or degrees to individuals.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==HEAD==&lt;br /&gt;
{HEADER} Identifies information pertaining to an entire GEDCOM transmission.&lt;br /&gt;
&lt;br /&gt;
==HUSB==&lt;br /&gt;
{HUSBAND} An individual in the family role of a married man or father.&lt;br /&gt;
&lt;br /&gt;
==IDNO==&lt;br /&gt;
{IDENT_NUMBER} A number assigned to identify a person within some significant external system.&lt;br /&gt;
&lt;br /&gt;
==IMMI==&lt;br /&gt;
{IMMIGRATION} An event of entering into a new locality with the intent of residing there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==INDI==&lt;br /&gt;
{INDIVIDUAL} A person.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==INFL==&lt;br /&gt;
{TempleReady} Indicates if an INFANT - data is &amp;quot;Y&amp;quot; (or &amp;quot;N&amp;quot;??)&lt;br /&gt;
&lt;br /&gt;
==LANG==&lt;br /&gt;
{LANGUAGE} The name of the language used in a communication or transmission of information.&lt;br /&gt;
&lt;br /&gt;
==LATI==&lt;br /&gt;
{LATITUDE} A value indicating a coordinate position on a line, plane, or space.&lt;br /&gt;
&lt;br /&gt;
'''new in Gedcom 5.5.1'''&lt;br /&gt;
&lt;br /&gt;
==LEGA==&lt;br /&gt;
{LEGATEE} A role of an individual acting as a person receiving a bequest or legal devise.&lt;br /&gt;
&lt;br /&gt;
==LONG==&lt;br /&gt;
{LONGITUDE} A value indicating a coordinate position on a line, plane, or space.&lt;br /&gt;
&lt;br /&gt;
'''new in Gedcom 5.5.1'''&lt;br /&gt;
&lt;br /&gt;
==MAP==&lt;br /&gt;
{MAP} Pertains to a representation of measurements usually presented in a graphical form.&lt;br /&gt;
&lt;br /&gt;
'''new in Gedcom 5.5.1'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==MARB==&lt;br /&gt;
{MARRIAGE_BANN} An event of an official public notice given that two people intend to marry.&lt;br /&gt;
&lt;br /&gt;
==MARC==&lt;br /&gt;
{MARR_CONTRACT} An event of recording a formal agreement of marriage, including the prenuptial agreement in which marriage partners reach agreement about the property rights of one or both, securing property to their children.&lt;br /&gt;
&lt;br /&gt;
==MARL==&lt;br /&gt;
{MARR_LICENSE} An event of obtaining a legal license to marry.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==MARR==&lt;br /&gt;
{MARRIAGE} A legal, common-law, or customary event of creating a family unit of a man and a woman as husband and wife.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==MARS==&lt;br /&gt;
{MARR_SETTLEMENT} An event of creating an agreement between two people contemplating marriage, at which time they agree to release or modify property rights that would otherwise arise from the marriage.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MEDI==&lt;br /&gt;
{MEDIA} Identifies information about the media or having to do with the medium in which information is stored.&lt;br /&gt;
&lt;br /&gt;
==NAME==&lt;br /&gt;
{NAME} A word or combination of words used to help identify an individual, title, or other item. More than one NAME line should be used for people who were known by multiple names.&lt;br /&gt;
&lt;br /&gt;
==NATI==&lt;br /&gt;
{NATIONALITY} The national heritage of an individual.&lt;br /&gt;
&lt;br /&gt;
==NATU==&lt;br /&gt;
{NATURALIZATION} The event of obtaining citizenship.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==NCHI==&lt;br /&gt;
{CHILDREN_COUNT} The number of children that this person is known to be the parent of (all marriages) when subordinate to an individual, or that belong to this family when subordinate to a FAM_RECORD.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==NICK==&lt;br /&gt;
{NICKNAME} A descriptive or familiar that is used instead of, or in addition to, one's proper name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==NMR==&lt;br /&gt;
{MARRIAGE_COUNT} The number of times this person has participated in a family as a spouse or parent.&amp;lt;/stike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==NOTE==&lt;br /&gt;
{NOTE} Additional information provided by the submitter for understanding the enclosing data.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==NPFX==&lt;br /&gt;
{NAME_PREFIX} Text which appears on a name line before the given and surname parts of a name. i.e. (Lt. Cmndr.) Joseph /Allen/ jr.&lt;br /&gt;
&lt;br /&gt;
==NSFX==&lt;br /&gt;
{NAME_SUFFIX} Text which appears on a name line after or behind the given and surname parts of a name. i.e. Lt. Cmndr. Joseph /Allen/ (jr.) In this example jr. is considered as the name suffix portion.&lt;br /&gt;
&lt;br /&gt;
==OBJE==&lt;br /&gt;
{OBJECT} Pertaining to a grouping of attributes used in describing something. Usually referring to the data required to represent a multimedia object, such an audio recording, a photograph of a person, or an image of a document.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==OCCU==&lt;br /&gt;
{OCCUPATION} The type of work or profession of an individual.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ORDI==&lt;br /&gt;
{ORDINANCE} Pertaining to a religious ordinance in general.&lt;br /&gt;
&lt;br /&gt;
==ORDN==&lt;br /&gt;
{ORDINATION} A religious event of receiving authority to act in religious matters.&lt;br /&gt;
&lt;br /&gt;
==PAGE==&lt;br /&gt;
{PAGE} A number or description to identify where information can be found in a referenced work.&lt;br /&gt;
&lt;br /&gt;
==PEDI==&lt;br /&gt;
{PEDIGREE} Information pertaining to an individual to parent lineage chart.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PHON==&lt;br /&gt;
{PHONE} A unique number assigned to access a specific telephone.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==PLAC==&lt;br /&gt;
{PLACE} A jurisdictional name to identify the place or location of an event.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==POST==&lt;br /&gt;
{POSTAL_CODE} A code used by a postal service to identify an area to facilitate mail handling.&lt;br /&gt;
&lt;br /&gt;
==PROB==&lt;br /&gt;
{PROBATE} An event of judicial determination of the validity of a will. May indicate several related court activities over several dates.&lt;br /&gt;
&lt;br /&gt;
==PROP==&lt;br /&gt;
{PROPERTY} Pertaining to possessions such as real estate or other property of interest.&lt;br /&gt;
&lt;br /&gt;
==PUBL==&lt;br /&gt;
{PUBLICATION} Refers to when and/or were a work was published or created.&lt;br /&gt;
&lt;br /&gt;
==QUAY==&lt;br /&gt;
{QUALITY_OF_DATA} An assessment of the certainty of the evidence to support the conclusion drawn from evidence. Values: [0|1|2|3]&lt;br /&gt;
&lt;br /&gt;
==REFN==&lt;br /&gt;
{REFERENCE} A description or number used to identify an item for filing, storage, or other reference purposes.&lt;br /&gt;
&lt;br /&gt;
==RELA==&lt;br /&gt;
{RELATIONSHIP} A relationship value between the indicated contexts.&lt;br /&gt;
&lt;br /&gt;
==RELI==&lt;br /&gt;
{RELIGION} A religious denomination to which a person is affiliated or for which a record applies.&lt;br /&gt;
&lt;br /&gt;
==REPO==&lt;br /&gt;
{REPOSITORY} An institution or person that has the specified item as part of their collection(s).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==RESI==&lt;br /&gt;
{RESIDENCE} The act of dwelling at an address for a period of time.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==RESN==&lt;br /&gt;
{RESTRICTION} A processing indicator signifying access to information has been denied or otherwise restricted.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==RETI==&lt;br /&gt;
{RETIREMENT} An event of exiting an occupational relationship with an employer after a qualifying time period.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==RFN==&lt;br /&gt;
{REC_FILE_NUMBER} A permanent number assigned to a record that uniquely identifies it within a known file.&lt;br /&gt;
&lt;br /&gt;
==RIN==&lt;br /&gt;
{REC_ID_NUMBER} A number assigned to a record by an originating automated system that can be used by a receiving system to report results pertaining to that record.&lt;br /&gt;
&lt;br /&gt;
==ROLE==&lt;br /&gt;
{ROLE} A name given to a role played by an individual in connection with an event.&lt;br /&gt;
&lt;br /&gt;
==ROMN==&lt;br /&gt;
{ROMANIZED} A romanized variation of a superior text string.&lt;br /&gt;
&lt;br /&gt;
'''new in GEDCOM 5.5.1'''&lt;br /&gt;
&lt;br /&gt;
==SEX==&lt;br /&gt;
{SEX} Indicates the sex of an individual--male or female.&lt;br /&gt;
That is when you go back in time you cannot always clearly identify the sex of the individual. If there is a doubt, to be sure you must always look for three or even four other references, but never less than two, why two because the reference you are looking at could well have come from the one you are looking at&lt;br /&gt;
&lt;br /&gt;
==SLGC==&lt;br /&gt;
{SEALING_CHILD} A religious event pertaining to the sealing of a child to his or her parents in an LDS temple ceremony.&lt;br /&gt;
&lt;br /&gt;
==SLGS==&lt;br /&gt;
{SEALING_SPOUSE} A religious event pertaining to the sealing of a husband and wife in an LDS temple ceremony.&lt;br /&gt;
&lt;br /&gt;
==SOUR==&lt;br /&gt;
{SOURCE} The initial or original material from which information was obtained.&lt;br /&gt;
&lt;br /&gt;
==SPFX==&lt;br /&gt;
{SURN_PREFIX} A name piece used as a non-indexing pre-part of a surname.&lt;br /&gt;
&lt;br /&gt;
==SSN==&lt;br /&gt;
{SOC_SEC_NUMBER} A number assigned by the United States Social Security Administration. Used for tax identification purposes.&lt;br /&gt;
&lt;br /&gt;
==STAE==&lt;br /&gt;
{STATE} A geographical division of a larger jurisdictional area, such as a State within the United States of America.&lt;br /&gt;
&lt;br /&gt;
==STAT==&lt;br /&gt;
{STATUS} An assessment of the state or condition of something.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==SUBM==&lt;br /&gt;
{SUBMITTER} An individual or organization who contributes genealogical data to a file or transfers it to someone else.&lt;br /&gt;
&lt;br /&gt;
==SUBN==&lt;br /&gt;
{SUBMISSION} Pertains to a collection of data issued for processing.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SURN==&lt;br /&gt;
{SURNAME} A family name passed on or used by members of a family.&lt;br /&gt;
&lt;br /&gt;
==TEMP==&lt;br /&gt;
{TEMPLE} The name or code that represents the name OF a temple of the LDS Church.&lt;br /&gt;
&lt;br /&gt;
==TEXT==&lt;br /&gt;
{TEXT} The exact wording found in an original source document.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==TIME==&lt;br /&gt;
{TIME} A time value in a 24-hour clock format, including hours, minutes, and optional seconds, separated by a colon (:). Fractions of seconds are shown in decimal notation.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TITL==&lt;br /&gt;
{TITLE} A description of a specific writing or other work, such as the title of a book when used in a source context, or a formal designation used by an individual in connection with positions of royalty or other social status, such as Grand Duke.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==TRLR==&lt;br /&gt;
{TRAILER} At level 0, specifies the end of a GEDCOM transmission.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TYPE==&lt;br /&gt;
{TYPE} A further qualification to the meaning of the associated superior tag. The value does not have any computer processing reliability. It is more in the form of a short one or two word note that should be displayed any time the associated data is displayed.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VERS==&lt;br /&gt;
{VERSION} Indicates which version of a product, item, or publication is being used or referenced.&lt;br /&gt;
&lt;br /&gt;
==WIFE==&lt;br /&gt;
{WIFE} An individual in the role as a mother and/or married woman.&lt;br /&gt;
&lt;br /&gt;
==WILL==&lt;br /&gt;
{WILL} A legal document treated as an event, by which a person disposes of his or her estate, to take effect after death. The event date is the date the will was signed while the person was alive. (See also PROBate)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
==WWW==&lt;br /&gt;
{WEB} World Wide Web home page.&lt;br /&gt;
&lt;br /&gt;
'''new in GEDCOM 5.5.1'''&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Genealogy]]&lt;br /&gt;
[[Category:GEDCOM]]&lt;br /&gt;
[[Category:GEDCOM tags]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=PGVWiki:Language_requests&amp;diff=12244</id>
		<title>PGVWiki:Language requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=PGVWiki:Language_requests&amp;diff=12244"/>
		<updated>2010-06-12T11:58:02Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Current requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Language Requests==&lt;br /&gt;
===Latest requests===&lt;br /&gt;
===Current requests===&lt;br /&gt;
&lt;br /&gt;
===Older requests===&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=User_talk:Tom_Haws/Archive001&amp;diff=12240</id>
		<title>User talk:Tom Haws/Archive001</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=User_talk:Tom_Haws/Archive001&amp;diff=12240"/>
		<updated>2010-06-09T13:04:17Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* --Laurie 09:36, 21 November 2005 (EST) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Preliminaries/Day One==&lt;br /&gt;
Tom,&lt;br /&gt;
&lt;br /&gt;
I have not yet figured out the email part of mediawiki.  I am also having some server problems this morning.  Of all mornings things seem to have gone wrong at home.  Never had this problem before.  Decided to turn a few services off on my server until I put in some more memory after the weekend.&lt;br /&gt;
&lt;br /&gt;
I can see that you have put in a few things this morning (my time)  I have had to reboot twice so sorry.  I will monitor it over the next couple of hours as I have to go away for the next couple of days.&lt;br /&gt;
&lt;br /&gt;
Quick tutor on the messageing system might be good.&lt;br /&gt;
&lt;br /&gt;
Laurie&lt;br /&gt;
&lt;br /&gt;
==Feedback==&lt;br /&gt;
&lt;br /&gt;
Had already given myself profile of [[user:laurie|laurie]] but autologins are hard to beat.  Well I had a look at your user profile and I am a bit scared about putting mine up there now - run of the mill newbie with little to no idea.  Thanks for letting me do this it has been a good learning experience for me so far and hopefully will continue.  I told you I had done a bit of work on the wiki to get it going -  If time permits today I will do a few more screen captures for the user guide and shove them in.&lt;br /&gt;
&lt;br /&gt;
What are first impressions.  How is the speed.&lt;br /&gt;
&lt;br /&gt;
--[[User:192.168.26.1|192.168.26.1]] 10:06, 18 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
==Annoymous Editing==&lt;br /&gt;
&lt;br /&gt;
As you can see from my last message to you I have taken your advice and am letting anyone edit.--[[User:Laurie|Laurie]] 10:08, 18 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sidebar==&lt;br /&gt;
&lt;br /&gt;
I am the only one who can edit the sidebar for the site.  Is there anything else you think should be placed over there--[[User:Laurie|Laurie]] 10:32, 18 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
:Not at this time.  I will think about it.  Maybe I will come up with suggestions for trimming it down if I can think of anything dispensable. [[User:Tom Haws|Tom Haws]] 10:39, 18 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==--[[User:Laurie|Laurie]] 09:36, 21 November 2005 (EST)==&lt;br /&gt;
Hi Tom,&lt;br /&gt;
&lt;br /&gt;
Have given you sysop status so you can delete pages etc and edit sidebar.&lt;br /&gt;
&lt;br /&gt;
I had someone make some changes over the weekend in the menus which broke the links - I have fixed it up but it did show me that some people are watching the site.  Still working on the Language stuff.&lt;br /&gt;
&lt;br /&gt;
==--[[User:Laurie|Laurie]] 09:40, 23 November 2005 (EST)--==&lt;br /&gt;
Just looking at your edits on what people can do on main page.  We are starting to duplicate things.  Please have a look in the help area as there are already articles on how to edit etc.  Need also to talk on your namespacing.  I have sent you an email&lt;br /&gt;
&lt;br /&gt;
==site layout==&lt;br /&gt;
I have little idea of what &amp;quot;name space&amp;quot; means ... the whole structure seems so fluid and changing, it's hard to keep up.&lt;br /&gt;
&lt;br /&gt;
[[User:Dxradio|Dxradio]] 07:18, 24 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
==left hand column==&lt;br /&gt;
left hand navigation column has   &amp;quot;Atricles&amp;quot;&lt;br /&gt;
&lt;br /&gt;
obviously I can't edit that.&lt;br /&gt;
&lt;br /&gt;
Also the link for &amp;quot;Community portal&amp;quot; just seems to re-direct into its own re-direct ... thereby displaying no useful content.&lt;br /&gt;
&lt;br /&gt;
[[User:Dxradio|Dxradio]] 09:54, 24 November 2005 (EST)&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Installation_Guide_v4.1.x/Archive_1&amp;diff=12239</id>
		<title>Installation Guide v4.1.x/Archive 1</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Installation_Guide_v4.1.x/Archive_1&amp;diff=12239"/>
		<updated>2010-06-09T08:02:06Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Apache */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Page Contents ==&lt;br /&gt;
&lt;br /&gt;
Being new to PGV, When I go to the Installation page I expect to get straight to the point and see details of what is needed to get PGV installed and running.&lt;br /&gt;
&lt;br /&gt;
I probably only expect to see headings such as the ones below. I think the Intro and general text about what PGV is and what what it's used for are better placed outside the installation guide - for example they could go into the Main_Page or a page linked it.&lt;br /&gt;
&lt;br /&gt;
I can make these changes myself, but it will need some pretty big edits so I wanted to see what people thought. &lt;br /&gt;
&lt;br /&gt;
===PhpGedView Prerequisits===&lt;br /&gt;
The following headings briefly describe what the software is and where to get it.&lt;br /&gt;
====Web Server====&lt;br /&gt;
=====Apache=====&lt;br /&gt;
&lt;br /&gt;
=====Others=====&lt;br /&gt;
====PHP====&lt;br /&gt;
====MySQL====&lt;br /&gt;
===Optional Prerequisits===&lt;br /&gt;
====GD Library====&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
The following headings have details about how to install each of the components listed above for several OS's&lt;br /&gt;
===Linux===&lt;br /&gt;
====Debian====&lt;br /&gt;
====Other====&lt;br /&gt;
===Windows===&lt;br /&gt;
&lt;br /&gt;
===Post-Installation Configuration===&lt;br /&gt;
This sections deals with all post-installation configurations that are common to all/most OS's.&lt;br /&gt;
====OS Specific Configurations====&lt;br /&gt;
This section has details of any OS specific configurations.&lt;br /&gt;
====Windows====&lt;br /&gt;
====Linux====&lt;br /&gt;
====Other====&lt;br /&gt;
&lt;br /&gt;
== Some comment ==&lt;br /&gt;
&lt;br /&gt;
I agree that this page needs a cleanup (along with the readme file). It's supposed to be an Installation Guide, not a Reference. Let's keep it simple and link to more information if needed. &lt;br /&gt;
* I believe there are tools for doing wiki-to-text conversions. It might e worth maintaining documentation online and simply doing wiki-to-text conversions at release time. --[[User:Nathanhaigh|Nathanhaigh]] 06:35, 5 October 2007 (EST)&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The info about the versions is really important only to those who upgrade, and should be merged with the upgrade chapter (most of Chapter 2). It's safe to assume that new users are going to install the newest version available.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Instead of Beginners vs. Intermediate (Advanced, More Advanced etc.), let's have a Quick Install.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Things you need + xxx Preparation = Requirements / Prerequisites. &amp;quot;Optional Prerequisites&amp;quot; sounds like oxymoron to me :)&amp;lt;/li&amp;gt;&lt;br /&gt;
* Yes it is a bit! Oh well, you got my meaning! --[[User:Nathanhaigh|Nathanhaigh]] 06:35, 5 October 2007 (EST)&lt;br /&gt;
&amp;lt;li&amp;gt;Some information in Chapter 3, like themes or languages, would make a great Configuration chapter. The rest, like database tables or non-standard codes, doesn't belong there.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Chapter 4 belongs to Developers Guide.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Licensing info usually comes last.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
To sum up, I would have: short introduction, quick install, requirements, installation, upgrade, post-install tasks / configuration, and license. I don't think that division by OS is necessary, all you need to know is how to copy files and change their permissions under your OS, and you probably already know that. I would do without OS-specific (and other) screenshots, too - just to make it short and sweet.&lt;br /&gt;
--[[User:Cathy|Cathy]] 04:26, 5 October 2007 (EST)&lt;br /&gt;
* In essense, it needs to e concise and deliver what you expect from an Installation guide; otherwise people just won't get past the first couple of paragraphs. I'll make a start tomorrow by doing some shuffling and reorganising into the above mentioned headings. Thanks for your input. --[[User:Nathanhaigh|Nathanhaigh]] 06:35, 5 October 2007 (EST)&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Code_cleanup&amp;diff=12234</id>
		<title>Code cleanup</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Code_cleanup&amp;diff=12234"/>
		<updated>2010-06-07T17:08:14Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* PHP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article is intended to provide up-to-date information about '''code cleanup''' issues, progress and which developers are working on particular areas. This article has arisen out of at least one thread on the [https://sourceforge.net/forum/forum.php?forum_id=185165 Open Discussion forum]:&lt;br /&gt;
* https://sourceforge.net/forum/message.php?msg_id=4744150&lt;br /&gt;
&lt;br /&gt;
== Article Organisation ==&lt;br /&gt;
&lt;br /&gt;
* Please try to help keep this article from exploding in length by providing suitable links to other web resources/information. Also, for possible discussions, use the [[Talk:Code cleanup|discussion]] page.&lt;br /&gt;
&lt;br /&gt;
* Also, try to use links to relevant directories/files in the [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/branches/phpGedView-4.2/ development branch] of the [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/ SVN repo] as this is where most of this work will be done before merging it to the [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/trunk/ trunk].&lt;br /&gt;
&lt;br /&gt;
== Consolidating/Separating Programming Languages ==&lt;br /&gt;
&lt;br /&gt;
Separating the code of several programming languages is advantageous for clean, easy to follow code with minimal redundancy. This make it easier to maintain, modularise and for new developers to get involved as it will be another step closer to pure [[MVC]].&lt;br /&gt;
&lt;br /&gt;
=== HTML ===&lt;br /&gt;
&lt;br /&gt;
One way (please add others if you know them) to separate out HTML (View in [[MVC]]) from the PHP application code is by using a [[w:Web template system|template engine]]. The application code does not concern itself with how the data is to be displayed as this is the job of the template. Thus programmers can concentrate on the code and templates can be designed independently to provide different views to the end user - easier for theming/skinning. A good thing in any programming.&lt;br /&gt;
&lt;br /&gt;
Cons for template engines in general:&lt;br /&gt;
* An external dependency - We'd simply add the library to the vendor_branch and include it with PGV. This would allow us to easily update the library when new releases are made by the vendor. Possibly using some sort of check to see if the user has a more up-to-date version.&lt;br /&gt;
* Could there be a speed impact?&lt;br /&gt;
** I just made a quick speed test with &amp;quot;[http://httpd.apache.org/docs/2.0/programs/ab.html ab]&amp;quot; (the content is a table with list of INDIs from a PDO db or declared array (to check DB overhead)) (&amp;quot;ab -n 100 -c 1&amp;quot;, average of 3 tests):&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Test&lt;br /&gt;
! Requests/sec&lt;br /&gt;
|-&lt;br /&gt;
|PHP + Smarty + DB&lt;br /&gt;
|11.22&lt;br /&gt;
|-&lt;br /&gt;
|PHP + print() + DB&lt;br /&gt;
|11.39&lt;br /&gt;
|-&lt;br /&gt;
|PHP + Smarty + array()&lt;br /&gt;
|11.98&lt;br /&gt;
|-&lt;br /&gt;
|PHP + print() + array()&lt;br /&gt;
|12.31&lt;br /&gt;
|-&lt;br /&gt;
|Pure HTML (generated file)&lt;br /&gt;
|911.68&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
I think that using PHP's [http://www.php.net/manual/en/language.oop5.php OO] abilities gives a huge overhead already and adding a template engine would not increase the request times significantly. --[[User:Korbendallas1976|Korbendallas1976]] 00:52, 2 February 2008 (EST)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Below is a table for people with any knowledge of template engines to add pros/cons. Our aim is to try to find a possible solution to separating out the view aspect of [[MVC]], one of which could be a template engine.&lt;br /&gt;
&lt;br /&gt;
Suggestions to moving to a template engine such as [[w:Smarty|Smarty]]. Please add other options below and we can collate pro's and con's for them. There is an open [https://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1234551&amp;amp;group_id=55456&amp;amp;atid=477082 RFE for a Template System] that contains some arguments. A [https://sourceforge.net/search/?group_id=55456&amp;amp;words=Smarty&amp;amp;type_of_search=forums&amp;amp;limit=100 search for Smarty in the forums] will show some arguments related to this.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Option&lt;br /&gt;
! Website(s)&lt;br /&gt;
! Pros&lt;br /&gt;
! Cons&lt;br /&gt;
|-&lt;br /&gt;
| [[w:Smarty|Smarty]]&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; |&lt;br /&gt;
&amp;lt;!-- websites below here --&amp;gt;&lt;br /&gt;
* http://www.smarty.net/whyuse.php&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; |&lt;br /&gt;
&amp;lt;!-- Pros below here --&amp;gt;&lt;br /&gt;
compiles to PHP, caching, functions, plugins&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; |&lt;br /&gt;
&amp;lt;!-- Cons below here --&amp;gt;&lt;br /&gt;
[https://sourceforge.net/forum/message.php?msg_id=3352922 John's Comment #1], [https://sourceforge.net/forum/message.php?msg_id=4636705 #2], &lt;br /&gt;
[https://sourceforge.net/forum/message.php?msg_id=3354129 #3],&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://www.whenpenguinsattack.com/2006/07/19/php-template-engine-roundup/ Here] is a list of 25 template engines for PHP.&lt;br /&gt;
&lt;br /&gt;
Apart from the links to John's comments this seems to be moving to a discussion about 'which' template engine should be used. I have no experience of any, but feel we should first decide whether a template engine is necessary / useful or not, before thinking about which one. Can anyone help explain their virtues? John has described their pitfalls pretty well.&lt;br /&gt;
&lt;br /&gt;
=== JavaScript ===&lt;br /&gt;
&lt;br /&gt;
Needs to be gleamed out of various output methods and HTML files into &amp;lt;tt&amp;gt;.js&amp;lt;/tt&amp;gt; files which are then used in the HTML header section where they belong.&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
A collection of lots of SQL statements (like those for creating the tables) belong in their own &amp;lt;tt&amp;gt;.SQL&amp;lt;/tt&amp;gt; files to separate languages (like HTML from PHP). It is also advisable to group all - or most - other SQL in a single file that provides functions to call from the outside - for easier debugging. This should be part of the Model anyway.&lt;br /&gt;
&lt;br /&gt;
== Getting MVC Right ==&lt;br /&gt;
&lt;br /&gt;
A great example that badly needs it is the whole import process (I would love to see the ability to develop a command-line import tool).&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
&lt;br /&gt;
Defines an API through which the data of the software can be accessed. This defines everything, from the relations to types, ranges and meta-data. How this data is then stored is the sole concern of the Model, as long as it is uniformly accessible through the API (it can be stored in a DB, a text-file, XML - you name it). Parsers and serialisers thus belong in the Model. If done correctly, we should be able to create unit tests for the API which can be run frequently to ensure the smooth, &amp;quot;bug free&amp;quot;, stable running of this part of PGV.&lt;br /&gt;
&lt;br /&gt;
I am not sure about having two storages for the model as is currently the case in PGV (DB and the Gedcom file) because this introduces a whole lot of sync trouble (which one is to be trusted if they are not in sync?). Since the DB is of course a whole lot faster than parsing the Gedcom every time, maybe they should only be synced when the gedcom is im-/exported. - '''Can someone clarify how the GEDCOM file and DB are used and synced etc during the use of PGV?'''&lt;br /&gt;
&lt;br /&gt;
: (Answer: Data is stored at gedcom level 0 record level.  Hence all updates replace one level 0 record with a new version.  After each update to the database (following the acceptance of an change), the old record is located in the disk-based file, and replaced with a new record.  If the sync-gedcom-file option is turned off, then this action does not occur.  The gedcom obtained from the download option will be different to the contents of the file on disc; line endings, record order, header contents, etc.  Also, failed file updates are ignored, so the DB copy should always be regarded as the master copy.  This process requires that the full file is loaded into memory (plus a second post-edit copy), which can blow the PHP memory limits for large gedcoms.)&lt;br /&gt;
:: My question would then be, why is this required? Is it because it's a relic of when PGV used flat file indicies? Couldn't it all be done in a database, then when someone wants to export a GEDCOM (or any other plugable format for that matter), they click a button and the contents of the database are set to the browser for download in the requested format?&lt;br /&gt;
&lt;br /&gt;
Using classes is not the same thing as OO. OO requires other important concepts such as abstraction and data-hiding. Classes should have a clear well defined function and behavior that forms part of an API for which Unit tests can be written.&lt;br /&gt;
&lt;br /&gt;
==== Classes ====&lt;br /&gt;
&lt;br /&gt;
As I see it, we should have classes that represent the data all inheriting from a GEDCOM base class. These &amp;quot;data classes&amp;quot; are simple representations of the data (i.e. they don't need to know that the data has come from a GEDCOM file or some other place entirely) with simple getters/setters for that data. There would be other classes dealing with IO from different file formats, storage backends etc. It would be the responsibility of the &amp;quot;IO classes&amp;quot;  to know the structure of the file format, DB backend etc and create the &amp;quot;data classes&amp;quot; from that data or visa versa.&lt;br /&gt;
&lt;br /&gt;
Here is a list of websites I found dealing with a GEDCOM model:&lt;br /&gt;
* http://freepages.history.rootsweb.com/~mitchellsharp/&lt;br /&gt;
* http://www.softwarerenovation.com/igenie/&lt;br /&gt;
* http://freepages.history.rootsweb.com/~mitchellsharp/gdmref/gdmref-01.pdf&lt;br /&gt;
&lt;br /&gt;
; Comments&lt;br /&gt;
: I have just performed a global search for the string INDI and counted those files where the string appeared to be used in the context of the GEDCOM file format. Ignoring language files I came to a rough estimate of 67 files where a detailed knowledge of the GEDCOM file format is embedded. One could argue that data abstraction is even more important than MVC. For a newcomer to the code this is also an issue that makes the code difficult to understand. A typical example (from person_class) is: &lt;br /&gt;
 $famlink = get_sub_record(1, &amp;quot;1 FAMC @&amp;quot;.$family-&amp;gt;getXref().&amp;quot;@&amp;quot;, $this-&amp;gt;gedrec); &lt;br /&gt;
 $ft = preg_match(&amp;quot;/2 PEDI (.*)/&amp;quot;, $famlink, $fmatch); &lt;br /&gt;
Presumably at some stage in the future, whether in 1, 2, 5 or 10 years time an improved GEDCOM format will appear (GEDCOM XML is already specced). Is this area of data abstraction for the GEDCOM format one that should be treated as a priority in the Code Cleanup? Conveniently of course what you end up with is a good chunk of what is known as the Model in the latest Three Letter Acronym.&lt;br /&gt;
&lt;br /&gt;
=== View ===&lt;br /&gt;
&lt;br /&gt;
Describes a &amp;quot;View&amp;quot; of the Model, that is, a particular way of looking at it, as for example, the source-code-view or the UML-view (in the case of code). The view does not concern itself with anything else, e.g. security, just with how to represent the data. Views are exchangeable (i.e. pluggable), and get their data from the Model, so as soon as you change something in one view, the other views of the same data change accordingly. Themes and a little bit more for that matter, belong in the View.&lt;br /&gt;
&lt;br /&gt;
We should remove all presentation and layout from the HTML and put it in CSS.&lt;br /&gt;
&lt;br /&gt;
; Comments&lt;br /&gt;
: Any construct of any complexity should have a comment at its end to help match the end to the beginning. Examples: &lt;br /&gt;
 } // if edit allowed &lt;br /&gt;
 &amp;lt;/div&amp;gt;&amp;lt;!-- class=&amp;quot;blockhc&amp;quot; --&amp;gt;&lt;br /&gt;
: DOM elements should begin and end in the same function or even the same set of braces. Hard to change a set of table rows/cells to a set of divs when the the parts and the tags between them are printed from a utility function.&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;*_ctrl.php&amp;lt;/tt&amp;gt; in the [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/branches/phpGedView-4.2/includes/controllers/ controllers] folder should not be concerned with the printing/displaying of content. The ''controller'' in MVC is intended to glue the ''model'' and ''view'' parts together and provides all the programming logic behind the app, like security, user management, file management and the like.&lt;br /&gt;
&lt;br /&gt;
=== Unit Tests ===&lt;br /&gt;
&lt;br /&gt;
Unit tests are short (or not so short) scripts that sets up appropriate objects required for the test, and systematically checks that the return value from a method is what was expected i.e. correct. Different method arguments should be used, particularly for boundary conditions to ensure that as many routes through the code are covered (e.g. both sides of an ''if'' statement are tested).&lt;br /&gt;
&lt;br /&gt;
A proper unit test framework will run the required test suite(s) and summarise the results as the number of passed tests along with details of those that failed. We are currently, using [[SimpleTest]] as our testing framework as it is both PHP4 and 5 compliant and has the ability to test web interfaces. However, the current lack of correct abstraction of objects has hindered the development of simple unit tests.&lt;br /&gt;
&lt;br /&gt;
==== Test First Development ====&lt;br /&gt;
&lt;br /&gt;
The tests are written first i.e. before the code itself. While this seems counterintuitive, it helps focus the mind on developing a suitable API and allows you to have a good test suite from the start. For example, the pseudocode of a single unit test may look like this:&lt;br /&gt;
 $test-&amp;gt;assertsTrue( $dog-&amp;gt;canBark() )&lt;br /&gt;
&lt;br /&gt;
All this does is to ensure the &amp;lt;code&amp;gt;canBark()&amp;lt;/code&amp;gt; method of the $dog object returns ''true''. We know that a ''dog'' can bark, so we expect this test to pass. It doesn't matter how the method actually works, we simply want to know if the API works as expected given the relevant input to the various methods - thus we can write the unit tests and design an API at the same time. This also helps us to think about whether the method internals are hidden to the programmer using the classes via the API (a good thing). If for some reason, it returns ''false'' then this test fill fail and we fill be provided details about the failure so we can fix the method.&lt;br /&gt;
&lt;br /&gt;
What this means, is we can write tests first, and then write the method code and refine it until the test passes. In the absence of any other information we might come up with the following code for &amp;lt;code&amp;gt;canBark()&amp;lt;/code&amp;gt;:&lt;br /&gt;
 function canBark() {&lt;br /&gt;
   return true;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
If however, we know a dog could be ''mute'' and thus cannot ''bark'' like a normal dog, we might write a test (thus defining an API at the same time) like:&lt;br /&gt;
 $test-&amp;gt;assertsTrue( $dog-&amp;gt;canBark() );&lt;br /&gt;
 $dog-&amp;gt;setMute(true);&lt;br /&gt;
 $test-&amp;gt;assertsFalse( $dog-&amp;gt;canBark() );&lt;br /&gt;
 &lt;br /&gt;
First, we are saying a dog can bark by default. Then we use &amp;lt;code&amp;gt;setMute(true)&amp;lt;/code&amp;gt; to say the dog can no longer ''bark''. These tests now check that &amp;lt;code&amp;gt;canBark()&amp;lt;/code&amp;gt; returns the correct values but also tests (indirectly) if the &amp;lt;code&amp;gt;isMute(true)&amp;lt;/code&amp;gt; method correctly sets the dog to being a ''mute''. Now, we rewrite our methods until the tests pass:&lt;br /&gt;
 function canBark() {&lt;br /&gt;
   if ( isMute() ) {&lt;br /&gt;
     return false;&lt;br /&gt;
   }&lt;br /&gt;
   return true;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function setMute($value) {&lt;br /&gt;
   $this-&amp;gt;mute = $value;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function isMute() {&lt;br /&gt;
   return $this-&amp;gt;mute;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
While there may be other ways to write the code, and still have the tests pass, what we have done by writing the tests first, is to start creating the API while the implementation is hidden (as it should be). Thus, we may go away and totally rewrite the code underlying the API, but as long as the tests continue to pass, we don't really mind about the implementation.&lt;br /&gt;
&lt;br /&gt;
==== Running Tests ====&lt;br /&gt;
&lt;br /&gt;
Unit tests are run frequently to ensure any code changes do not have any adverse affect on the outcome of the tests. Thus ensuring new bugs are not introduced. Where bugs are found, we first write a unit test that exposes the bug while testing for the correct outcome. Then we go away trying to fix the code until the test passes but also ensuring that other tests don't start to fail. Once we achieve this, we have fixed the bug, and have included a test to ensure it doesn't raise it's ugly head again. Thus, over time, a test suite will fully stress test the code (proving that the code does what we say it does) and give confidence that we are as bug free as possible while ensuring that development time doesn't go into fixing bugs that reappear down the line.&lt;br /&gt;
&lt;br /&gt;
== GEDCOM Parser ==&lt;br /&gt;
&lt;br /&gt;
There are two locations in the code where a GEDCOM file is parsed (--GEDCOM functions-- in [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/branches/phpGedView-4.2/includes/functions.php?view=log functions.php] and in [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/branches/phpGedView-4.2/includes/functions_import.php?view=log functions_import.php]). This process is very complicated and thus error-prone because it uses RegExes for the parsing. This should be done by a using [[w:Lexer|lexer]], which are used in compilers. [http://pear.php.net PEAR] has classes for parser- and lexer-building which is all that's needed. I'm sure lexers can handle international character issues as well.&lt;br /&gt;
&lt;br /&gt;
== Modules to Plugins ==&lt;br /&gt;
&lt;br /&gt;
The current approach does not define enough hooks to make PGV really customizable. The very existence of remedy code in the general code-base for the most common modules like [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/branches/phpGedView-4.2/individual.php?revision=2459&amp;amp;view=markup#l_521 googlemap] or [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/branches/phpGedView-4.2/individual.php?revision=2459&amp;amp;view=markup#l_232 lightbox] (in [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/branches/phpGedView-4.2/individual.php?view=log individual.php]) is witness to this. The ultimate goal is for plugin writers to not have to touch or modify any code of the 'core' - preventing them from breaking anything and allowing the core developers to change the underlying functionality without breaking any of their plugins' code. That is, the mod does not have to be re-inserted into every new release. For that hooks need to be defined for every little function call in PGV, every section of the output, in effect - for everything. Look at [http://wordpress.org WP] or [http://gallery.menalto.com G2] for examples.&lt;br /&gt;
'''We need to compile a list of all possible locations in the code for hooks.'''&lt;br /&gt;
It does require some effort on the part of the developers, though, for defining a sensible API that is reasonably stable over long periods of releases (again Unit tests can help ensure it remains stable).&lt;br /&gt;
:* Sorry for being dim-witted....but, could you explain what you mean by a hook? --[[User:Nathanhaigh|Nath]] | [[User talk:Nathan_Watson-Haigh|Talk]] 23:27, 1 February 2008 (EST)&lt;br /&gt;
:** See the - rather short - [[w:Hooking|article]] in wikipedia. In Programming a hook is generally a specific place in the code where plugins can 'hook' in. For this the plugin programmers define functions and register them with the software for specific hooks. The hokee keeps a list of hooks and functions that are registered for them and makes sure to call the right functions when that place in the code is reached. If there is more than one plugin registered for a hook they get called sequentially (in the order they registered). By using the hook plugins are then able to be notified of something or change something. For that purpose it gets called with the information that is relevant and can decide what to do. For example when a user gets created, plugins can get notified, or before and after the template is rendered into HTML - thus giving plugins the ability to change the output. In WP, for example, there is a hook that gets passed every blog entry before output. It is used also by the core for some modifications to the final output - like HTML-specialchars, NL2BR-ing or linkifying.&lt;br /&gt;
&lt;br /&gt;
== General Organisation ==&lt;br /&gt;
&lt;br /&gt;
General organization: Files ending in &amp;lt;tt&amp;gt;.php&amp;lt;/tt&amp;gt; should be files that need to be executed directly in the browser, like &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;individual.php&amp;lt;/tt&amp;gt;. These - and only these - should reside in '/'. Every other file that is included by the main files should reside in a logically named subfolder (&amp;lt;tt&amp;gt;includes&amp;lt;/tt&amp;gt; for example) and have an ending of &amp;lt;tt&amp;gt;.inc&amp;lt;/tt&amp;gt;, class files by convention have the ending of &amp;lt;tt&amp;gt;.class&amp;lt;/tt&amp;gt;; thus preventing them from being executed and accessed directly. Files that logically belong together should be placed in the same subfolder; all files comprising the back-end (admin functions) should be in a folder named something like &amp;lt;tt&amp;gt;admin&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;pgv-admin&amp;lt;/tt&amp;gt;. This makes it clearly visible to anyone what function can be found where and also which part of the HTML output comes from where.&lt;br /&gt;
&lt;br /&gt;
; Comments&lt;br /&gt;
: I agree with many of the conventions mentioned, but ask that the files retain the .php extension. If the webserver does not recognize the file type, it will do one of two things:&lt;br /&gt;
# serve it as plain text. This would allow hackers who know the file layout to read our settings &lt;br /&gt;
# serve it as a binary file. This prompts visitors to download the file. Once on their local machine, it is readable by any text editor. &lt;br /&gt;
Instead, I suggest two levels of extensions, based on the function of the file. As an example, the filename gedparser.class.php clearly shows that it contains a class used to parse GEDCOM.&lt;br /&gt;
&lt;br /&gt;
: Followup: Since PGV is an open-source project, anyone can go to phpgedview.net, download the source and then know our file layout, and '''even''': The contents of those files. &lt;br /&gt;
: And because of that you put all the relevant settings in a file appropriately named config, which is the only file that needs to be protected - which is why it is mostly a .php file that displays nothing.  The thing that you do not want, is that people are able to execute all those files directly, which is a greater security risk than them reading them. And by making all files have a .php ending you just allowed them to.  Because then all you need is one file that does not rigorously check if it was executed or included and you have a much bigger security risk than you would have, had the user just seen the source code (which he can get anyway). Now the attacker can pass variables, try to set options etc.&lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
&lt;br /&gt;
Lots more line breaks. SVN can't merge two unrelated changes when they are both in different parts of the same mile long line of code.&lt;br /&gt;
&lt;br /&gt;
== PHP ==&lt;br /&gt;
&lt;br /&gt;
Do we drop support for PHP4 and go with PHP5?&lt;br /&gt;
&lt;br /&gt;
We should use PHP's multibyte and internationalisation libraries instead of wasting time on our own slow/broken version.&lt;br /&gt;
&lt;br /&gt;
== DBMS ==&lt;br /&gt;
&lt;br /&gt;
Store everything in the database. This means everything. It includes all the stuff we currently store in files. We need a data model that models the data, not one that models gedcom files. This will mean dropping support for synchronised gedcom files (which would be a good thing in itself). &lt;br /&gt;
&lt;br /&gt;
Images (inc thumbnails) can easily be stored in a BLOB together with some basic file info/meta-data.&lt;br /&gt;
&lt;br /&gt;
- I don't think we should require people to store images in the database as hosts generally give more space to the filesystem than they do to the db.  Also, FTP can be used to upload images to the filesystem. --[[User:Ljm|Ljm]] 09:25, 2 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
* Replace print_XXX() with print XXX() to prevent this sort of construct:&lt;br /&gt;
&lt;br /&gt;
 ob_start();&lt;br /&gt;
 print_list_person(...);&lt;br /&gt;
 $indi=ob_get_contents();&lt;br /&gt;
 ob_end_clean();&lt;br /&gt;
&lt;br /&gt;
== Stakeholders ==&lt;br /&gt;
&lt;br /&gt;
Here is a list of possible stakeholders outside the PGV dev team, that should probably be consulted about their experiences with PGV code.&lt;br /&gt;
&lt;br /&gt;
; Drupal Integration&lt;br /&gt;
: http://drupal.org/project/phpgedview&lt;br /&gt;
&lt;br /&gt;
; Joomla Integration&lt;br /&gt;
: http://joomlacode.org/gf/project/phpgedview/&lt;br /&gt;
&lt;br /&gt;
== Road Map Questions ==&lt;br /&gt;
&lt;br /&gt;
Things that need to be considered/decided for the development of a road map are things like:&lt;br /&gt;
&lt;br /&gt;
* When do we move to support PHP5 and drop PHP4 support? With PGV 4.2?&lt;br /&gt;
** If we move to support only PHP5, do we use this opportunity to make changes that will not be backward compatible?&lt;br /&gt;
* Should a branch be made (from the current dev branch or trunk) where changes can be made which will not be backward compatible and devs that want to make major changes can?&lt;br /&gt;
* Others? I'm sure, please add them here.&lt;br /&gt;
* I think PGV 4.2 could be the bells&amp;amp;whistles version of the GEDCOM-based 4.X line. The new PGV &amp;quot;5&amp;quot; does not need to be backward compatible, so migrating is easier (GEDCOM export/import and some DB scripts to recover data from the &amp;quot;old&amp;quot; 4.X installations).&lt;br /&gt;
:* I like this idea: PGV 5.x for supporting PHP5 only and PGV 4.x for the last version supporting PHP4. So how much development effort are people going to put into the 4.2 branch and how do people see this fitting in with starting a 5.1 branch for more of a rewrite or big code cleanup (whichever is easier)? --[[User:Nathanhaigh|Nath]] | [[User talk:Nathan_Watson-Haigh|Talk]] 22:07, 31 January 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Road Map ==&lt;br /&gt;
&lt;br /&gt;
{{main|5.x Roadmap}}&lt;br /&gt;
&lt;br /&gt;
I propose the following as a overview of a possible roadmap (not complete). It might be good for us to team up and have a detailed look at specific items (getting further input from appropriate devs) and make a short report (in the form of a wiki page) to the rest of the devs. Please add specific taks you'd like to be looked into in detail.&lt;br /&gt;
&lt;br /&gt;
=== SVN ===&lt;br /&gt;
&lt;br /&gt;
# We might want to make a temp branch where we can commit code/script examples etc that demonstrate a particular feature, benchmark, test etc&lt;br /&gt;
&lt;br /&gt;
=== Backend Review ===&lt;br /&gt;
&lt;br /&gt;
# Review the DB structure&lt;br /&gt;
#* Does it satisfy our current needs?&lt;br /&gt;
#* Does it satisfy our future needs?&lt;br /&gt;
#* Do we need a redesign? If so, can we use any of the UML diagrams from as a basis or in their entirity:&lt;br /&gt;
#**http://freepages.history.rootsweb.com/~mitchellsharp/&lt;br /&gt;
#** http://www.softwarerenovation.com/igenie/&lt;br /&gt;
#** http://freepages.history.rootsweb.com/~mitchellsharp/gdmref/gdmref-01.pdf&lt;br /&gt;
&lt;br /&gt;
=== API to Backend ===&lt;br /&gt;
&lt;br /&gt;
# Are we only ever likely to want to use a DB backend? i.e. Do we need to think about having an API to a generic backend which allows us to change the backend with a simple configuration change?&lt;br /&gt;
#* If so, can our data classes be uncoupled from from a specific backend?&lt;br /&gt;
#* How could/is this be done? Is this done by extending the data classes to tie them to a backend somehow - I'm a bit confused how the model is tied to a backend.&lt;br /&gt;
# One option might be something like: '''E'''a'''s'''y '''P'''HP '''D'''ata '''O'''bjects [http://www.ezpdo.net EZPDO]. &lt;br /&gt;
&lt;br /&gt;
=== Data Classes/API ===&lt;br /&gt;
&lt;br /&gt;
# How many current classes are sufficiently uncoupled from the backend, IO and business logic (e.g. privacy) to be used with little effort?&lt;br /&gt;
# How much current code can be used as is?&lt;br /&gt;
# How much current code could be used with a small amount of code change?&lt;br /&gt;
# How much current code would need redesigning?&lt;br /&gt;
# We should aim to come up with a suitable API '''before''' writing the code for the classes. This will allow us to really think how a programmer ''should'' use our classes and allow us to write unit tests before the code i.e. [[w:Test-driven_development|test driven development]].&lt;br /&gt;
&lt;br /&gt;
=== Important PGV Features to Consider ===&lt;br /&gt;
&lt;br /&gt;
# [[i18n]] - internationalisation&lt;br /&gt;
#* Support for [[RTL]] langauges&lt;br /&gt;
#* [[UTF-8]] Support&lt;br /&gt;
#* PEAR Packages:&lt;br /&gt;
#** [http://pear.php.net/package/Translation2/ Translation2]&lt;br /&gt;
#** [http://pear.php.net/package/I18Nv2/ I18Nv2]&lt;br /&gt;
&lt;br /&gt;
== Interested Developers ==&lt;br /&gt;
&lt;br /&gt;
If you're interested in helping out with things detailed on this page, please add your name with a link to your PGVWiki user page below. Please also included relevant contact details and a brief overview of your skills on your user page so others know how you might be able to help.&lt;br /&gt;
&lt;br /&gt;
'''Could you now sort yourself under all heading you think you will be able to make the most contributions towards or are most interested in helping out (add new headings you you think it necessary).'''&lt;br /&gt;
&lt;br /&gt;
* [[User:fisharebest|fisharebest]]&lt;br /&gt;
&lt;br /&gt;
* [[User:Nigelo|kiwi_pgv]]&lt;br /&gt;
&lt;br /&gt;
* [[User:windmillway|windmillway]]&lt;br /&gt;
&lt;br /&gt;
* [[User:(Tee)derDoc|Vitus]]&lt;br /&gt;
&lt;br /&gt;
* [[User:bderrly|bderrly]]&lt;br /&gt;
&lt;br /&gt;
=== DB Backend ===&lt;br /&gt;
&lt;br /&gt;
* [[User:Nathan Watson-Haigh|Nathan Watson-Haigh]]&lt;br /&gt;
&lt;br /&gt;
=== MVC ===&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
&lt;br /&gt;
* [[User:Nathan Watson-Haigh|Nathan Watson-Haigh]]&lt;br /&gt;
&lt;br /&gt;
==== View ====&lt;br /&gt;
&lt;br /&gt;
==== Controller ====&lt;br /&gt;
&lt;br /&gt;
=== Testing ===&lt;br /&gt;
&lt;br /&gt;
==== Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* [[User:Nathan Watson-Haigh|Nathan Watson-Haigh]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer resources]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Model-View-Controller_Architecture&amp;diff=12233</id>
		<title>Model-View-Controller Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Model-View-Controller_Architecture&amp;diff=12233"/>
		<updated>2010-06-07T17:03:06Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* View */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note: This document is out of date and an updated description of the [[PhpGedView]] [[Architecture]] can be found on the [[Architecture]] page.&lt;br /&gt;
&lt;br /&gt;
[[PhpGedView]] attempts to follow the '''Model-View-Controller (MVC) architecture'''. The goal of an [[w:Model-view-controller|MVC]] architecture is to separate the data model, the business logic, and the user interface from each other. This means that you don't have business logic in the presentation or your data model and that your presentation can operate completely independent of the underlying data model.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+ Illustration of the architecture stack, showing the different PhpGedView layers that make up the MVC components&lt;br /&gt;
|- &lt;br /&gt;
| colspan = 2 | Presentation (HTML, CSS, JavaScript, PDF)&lt;br /&gt;
| rowspan = 2 | View&lt;br /&gt;
|-&lt;br /&gt;
| colspan = 2 | HTML Generation&lt;br /&gt;
|-&lt;br /&gt;
| colspan = 2 | Privacy Filters&lt;br /&gt;
| rowspan = 2 | Controller&lt;br /&gt;
|-&lt;br /&gt;
| colspan = 2 | PhpGedView Functions&lt;br /&gt;
|-&lt;br /&gt;
| colspan = 2 | Record Cache&lt;br /&gt;
| rowspan = 3 | Model&lt;br /&gt;
|-&lt;br /&gt;
| Index Files&lt;br /&gt;
| PEAR SQL Database&lt;br /&gt;
|-&lt;br /&gt;
| colspan = 2 | GEDCOM 5.5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The data model is built up around the GEDCOM 5.5 specification. The controller consists of an API written in PHP that allows access to the data model, privacy filtering, and generation of the user interface (UI). The UI delivered in the view layer is sent to the browser as HTML, CSS, and JavaScript.&lt;br /&gt;
&lt;br /&gt;
==Data Model==&lt;br /&gt;
&lt;br /&gt;
The foundation of the data model is the [http://www.phpgedview.net/ged551-5.pdf GEDCOM 5.5 specification]. Diagrams of the GEDOCM 5.5 data model can be seen at:&lt;br /&gt;
&lt;br /&gt;
* http://homepages.rootsweb.com/~pmcbride/gedcom/55model1.gif&lt;br /&gt;
* http://homepages.rootsweb.com/~pmcbride/gedcom/55model2.gif&lt;br /&gt;
&lt;br /&gt;
[[image:SQL_DB_Model.gif|250px|thumb|The database model]]&lt;br /&gt;
&lt;br /&gt;
The GEDCOM specification defines several records such as [[INDI]], [[FAM]], and [[SOUR]] which reside at level 0 in the file. These level 0 records are parsed from the Gedcom file into PHP array structures. These array structures are then indexed in a serialized index file (PhpGedView &amp;lt;= vX.Y.Z), or in SQL database tables (PhpGedView &amp;gt;= vX.Y.Z). One of the fields in these arrays keeps a copy of the original Gedcom record as it was parsed from the file. This allows for the greatest compatibility and ensures that no data is lost during the Gedcom file import. To further improve performance, an in-memory record cache layer is used to reduce the number of database queries. In fact, the record cache is simply the unserialized version of the index files. So in index mode, everything is running on the cache, while in SQL database mode, the cache is built-up as the scripts run.&lt;br /&gt;
&lt;br /&gt;
The SQL database model is composed of five main tables: [[pgv_individuals]], [[pgv_families]], [[pgv_sources]], [[pgv_other]], and [[pgv_users]]. The [[pgv_individual]] table holds information for level 0 [[INDI]] records. The [[pgv_families]] table holds information about level 0 [[FAM]] Gedcom records. The [[pgv_sources]] table stores information parsed from level 0 [[SOUR]] records and the [[pgv_other]] table catches all other level 0 records (eg. [[NOTE]], [[REPO]], and [[OBJE]]) that are not stored in the other tables. The [[pgv_users]] table contains all of the information about PGV users and is not parsed from the Gedcom file.&lt;br /&gt;
&lt;br /&gt;
==Controller==&lt;br /&gt;
&lt;br /&gt;
The controller layer provides an [[w:API|API]] through which you can access the data from the Gedcom. A JavaDoc style reference of this API can be found online at http://www.phpgedview.net/devdocs/api/.&lt;br /&gt;
&lt;br /&gt;
Before any data is sent to the UI, it must first pass through privacy checks. These privacy checks determine what the user at the UI can access based on privacy settings established by the site administrator.&lt;br /&gt;
&lt;br /&gt;
==View==&lt;br /&gt;
&lt;br /&gt;
The User Interface is sent out to a client browser in rich dynamic HTML. One of the goals of the PhpGedView project is to try and give the user more information on the screen at a time, so that they can get at more data without losing their current context and without many clicks.&lt;br /&gt;
&lt;br /&gt;
We make the UI even more interesting through CSS which allows themes to be defined. Through the themes, site administrators can completely change the look and feel of the site without modifying the code.&lt;br /&gt;
&lt;br /&gt;
===User Levels===&lt;br /&gt;
&lt;br /&gt;
The following table show the different user levels in the PGV system and what they have access to:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! User Level&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Public visitor&lt;br /&gt;
| This is a public visitor that has not authenticated by entering a username and password. Default privacy settings do not give them access to the data of living people. They cannot edit data.&lt;br /&gt;
|-&lt;br /&gt;
| User&lt;br /&gt;
| This is an authenticated user. They will have access to the MyGedView portal and can view private data depending on privacy settings.&lt;br /&gt;
|-&lt;br /&gt;
| Editor&lt;br /&gt;
| This is an authenticated user who has been given editing privileges. They will be able to edit anything that they can see. Their changes will still need to be accepted by a user with higher access privileges.&lt;br /&gt;
|-&lt;br /&gt;
| Acceptor&lt;br /&gt;
| This is an authenticated user who has edit privileges, but who can also accept or undo changes into the database.&lt;br /&gt;
|-&lt;br /&gt;
| Gedcom Admin&lt;br /&gt;
| This is a user who can accept changes and also administer Gedcom configuration and privacy settings.&lt;br /&gt;
|-&lt;br /&gt;
| Site Admin&lt;br /&gt;
| This user can do and see anything on any Gedcom in the site and can create new users.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
&lt;br /&gt;
There are currently two methods of online editing. The first is through HTML forms at the UI layer. The second is through Web Services at the control layer. Any changes to the data are made at the bottom GEDCOM layer of the architecture stack in the actual Gedcom file. They remain at this level until they are reviewed and accepted by another user. When changes are accepted they bubble up into the database and index file layers.&lt;br /&gt;
&lt;br /&gt;
== To Merge in with rest of article ==&lt;br /&gt;
&lt;br /&gt;
PGV is a document centric architecture. The documents are GEDCOM records. The only reason we need a DB at all is so that we can quickly lookup and search for the GEDCOM records. So our objects are representations of GEDCOM records, not of the DB. &lt;br /&gt;
&lt;br /&gt;
The PGV architecture consists of a stack of layers. Each layer should communicate with the layers &amp;quot;near&amp;quot; it. The application layers (from lowest to highest) are: &lt;br /&gt;
1. GEDCOM &lt;br /&gt;
2. DB &lt;br /&gt;
3. CACHE &lt;br /&gt;
4. PRIVACY &lt;br /&gt;
5. OBJECTS &lt;br /&gt;
6. HTML GENERATION &lt;br /&gt;
&lt;br /&gt;
1. GEDCOM layer is the lowest level and all data is stored in the GEDCOM format.  &lt;br /&gt;
&lt;br /&gt;
2. The DB Layer provides a fast convenient way to index the GEDCOM and look up the records. It breaks them up into level 0 records and indexes various portions of them. Originally we didn't have a DB layer. In fact the very first version of PGV only had the levels 1, 4, and 6 and worked directly with the GEDCOM file. For performance on large files we added the DB and originally had an &amp;quot;index&amp;quot; mode which was able to look up the GEDCOM records from PHP indexes. Index mode was eventually dropped because it doesn't scale and it doesn't allow for the complicated searching that we do now. Index mode also didn't move well into allowing online editing. The DB layer functions are encapsulated in the functions_db.php file. &lt;br /&gt;
&lt;br /&gt;
3. The CACHE layer provides an in memory cache of records that are pulled from the database. This reduces the number of calls to the DB. (The DB is the greatest bottleneck). The cache is stored in global variables such as $indilist, $famlist, $sourcelist, etc. The find_* methods in functions_db.php first check the cache before going to the DB. &lt;br /&gt;
&lt;br /&gt;
4. The PRIVACY layer provides the API to make sure that the user has sufficient privileges to view/edit the data. This api is provided by the functions_privacy.php file. There has been much debate over the position of this layer in the stack. In the future it will probably be moved down between the DB and CACHE layers. It is here because user's wanted to be able to see statistical information of how many records are hidden. &lt;br /&gt;
&lt;br /&gt;
5. The OBJECT layer provides convenience methods for working with GEDCOM. It also automatically privatizes the data. So when you create a new Person you give it a GEDCOM document: &lt;br /&gt;
 //-- lookup the person's record from the cache or the DB &lt;br /&gt;
 $indirec = find_person_record(&amp;quot;I1&amp;quot;); &lt;br /&gt;
 //-- create an instance of Person object from the record &lt;br /&gt;
 $person = new Person($indirec); &lt;br /&gt;
&lt;br /&gt;
Now we also don't want to be creating Person objects all of the time, so we also store them in the cache. To access them from the cache or create them we have implemented a factory pattern using the static getInstance() methods on the various classes: &lt;br /&gt;
 $person = Person::getInstance(&amp;quot;I1&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
Person class extends a more generic GedcomRecord class. So you can ask it for an object of any level 0 GEDCOM record and it will return an instance of the appropriate class for that type. &lt;br /&gt;
&lt;br /&gt;
 $repo = GedcomRecord::getInstance(&amp;quot;R1&amp;quot;); &lt;br /&gt;
 $person = GedcomRecord::getInstance(&amp;quot;I1&amp;quot;); &lt;br /&gt;
 $source = GedcomRecord::getInstance(&amp;quot;S1&amp;quot;); &lt;br /&gt;
 // etc. &lt;br /&gt;
&lt;br /&gt;
6. HTML/Presenation Generation. All other pages should operate at this level and work with the OBJECT level just below it. Some pages may go down to level 2 for searching or other DB related stuff. Now there is a *LOT* of legacy code which works with the APIs at the lower layers. They haven't been updated because they work the way they are. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer resources]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=XML_Report_Templates&amp;diff=12232</id>
		<title>XML Report Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=XML_Report_Templates&amp;diff=12232"/>
		<updated>2010-06-07T17:00:09Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* PGVRRepeatTag */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tags=&lt;br /&gt;
==PGVReport==&lt;br /&gt;
The root node that starts a PGV report template.  &lt;br /&gt;
*'''access''' - The PGV user access level for this report. This corresponds to the options available for privacy settings. Possible values are: PGV_PUBLIC, PGV_USER, and PGV_NONE.&lt;br /&gt;
*'''icon''' - The PGV icon to use in the menus for this reports as defined by the theme.php file.&lt;br /&gt;
&lt;br /&gt;
==PGVRTitle== &lt;br /&gt;
The title of this report. The title will appear in the list menu items.&lt;br /&gt;
&lt;br /&gt;
==PGVRDescription==&lt;br /&gt;
A textual description of this report.&lt;br /&gt;
&lt;br /&gt;
==PGVRInput==&lt;br /&gt;
Setup an input variable for the UI which will make the user input available as a variable later in the report. Attribute Description &lt;br /&gt;
*'''name''' - The name of the variable. &lt;br /&gt;
*'''lookup''' - Tells the UI that the value for this input can be looked up from a list. Possible values are: INDI, FAM, SOUR, PLAC, and DATE. &lt;br /&gt;
*'''type''' - Tells the UI generator what type of input this is. This allows you to specify whether you want a textbox input or a checkbox or a select drop-down list. &lt;br /&gt;
*'''default''' - The default value that should be filled into the field. &lt;br /&gt;
*'''options''' - For an input of type &amp;quot;select&amp;quot; this allows you to set which options are available to select from in the drop-down list. The options should be entering in a comma seperated list (ie. NAME,BIRT).&lt;br /&gt;
&lt;br /&gt;
==PGVRStyle==&lt;br /&gt;
Setup an text style that text elements may reference to set the font style used when they are rendered. This is very similar to class stylesheets in HTML. The fonts that are available to you are the 12 fonts that come standard with Adobe Acrobat and the LucidaSans font included with the project. Note that to avoid including the font in the PDF report, the LucidaSans font will be interchanged with Arial for reports that do not contain any special characters. For reports that do contain special characters, only the LucidaSans font can be used.&lt;br /&gt;
*'''name''' The name you will use to reference this style. &lt;br /&gt;
*'''font''' The name of the font that should be used. &lt;br /&gt;
*'''size''' The size of the font in pt. &lt;br /&gt;
*'''style''' Bold or Italicize the font, (not available with the LucidaSans font). Appropriate values are: B, and I&lt;br /&gt;
&lt;br /&gt;
==PGVRDoc== &lt;br /&gt;
This is the main tag that signals the start of the report document.&lt;br /&gt;
*'''pageSize''' The size of paper for this report. Possible values are: A3, A4, A5, Letter, Legal  &lt;br /&gt;
*'''orientation''' Whether this report should print portrait or landscape (P or L) &lt;br /&gt;
*'''margin''' The size of the margins in pt.&lt;br /&gt;
&lt;br /&gt;
==PGVRvar== &lt;br /&gt;
Lookup and return the value of the given variable. The variable can be one of the many internal PGV variables, one of the user input variables, or a variable set with PGVRSetVar&lt;br /&gt;
*'''var''' The name of the variable to lookup&lt;br /&gt;
&lt;br /&gt;
==PGVRvarLetter== &lt;br /&gt;
This is the same as the PGVRvar tag, except that it only returns the first letter of the variable. &lt;br /&gt;
*'''var''' The name of the variable to lookup&lt;br /&gt;
&lt;br /&gt;
==PGVRSetVar== &lt;br /&gt;
Set an internal variable that can be used in this report. Variable can be referenced using the PGVRvar tag, or in an attribute value by prepending a $ in front of the variable name (ie. id=&amp;quot;$pid&amp;quot;) &lt;br /&gt;
*'''name''' The name of the variable to set &lt;br /&gt;
*'''value''' The value to set the variable.&lt;br /&gt;
&lt;br /&gt;
==PGVRif==&lt;br /&gt;
Setup a condition where the children of this node will only be processed if the value of the condition attribute evaluates to true.&lt;br /&gt;
*'''condition''' The condition that must be met in order to process the children nodes.&lt;br /&gt;
&lt;br /&gt;
The following syntax applies to the '''condition''' construct:&lt;br /&gt;
#The whole condition is delimited by double quotes '''&amp;quot; &amp;quot;'''&lt;br /&gt;
#A literal string value is delimited by single quotes '''' '''' &lt;br /&gt;
#A variable can be referenced by name preceded by a '''$'''&lt;br /&gt;
#A Gedcom tag element can be referenced preceded by a '''@'''&lt;br /&gt;
#Valid comparisons are '''==''' or '''!='''&lt;br /&gt;
&lt;br /&gt;
==PGVRHeader== &lt;br /&gt;
Setup a header that will be placed at the top of every page.&lt;br /&gt;
&lt;br /&gt;
==PGVRBody== &lt;br /&gt;
Start the main body of the document. The body will create new pages as content flows over the current page.&lt;br /&gt;
&lt;br /&gt;
==PGVRFooter== &lt;br /&gt;
Setup a footer that will be placed at the bottom of every page.&lt;br /&gt;
&lt;br /&gt;
==PGVRPageHeader== &lt;br /&gt;
Setup a header that will be printed at the top of the page whenever the body flows onto a new page. The PGVRPageHeader will be printed underneath the PGVRHeader. This is allows you to have a custom header for different people or families as information flows onto succeeding pages.&lt;br /&gt;
&lt;br /&gt;
==PGVRFootnote== &lt;br /&gt;
This sets up a footnote in the document. Each unique footnote is numbered and that number is printed with a link to the footnote text, which is printed whenever the PGVRFootnoteTexts tag appears.&lt;br /&gt;
&lt;br /&gt;
==PGVRFootnoteTexts==&lt;br /&gt;
Print all of the footnotes setup while processing the document.&lt;br /&gt;
&lt;br /&gt;
==PGVRCell==&lt;br /&gt;
The PGVRCell is the most basic text block that can be used in a report. It differs from the PGVRTextBox in that it can only have one style of text. Because of this you will often see PGVRTextBox used more often than PGVRCell. Text in a PGVRCell will wrap to the width of the cell.&lt;br /&gt;
*'''width''' The width of this cell. Setting the width to 0 will make it the width from the current location to the right margin. &lt;br /&gt;
*'''height''' The starting height of this cell. If the text wraps the height will automatically be adjusted. &lt;br /&gt;
*'''align''' The text alignment of the text in this box. Options are &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;center&amp;quot;, and &amp;quot;justify&amp;quot;. &lt;br /&gt;
*'''style''' The name of the PGVRStyle that should be used to render the text. &lt;br /&gt;
*'''border''' Whether or not a border should be printed around this box. 0 = no border, 1 = border. Default is 0. &lt;br /&gt;
*'''fill''' The color to fill the background of this cell.&lt;br /&gt;
&lt;br /&gt;
==PGVRTextBox==&lt;br /&gt;
The PGVRTextBox is very similar to PGVRCell except that it may have PGVRText children which may each have their own style.&lt;br /&gt;
*'''width''' The width of this box. Setting the width to 0 will make it the width from the current location to the right margin. &lt;br /&gt;
*'''height''' The starting height of this box. If the text wraps the height will automatically be adjusted. &lt;br /&gt;
*'''newline''' After this box is finished rendering, should the next section of text start immediately after the this box or should it start on a new line under this box. 0 = no new line, 1 = force new line. Default is 0. &lt;br /&gt;
*'''left''' Position the left corner of this box on the page. The default is the current position. &lt;br /&gt;
*'''top''' Position the top corner of this box on the page. the default is the current position. &lt;br /&gt;
*'''border''' Whether or not a border should be printed around this box. 0 = no border, 1 = border. Default is 0. &lt;br /&gt;
*'''fill''' The color to fill the background of this cell.&lt;br /&gt;
&lt;br /&gt;
==PGVRText==&lt;br /&gt;
The PGVRText element must come inside a PGVRTextBox element and will render the text at the current document position according to the given style. &lt;br /&gt;
*'''style''' The name of the PGVRStyle that should be used to render the text.&lt;br /&gt;
&lt;br /&gt;
==PGVRList==&lt;br /&gt;
Iterate through a list of level 0 records. The child elements contained in the PGVRList tag will be repeated for ever record in the list. The list can be filtered through the filter attributes. Any number of filters can be applied. With each iteration, the gedcom context is changes to the next record in the list.&lt;br /&gt;
*'''filter1''' Filter the list by the given expression. Filters are given in the form GEDCOMTAG EXPR VALUE, where GEDCOMTAG may be any valid tag, for example BIRT:PLAC. EXPR must be one of the following CONTAINS, GTE, LTE, or EQUALS. CONTAINS filters are usually faster than the other filters. VALUE may be any variable or literal string. &lt;br /&gt;
*'''filter2''' Filter the list again by the given expression &lt;br /&gt;
*'''filter3''' Filter the list yet again by the given expression &lt;br /&gt;
*'''sortby''' The Gedcom tag to sort on (ie. NAME, BIRT, or DEAT)&lt;br /&gt;
&lt;br /&gt;
==PGVRRelatives==&lt;br /&gt;
Find all persons who are related to a given individual.  With each iteration, the gedcom context is changed to the next record in the list.&lt;br /&gt;
Attributes:&lt;br /&gt;
*'''id''' The gedcom XREF id of the record to use as the context for children tags. A variable (ie $pid) or a reference tag (ie @FAMS, @SOUR) may be used for the id.&lt;br /&gt;
*'''group''' The group of relative to find.  Acceptable values are:spouse-family, direct-ancestors, ancestors, descendants, all&lt;br /&gt;
*'''sortby''' Possible values are none, NAME, ID, generation, &lt;br /&gt;
*'''maxgen''' The Maximum number of generations to return.  A value of * will return all.&lt;br /&gt;
*'''showempty''' If true, empty records will be returned for all ancestors not in the gedcom file.  This is used for Ahnentafel charts.&lt;br /&gt;
&lt;br /&gt;
==PGVRGedcom==&lt;br /&gt;
Set the current gedcom record context. All children tags will be referenced around the gedcom record selected using the &amp;quot;id&amp;quot; attribute&amp;quot;&lt;br /&gt;
*'''id''' The gedcom XREF id of the record to use as the context for children tags. A variable (ie $pid) or a reference tag (ie @FAMS, @SOUR) may be used for the id.&lt;br /&gt;
&lt;br /&gt;
==PGVRRepeatTag==&lt;br /&gt;
Iterate across all of the Gedcom tags in the given in the &amp;quot;tag&amp;quot; attribute that are found in the current Gedcom context. With each iteration the current gedcom context is changes to the next matching tag's subrecord.&lt;br /&gt;
*'''tag''' The gedcom subordinate tag to&lt;br /&gt;
&lt;br /&gt;
==PGVRFacts==&lt;br /&gt;
Iterate across all of the level +1 subrecords in the current gedcom context. This is useful for iterating through all of the facts in an individual or family record. The tags that will be iterated across can be filtered using the &amp;quot;ignore&amp;quot; attribute. It is often desirable to print the family with spouse facts along with the person facts. The &amp;quot;families&amp;quot; attribute allows you to turn this behavior on or off.&lt;br /&gt;
*'''ignore''' A comma seperated list of tags that should be ignored when iterating through this record. &lt;br /&gt;
*'''families''' Whether or not to look up family with spouse (FAMS) events when iterating through a person context. Options are 0 = don't include events from family records, 1 = include events from family records. Default = 0. &lt;br /&gt;
 &lt;br /&gt;
==PGVRGetPersonName==&lt;br /&gt;
Get the name of the person whose XREF id is given in the &amp;quot;id&amp;quot; attribute.&lt;br /&gt;
*'''id''' The Gedcom XREF id for the person to lookup. Leave this attribute empty if you want to use the name from the current gedcom record context. &lt;br /&gt;
*'''truncate''' Some reports may need to truncate long names so that they fit better in the reports. Use this attribute to specify the maximum character width that a name be printed. This will cause the processor to abbreviate multiple given names. &lt;br /&gt;
 &lt;br /&gt;
==PGVRGedcomValue==&lt;br /&gt;
Get the value of a Gedcom tag. &lt;br /&gt;
*'''tag''' The GEDCOM tag you wish to capture the data from.  You can specify descendant tags by seperating them with colons (:). For example, a person's birthdate would be &amp;quot;BIRT:DATE&amp;quot;. The birth place would be &amp;quot;BIRT:PLAC&amp;quot;.&lt;br /&gt;
*'''level'''  The level in the GEDCOM hierarchy this tag will be found.  Entering DATE in the tag and level=2 will pull up the date that the event in the current contect occured.&lt;br /&gt;
*'''truncate'''  Limits the number of characters printed to the screen.&lt;br /&gt;
 &lt;br /&gt;
==PGVRLine==&lt;br /&gt;
Draw a line on the page.&lt;br /&gt;
*'''x1''' The horizontal starting position. &lt;br /&gt;
*'''y1''' The vertical starting position. &lt;br /&gt;
*'''x2''' The horizontal ending position. &lt;br /&gt;
*'''y2''' The vertical ending position. &lt;br /&gt;
 &lt;br /&gt;
==PGVRImage==&lt;br /&gt;
Place an image on the page.&lt;br /&gt;
*'''file''' Currently the only supported value is @FILE &lt;br /&gt;
*'''left''' The vertical starting position. &lt;br /&gt;
*'''top''' The horizontal ending position. &lt;br /&gt;
*'''width''' The width to set the image. &lt;br /&gt;
*'''height''' The height to set the image. &lt;br /&gt;
 &lt;br /&gt;
==PGVRHighlightedImage==&lt;br /&gt;
Place the primary object image on the page. This would be the same image that is shown on the PGV charts.&lt;br /&gt;
*'''left''' The vertical starting position. &lt;br /&gt;
*'''top''' The horizontal ending position. &lt;br /&gt;
*'''width''' The width to set the image. &lt;br /&gt;
*'''height''' The height to set the image. &lt;br /&gt;
 &lt;br /&gt;
==PGVRNow==&lt;br /&gt;
Print the current date according to the selected language rules.  &lt;br /&gt;
==PGVRPageNum==&lt;br /&gt;
Print the current page number.  &lt;br /&gt;
==PGVRTotalPages==&lt;br /&gt;
Print the total number of pages in the resulting document.  &lt;br /&gt;
==PGVRListTotal==&lt;br /&gt;
Print the totals found in the filtered PGVRList.  &lt;br /&gt;
==br==&lt;br /&gt;
Print a new line break.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Category links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
[[Category:Developers Guide]]&lt;br /&gt;
[[Category:phpGedView]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Inside_info&amp;diff=12211</id>
		<title>Inside info</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Inside_info&amp;diff=12211"/>
		<updated>2010-06-07T16:50:43Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Manual configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Inside Information=&lt;br /&gt;
&lt;br /&gt;
==Database tables v4.0 and 4.1==&lt;br /&gt;
&lt;br /&gt;
PhpGedView uses a very simple database table layout because it operates primarily on the GEDCOM data and only needs the database for search and retrieval.  There are 17 tables in the v4.0 database, '''20 in the 4.1 database''', and this note assumes use of the “pgv_” prefix for each table name:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| pgv_blocks ||	Description of each user's Portal page&lt;br /&gt;
|-&lt;br /&gt;
| pgv_dates || Stores decoded date information from GEDCOM records&lt;br /&gt;
|-&lt;br /&gt;
| pgv_families || All the families in the GEDCOM&lt;br /&gt;
|-&lt;br /&gt;
| pgv_favorites || Stores users favorites&lt;br /&gt;
|-&lt;br /&gt;
| pgv_individuals || All the individuals in the GEDCOM&lt;br /&gt;
|-&lt;br /&gt;
| pgv_media ||&lt;br /&gt;
|-&lt;br /&gt;
| pgv_media_mapping ||&lt;br /&gt;
|-&lt;br /&gt;
| pgv_messages || Messages to and from users&lt;br /&gt;
|-&lt;br /&gt;
| pgv_names || Stores decoded name information from GEDCOM records&lt;br /&gt;
|-&lt;br /&gt;
| pgv_news || Stores news items for the Index and Portal pages&lt;br /&gt;
|-&lt;br /&gt;
| pgv_placelinks || Cross-reference between places and individuals and families&lt;br /&gt;
|-&lt;br /&gt;
| pgv_places || Place hierarchy&lt;br /&gt;
|-&lt;br /&gt;
| pgv_remotelinks ||&lt;br /&gt;
|-&lt;br /&gt;
| pgv_other || All other level 0 GEDCOM records (i.e., repositories, media objects, notes, etc.)	&lt;br /&gt;
|-&lt;br /&gt;
| pgv_sources || All the sources in the GEDCOM&lt;br /&gt;
|-&lt;br /&gt;
| pgv_users || Table for user data (only exists if using default MySQL authentication module)&lt;br /&gt;
|-&lt;br /&gt;
| pgv_next_id ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The tables are all very similar.  They each have a field for the GEDCOM ID, a field to tell which GEDCOM file the record was imported from, a few fields for things like quick retrieval of name information, and a field for the raw GEDCOM record data.&lt;br /&gt;
&lt;br /&gt;
'''In v4.1, three additional tables have been added -''' &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| pgv_mutex ||	(information required here)&lt;br /&gt;
|-&lt;br /&gt;
| pgv_other || --&lt;br /&gt;
|-&lt;br /&gt;
| pgv_soundex || --&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Following is a more detailed description of each table in 4.0:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 2em auto 2em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_blocks&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| b_id INT(11) || Record ID	   &lt;br /&gt;
|-&lt;br /&gt;
| b_username VARCHAR(100) || User name whom block belongs to	   &lt;br /&gt;
|-&lt;br /&gt;
| b_location VARCHAR(30) || Location of the block - main column or right column	   &lt;br /&gt;
|-&lt;br /&gt;
| b_order INT(11) || Position of the block within the column	   &lt;br /&gt;
|-&lt;br /&gt;
| b_name VARCHAR(255) || Name of the block	   &lt;br /&gt;
|-&lt;br /&gt;
| b_config TEXT || Configuration settings for this block	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_dates&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| d_day INT(11) || The day of month for this date	   &lt;br /&gt;
|-&lt;br /&gt;
| d_month VARCHAR(5) || The 3 letter abbreviation for month of year	   &lt;br /&gt;
|-&lt;br /&gt;
| d_mon INT(11) || Integer 1-12 for the month of year	   &lt;br /&gt;
|-&lt;br /&gt;
| d_year INT(11) || The year for this date	   &lt;br /&gt;
|-&lt;br /&gt;
| d_datestamp INT(11) || A date stamp of the form YYYYMMDD used for simple comparisons	   &lt;br /&gt;
|-&lt;br /&gt;
| d_fact VARCHAR(10) || The fact that this date was associated with	   &lt;br /&gt;
|-&lt;br /&gt;
| d_gid VARCHAR(255) || The GEDCOM XREF ID where this fact and date were found	   &lt;br /&gt;
|-&lt;br /&gt;
| d_file INT(11) || The GEDCOM file id where this fact was found	   &lt;br /&gt;
|-&lt;br /&gt;
| d_type VARCHAR(13) || Used if this date uses an alternate calendar type	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_families&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| f_id VARCHAR(255) || GEDCOM family ID	   &lt;br /&gt;
|-&lt;br /&gt;
| f_file INT || ID number of the GEDCOM file the record is from	   &lt;br /&gt;
|-&lt;br /&gt;
| f_husb VARCHAR(255) || ID of the husband&lt;br /&gt;
|-	   &lt;br /&gt;
| f_wife VARCHAR(255) || ID of the wife	   &lt;br /&gt;
|-&lt;br /&gt;
| f_chil TEXT || List of children IDs, semi-colon (;) delimited	   &lt;br /&gt;
|-&lt;br /&gt;
| f_GEDCOM TEXT || Raw GEDCOM record for this family	 &lt;br /&gt;
|-  &lt;br /&gt;
| f_numchil INT || Number of children in this family	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_favorites&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| fv_id INT(11) || Record ID	   &lt;br /&gt;
|-&lt;br /&gt;
| fv_username VARCHAR(30) || User name whom the favorite belongs to	   &lt;br /&gt;
|-&lt;br /&gt;
| fv_gid VARCHAR(10) || ID of the favorite	   &lt;br /&gt;
|-&lt;br /&gt;
| fv_type VARCHAR(10) || Type of favorite (currently only INDI)	   &lt;br /&gt;
|-&lt;br /&gt;
| fv_file VARCHAR(100) || File that this favorite belongs to	   &lt;br /&gt;
|-&lt;br /&gt;
| fv_url VARCHAR(255) || The URL for this favorite if it is not one of the basic types	   &lt;br /&gt;
|-&lt;br /&gt;
| fv_title VARCHAR(255) || A title for URL based favorites	   &lt;br /&gt;
|-&lt;br /&gt;
| fv_note TEXT || Optional descriptive information about this favorite	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_individuals&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| i_id VARCHAR(255) || GEDCOM individual ID	   &lt;br /&gt;
|-&lt;br /&gt;
| i_file INT || ID number of the GEDCOM file the record is from	   &lt;br /&gt;
|-&lt;br /&gt;
| i_rin VARCHAR(30) || Individual's RIN number	   &lt;br /&gt;
|-&lt;br /&gt;
| i_name VARCHAR(255) || Person's primary name taken from the first 1 NAME line stored in GEDCOM name format	   &lt;br /&gt;
|-&lt;br /&gt;
| i_isdead INT(1) || Alive/dead status of individual &amp;lt;br&amp;gt; -1:not calculated &amp;lt;br&amp;gt; 0:alive &amp;lt;br&amp;gt; 1:dead  &lt;br /&gt;
|-&lt;br /&gt;
| i_GEDCOM TEXT || Raw GEDCOM record for this individual	   &lt;br /&gt;
|-&lt;br /&gt;
| i_letter VARCHAR(5) || First letter of the individual's surname	   &lt;br /&gt;
|-&lt;br /&gt;
| i_surname VARCHAR(100) || Person's surname	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_media&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| m_id INT(11) || Media ID	   &lt;br /&gt;
|-&lt;br /&gt;
| m_media VARCHAR(15) || Media reference number	   &lt;br /&gt;
|-&lt;br /&gt;
| m_ext VARCHAR(6) || File type eg jpg	   &lt;br /&gt;
|-&lt;br /&gt;
| m_titl VARCHAR(255) || Media title	   &lt;br /&gt;
|-&lt;br /&gt;
| m_file (VARCHAR(255) || File name eg media/picname.jpg	   &lt;br /&gt;
|-&lt;br /&gt;
| m_gedfile INT(11) ||		   &lt;br /&gt;
|-&lt;br /&gt;
| m_gedrec TEXT || Raw GEDCOM record for this media	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_media_mapping&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mm_id INT(11) || Media ID	   &lt;br /&gt;
|-&lt;br /&gt;
| mm_media VARCHAR(15) || Media reference number	   &lt;br /&gt;
|-&lt;br /&gt;
| mm_gid VARCHAR(15) || Connected to individual Ixxx	   &lt;br /&gt;
|-&lt;br /&gt;
| mm_order INT(11) || Sequence	   &lt;br /&gt;
|-&lt;br /&gt;
| mm_gedfile INT(11) || Belongs to which gedfile	   &lt;br /&gt;
|-&lt;br /&gt;
| mm_gedrec TEXT || Raw GEDCOM record for this media	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_messages&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| m_id INT(11) || Record ID	   &lt;br /&gt;
|-&lt;br /&gt;
| m_from VARCHAR(255) || Name or email address of the sender	   &lt;br /&gt;
|-&lt;br /&gt;
| m_to VARCHAR(30) || Destination user name	   &lt;br /&gt;
|-&lt;br /&gt;
| m_subject VARCHAR(255) || Subject of the message	   &lt;br /&gt;
|-&lt;br /&gt;
| m_body TEXT || Body text of the message	   &lt;br /&gt;
|-&lt;br /&gt;
| m_created VARCHAR(255) || Time stamp when the message was created	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_names&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| n_gid VARCHAR(255) || Individual ID that this name corresponds to	   &lt;br /&gt;
|-&lt;br /&gt;
| n_file INT(11) || ID number of the GEDCOM file the record is from	   &lt;br /&gt;
|-&lt;br /&gt;
| n_name VARCHAR(255) || Name in GEDCOM format, with / / around the surname	   &lt;br /&gt;
|-&lt;br /&gt;
| n_letter VARCHAR(5) || First letter of the surname	   &lt;br /&gt;
|-&lt;br /&gt;
| n_surname VARCHAR(100) || Surname for this name record	   &lt;br /&gt;
|-&lt;br /&gt;
| n_type VARCHAR(10) || Type of name, P=primary, A=additional, C=calculated	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_news&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| n_id INT(11) || Unique identifier	   &lt;br /&gt;
|-&lt;br /&gt;
| n_username VARCHAR(100) || User name or GEDCOM the News item belongs to	   &lt;br /&gt;
|-&lt;br /&gt;
| n_date INT(11) || Time stamp of last update	   &lt;br /&gt;
|-&lt;br /&gt;
| n_title VARCHAR(255) || Title of the article	   &lt;br /&gt;
|-&lt;br /&gt;
| n_text TEXT || Body text of the article	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_next_id&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ni_id INT(11) ||		   &lt;br /&gt;
|-&lt;br /&gt;
| ni_type VARCHAR(30) ||		   &lt;br /&gt;
|-&lt;br /&gt;
| ni_gedfile INT(11) ||		 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_other&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| o_id VARCHAR(255) || GEDCOM record ID	   &lt;br /&gt;
|-&lt;br /&gt;
| o_file INT(11) || ID number of the GEDCOM file the record is from	   &lt;br /&gt;
|-&lt;br /&gt;
| o_type VARCHAR(20) || Type of GEDCOM record (REPO, ADDR, NOTE, OBJE, etc)	   &lt;br /&gt;
|-&lt;br /&gt;
| o_GEDCOM TEXT || Raw GEDCOM record for this item	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_placelinks&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| pl_p_id INT(11) || Unique identifier	   &lt;br /&gt;
|-&lt;br /&gt;
| pl_gid VARCHAR(30) || Family or individual ID referencing this place	   &lt;br /&gt;
|-&lt;br /&gt;
| pl_file INT(11) || ID number of the GEDCOM file the record is from	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_places&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| p_id INT(11) || Unique identifier	   &lt;br /&gt;
|-&lt;br /&gt;
| p_place VARCHAR(150) || Place name	   &lt;br /&gt;
|-&lt;br /&gt;
| p_level INT(11) || Level of the place in the hierarchy, 0 is the country or state	   &lt;br /&gt;
|-&lt;br /&gt;
| p_parent_id INT(11) || ID of this item's parent place in the hierarchy.  A city's parent would be the county it is in, a county's parent would be a state or province, and a state or province would have a country as parent.	   &lt;br /&gt;
|-&lt;br /&gt;
| p_file INT(11) || ID number of the GEDCOM file the record is from	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_remotelinks&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| r_gid VARCHAR(255) ||		   &lt;br /&gt;
|-&lt;br /&gt;
| r_linkid VARCHAR(255) ||		   &lt;br /&gt;
|-&lt;br /&gt;
| r_file INT(11) ||&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_sources&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| s_id VARCHAR(255) || GEDCOM source ID	   &lt;br /&gt;
|-&lt;br /&gt;
| s_file INT(11) || ID number of the GEDCOM file the record is from	   &lt;br /&gt;
|-&lt;br /&gt;
| s_name VARCHAR(255) || Abbreviated title of the source	   &lt;br /&gt;
|-&lt;br /&gt;
| s_GEDCOM TEXT || Raw GEDCOM record for this source	 &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_users&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| u_username VARCHAR(30) || User name	   &lt;br /&gt;
|-&lt;br /&gt;
| u_password VARCHAR(255) || Encrypted password	   &lt;br /&gt;
|-&lt;br /&gt;
| u_fullname VARCHAR(255) || User's full name	   &lt;br /&gt;
|-&lt;br /&gt;
| u_GEDCOMid TEXT || Serialized array representing the GEDCOM IDs for this user	   &lt;br /&gt;
|-&lt;br /&gt;
| u_rootid TEXT || Serialized array representing the root IDs for this user	   &lt;br /&gt;
|-&lt;br /&gt;
| u_canadmin ENUM('Y','N') || Is the user an admin or not?	   &lt;br /&gt;
|-&lt;br /&gt;
| u_canedit TEXT || Serialized array indicating the editing privileges a user has for each GEDCOM	   &lt;br /&gt;
|-&lt;br /&gt;
| u_email TEXT || Email address	   &lt;br /&gt;
|-&lt;br /&gt;
| u_verified VARCHAR(20) || User self verified	   &lt;br /&gt;
|-&lt;br /&gt;
| u_verified_by_admin VARCHAR(20) || User has been verified by the admin	   &lt;br /&gt;
|-&lt;br /&gt;
| u_language VARCHAR(50) || User's preferred language	   &lt;br /&gt;
|-&lt;br /&gt;
| u_pwrequested VARCHAR(20) || User requested a new password	   &lt;br /&gt;
|-&lt;br /&gt;
| u_reg_timestamp VARCHAR(50) || Registration timestamp	   &lt;br /&gt;
|-&lt;br /&gt;
| u_reg_hashcode VARCHAR(255) || Self-registration hash key	   &lt;br /&gt;
|-&lt;br /&gt;
| u_theme VARCHAR(50) || User's preferred theme	   &lt;br /&gt;
|-&lt;br /&gt;
| u_loggedin ENUM('Y','N') || User's login status	   &lt;br /&gt;
|-&lt;br /&gt;
| u_sessiontime INT(14) || User's last login time stamp	   &lt;br /&gt;
|-&lt;br /&gt;
| u_contactmethod VARCHAR(20) || User's preferred method of contact	   &lt;br /&gt;
|-&lt;br /&gt;
| u_visibleonline ENUM('Y','N') || Whether or not the user is visible in the logged on users block	   &lt;br /&gt;
|-&lt;br /&gt;
| u_editaccount ENUM('Y', 'N') || Whether or not the user can edit his own account information	   &lt;br /&gt;
|-&lt;br /&gt;
| u_defaulttab INT(10) || Default tab on the individual page for this user	   &lt;br /&gt;
|-&lt;br /&gt;
| u_comment VARCHAR(255) || Admin's comments on this user	   &lt;br /&gt;
|-&lt;br /&gt;
| u_comment_exp VARCHAR(20) || Alert date for the admin, for instance for temporary accounts.	   &lt;br /&gt;
|-&lt;br /&gt;
| u_sync_gedcom VARCHAR(2) || If the user has a GEDCOM record ID, then should some of the data for the user (name, email) be synchronized with the GEDCOM data.	   &lt;br /&gt;
|-&lt;br /&gt;
| u_relationship_privacy VARCHAR(2) || Should this user use relationship privacy	   &lt;br /&gt;
|-&lt;br /&gt;
| u_max_relation_length INT || The maximum path that the user is allowed to see	   &lt;br /&gt;
|-&lt;br /&gt;
| u_auto_accept VARCHAR(2) || Are changes made by this user automatically accepted into the database	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''The 3 extra tables in 4.1 are:'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_mutex&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mx_id INT(11) || Unique identifier	   &lt;br /&gt;
|-&lt;br /&gt;
| mx_name VARCHAR(255) ||	   &lt;br /&gt;
|-&lt;br /&gt;
| mx_thread VARCHAR(255) ||	   &lt;br /&gt;
|-&lt;br /&gt;
| mx_time INT(11) ||	   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_other&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| o_id INT(11) || GEDCOM record ID	   &lt;br /&gt;
|-&lt;br /&gt;
| o_file INT(11) || ID number of the GEDCOM file the record is from	   &lt;br /&gt;
|-&lt;br /&gt;
| o_type VARCHAR(20) || Type of GEDCOM record	   &lt;br /&gt;
|-&lt;br /&gt;
| o_gedcom LONGTEXT ||	Raw GEDCOM record for this item   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto&amp;quot; table border=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;center&amp;gt;pgv_soundex&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| sx_i_id VARCHAR(255) || Unique identifier (Individuals table)	   &lt;br /&gt;
|-&lt;br /&gt;
| sx_n_id VARCHAR(255) || Unique identifier (Names table)   &lt;br /&gt;
|-&lt;br /&gt;
| sx_file INT(11) || Unique identifier (GEDCOM file)   &lt;br /&gt;
|-&lt;br /&gt;
| sx_fn_std_code TEXT || Standard first name soundex code. Used for soundex searching   &lt;br /&gt;
|-&lt;br /&gt;
| sx_fn_dm_code TEXT ||	 Soundex code for international first names&lt;br /&gt;
|-&lt;br /&gt;
| sx_ln_std_code TEXT || Standard last name soundex code. Used for soundex searching	   &lt;br /&gt;
|-&lt;br /&gt;
| sx_ln_dm_code TEXT ||	 Soundex code for international last names. This uses the Daitch-Mokotoff soundex method, which  is better suited for them.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This table layout has received criticism from some for its simplicity, size, and because it does not follow a genealogy model like GENTECH.  We admit that these tables can be hard to interface to because the code has to understand GEDCOM in order to get information out of them.  We also admit that storing the raw GEDCOM data could make the tables very large.&lt;br /&gt;
&lt;br /&gt;
Fortunately the GEDCOM standard is not a very complex or large format; it only requires 6 characters per line, which is very good compared to something like XML.  However, there are some very compelling reasons why this table structure was chosen:&lt;br /&gt;
&lt;br /&gt;
*  Simpler tables mean fewer and simpler database queries.  This takes a large load off the database and makes the program run faster.&lt;br /&gt;
&lt;br /&gt;
*  Nothing is lost in the Import.  Even though GEDCOM is a standard, each genealogy program interprets the standard a bit differently and adds its own tags.  Creating a database model that conforms to all the GEDCOM outputs of different genealogy software programs would be very difficult.&lt;br /&gt;
&lt;br /&gt;
==Manual configuration==&lt;br /&gt;
&lt;br /&gt;
Advanced users who understand PHP may want to configure manually by editing the configuration file config.php  When you have finished editing config.php make sure that the variable $CONFIGURED=true; so that the program does not try to forward you to the configuration.php script when you launch it for the first time.&lt;br /&gt;
&lt;br /&gt;
You can manually add GEDCOMS to the system by adding them to the $GEDCOMS array in the index/GEDCOMs.php file.  The GEDCOM array looks like this:&lt;br /&gt;
  $gedarray = array();&lt;br /&gt;
  $gedarray[&amp;quot;GEDCOM&amp;quot;] = &amp;quot;surname.ged&amp;quot;;&lt;br /&gt;
  $gedarray[&amp;quot;config&amp;quot;] = &amp;quot;./index/surname.ged_conf.php&amp;quot;;&lt;br /&gt;
  $gedarray[&amp;quot;privacy&amp;quot;] = &amp;quot;./index/surname.ged_priv.php&amp;quot;;&lt;br /&gt;
  $gedarray[&amp;quot;title&amp;quot;] = &amp;quot;Surname Genealogy&amp;quot;;&lt;br /&gt;
  $gedarray[&amp;quot;path&amp;quot;] = &amp;quot;./surname.ged&amp;quot;;&lt;br /&gt;
  $GEDCOMS[&amp;quot;surname.ged&amp;quot;] = $gedarray;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;surname&amp;quot; above could be anything, for example, &amp;quot;johnson&amp;quot; or &amp;quot;private&amp;quot;.  You must pay attention to the case of what you enter.  PhpGedView is case sensitive.&lt;br /&gt;
&lt;br /&gt;
Each GEDCOM will need a configuration file.  You can copy the config_gedcom.php file which has all of the default values for each GEDCOM you add manually.  Then set the &amp;quot;config&amp;quot; item of the GEDCOMs array to point to the file you copied.&lt;br /&gt;
&lt;br /&gt;
Each GEDCOM also needs a privacy file.  Make a copy the privacy.php file for each GEDCOM and set the &amp;quot;privacy&amp;quot; item of the GEDCOMs array to the location of the new privacy.php file.&lt;br /&gt;
&lt;br /&gt;
==Non-standard GEDCOM codes==&lt;br /&gt;
&lt;br /&gt;
The GEDCOM 5.5 standard has a defined set of codes.  (This used read - You can read the specification online at http://www.phpGedView.net/ged551-5.pdf but the link seems to be broken)  Part of the standard allows for genealogy software to define their own codes, and requests that they begin with an &amp;quot;_&amp;quot; underscore.  &lt;br /&gt;
&lt;br /&gt;
When PhpGedView comes across a tag that is not defined it will display an error message.  You can disable these error messages by setting $HIDE_GEDCOM_ERRORS=true in the config_gedcom.php file.  PhpGedView can also be customized to work with these codes by adding them to the facts array in a new language file named facts.en.extra.php.  If you add it to the English facts file you should also add it to the other facts language files you are using on your site if you want other languages to translate the tag correctly.&lt;br /&gt;
&lt;br /&gt;
The format of the facts file is a PHP associative array.  Each tag requires one line in the array.  The following line defines the label &amp;quot;Abbreviation&amp;quot; for the ABBR GEDCOM tag.&lt;br /&gt;
    $factarray[&amp;quot;ABBR&amp;quot;] = &amp;quot;Abbreviation&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
As an example, if you use a genealogy program that generates the tag &amp;quot;_ZZZZ&amp;quot; you can customize PhpGedView to accept this code by adding the following lines to the facts.en.extra.php file:&lt;br /&gt;
    &amp;lt;?php&lt;br /&gt;
    $factarray[&amp;quot;_ZZZZ&amp;quot;] = &amp;quot;Tag Label goes here&amp;quot;;&lt;br /&gt;
    ?&amp;gt;&lt;br /&gt;
You can disable these error messages in the config.php file by setting $HIDE_GEDCOM_ERRORS=true.&lt;br /&gt;
&lt;br /&gt;
==Backup==&lt;br /&gt;
&lt;br /&gt;
Note:  If you want to use the Backup feature of the Upgrade utility in PhpGedView you will need to either set Write permission on the &amp;quot;phpgedview&amp;quot; folder itself or create a folder named &amp;quot;backup&amp;quot; with Write permissions.  Write permissions for the &amp;quot;phpgedview&amp;quot; folder can be removed as soon as the backup folder is in place and has the appropriate permissions.&lt;br /&gt;
&lt;br /&gt;
With the Backup function in the administration menu, you can make a simple backup of all important PhpGedView files.  With this backup, it's possible to rebuild your PhpGedView site to the situation at backup time.&lt;br /&gt;
&lt;br /&gt;
The backup can contain the following files, as selected on the Backup page:&lt;br /&gt;
  - config.php with all configuration settings of your installation&lt;br /&gt;
  - all GEDCOM files that were present in your installation&lt;br /&gt;
  - all GEDCOM options and privacy settings for the above files&lt;br /&gt;
  - counters, PhpGedView- and search-logfiles&lt;br /&gt;
  - user definitions and options (block definitions, favorites, messages and news)&lt;br /&gt;
&lt;br /&gt;
The files will be gathered into a ZIP file, which can be downloaded by clicking the link on the page.&lt;br /&gt;
&lt;br /&gt;
Note: The database itself will not be included in the backup, since it can be rebuilt using the files in the backup.&lt;br /&gt;
&lt;br /&gt;
Note: All pending changes (not approved or rejected yet by the administrator) will be present in the GEDCOM files but can no longer be identified as changes.  If the database is rebuilt using the GEDCOMs, these changes therefore can no longer be rejected.&lt;br /&gt;
&lt;br /&gt;
Note: If you have installed your index folder outside of the root directory of your web server, the references to some of the files in the zip will include directory paths of the form &amp;quot;../&amp;quot;. Some zip utilities (for example Windows XP/Vista's native zip capability in Windows Explorer) can't handle this style of file path.  You may need to get a tool that correctly handles these paths. WinRAR is one tool that does. &lt;br /&gt;
 &lt;br /&gt;
The Backup function uses the PclZip library, which is written by Vincent Blavet and can be found at http://www.phpconcept.net/pclzip.&lt;br /&gt;
&lt;br /&gt;
==PostNuke and PHPNuke integration==&lt;br /&gt;
&lt;br /&gt;
PhpGedView can integrate with PostNuke and phpNuke so that your users do not have to login twice.&lt;br /&gt;
&lt;br /&gt;
After you have PhpGedView up and running, you should follow the instructions in the readme.txt file in the &amp;quot;pgvnuke&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
The files that make the integration magic happen were donated by Jim Carey.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developers Guide]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Help:How_to_Register&amp;diff=12210</id>
		<title>Help:How to Register</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Help:How_to_Register&amp;diff=12210"/>
		<updated>2010-06-07T12:32:43Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Editing options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;='''Registering'''=&lt;br /&gt;
&lt;br /&gt;
To register for the site, just click on the &amp;quot;Create an account or login&amp;quot; link at the top of the screen. This will be at the top right of your screen.&lt;br /&gt;
&lt;br /&gt;
You just need to provide a Username and a Password. The username can be anything you like providing it hasn't already been allocated and is appropriate (See [[Help:Username]])&lt;br /&gt;
&lt;br /&gt;
To login, you have to have cookies enabled on your computer. Also if you check the box that says &amp;quot;Remember my password across sessions&amp;quot;, this will simplify the login process for you from that computer.&lt;br /&gt;
&lt;br /&gt;
You don't have to login to read the PGVWiki, but you do have to log in to edit articles.&lt;br /&gt;
&lt;br /&gt;
Nevertheless, creating an account is quick, free and non-intrusive, and it's generally considered a good idea to do so, for a variety of reasons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''User Name'''==&lt;br /&gt;
If you create an account, you can pick a Username. Edits you make while logged in will be assigned to that name. That means you get full credit for your contributions in the page history. You can also view all your contributions by clicking the &amp;quot;My contributions&amp;quot; link, which is only visible when you are logged in.&lt;br /&gt;
&lt;br /&gt;
You will have your own user page where you can write a bit about yourself. You can use this page to maintain a list of the articles you have contributed.&lt;br /&gt;
&lt;br /&gt;
You will have a permanent user talk page you can use to communicate with other users. You will be notified whenever someone writes a message on your talk page. If you choose to give an e-mail address, other users will be able to contact you by e-mail. This feature is anonymous; the user who emails you will not know your e-mail address.&lt;br /&gt;
&lt;br /&gt;
=='''Reputation'''==&lt;br /&gt;
You don't need to reveal your real identity, but having an account gives you a fixed identity that other users will recognize. It's also easier to communicate and collaborate with an editor if we know who you are.&lt;br /&gt;
&lt;br /&gt;
Sites such as this may get vandalized or spammed - hence the need to register to be able to edit and create pages. Information sources need to be verified and having a username will distinguish you as a reliable contributor and source.&lt;br /&gt;
&lt;br /&gt;
=='''Editing options'''==&lt;br /&gt;
There are many features of the MediaWiki software (which powers PGVWiki) that are only available to registered users. For example, one of these features is being able to mark edits as minor.&lt;br /&gt;
&lt;br /&gt;
Minor edits can be filtered from the list of &amp;quot;Recent changes&amp;quot;. Marking edits which are not minor as such is considered very rude, so only mark an edit as minor if only a small change, such as a grammar correction has been made. &lt;br /&gt;
&lt;br /&gt;
One very important feature which active contributors will likely use a lot are Watchlists. You will get a new link &amp;quot;Watch this page&amp;quot; on every page you view. If you click that link, a page will be added to your watchlist. This list is basically a filtered view of the &amp;quot;Recent changes&amp;quot; page which only shows changes recently made to items in your watchlist. This way you can keep track of pages you work on without having to follow all changes.&lt;br /&gt;
&lt;br /&gt;
Also, you must be logged in if you want to upload images.&lt;br /&gt;
&lt;br /&gt;
=='''Setting user preferences'''==&lt;br /&gt;
Aside from these features, you can customize the way MediaWiki behaves in detail by altering your preferences. There you can change the following display settings:&lt;br /&gt;
&lt;br /&gt;
* Under math: how mathematical formulae are displayed.&lt;br /&gt;
* Under files: how large image thumbnails are displayed &lt;br /&gt;
&lt;br /&gt;
And various editing preferences:&lt;br /&gt;
* How you sign your name&lt;br /&gt;
* How large the editing box should be&lt;br /&gt;
* How pages should be displayed in recent changes&lt;br /&gt;
* ... and others (they're pretty self-explanatory).&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Place_data&amp;diff=12208</id>
		<title>Place data</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Place_data&amp;diff=12208"/>
		<updated>2010-06-07T11:59:06Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Place hierarchy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Place hierarchy===&lt;br /&gt;
Place data (Gedcom tag PLAC) are entered in many places in the program; all events and facts have place locations. The standard prescrition for entering the place is to use a hierarchical entry: ''City, County, State/Province, Country'', comma separated, in this order. The main goal of this convention is to uniquely specify the place, allowing one to locate it on the map and distinguish from other similarly sounding locations. The program makes use of this convention, manages and displays the place hierarchy, allows one to display &lt;br /&gt;
the locations using Google Maps etc. Such a convention is an ideal, but the reality often does not conform to this simple rule. &lt;br /&gt;
:* Big cities are often their own states or counties (as opposed to seats of some bigger regions). This results in silly repetition: '''London, London, England'''. Saint Petersbug is a city that lies in North West Russia and is a capital of Leningrad province (oblast), but belongs to neither. Brooklyn is a city and a county, and '''Brooklyn, New York''' sounds right, while '''Brooklyn, Brooklyn, New York''' does not convey the actual hierarchy.  &lt;br /&gt;
:* On the oposite end, little villages are often identified by additiona level(s) of hierarchy - municipality (Parish, Gemeinde, Gmina), as there can be villages of the same name in the same province. &lt;br /&gt;
:* The States or Provinces are usually, but not always, standard, next level is more ambiguous; for example in the USA the second level are Counties or Parishes (depending on the state). Countries are unambiguous, except where they are not, for example, should England or United Kingdom be positioned as Country in the place hierarchy?&lt;br /&gt;
:* Historical data often does not match current hierarchy. Cities split and merge, administrative divisions change, countries invade others and places belong to different Countries. This leaves a researcher with a dillema: should I use old (but now obsolete) hierarchy or modern? &lt;br /&gt;
:* Coordinates: very recent developments (GPS and mapping effors) allow one to easily locate coordinates of virtually any place. This gives a unique identification of any location and is independent of the place hierarchy. Plate tectonics will change it eventually, but coordinates are more stable now than political designations. PGV has a Google Maps tool that uses both place hierarchy and coordinates (in a separate database table) to display all locations for individual.&lt;br /&gt;
&lt;br /&gt;
The PGV administrator of a webpage can select a specific convention. It is more important to use a convention uniformly than to select one convention above the other. Below are suggested rules that can be modified for each installation, and which should act as a template:&lt;br /&gt;
&lt;br /&gt;
# Use place hierarchy, i.e. always list information in a hierarchical manner, from most detailed to most general. Always include Country. Each lower level entity should be part of higher level. &lt;br /&gt;
# Use the ''City, County, State/Province, Country'' convention as a guideline only. You can reasonably expect to locate Country and possibly State or province, and those can rely on position (in the comma separated list) only. Spell out  intemediate level names, i.e. use '''Queens County''' not Queens, '''Acadia Parish''' not Acadia etc.&lt;br /&gt;
# Use as many place levels as necessary, but do not skip levels ('''Saint Petersburg, Russia'''; '''Brooklyn, New York, USA'''; '''Crowley, Acadia Parish, Louisiana, USA'''; '''Kleiniesiel, Stadland Gemeide, Wesermarsch Kreis, Niedersachsen, Deutschland''', etc. Skipped level means that the level is unknown, and needs to be filled; it is indicated by adding extra commas in the hierachy.&lt;br /&gt;
# Always add coordinates, if possible. There are several good webpages to help locate coordinated of any locality. If you are using Goole Map module, this is the place to enter the coordinate data. &lt;br /&gt;
# Use modern hierarchy in the PLAC field, and list the original location data (and possibly variants) in Notes. This helps the program to maintain uniform location names, but retains original information. &lt;br /&gt;
&lt;br /&gt;
There are several aids in entering the place data. Always use the little globe icon (Find Place) by on the entry form: the place could have been used before. Other aids are described below.&lt;br /&gt;
&lt;br /&gt;
===Edit Place in Split mode - NO===&lt;br /&gt;
&lt;br /&gt;
[[image:place_hierarchy_12.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When entering data in relation to places you will be provided with the following dialog entry box.  In this case the hierarchy has been created with the separation of items using a comma (,).  The list indicated has the format of City,County,State/Province,Country.  If at a later stage &amp;quot;Edit Place in Split Mode&amp;quot; is turned on this information would be automatically split into the appropriate areas.&lt;br /&gt;
&lt;br /&gt;
If in this field the following information was entered:-&lt;br /&gt;
&lt;br /&gt;
:::Big Maternity Ward, New York&lt;br /&gt;
&lt;br /&gt;
The data entered actually has the form:-&lt;br /&gt;
&lt;br /&gt;
::*City:-  Big Maternity Ward&lt;br /&gt;
::*County:- New York&lt;br /&gt;
::*State:-&lt;br /&gt;
::*Country:-&lt;br /&gt;
&lt;br /&gt;
Whilst there is nothing incorrect with this entry some consideration to format needs to be given before entering too much data.&lt;br /&gt;
&lt;br /&gt;
===Edit Place in Split mode - YES===&lt;br /&gt;
The key difference between the two images shown is the addition of a small + symbol.&lt;br /&gt;
&lt;br /&gt;
[[image:place_hierarchy_13.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
clicking on this symbol will expand the options available for data entry&lt;br /&gt;
&lt;br /&gt;
[[image:place_hierarchy_3.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is a new entry all fields will be blank.  If you are editing an existing entry the fields will be shown.&lt;br /&gt;
&lt;br /&gt;
[[image:place_hierarchy_6.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You then choose the country from the menu item.  Once selected it will then show a graphic for the country selected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are aware of the state you can then type the data into the state or click on the country map which will bring up the state/province map.  You can then select the state or province by clicking on the appropriate one.&lt;br /&gt;
&lt;br /&gt;
[[image:place_hierarchy_4.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then click on the state/province map and it will display a list of counties available or alternatively you can type the county into the system if you are aware of it.&lt;br /&gt;
&lt;br /&gt;
[[image:place_hierarchy_5.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
finally you type in the city name.&lt;br /&gt;
&lt;br /&gt;
[[Fr: Informations de lieux]]&lt;br /&gt;
&lt;br /&gt;
==Related Pages==&lt;br /&gt;
&lt;br /&gt;
[[Users Guide:Place Hierarchy List|Hierarchical Place List]], &lt;br /&gt;
[[GEDCOM Configuration - Edit Options#Split Places in Edit Mode|Administrators Guide]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Users Guide]]&lt;br /&gt;
[[Category:PhpGedView]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=User:Nathan_Watson-Haigh&amp;diff=12199</id>
		<title>User:Nathan Watson-Haigh</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=User:Nathan_Watson-Haigh&amp;diff=12199"/>
		<updated>2010-06-07T11:28:49Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* I am learning Japanese */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;8&amp;quot; style=&amp;quot;width: 100%; background-color: #C0C0C0; border: 1px solid #1234aa; vertical-align: top;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 68%; background-color: #EFF8FF; border: 1px solid #8888aa; border-right-width:4px; border-bottom-width:4px; vertical-align: top;&amp;quot; rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: Trebuchet MS, sans-serif; text-align: justify;&amp;quot;&amp;gt;''&lt;br /&gt;
'' '''Welcome!''' '' to my User page. [[User:Nathan Watson-Haigh|Nathan Watson-Haigh]] is a bioinformatics PostDoc at the University of Sheffield. See here for more details: http://www.bioinf.shef.ac.uk/wiki/index.php/Nathan_Haigh&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 30%; background-color: #EFF8FF; border: 1px solid #8888aa; border-right-width:4px; border-bottom-width:4px; vertical-align: top; height: 10px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: center; margin: 1px; padding: 7px; background: #F9F9F9; border: 1px solid #999999; width: 220px;&amp;quot;&amp;gt;[[Image:NathanHaigh.jpg|220px|Dr. Nathan S. Watson-Haigh]]&amp;lt;br /&amp;gt;'''Nathan S Watson-Haigh'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 30%; background-color: #EFF8FF; border: 1px solid #8888aa; border-right-width:4px; border-bottom-width:4px; vertical-align: top;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: Trebuchet MS, sans-serif; text-align: left;&amp;quot;&amp;gt;&lt;br /&gt;
{{User en|LGT=yes}}&lt;br /&gt;
{{-}}&lt;br /&gt;
====I am learning Japanese====&lt;br /&gt;
I've really only just started, and won't be able to converse for quite some time! :)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color: #EFF8FF; border: 1px solid #8888aa; border-right-width:4px; border-bottom-width:4px;&amp;quot; colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: Trebuchet MS, sans-serif; text-align: justify;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===My Contributions===&lt;br /&gt;
I have only recently (Early Oct 2007) got involved with PhpGedView and my contributions are thus far limited to:&lt;br /&gt;
* [[Special:Contributions/Nathanhaigh|My PGVWiki edits]]&lt;br /&gt;
* Helping to get a testing framework in place using [[SimpleTest]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Category related stuff --&amp;gt;&lt;br /&gt;
{{DEFAULTSORT:Nathan Watson-Haigh}}&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=FAQ:Installing_PhpGedView&amp;diff=12198</id>
		<title>FAQ:Installing PhpGedView</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=FAQ:Installing_PhpGedView&amp;diff=12198"/>
		<updated>2010-06-07T11:19:13Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* How can I find out if I have PHP on my website, or if I can run php files? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;='''Questions about installing PhpGedView'''=&lt;br /&gt;
&lt;br /&gt;
==How can I reduce the size of the PhpGedView source upload?==&lt;br /&gt;
You can upload all the PhpGedView source files if you want, but as you gain experience, you might want to remove files you never use prior to uploading them to the web server.  This could reduce the size of the upload from around 31MB to around 8MB.&lt;br /&gt;
&lt;br /&gt;
*  In the “work/themes” folder, delete the themes that you do not plan to use. Retain at least “standard” theme.&lt;br /&gt;
&lt;br /&gt;
*  Delete the language files that you do not want.  English files are named configure_help.en.php, countries.en.php, facts.en.php, help_text.en.php and lang.en.php.  French files, for example, are named with &amp;quot;.fr.&amp;quot; in place of &amp;quot;.en.&lt;br /&gt;
&lt;br /&gt;
(The English language files must not be deleted.  They are always loaded before the files for the selected language are loaded.  This ensures that all language variables are defined, and that the English version will be used when a given variable is missing in the new language.)&lt;br /&gt;
&lt;br /&gt;
*  Do not upload the &amp;quot;places&amp;quot; folder.  This folder contains maps for some countries.  It also contains text files containing state, county, and place names.  Its purpose is to allow you to enter place names by picking them from lists. &lt;br /&gt;
&lt;br /&gt;
*  Go to images/flags and delete the flags from countries other than your own, or the one(s) you want to keep.&lt;br /&gt;
&lt;br /&gt;
*  Check the &amp;quot;modules&amp;quot; folder - it may contain more add-ons than you require. The &amp;quot;extra&amp;quot; folder in the Googlemap module can also be left out for now. If in doubt about what they are or what they do, open the appropriate read-me files and check.&lt;br /&gt;
&lt;br /&gt;
==How can I find out if I have PHP on my website, or if I can run php files?==&lt;br /&gt;
&lt;br /&gt;
First check the features and support documentation for your website host. Often website hosts offer a variety of hosting packages depending which facilities you want.&lt;br /&gt;
&lt;br /&gt;
If your host doesn't provide this information then you can find out yourself by creating a new text document called test.php and copy the following lines of code into it:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php phpinfo() ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upload this new test.php file to your site and point your browser to it. If you have php on your site, you will see a webpage detailing the version of php plus lots of other information - that means that PhpGedView should work. If you don't have php installed then you will see a message similar to the following.&lt;br /&gt;
&lt;br /&gt;
 Sorry, no php.&lt;br /&gt;
&lt;br /&gt;
If you are the host server hardware administrator and need to install php then you can download it at http://www.php.net.&lt;br /&gt;
&lt;br /&gt;
==What version of PHP is required to run PhpGedView?==&lt;br /&gt;
&lt;br /&gt;
PhpGedView requires at least PHP version 4.3.x. Some people are successful at running PhpGedView on PHP v4.2.x but it is not supported by the development team.&lt;br /&gt;
&lt;br /&gt;
To use the reporting engine, PHP needs to be compiled with XML support. This is compiled into PHP by default unless it is specifically disabled. See http://us3.php.net/manual/en/ref.xml.php&lt;br /&gt;
&lt;br /&gt;
Some features of PhpGedView require the GD library and that PHP be compiled with GD support. Most precompiled versions of PHP include GD support. If you are compiling PHP yourself you will need to configure it with the --with-gd option. See http://us3.php.net/manual/en/ref.image.php&lt;br /&gt;
&lt;br /&gt;
The advanced calendar features of PhpGedView for converting Gregorian dates to the Hebrew or Jewish calendars require that PHP be compiled with the --enable-calendar configuration option. See the following website for more information: http://us2.php.net/manual/en/ref.calendar.php&lt;br /&gt;
&lt;br /&gt;
==Should I use Index Files or a Database?==&lt;br /&gt;
&lt;br /&gt;
PhpGedView prior to Version 4, comes with two options for storing data, databases (like MySQL) and Index files. From Version 4 you can only use a Database.  &lt;br /&gt;
&lt;br /&gt;
From the visitor perspective the sites operate in exactly the same way. The Index Files are generated to speed up access of your data. The Database mode imports your gedcom into a database.&lt;br /&gt;
&lt;br /&gt;
Now, the answer to the question, &amp;quot;which one is right for me.&amp;quot; The real answer is one of personal preference.  Version 4 of PhpGedView has some significant improvements over the previous versions but there are some compelling reasons why one might want to use one an earlier versions with the ability to use index files:&lt;br /&gt;
&lt;br /&gt;
* If you have a large gedcom file (&amp;gt;5MB) then you should MySQL (or another supported database) for speed and system performance issues. The response time of the standard version seems to increase as the gedcom gets larger.&lt;br /&gt;
* If you don't have a MySQL database on your site or have to pay extra for it then use the Index files.&lt;br /&gt;
* You can always switch to a database and a later version of PhpGedView if you choose to use index modes to start with.&lt;br /&gt;
&lt;br /&gt;
==What file permissions need to be set?==&lt;br /&gt;
&lt;br /&gt;
All files need read permissions. The following files need write permissions:&lt;br /&gt;
config.php&lt;br /&gt;
&lt;br /&gt;
The following directory and its contents will need write permissions:&lt;br /&gt;
./index/&lt;br /&gt;
&lt;br /&gt;
If you want to use the language editing features you will need to set write permissions for all of the files in the ./languages folder&lt;br /&gt;
&lt;br /&gt;
If you want to upload media files using the upload media section of the admin menu then you need to set write permissions for your ./media and ./media/thumbs directory&lt;br /&gt;
&lt;br /&gt;
If you want to edit your gedcom file online, the gedcom file must have write permissions set for the PHP user.&lt;br /&gt;
&lt;br /&gt;
Refer to the Installation section of readme.txt for more information.&lt;br /&gt;
&lt;br /&gt;
The method to set write permissions varies depending on your server configuration. If you have a Windows server, you may not need to do anything at all. If you use FTP to connect to your server, then you should look for a &amp;quot;permissions&amp;quot; or a &amp;quot;chmod&amp;quot; command. The &amp;quot;chmod&amp;quot; command takes a series of three numbers something like 755. The three numbers tell what permissions are for the file's owner, the file's group, and everyone. So the setting 755 breaks down like this: Owner = 7, Group = 5, Everyone = 5. The following table tells what each number means&lt;br /&gt;
&lt;br /&gt;
7	Read, Write, Execute&amp;lt;br&amp;gt;&lt;br /&gt;
6	Read, Write&amp;lt;br&amp;gt;&lt;br /&gt;
5	Read, Execute&amp;lt;br&amp;gt;&lt;br /&gt;
4	Read&amp;lt;br&amp;gt;&lt;br /&gt;
3	Write, Execute&amp;lt;br&amp;gt;&lt;br /&gt;
2	Write&amp;lt;br&amp;gt;&lt;br /&gt;
1	Execute&amp;lt;br&amp;gt;&lt;br /&gt;
0	no access&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So the setting 755 would say that for this file, the owner can read, write, and execute the file, the group can read and execute, and everyone can read and execute.&lt;br /&gt;
&lt;br /&gt;
You should first try setting the permissions using &amp;quot;chmod 755&amp;quot;. If that doesn't work, that means that the webserver is not setup to run and the files owner and you should try &amp;quot;chmod 775&amp;quot;. If that doesn't work, then the webserver is not in the file's group. At this point you can try to change the group (this often requires administrative rights on the server) or you can try &amp;quot;chmod 777&amp;quot;. This would give everyone access to the file.&lt;br /&gt;
&lt;br /&gt;
==PhpGedView fails when building indexes or importing large GEDCOM files?==&lt;br /&gt;
There are two problems that could cause this when working with large GEDCOM files (&amp;gt;2MB): insufficient memory and insufficient time.&lt;br /&gt;
&lt;br /&gt;
===Insufficient memory===&lt;br /&gt;
In order to get the information from the GEDCOM file, the file has to be opened and read into memory. PHP has a default memory limit of 8MB. This is a protection from rogue scripts trying to take all of a machine's resources and disabling it. Depending on your PHP version/configuration and if you are importing a large gedcom you should probably double this amount especially while importing or indexing.&lt;br /&gt;
&lt;br /&gt;
A good rule of thumb would be to allocate 4x the size of your gedcom file, though this could be higher. Generally, a 4MB gedcom shouldn't need more than 16MB in PHP. However an 8MB gedcom could require up to 32MB.  One user's actual 11MB gedcom file required about 150 Mb.&lt;br /&gt;
&lt;br /&gt;
'''memory_limit is not supported on Windows of PHP (e.g. there is no memory limit there)'''&lt;br /&gt;
&lt;br /&gt;
====Edit php.ini====&lt;br /&gt;
The easiest option for increasing memory is to edit php.ini.  However, this is only usually possible if you are the server administrator. To change the amount of memory allocated to PHP, edit the php.ini file (most likely located in /etc/php.ini on Unix) and change the following line:&lt;br /&gt;
&lt;br /&gt;
 memory_limit = 8M&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
 memory_limit = 16M&lt;br /&gt;
&lt;br /&gt;
After editing the php.ini file you need to restart your webserver.&lt;br /&gt;
&lt;br /&gt;
====Edit PhpGedView source files====&lt;br /&gt;
If you do not have access to edit the php.ini file, you can also edit the PhpGedView directory &amp;quot;include/functions.php&amp;quot; file and the &amp;quot;importgedcom.php&amp;quot; files and add as the second line in both files: ini_set(&amp;quot;memory_limit&amp;quot;, &amp;quot;16M&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
====Workaround====&lt;br /&gt;
As an alternate to increasing memory, first try skipping the cleanup options on Step #3. If that doesn't work try to [[FAQ: Questions about Installing PhpGedView#Can I build the indexes on my Home computer and then upload them?|do the GEDCOM importing/indexing on your home computer]] or split your one large GEDCOM into several smaller GEDCOMs.&lt;br /&gt;
&lt;br /&gt;
===Insufficient time===&lt;br /&gt;
Another problem that can occur, especially on Windows machines, is the time limit can run out. PHP has a default time limit of 30 seconds for script execution. Again this is a security measure to prevent rogue scripts and hackers from stalling a machine. You will usually get an error message if you exceed the time limit. You can change the time limit by editing the time limit parameter in the gedcom configuration.&lt;br /&gt;
&lt;br /&gt;
It should never take more than 10 minutes. After you have built the indexes or imported into the database, you should restore this time limit to 30 seconds to prevent someone from trying to get a 40 generation pedigree chart and stalling your server for 10 minutes.&lt;br /&gt;
&lt;br /&gt;
==Can I build the indexes on my Home computer and then upload them?==&lt;br /&gt;
&lt;br /&gt;
Yes. This can be helpful for large gedcoms where building an index can take a very long time. You have two options to be able to do this.  First you can use the PHPLauncher to run PhpGedView and build your indexes and configuration files. Just copy the index directory from the PHPLauncher and upload it to the PhpGedView directory on your webserver.&lt;br /&gt;
&lt;br /&gt;
You can also download and use PHP to create the indexes.  Follow these steps:&lt;br /&gt;
&lt;br /&gt;
*Download and install PHP.&lt;br /&gt;
*Download and install PhpGedView as if you were installing it on your site.&lt;br /&gt;
*Open a command prompt and go to the PhpGedView directory.&lt;br /&gt;
*Run the command: C:\PHP\php -q buildindex.php   (This will build the indexes on your local computer.)&lt;br /&gt;
*When it is done upload the indilist.ind, famlist.ind, and sourcelist.ind to from the PhpGedView/index/ directory on your local computer to the PhpGedView/index/ directory on your server. PhpGedView on the server will automatically recognize the new indexes and use them.&lt;br /&gt;
&lt;br /&gt;
==I imported married names in the import step. Why do they do not display?==&lt;br /&gt;
&lt;br /&gt;
You have to set &amp;quot;Show married names on Individual list&amp;quot; to Yes. To do this go to:&amp;lt;br&amp;gt;&lt;br /&gt;
Admin &amp;gt; Manage GEDCOMs and edit Privacy &amp;gt; Configuration file &amp;gt; Edit &amp;gt; Display and Layout &amp;gt; Names &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==I setup PhpGedView but the charts are empty and/or I get some errors?==&lt;br /&gt;
&lt;br /&gt;
This usually means that your GEDCOM import did not complete properly. You should try to import the GEDCOM again by logging in as an administrator and going to the Admin page and then the Manage Gedcoms area. Then click on the import link next to the GEDCOM you need to import.  If you are asked to cleanup your Gedcom, you should click the &amp;quot;Cleanup&amp;quot; button. If you are asked to empty the dataset click the &amp;quot;Yes&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
As your Gedcom is imported, your will see a progress bar telling you what percentage of your Gedcom has been imported, as well as a progress bar showing the percentage of the time limit used. When the importing is finished you should see several statistical messages and links off to the right that will take you to some of the other pages.&lt;br /&gt;
&lt;br /&gt;
If you do not get this information or if you get errors then you should look at some of the other FAQ's on this page for more information on how to proceed from here. If your question is not answered here, then you should post a message in the help forums.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Category links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
[[Category:PhpGedView|Installing PhpGedView]]&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Language links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[fr: FAQ: Questions sur l'installation de phpGedView]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Upgrade_or_revert_with_SmartSVN_and_sitecopy&amp;diff=12197</id>
		<title>Upgrade or revert with SmartSVN and sitecopy</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Upgrade_or_revert_with_SmartSVN_and_sitecopy&amp;diff=12197"/>
		<updated>2010-06-07T11:05:08Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* SmartSVN */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}''This article needs an introductory paragraph that introduces the concepts to be discussed and needs to put the article in context. It is not clear to someone what SmartSVN or site copy is - maybe link to a [[SmartSVN]] (or the wikipedia [[w:SmartSVN|SmartSVN]] article) and [[sitecopy]] articles that provide some details.''&lt;br /&gt;
&lt;br /&gt;
Grrr! I just spent two hours finishing what I started, and the Wiki not only &amp;quot;lost session data&amp;quot; but it #$%&amp;amp;$%^$% disabled the copy paste functions in my browser!  If anyone else wants to continue where I '''started''', go for it!  Otherwise, I'll try again some other day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When I want to change the version of PhpGedView I’m running, I merely&lt;br /&gt;
* select the version I want&lt;br /&gt;
* wait a few minutes&lt;br /&gt;
* type a simple command&lt;br /&gt;
* wait less than a minute&lt;br /&gt;
&lt;br /&gt;
It really is that simple—and the setup to make it possible is not difficult either.&lt;br /&gt;
&lt;br /&gt;
== Details of the procedure ==&lt;br /&gt;
&lt;br /&gt;
(I have Mac OS 10.3.9, with SmartSVN Foundation 3.0.4 and sitecopy 0.16.0 installed.)&lt;br /&gt;
# Launch SmartSVN&lt;br /&gt;
# Select (click on) the top level directory&lt;br /&gt;
# Menu: Modify -&amp;gt; Update...&lt;br /&gt;
# Click &amp;quot;Revision&amp;quot; and enter the number you want (if you want the bleeding-edge latest, just leave it on HEAD)&lt;br /&gt;
# Click OK&lt;br /&gt;
SmartSVN will download each file in that revision that is different from what you already have.  Download time will be proportional to the number and size of files.  From 2228 to 2291 (approx. 4.1.3 to 4.2) took about one minute, forty seconds and changed 39 files.&lt;br /&gt;
&lt;br /&gt;
When it is done&lt;br /&gt;
# Open a Terminal&lt;br /&gt;
# Type &amp;lt;tt&amp;gt;sitecopy --update PGV&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like SmartSVN, sitecopy will upload only the files that are different.  Took 41.7 seconds for the same 39 files.&lt;br /&gt;
&lt;br /&gt;
== Initial setup ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SmartSVN ===&lt;br /&gt;
&lt;br /&gt;
=== sitecopy ===&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Configuration_-_Web_Site_and_META_Tag_Settings&amp;diff=12196</id>
		<title>Configuration - Web Site and META Tag Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Configuration_-_Web_Site_and_META_Tag_Settings&amp;diff=12196"/>
		<updated>2010-06-07T10:50:33Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Enable RSS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Part of:'' [[Configuration File|GEDCOM Configuration]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
{{stub}}&lt;br /&gt;
====Main Website URL====&lt;br /&gt;
[[Image:4_webmeta_1.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Each PhpGedView page includes a link to your main Home page. The appearance of this link is controlled by the theme being used. You enter the actual URL to your Home site here.&lt;br /&gt;
&lt;br /&gt;
====Main Website Text====&lt;br /&gt;
[[Image:4_webmeta_2.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The legend used to identify the link to your main Home page.&lt;br /&gt;
&lt;br /&gt;
====Author Meta Tag====&lt;br /&gt;
[[Image:4_webmeta_3.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The value to place in the Author meta tag in the HTML page header. Leave this field empty to use the full name of the Genealogy contact.&lt;br /&gt;
&lt;br /&gt;
This sets $META_AUTHOR in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====Publisher Meta Tag====&lt;br /&gt;
[[Image:4_webmeta_4.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The value to place in the Publisher meta tag in the HTML page header. Leave this field empty to use the full name of the Genealogy contact.&lt;br /&gt;
&lt;br /&gt;
This sets $META_PUBLISHER in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====Copyright Meta Tag====&lt;br /&gt;
[[Image:4_webmeta_5.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The value to place in the Copyright meta tag in the HTML page header. Leave this field empty to use the full name of the Genealogy contact.&lt;br /&gt;
&lt;br /&gt;
This sets $META_COPYRIGHT in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====Description Meta Tag====&lt;br /&gt;
[[Image:4_webmeta_6.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The value to place in the Description meta tag in the HTML page header. Leave this field empty to use the title of the currently active database.&lt;br /&gt;
&lt;br /&gt;
This sets $META_DESCRIPTION in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====Page-topic Meta Tag====&lt;br /&gt;
[[Image:4_webmeta_7.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The value to place in the Page-topic meta tag in the HTML page header. Leave this field empty to use the title of the currently active database.&lt;br /&gt;
&lt;br /&gt;
This sets $META_PAGE_TOPIC in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====Audience Meta Tag====&lt;br /&gt;
[[Image:4_webmeta_8.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The value to place in the Audience meta tag in the HTML page header&lt;br /&gt;
&lt;br /&gt;
This sets $META_AUDIENCE in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====Page-type Meta Tag====&lt;br /&gt;
&lt;br /&gt;
====Robots Meta Tag====&lt;br /&gt;
[[Image:4_webmeta_9.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The value to place in the Robots meta tag in the HTML page header. Some robots or web crawlers ignore this value.&lt;br /&gt;
&lt;br /&gt;
This sets $META_ROBOTS in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====How Often should Crawlers Revist Meta Tag====&lt;br /&gt;
[[Image:4_webmeta_10.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The value to place in the Revisit meta tag in the HTML page header. Some web crawlers ignore this value.&lt;br /&gt;
&lt;br /&gt;
This sets $META_REVISIT in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====Keywords Meta Tag====&lt;br /&gt;
[[Image:4_webmeta_11.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The value to place in the Keywords meta tag in the HTML page header. Some search engines will use the Keywords meta tag to help index your page.&lt;br /&gt;
&lt;br /&gt;
The Most Common Surnames list that appears in the GEDCOM Statistics block on your Welcome page can also be added to anything you enter here.&lt;br /&gt;
&lt;br /&gt;
This sets $META_KEYWORDS in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====Add Most Common Surnames To Keywords Meta Field====&lt;br /&gt;
[[Image:4_webmeta_12.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
With this option set to Yes the surnames from the Most Common Surnames list will be added to the Keywords meta field. This can help search engines better find your site.&lt;br /&gt;
&lt;br /&gt;
This sets $META_SURNAME_KEYWORDS in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====Add To Title Header Tag====&lt;br /&gt;
[[Image:4_webmeta_13.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Anything on this line will be added to the TITLE tag in the HTML page header after the regular page title and before the PhpGedView credit.&lt;br /&gt;
&lt;br /&gt;
This sets $META_TITLE in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====Enable RSS====&lt;br /&gt;
&lt;br /&gt;
====RSS Format====&lt;br /&gt;
[[Image:4_webmeta_14.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The format of RSS to be used as the default RSS feed format for the site. The numeric suffixes do not indicate version, they identify formats. For example, RSS 2.0 is not newer than RSS 1.0, but a different format. Feed readers should be able to read any format. There is currently no difference between ATOM and ATOM 0.3. Both use the ATOM 0.3 draft specification.&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrators Guide]]&lt;br /&gt;
[[Category:phpGedView]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Configuration_-_Edit_Options&amp;diff=12194</id>
		<title>Configuration - Edit Options</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Configuration_-_Edit_Options&amp;diff=12194"/>
		<updated>2010-06-07T10:45:24Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Surname Tradition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Part of:'' [[Configuration File|GEDCOM Configuration]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
{{stub}}&lt;br /&gt;
====Enable Online Editing====&lt;br /&gt;
[[Image:4_edit_1.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option enables online editing features for this database so that users with Edit privileges may update data online.&lt;br /&gt;
&lt;br /&gt;
====Synchronize Edits Into GEDCOM File====&lt;br /&gt;
&lt;br /&gt;
====Individual Add Facts====&lt;br /&gt;
[[Image:4_edit_2.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the list of GEDCOM facts that your users can add to individuals. You can modify this list by removing or adding fact names, even custom ones, as necessary. Fact names that appear in this list must not also appear in the Unique Individual Facts list.&lt;br /&gt;
&lt;br /&gt;
====Unique Individual Facts====&lt;br /&gt;
[[Image:4_edit_3.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the list of GEDCOM facts that your users can only add once to individuals. For example, if BIRT is in this list, users will not be able to add more than one BIRT record to an individual. Fact names that appear in this list must not also appear in the Individual Add Facts list.&lt;br /&gt;
&lt;br /&gt;
====Quick Individual Facts====&lt;br /&gt;
&lt;br /&gt;
====Family Add Facts====&lt;br /&gt;
[[Image:4_edit_4.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the list of GEDCOM facts that your users can add to families. You can modify this list by removing or adding fact names, even custom ones, as necessary. Fact names that appear in this list must not also appear in the Unique Family Facts list.&lt;br /&gt;
&lt;br /&gt;
====Unique Family Facts====&lt;br /&gt;
[[Image:4_edit_5.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the list of GEDCOM facts that your users can only add once to families. For example, if MARR is in this list, users will not be able to add more than one MARR record to a family. Fact names that appear in this list must not also appear in the Family Add Facts list.&lt;br /&gt;
&lt;br /&gt;
====Quick Family Facts====&lt;br /&gt;
&lt;br /&gt;
====Source Add Facts====&lt;br /&gt;
[[Image:4_edit_6.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the list of GEDCOM facts that your users can add to sources. You can modify this list by removing or adding fact names, even custom ones, as necessary. Fact names that appear in this list must not also appear in the Unique Source Facts list.&lt;br /&gt;
&lt;br /&gt;
====Unique Source Facts====&lt;br /&gt;
[[Image:4_edit_7.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the list of GEDCOM facts that your users can only add once to sources. For example, if TITL is in this list, users will not be able to add more than one TITL record to a source. Fact names that appear in this list must not also appear in the Source Add Facts list.&lt;br /&gt;
&lt;br /&gt;
====Quick Source Facts====&lt;br /&gt;
&lt;br /&gt;
====Repository Add Facts====&lt;br /&gt;
&lt;br /&gt;
====Unique Repository Facts====&lt;br /&gt;
&lt;br /&gt;
====Quick Repository Facts====&lt;br /&gt;
&lt;br /&gt;
====Autoclose Edit Window====&lt;br /&gt;
[[Image:4_edit_9.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option controls wether or not to automatically close the Edit window after a successful update.&lt;br /&gt;
&lt;br /&gt;
====Split Places in Edit Mode====&lt;br /&gt;
[[Image:4_edit_10.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Set this to Yes to split each place name by commas into subfields for easier editing. Example :&lt;br /&gt;
&lt;br /&gt;
:1. Default mode&lt;br /&gt;
::Place: Half Moon Bay, San Mateo, California, USA&lt;br /&gt;
&lt;br /&gt;
:2. Split mode&lt;br /&gt;
::Country: USA&lt;br /&gt;
::State: California&lt;br /&gt;
::County: San Mateo&lt;br /&gt;
::City: Half Moon Bay&lt;br /&gt;
&lt;br /&gt;
It is also possible to place maps within the Place Heirachy.  Instructions on how to do this can be found [[Users Guide:Place data|here]].&lt;br /&gt;
&lt;br /&gt;
See Also:-&lt;br /&gt;
[[Users Guide:Place data|Entering Place Data]], [[Users Guide:Place Hierarchy List|Place Hierarchy List]]&lt;br /&gt;
&lt;br /&gt;
====Use Quick Update Form====&lt;br /&gt;
[[Image:4_edit_11.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option allows logged in users to submit changes through the Quick Update form.&lt;br /&gt;
&lt;br /&gt;
This sets $USE_QUICK_UPDATE in xxx.GED_conf.php&lt;br /&gt;
&lt;br /&gt;
====Show Privacy Fields on Quick Update Form====&lt;br /&gt;
[[Image:4_edit_12.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option allows you to turn on or off the privacy fields on the Quick Update form. Privacy fields allow a user who is adding information through the form to override the default privacy for the fact they are entering.&lt;br /&gt;
&lt;br /&gt;
This sets $SHOW_QUICK_RESN in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
====Facts To Show on Quick Update====&lt;br /&gt;
[[Image:4_edit_13.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is a comma separated list of GEDCOM fact tags that will be shown on the Quick Update form. Only the facts in this list will be shown on the form or made available for selection in the area where you add new facts on the form.&lt;br /&gt;
&lt;br /&gt;
====Facts To Always Show On Quick Update====&lt;br /&gt;
[[Image:4_edit_14.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is a comma separated list of GEDCOM fact tags that will always be shown on the Quick Update form whether or not they already exist in the individual's record. For example, if BIRT is in the list, fields for birth date and birth place will always be shown on the form.&lt;br /&gt;
&lt;br /&gt;
====Facts For Families To Show On Quick Update====&lt;br /&gt;
[[Image:4_edit_15.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is a comma separated list of GEDCOM fact tags that will be shown on the Family tabs of the Quick Update form. Only the facts in this list will be shown on the form or made available for selection in the area where you add new facts on the form.&lt;br /&gt;
&lt;br /&gt;
====Facts For Families To Always Show on Quick Update====&lt;br /&gt;
[[Image:4_edit_16.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is a comma separated list of GEDCOM fact tags that will always be shown on the Family tabs of the Quick Update form whether or not they already exist in the individual's record. For example, if MARR is in the list, then fields for marriage date and marriage place will always be shown on the form.&lt;br /&gt;
&lt;br /&gt;
====Surname Tradition====&lt;br /&gt;
&lt;br /&gt;
====Advanced Name Facts====&lt;br /&gt;
&lt;br /&gt;
====Advanced Place Name Facts====&lt;br /&gt;
[[Category:Administrators Guide]]&lt;br /&gt;
[[Category:phpGedView]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Configuration_-_Display_and_Layout_-_Names&amp;diff=12185</id>
		<title>Configuration - Display and Layout - Names</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Configuration_-_Display_and_Layout_-_Names&amp;diff=12185"/>
		<updated>2010-06-07T10:38:53Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Show age of parents next to child's Birthdate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Part of:'' [[Configuration File|GEDCOM Configuration]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
This article needs a suitable introductory paragraph.&lt;br /&gt;
&lt;br /&gt;
==Show Birth and Death Details on Pedigree and Descendancy Charts==&lt;br /&gt;
[[Image:4_names_1.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option controls whether or not to show the Birth and Death details of an individual by default.&lt;br /&gt;
&lt;br /&gt;
==Abbreviate Chart Labels==&lt;br /&gt;
[[Image:4_names_2.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option controls whether or not to abbreviate labels like &amp;quot;Birth&amp;quot; on charts with just the first letter like &amp;quot;B&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Show age of parents next to child's Birthdate==&lt;br /&gt;
[[Image:4_names_3.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option controls whether or not to show age of father and mother next to child's birthdate on charts.&lt;br /&gt;
&lt;br /&gt;
==Show LDS ordinance codes in chart boxes==&lt;br /&gt;
[[Image:4_names_4.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Setting this option to Yes will show status codes for LDS ordinances in chart boxes.&lt;br /&gt;
&lt;br /&gt;
::* B - Baptism&lt;br /&gt;
::* E - Endowed&lt;br /&gt;
::* S - Sealed to spouse&lt;br /&gt;
::* P - Sealed to parents&lt;br /&gt;
&lt;br /&gt;
A person who has all of the ordinances done will have BESP printed after their name. Missing ordinances are indicated by _ in place of the corresponding letter code. For example, BE__ indicates missing S and P ordinances.&lt;br /&gt;
&lt;br /&gt;
This sets $SHOW_LDS_AT_GLANCE in xxx.GED_priv.php.&lt;br /&gt;
&lt;br /&gt;
==Other facts To Show in Charts==&lt;br /&gt;
[[Image:4_names_5.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This should be a comma or space separated list of facts, in addition to Birth and Death, that you want to appear in chart boxes such as the Pedigree chart. This list requires you to use fact tags as defined in the GEDCOM 5.5.1 Standard. For example, if you wanted the occupation to show up in the box, you would add &amp;quot;OCCU&amp;quot; to this field.&lt;br /&gt;
&lt;br /&gt;
This sets $CHART_BOX_TAGS in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
==Show Married Names On Individual List==&lt;br /&gt;
[[Image:4_names_6.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option will show the married names of females on the Individual list.  To use this option you can calculate the married names when you import the GEDCOM file (once only) or enter married names by hand. Calculation works only for the simplest case of wife using husband's name without declension or other modification.&lt;br /&gt;
&lt;br /&gt;
This sets $SHOW_MARRIED_NAMES in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
==Underline Names in Quotes==&lt;br /&gt;
[[Image:4_names_7.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Many programs will place the preferred given name in &amp;quot;quotes&amp;quot; in the GEDCOM. The usual convention for this is to underline the preferred given name. Enabling this option will convert any names surrounded by quotes to &amp;lt;span&amp;gt; with a CSS class of &amp;quot;starredname&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For example, if the name in the GEDCOM were 1 NAME Gustave &amp;quot;Jean Paul&amp;quot; Charles /Wilson/ enabling this option would change the part of the name enclosed in quotes to &amp;lt;span class=&amp;quot;starredname&amp;quot;&amp;gt;Jean Paul&amp;lt;/span&amp;gt; for printing purposes. Depending on other settings, the browser would then display that name as Gustave Jean Paul Charles Wilson or Wilson, Gustave Jean Paul Charles&lt;br /&gt;
&lt;br /&gt;
This sets $UNDERLINE_NAME_QUOTES in xxx.GED_conf.php.&lt;br /&gt;
&lt;br /&gt;
==Show ID numbers Next to Names==&lt;br /&gt;
[[Image:4_names_8.jpg|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This option controls whether or not to show ID numbers in parentheses after person names on charts.&lt;br /&gt;
&lt;br /&gt;
==Get Display Name From Gedcom==&lt;br /&gt;
By default PhpGedView uses the name stored in the indexes to get a person's name. With some GEDCOM formats and languages, the sortable name stored in the indexes does not get displayed properly and the best way to get the correct display name is from the GEDCOM.&lt;br /&gt;
&lt;br /&gt;
Spanish names are a good example of this. A Spanish name can take the form (Given Names) (Father's Surname) (Mother's Surname). Using the Indexes for sorting and display, the name would display like this: (Given Names) (Mother's Surname) (Father's Surname), which is incorrect. Going back to the GEDCOM for the name will return the correct name. However, retrieving the name from the GEDCOM will slow the program down.&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrators Guide]]&lt;br /&gt;
[[Category:phpGedView]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Preparing_a_PhpGedView_Release&amp;diff=12184</id>
		<title>Preparing a PhpGedView Release</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Preparing_a_PhpGedView_Release&amp;diff=12184"/>
		<updated>2010-06-06T18:55:11Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Announce the release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article documents the process of making a new PhpGedView release. Currently [[User:John Finlay|John Finlay]] and [[User:Greg Roach|Greg Roach]] are responsible for preparing new PhpGedView releases.&lt;br /&gt;
&lt;br /&gt;
==Preparatory Tasks==&lt;br /&gt;
# At least one week before the release date, freeze the language files.&lt;br /&gt;
## Post to the developers forum asking that no more changes be made to language variables before the release date.&lt;br /&gt;
## Post to the translators forum asking translators to submit any pending changes before the release date.&lt;br /&gt;
&lt;br /&gt;
==Packaging the Files==&lt;br /&gt;
# Identify the trunk/branch of phpGedView that you intend to release.&lt;br /&gt;
# Ensure the version number is correct in session.php (PGV_VERSION and PGV_VERSION_RELEASE).&lt;br /&gt;
# Ensure the version number is correct in build.xml (pgv.version).&lt;br /&gt;
# If any new modules have been added since the last release, you will need to add definitions for these in build.xml.&lt;br /&gt;
# If the database schema has changed (i.e. changes to includes/db_schema/*.php), then update the sqlite database file used by the democd application.&lt;br /&gt;
# Create a tag for the release in the tags directory of the SVN repository.&lt;br /&gt;
# Check out a working-copy of both the tagged directory and the distribution directory from the repository.&lt;br /&gt;
# If these two working copies are not in the same parent directory, update the &amp;quot;dist.dir&amp;quot; value in build.xml to the actual location of the distribution directory.&lt;br /&gt;
# Download the [http://ant.apache.org Apache Ant] build tool.  To configure it, simply define the environment variable ANT_HOME as the location of the Ant root directory.&lt;br /&gt;
# Run Ant from the phpGedView directory using the appropriate command line for your operating system.&lt;br /&gt;
## &amp;quot;%ANT_HOME%\bin\ant&amp;quot;&lt;br /&gt;
## $ANT_HOME/bin/ant&lt;br /&gt;
# Ant takes approximately 5 minutes to run, and will generate all the required zip archives in the distribution directory.&lt;br /&gt;
## PhpGedView-all-Version&lt;br /&gt;
## PhpGedView-basic-Version&lt;br /&gt;
## PGV-Demo-Version&lt;br /&gt;
## PGV-Languages-Version&lt;br /&gt;
## PGV-Places-Version&lt;br /&gt;
## PGV-Themes-Version&lt;br /&gt;
## PGV-Modules-All-Version&lt;br /&gt;
## PGV-Module-XXX-Version (for each module XXX)&lt;br /&gt;
&lt;br /&gt;
== Release the Files on SourceForge ==&lt;br /&gt;
Refer to the [https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download SourceForge release documentation] for information on how to create a release on SourceForge&lt;br /&gt;
# Upload the files using the [https://sourceforge.net/project/admin/explorer.php?group_id=55456 Web Upload Page]&lt;br /&gt;
# Set the basic package to be the default by clicking on it, and clicking the &amp;quot;select all platforms&amp;quot; option&lt;br /&gt;
&lt;br /&gt;
== Update the Bugs Tracker on SourceForge ==&lt;br /&gt;
# The [https://sourceforge.net/tracker/admin/?group_id=55456&amp;amp;atid=634867&amp;amp;add_group=1 bugs tracker &amp;quot;group&amp;quot;] is used to record the PhpGedView version.  Rename the latest version from, say &amp;quot;4.2.3 (svn)&amp;quot; to &amp;quot;4.2.3&amp;quot; and create &amp;quot;4.2.4 (svn)&amp;quot;.  Thus all outstanding bugs in the current SVN will be listed under the release.&lt;br /&gt;
&lt;br /&gt;
== Update the PhpGedView Website ==&lt;br /&gt;
# Update the [http://www.phpgedview.net/ PhpGedView.net] website.  The simplest way is to directly edit the website files using SSH.  Refer to the sourceforge documentation for information on how to access the website files.&lt;br /&gt;
&lt;br /&gt;
== Announce the release ==&lt;br /&gt;
It is usually a good idea to wait a day or two just in case there is something wrong with the package.&lt;br /&gt;
# Send out the release announcement to:&lt;br /&gt;
## the mailing lists &lt;br /&gt;
## the sourceforge users monitoring the release package&lt;br /&gt;
## Post a message in one of the sourceforge forums&lt;br /&gt;
## Add a News item on the SourceForge project page&lt;br /&gt;
&lt;br /&gt;
== PGVWiki Tasks ==&lt;br /&gt;
&lt;br /&gt;
After a new release is made, changes need to be made to some PGVWiki articles. Bug fix releases (e.g. {{latest stable series}}) require only a few changes to be made to existing templates and articles, whereas, minor releases (e.g. 4.x) and major releases (e.g. a version bump from 4.x to 5.x) will require a little more work.&lt;br /&gt;
&lt;br /&gt;
; For Bug Fix Releases&lt;br /&gt;
&lt;br /&gt;
:# Simply update [[Template:Latest version {{latest stable series}}]] to reflect the release date and version for the new release.&lt;br /&gt;
&lt;br /&gt;
; For Minor Releases&lt;br /&gt;
&lt;br /&gt;
:# Copy the contents of [[Template:Latest version {{latest stable series}}]] to the equivalent page for the new release e.g. [[Template:Latest version 4.2.x]] and update the release date and version of the new release.&lt;br /&gt;
:# Update [[Template:Latest stable series]] to indicate the latest stable series has incremented.&lt;br /&gt;
:# Update [[Template:Latest development]] to indicate the version number of the new development branch.&lt;br /&gt;
:# Update all references/links on this page from 4.2.x to 4.3.x&lt;br /&gt;
&lt;br /&gt;
; For All Releases&lt;br /&gt;
&lt;br /&gt;
:# Update file sizes of the new downloads on the [[Download v{{latest stable series}}]] and update any references/links required for the new release (in particular the '''patch download''', which patches from the previous version to the current version).&lt;br /&gt;
:# Ensure the following article exists ([[{{latest version|series={{latest stable series}}}}]]) with a redirect to [[PhpGedView v{{latest version|series={{latest stable series}}}}]]&lt;br /&gt;
:# Simply copy the contents of [[PhpGedView v4.1.3]] (or similar) to [[PhpGedView v{{latest version|series={{latest stable series}}}}]], changing any contents as needed.&lt;br /&gt;
:# Update the [[News]] section on the main page to show details of the new release.&lt;br /&gt;
:# Ensure the date pages for the new release ({{latest version|release date=1|series={{latest stable series}}}}) exist and appropriate content is added using information from a previous release as a template e.g. [[16 November]] and [[2007]]&lt;br /&gt;
&lt;br /&gt;
== Wikipedia Tasks ==&lt;br /&gt;
&lt;br /&gt;
The following [[w:Wikipedia|Wikipedia]] articles contain information about PhpGedView and thus need to be checked and updated after a release is made:&lt;br /&gt;
&lt;br /&gt;
* The [[w:PhpGedView|PhpGedView]] article&lt;br /&gt;
* The [[w:Comparison_of_genealogy_software|Comparison of genealogy software]] article&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer_resources]]&lt;br /&gt;
[[Category:SVN]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Remote_Link_Individuals_Across_Websites_And_Databases&amp;diff=12179</id>
		<title>Remote Link Individuals Across Websites And Databases</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Remote_Link_Individuals_Across_Websites_And_Databases&amp;diff=12179"/>
		<updated>2010-06-06T18:32:53Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* 4.0 beta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==What is a Remote Linking?==&lt;br /&gt;
Remote linking is a way of connecting people together across multiple GEDCOM databases or PhpGedView websites.  Imagine if you find your great-great-grandfather on someone else's website, instead of copying the data and merging it into your GEDCOM, just create a link to him from your site.  Then when data is updated on the remote site, it will automatically be reflected on your site.  With this we can create a &amp;quot;web of genealogy&amp;quot; where our family trees become interconnected at common points.&lt;br /&gt;
&lt;br /&gt;
This same remote linking can be applied to multiple GEDCOMS loaded on the same PhpGedView site.&lt;br /&gt;
&lt;br /&gt;
=='''How to add a remote link'''==&lt;br /&gt;
&lt;br /&gt;
As of version 4.0, PhpGedView supports linking individuals across multiple websites and databases. This means that you can link a person on your site to his father whose data you found on another site. Instead of duplicating data, you are now linking to it.&lt;br /&gt;
&lt;br /&gt;
The most common application of this linking would be to separate data from a husband and a wife into 3 different databases: one for the father's side, one for the mother's side, and one for their children and descendants. This would allow for different privacy settings and configurations for each of the three databases, but still allow the data to be shared between them.&lt;br /&gt;
&lt;br /&gt;
For information on the technical details of how remote linking works under the hood you can read more at [[How Remote Linking Works]]&lt;br /&gt;
&lt;br /&gt;
==Getting Started with Remote Linking==&lt;br /&gt;
&lt;br /&gt;
Before you start, you must know if you are linking to a remote database or if you are linking databases in the same site.&lt;br /&gt;
&lt;br /&gt;
==Linking to a remote site==&lt;br /&gt;
&lt;br /&gt;
In order to link to a remote site you need to know the following information:&lt;br /&gt;
&lt;br /&gt;
*The URL to the web services description file (WSDL) for the remote site. In a PhpGedView site, the URL to a WSDL file will look like this http://www.remotesite.com/phpGedView/genservice.php?wsdl&lt;br /&gt;
&lt;br /&gt;
*If the site is hosting multiple databases, then you need to know database id for the person you are interested in. For PhpGedView websites, this is the name of the GEDCOM file that was uploaded by the administrator.&lt;br /&gt;
&lt;br /&gt;
*The ID for the person you are linking to (eg. I100) &lt;br /&gt;
&lt;br /&gt;
With this information in hand, you can now create a remote link. Follow these steps:&lt;br /&gt;
&lt;br /&gt;
*Login to your site as a user with editing privileges&lt;br /&gt;
*Navigate to the person on your site that you are linking the remote person to&lt;br /&gt;
*Click on the Close Relatives tab&lt;br /&gt;
*Scroll to the bottom of the page and select the &amp;quot;Link Remote Person&amp;quot; option. This will open a new window where you can enter the information you found about the remote person. This new window looks something like this:&lt;br /&gt;
[[Image:addremote.png]]&lt;br /&gt;
*Choose the type of relationship that you will be creating with this link. If the remote person is the father of the local person, then you would select Father from the drop-down menu.&lt;br /&gt;
*Select the option for &amp;quot;Different Site&amp;quot;&lt;br /&gt;
*If you are linking a person on a site you have already used before, you can select that site from the drop-down list of known sites. Otherwise enter the URL and database ID as shown in the image above.&lt;br /&gt;
*Finally enter the ID of the person and click the &amp;quot;Add Link&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
==Linking databases on the same site==&lt;br /&gt;
&lt;br /&gt;
To setup a link between two people in different genealogical databases on the same site, you need to know:&lt;br /&gt;
&lt;br /&gt;
*The ID of the person you are linking to (eg. I100)&lt;br /&gt;
*and the database id where the data for that person is located. For PhpGedView websites, this is the name of the GEDCOM file that was uploaded by the administrator (eg. surname.ged). &lt;br /&gt;
&lt;br /&gt;
With this information you can now create a link between the two individuals on your site. Follow these steps:&lt;br /&gt;
&lt;br /&gt;
*Login to your site as a user with editing privileges&lt;br /&gt;
*Navigate to the person on your site that is the same as the person on the remote site. You will have to create this INDI in your own GEDCOM if it does not already exist.&lt;br /&gt;
*Click on the Close Relatives tab&lt;br /&gt;
*Scroll to the bottom of the page and select the &amp;quot;Link Remote Person&amp;quot; option. This will open a new window where you can enter the information you found about the remote person. This new window looks something like this:&lt;br /&gt;
[[Image:addlocal.png]]&lt;br /&gt;
*For now, the only &amp;quot;Relationship to current person&amp;quot; option is &amp;quot;Same as current&amp;quot; which will already be selected. If it isn't, select it.&lt;br /&gt;
*Select the option for &amp;quot;Same Site&amp;quot;&lt;br /&gt;
*Select the genealogical database ID from the provided list&lt;br /&gt;
*Finally enter the ID of the person and click the &amp;quot;Add Link&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
==Accept the changes==&lt;br /&gt;
&lt;br /&gt;
After the links are created they still need to be accepted just like all other changes. Once the changes are accepted you will be able to go the local person where you created the link and see the new information that was downloaded from the other genealogical database.&lt;br /&gt;
&lt;br /&gt;
==Versions and bugs==&lt;br /&gt;
===Bugs===&lt;br /&gt;
As of 4.1.6, the import code is apparently not reliable. You must have full access to your GEDCOM and you should make sure that there are no pending changes in it.&lt;br /&gt;
&lt;br /&gt;
===4.0 beta===&lt;br /&gt;
Remote link creates &amp;quot;phantom&amp;quot; families, with an apparent duplication of parentage. This is a known problem with the beta.&lt;br /&gt;
====Mother and father linked====&lt;br /&gt;
Because the program doesn't recognize that the father and mother are supposed to be married locally, it shows the remote family twice, once as a step family for the father and once as the step family for the mother. &lt;br /&gt;
 &lt;br /&gt;
You should merge the two families that establish the relationships to the remote mother and father. Go to the Admin page and select the &amp;quot;Merge records&amp;quot; link and enter the two family numbers.&lt;br /&gt;
&lt;br /&gt;
===3.3.8 and earlier===&lt;br /&gt;
This feature is not available in versions 3.3.8 and earlier.&lt;br /&gt;
&lt;br /&gt;
[[Category:How To]]&lt;br /&gt;
[[Category:PhpGedView]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Comment mettre en relation automatique des sites PhpGedView de personnes différentes]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=SimpleTest&amp;diff=12175</id>
		<title>SimpleTest</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=SimpleTest&amp;diff=12175"/>
		<updated>2010-06-06T18:18:11Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Writing Tests for PhpGedView */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
{{Infobox Feature&lt;br /&gt;
 | name                   = SimpleTest&lt;br /&gt;
 | image                  = [[Image:Simpletest-logo.png]]&lt;br /&gt;
 | lead contact           = [[User:Nathanhaigh|Nathan S. Watson-Haigh]]&lt;br /&gt;
 | dev codebase           = v1.0.1beta2&lt;br /&gt;
}}&lt;br /&gt;
'''SimpleTest''' is an opensource PHP unit test, mock objects and web test framework developed by a [http://www.simpletest.org/en/ third party]. Users of JUnit will be familiar with most of the interface. JWebUnit  style functionality is more complete now. It has support for SSL, frames, proxies, basic authentication and the standard HTML controls. The idea is that common but fiddly PHP tasks, such as logging into a site, can be tested easily.&lt;br /&gt;
&lt;br /&gt;
SimpleTest is available as a [[module]] in PhpGedView (currently only in the development branch).&lt;br /&gt;
&lt;br /&gt;
== Test Organisation ==&lt;br /&gt;
&lt;br /&gt;
You should familiarise yourself with [http://www.simpletest.org/en/overview.html how to write tests] before continuing.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;modules/testing/unittests/&amp;lt;/code&amp;gt;&lt;br /&gt;
: This directory is intended for unit testing files for individual classes.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;modules/testing/testgroups/&amp;lt;/code&amp;gt;&lt;br /&gt;
: This directory is intended for writing test groups. This allow for the logical organisation and running of a set of unit tests.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;modules/testing/webtests/&amp;lt;/code&amp;gt;&lt;br /&gt;
: This directory is intended for test files that test the PhpGedView web interface.&lt;br /&gt;
&lt;br /&gt;
== Writing Tests for PhpGedView ==&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
; Official website&lt;br /&gt;
: http://www.simpletest.org&lt;br /&gt;
&lt;br /&gt;
; SourceForge&lt;br /&gt;
: http://www.simpletest.org&lt;br /&gt;
&lt;br /&gt;
; Documentation&lt;br /&gt;
: http://www.simpletest.org/en/overview.html&lt;br /&gt;
&lt;br /&gt;
; SimpleTest API&lt;br /&gt;
: http://simpletest.org/api/&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer_resources]]&lt;br /&gt;
[[Category:Modules]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Proper_use_of_sources&amp;diff=12174</id>
		<title>Proper use of sources</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Proper_use_of_sources&amp;diff=12174"/>
		<updated>2010-06-06T18:13:41Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* How to Structure Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Time and effort should always be made in order to make [[proper use of sources]]. Every little bit of information gleamed from somewhere (a [[source]]) in order to help you reconstruct your family tree should be documented i.e. every bit of information should cite a source record, whether this be published data in birth, marriage and death certificates, census data or the fragile memory of your great-grandmother, or even your own first-hand knowledge. Having these sources available and citing them for each bit of information your record will help others verify your work, find sources that support your conjecture, and help you in 12 months time when you come to work on a distant branch of your tree and think &amp;quot;how do I know Miss Jane Unknown married Mr John Doe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[PGV]] follows the [[GEDCOM]] standards for storing sources and citations to those sources and as such, there is quite a rigid way in which the data is entered. However, if you are in a hurry, it is ''always'' better to add a short note (in the Note field) to a piece of information then add the &amp;quot;formal&amp;quot; source data later, than to skip it entirely in a hope to do it at a later date.&lt;br /&gt;
&lt;br /&gt;
== Source and Source Citation ==&lt;br /&gt;
&lt;br /&gt;
PGV adopts GEDCOM convention of separating a source ([[SOUR]]) record (describing in some detail the actual source), from the source citation. Source is separate record in the table of sources. Source Citation, attached to individual event, fact or person, is a reference to this record, with possible specific details (like page in the book, quote from the source, etc.) This structure lends itself easily to sources like books that may have many facts, and the citation specifies page(s) from the book, and appears to be overkill if grandmother's story is a source. However, the last can also be treated as a single source (especially useful if it is recorded), and different facts quoted from it. Even a one-page birth certificate can be a source for birth date, christening date, given name, parents names and ages, witnesses (possibly a family member), etc. &lt;br /&gt;
&lt;br /&gt;
=== Source ===&lt;br /&gt;
&lt;br /&gt;
Source record can be created where a source citation is called for (&amp;quot;Add a Source Citation&amp;quot;): the form allows one to reference an existing source or to create a new one. Source record has the following fields (with Gedcom tags for reference): &lt;br /&gt;
&lt;br /&gt;
; Title ([[TITL]])&lt;br /&gt;
: Title of the source (book, publication title; document name, or any other descriptive title)&lt;br /&gt;
&lt;br /&gt;
; Abbreviation ([[ABBR]])&lt;br /&gt;
: Short title (useful only if the title is very long)&lt;br /&gt;
; Author ([[AUTH]])&lt;br /&gt;
: Name of person, institution or other entity that created the document or supplied the information.&lt;br /&gt;
; Publication ([[PUBL]])&lt;br /&gt;
: Information on where and when the source was created. For published sources the publisher name, place and year of publication is customary, for unpublished sources - where and when (and how) the source was created.&lt;br /&gt;
; Repository ([[REPO]])&lt;br /&gt;
: Reference to a place, where original document is located. It can be somebody's home, a library, archive. In case of a book, any location likely to be accessible is OK. This is important to other researchers, who might need to reach original document. The Repository records are separate from the sources, as one repository can store many sources. &lt;br /&gt;
; Call Number ([[CALN]])&lt;br /&gt;
: Formal call number for a source in a repository (useful for large repositories)&lt;br /&gt;
; Text ([[TEXT]])&lt;br /&gt;
: Can include relevant text from the original source&lt;br /&gt;
You can also include&lt;br /&gt;
;Media ([[OBJE]])&lt;br /&gt;
: References to a multimedia object, document, photo, etc. - see [[#Sources and Multimedia|Sources and Multimedia]].&lt;br /&gt;
;Associated Events&lt;br /&gt;
: Those are reverse links to events that can be associated with this source. (The forward links are created when you quote the sources, i.e. create a [[#Source Citation|Source Citation]] associated with an event. The original Gedcom standards suggests an comma-delimited list of events, PGV allows you to enter the events separately. The Event description include:&lt;br /&gt;
:*Event (e.g Birth, Death, Burial etc.)&lt;br /&gt;
:*Date of the Event&lt;br /&gt;
:*Place of the event or region encompassing all events in the source&lt;br /&gt;
:*Agency&lt;br /&gt;
&lt;br /&gt;
After creating a source you will be directed back to the Citation screen, where you can complete creating a citation. Pleae note, in PGV 4.1 the source will not be visible (even as change) nor accessible untill the changes are approved.&lt;br /&gt;
&lt;br /&gt;
''See also'':&lt;br /&gt;
* '''[[Adding a Source|A tutorial on creating a new Source]]'''&lt;br /&gt;
* A formal Gedcom description of the [[SOURCE RECORD|Source Record]]&lt;br /&gt;
&lt;br /&gt;
=== Source Citation ===&lt;br /&gt;
Source citation can be attached to almost anything: an individual, a family, and any fact or event, using &amp;quot;Add a Source Citation&amp;quot;. As a rule of thumb, always add citation to a specific event or fact. Citations from 'general' sources , or sources not related to recorded events / facts can be attached to the individual or family. If the Source has already been created, you can enter the source ID or use the book icon to search for it. Alternatively, you can create a new source - see above. &lt;br /&gt;
&lt;br /&gt;
; Source (ID)&lt;br /&gt;
: Reference to existing or newly created source. Use ''search'' or ''create'' icons to find a source or to create a new one. &lt;br /&gt;
; Citation Details ([[PAGE]]) &lt;br /&gt;
: Details, where in the Source can one find the specifically cited information. It can be page number (in a book), edition, issue and page (in a periodical), etc. &lt;br /&gt;
; Text ([[TEXT]])&lt;br /&gt;
: Quote (or multiple quotes) from the source, apropriate to this citation.&lt;br /&gt;
; Date of entry in original source ([[DATE]])&lt;br /&gt;
: Used if source has multiple entries with different dates&lt;br /&gt;
; Quality of Data ([[QUAY]])&lt;br /&gt;
: One can desribe the quality (reliability) of the data here. Frequently used convention is numerical 3 = Direct and primary evidence;  2 = Secondary evidence; 1 = Questionable reliability data; 0 = Unreliable source or estimation.&lt;br /&gt;
;Media ([[OBJE]])&lt;br /&gt;
: References to a multimedia object, document, photo, etc. - see [[#Sources and Multimedia|Sources and Multimedia]].&lt;br /&gt;
&lt;br /&gt;
== Sources and Multimedia ==&lt;br /&gt;
You can add a source to a Media Object (quoting a source of this media), and you can add media to a Source (illustrating the source) and to a Source Citation (illustrating the citation). Source records usually describe an external source, which can be a physical (paper) document. However, with the use of Multimedia tab, an electronic form of the whole source can be included. For example a story, memoir, book, if exists in electronic form, can be included here (as pdf, html etc), provided copyright is respected. &lt;br /&gt;
&lt;br /&gt;
Media can be attached both to Source and to Source Citation. As a general rule, media attached to Source should pertain to the whole source, those attached to Citation should relate to the specific citation. If the Source is a single document (e.g. a certificate), and the Media is a scan of this document, the media reference can be added in three places: to the event, to event source citation, or the source itself. It will be displayed differently in each case - direcly on the Personal Facts and Details screen, on the same screen when the source is expanded, or with source only.&lt;br /&gt;
&lt;br /&gt;
== How to Structure Sources ==&lt;br /&gt;
As the number of sources grows, their maintenance may become a problem. Gedcom standard does not provide for any structure of sources, as they are thought of as published records, books etc, one for many citations. With the use of electronic media the number of individual sources can easily grow into thousands. Additional filters on the Source page in PGV would probably help in managing the sources collection. &lt;br /&gt;
&lt;br /&gt;
Recent discussion in the PGV community revealed a solution that may be worth recommending. It involves creating an virtual ''book'' source of the same type, but not necessarily related sources. For example &amp;quot;Census&amp;quot; can be a single source. &amp;quot;All Email Communications&amp;quot; can be another. In the Source Citation one would provide the [[PAGE]] tag (''Citation details'') specifying where in the Source can you look for information - year and place for Census data, date stamp / sender for email etc. A collection of documents (accessible on a webpage) can be another Source, with document name / page as ''Citation details''. Of course it is also possible to treat each document as Source and the webpage location as repository.&lt;br /&gt;
&lt;br /&gt;
== Gedcom view of sources ==&lt;br /&gt;
&lt;br /&gt;
When looking at the various entries, remember that PGV uses pointers to separate GEDCOM records. &lt;br /&gt;
 &lt;br /&gt;
For example, &amp;lt;code&amp;gt;2 SOUR @S123@&amp;lt;/code&amp;gt; means that the source for the 1-level fact (birth, death, adoption, etc) is described in record &amp;lt;code&amp;gt;0 @S123@ SOUR&amp;lt;/code&amp;gt;. The citation details (page, notes, text) are found in 3 and 4-level entries after the &amp;lt;code&amp;gt;2 SOUR&amp;lt;/code&amp;gt; entry that points to the main source for this fact. &lt;br /&gt;
 &lt;br /&gt;
The reason for this odd structure is that you can have many events that use the same basic source, with only citation details varying. For example, many people use a family bible as a source.  &lt;br /&gt;
 &lt;br /&gt;
The zero-level record tells you &amp;quot;how to find the material&amp;quot;. It gives details about the source title, the publisher, its condition, and where it is located. In the case of a microfilm or microfiche, you'd record the &amp;quot;where to find the film or fiche&amp;quot; in the zero-level record. &lt;br /&gt;
 &lt;br /&gt;
The n-level &amp;lt;code&amp;gt;SOUR&amp;lt;/code&amp;gt; reference records &amp;quot;where to find the information once you've located the source material&amp;quot;. This would be a page number in a book, an entry number in a register of births, a frame number in a film or microfiche, etc. &lt;br /&gt;
 &lt;br /&gt;
This structure is carried even further. The zero-level &amp;lt;code&amp;gt;SOUR&amp;lt;/code&amp;gt; record contains a &amp;lt;code&amp;gt;1 REPO @Rnn@&amp;lt;/code&amp;gt; entry. This points to a repository, library, or somebody's home. The repository (usually a library, a church office, or a public records office [Standesamt]) contains many different items of source material. &lt;br /&gt;
 &lt;br /&gt;
I keep a number of source items at my house, so my house is a repository. The family bible, which records births, deaths, and marriages from 1825 to 1900 is a source at this repository. Entries in this bible are used as n-level &amp;lt;code&amp;gt;SOUR&amp;lt;/code&amp;gt; references in my GEDCOM. A privately published book, produced by a well-known American genealogist in 1908, is another source at this same repository. Entries in this book are used as n-level &amp;lt;code&amp;gt;SOUR &amp;lt;/code&amp;gt;references in my GEDCOM. &lt;br /&gt;
 &lt;br /&gt;
Don't forget that you can have multiple n-level &amp;lt;code&amp;gt;SOUR&amp;lt;/code&amp;gt; references, each pointing to a different zero-level &amp;lt;code&amp;gt;SOUR&amp;lt;/code&amp;gt;, but all attached to the same (n-1)-level fact.&lt;br /&gt;
--Gerry Kroll&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Evaluating Evidence Article]]&lt;br /&gt;
* A formal Gedcom description of the [[SOURCE CITATION|Source Citation]]&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
[http://www.phpgedview.net/ged551-5.pdf GEDCOM 5.5.1 (draft) standard] pages 27 and 39-40.&lt;br /&gt;
&lt;br /&gt;
[[Category:Users Guide]]&lt;br /&gt;
[[Category:PhpGedView]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Language links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[fr:Utilisation des sources]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=PunBB_module&amp;diff=12173</id>
		<title>PunBB module</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=PunBB_module&amp;diff=12173"/>
		<updated>2010-06-06T18:10:26Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* PunBB Codebase Versions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
{{Infobox Feature&lt;br /&gt;
 | name                   = [[PunBB module]]&lt;br /&gt;
 | image                  = [[Image:PunBB_logo.png]]&lt;br /&gt;
 | lead contact           = [[User:Nathanhaigh|Nathan S. Watson-Haigh]]&lt;br /&gt;
 | codebase               = [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/trunk/phpGedView/modules/punbb/ v1.2.12]&lt;br /&gt;
 | dev codebase           = [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/branches/phpGedView-4.2/modules/punbb/ v1.2.16]&lt;br /&gt;
}}&lt;br /&gt;
'''PunBB''' is a fast and lightweight PHP-powered discussion board developed by a [http://punbb.org/ third-party]. It is released under the [[w:GNU General Public License|GNU General Public License]]. Its primary goals are to be faster, smaller and less graphically intensive as compared to other discussion boards. PunBB has fewer features than many other discussion boards, but is generally faster and outputs smaller, semantically correct XHTML-compliant pages.&lt;br /&gt;
&lt;br /&gt;
PunBB has been incorporated into [[PhpGedView]] as a [[module]] and is available for separate [[download]] and [[How_to_install_PunBB_Forum|installation]] if you choose not to install all of PhpGedView.&lt;br /&gt;
&lt;br /&gt;
== PunBB Codebase Versions ==&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
The trunk carries the PunBB v1.2.12 codebase.&lt;br /&gt;
&lt;br /&gt;
=== Development Branch ===&lt;br /&gt;
&lt;br /&gt;
The [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/branches/phpGedView-4.2/ phpGedView-4.2] development branch carries the PunBB v1.2.16 codebase.&lt;br /&gt;
&lt;br /&gt;
== Developer Information ==&lt;br /&gt;
&lt;br /&gt;
A [[vendor branch]] directory exists for PunBB ([http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/vendor_branches/punbb/ punbb]) which is used to keep our own copy of the PunBB development efforts. For each new [http://dev.punbb.org/browser/tags PunBB release] the following procedure should be used to update the PunBB codebase in the PGV SVN repository:&lt;br /&gt;
&lt;br /&gt;
=== Codebase Update Procedure ===&lt;br /&gt;
&lt;br /&gt;
Updating the code base of any vendor code should be done in the development branch. This allows the developers to asses the check the changes for any bugs before it is merged into the trunk.&lt;br /&gt;
&lt;br /&gt;
* Obtain a PunBB release by downloading the zip archive of the next release from http://dev.punbb.org/browser/tags/&lt;br /&gt;
* Unzip it into a local directory&lt;br /&gt;
* Move the contents of the upload directory into it's parent dir:&lt;br /&gt;
 cd &amp;lt;unzipped punbb dir&amp;gt;&lt;br /&gt;
 mv upload/* ./&lt;br /&gt;
 rm -rf upload&lt;br /&gt;
* Using the [http://subversion.tigris.org/tools_contrib.html#svn_load_dirs_pl svn_load_dirs.pl] script provided by subversion, load the code into the punbb [[vendor branch]] directory and create a tag so the release can be easily referenced. '''NOTE:''' substitute ''&amp;lt;new_version&amp;gt;'' for the version of the punbb code being loaded and ''&amp;lt;unzipped punbb dir&amp;gt;'' with your local dir unzipped from above.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;perl svn_load_dirs.pl https://phpgedview.svn.sourceforge.net/svnroot/phpgedview -t vendor_tags/punbb-&amp;lt;new_version&amp;gt; vendor_branches/punbb &amp;lt;unzipped punbb dir&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* You can now delete the &amp;lt;unzipped punbb dir&amp;gt; as it's contents are now stored in the SVN repository&lt;br /&gt;
* Move to the punbb module directory in the development branch in your working copy:&lt;br /&gt;
 cd branches/phpGedView-4.2/modules/punbb&lt;br /&gt;
* Do a dry run of an svn merge between the tagged version that the current code is based on and the latest code just loaded into the vendor_branch. '''NOTE:''' substitute ''&amp;lt;old_version&amp;gt;'' for the punbb version on which the current punbb code is based.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;svn merge --dry-run https://phpgedview.svn.sourceforge.net/svnroot/phpgedview/vendor_tags/punbb-&amp;lt;old_version&amp;gt; https://phpgedview.svn.sourceforge.net/svnroot/phpgedview/vendor_branches/punbb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* If the proposed changes seem fine, then run a proper merge by dropping the &amp;lt;tt&amp;gt;--dry-run&amp;lt;/tt&amp;gt; switch:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;svn merge https://phpgedview.svn.sourceforge.net/svnroot/phpgedview/vendor_tags/punbb-&amp;lt;old_version&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Alternatively, you could merge single files or directories using a similar approach.&lt;br /&gt;
* At this point there are likely to be conflicts due to changed being made to the same bit of code by the PGV team as well as the vendor - these need to be resolved. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PunBB Module]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Delete_an_individual&amp;diff=12172</id>
		<title>Delete an individual</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Delete_an_individual&amp;diff=12172"/>
		<updated>2010-06-06T18:01:51Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Delete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Delete ==&lt;br /&gt;
&lt;br /&gt;
Before deleting a person it is reccommended that you accept/reject any pending changes.  Deleting a person will also remove any links from them to the rest of your family tree.  This means if you delete a person in the middle of your tree, you could end up with two unlinked trees.[[Image:editname.jpg|right]]&lt;br /&gt;
# To delete a person from your family tree:&lt;br /&gt;
## Click on the name of the person you want to delete.  This will take you to the person's individual page.&lt;br /&gt;
## Under the edit menu for this person, you will see an option to &amp;quot;Delete this individual&amp;quot; &lt;br /&gt;
## You will be asked to confirm the deletion of this person.&lt;br /&gt;
# To finalize the deletion of this person you will need to accept the changes.&lt;br /&gt;
&lt;br /&gt;
== Remove ==&lt;br /&gt;
[[Image:ChangeFamily.png|right]]&lt;br /&gt;
You can also remove an individual from a family without deleting the person's record. In &amp;quot;Options for family&amp;quot; select &amp;lt;i&amp;gt;Edit family&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;Change Family Members&amp;lt;/i&amp;gt;. A new screen will open with opptions to Remove or Change for each existing family member. &amp;quot;Remove&amp;quot; removes the individual link to this family only, it does not erase the individual record. &lt;br /&gt;
&lt;br /&gt;
[[Category:How To|Delete an individual]]&lt;br /&gt;
[[Category:Users Guide|Delete an individual]]&lt;br /&gt;
[[fr:Supprimer un individu]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Modules&amp;diff=12167</id>
		<title>Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Modules&amp;diff=12167"/>
		<updated>2010-06-04T08:10:35Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* PHPSysInfo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
[[PhpGedView]] is capable of utilising '''modules''' to extend and enhance its features by way of third-party code. Information about [[Developers_Guide:Creating_a_Module|creating a module]] is available for those who wish to develop them.&lt;br /&gt;
&lt;br /&gt;
Some modules may come with the PhpGedView package you download.  To install other modules, download the module's files and place them in the ''modules'' folder in your PGV folder.  Usually these files will be organized as a single php file and a folder of additional files.  Generally this is all that is necessary, but check for a specific 'readme' or similar file in the set of module files.&lt;br /&gt;
&lt;br /&gt;
==FCKEditor==&lt;br /&gt;
A module that allows the use of the [http://www.fckeditor.net FCKeditor] for entering and editing news items and other HTML-based blocks on the Welcome and My Portal pages in a WYSIWYG window.&lt;br /&gt;
&lt;br /&gt;
==GoogleMap==&lt;br /&gt;
{{main|Google Map module}}&lt;br /&gt;
The module shows a map with geographical information about the Individual events. There is an additional tab shown on the page for every individual, a map derived from Google Maps, and a table of the events being mapped on this page.&lt;br /&gt;
&lt;br /&gt;
Each map marker may be clicked to show data attached to that particular place. If more than one event took place at the marker location, the additional events are shown with tabs.&lt;br /&gt;
&lt;br /&gt;
==PHPSysInfo==&lt;br /&gt;
&lt;br /&gt;
==Message Forum==&lt;br /&gt;
{{main|PunBB module|How to install PunBB Forum}}&lt;br /&gt;
An interface module to the [http://en.wikipedia.org/wiki/Punbb PunBB] application, a simple Bulletin Board that can be used as a discussion forum in PhpGedView&lt;br /&gt;
&lt;br /&gt;
==Research Assistant==&lt;br /&gt;
{{main|Research Assistant module}}&lt;br /&gt;
The Research Assistant allows users to create and manage research tasks and associate them  with '''individuals''' or '''families'''  Research tasks can be assigned to different researchers and organized into folders. The Research assistant has also tools to show missing information and the most probable places to look for it.&lt;br /&gt;
&lt;br /&gt;
==Sitemap==&lt;br /&gt;
This module generates Sitemap files for use by search engines such as Google.&lt;br /&gt;
&lt;br /&gt;
==Slideshow==&lt;br /&gt;
==GVExport==&lt;br /&gt;
{{main|GVExport module}}&lt;br /&gt;
The GVExport module is an interface module to the [http://en.wikipedia.org/wiki/Graphwiz GraphViz] application. After installing the application and the module, you can create many additional family diagrams that can be viewed and saved as a graphics file (e.g. png).&lt;br /&gt;
&lt;br /&gt;
==Gallery 2==&lt;br /&gt;
{{main|Gallery2 module}}&lt;br /&gt;
The Gallery 2 module provides integration with Gallery, an open source web based photo album organizer. Gallery 2 source is not included with PGV, you need to download it from the offical [http://gallery.menalto.com/ Gallery] site.&lt;br /&gt;
&lt;br /&gt;
==Lightbox==&lt;br /&gt;
{{main|Lightbox module}}&lt;br /&gt;
A display module using the [http://en.wikipedia.org/wiki/Lightbox_(JavaScript) Lightbox] script, a fancy display of the media associated with Individuals and Families, including an album and a slideshow.&lt;br /&gt;
&lt;br /&gt;
==GedFactAssistant==&lt;br /&gt;
{{main|GedFactAssistant module}}&lt;br /&gt;
A module intended to provide assisted data entry options in various parts of PGV. Each '''Assistant''' is designed as a separate sub-module. From PGV ver. 4.2.2 onwards the first sub-module '''Manage Media Links''' is available. The next sub-module '''Census Assistant''' should be released with PGV ver. 4.3.0.&lt;br /&gt;
&lt;br /&gt;
== Internal Links ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Modules|List of current modules]]&lt;br /&gt;
* [[Developers_Guide:Creating_a_Module|Creating a PhpGedView module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PhpGedView]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:Modules]]&lt;br /&gt;
[[da:modul]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Standards_For_Sound_Genealogical_Research&amp;diff=12159</id>
		<title>Standards For Sound Genealogical Research</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Standards_For_Sound_Genealogical_Research&amp;diff=12159"/>
		<updated>2010-05-30T12:05:26Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Standards For Sound Genealogical Research */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article is a reproduction of information found on the National Genealogical Society's web site. It aims to provide guidance on how best to conduct and record information found through genealogical research.&lt;br /&gt;
&lt;br /&gt;
==Standards For Sound Genealogical Research==&lt;br /&gt;
''Recommended by the National Genealogical Society''&lt;br /&gt;
&lt;br /&gt;
Remembering always that they are engaged in a quest for truth, family history researchers consistently:&lt;br /&gt;
*Record the source for each item of information they collect.&lt;br /&gt;
*Test every hypothesis or theory against credible evidence, and reject those that are not supported by evidence.&lt;br /&gt;
*Seek original records, or reproduced images of them where there is reasonable assurance they have not been altered, as the basis for their research conclusions.&lt;br /&gt;
*Use compilations, communications, and published works, whether paper or electronic, primarily for their value as guides to locating the original records.&lt;br /&gt;
*State something as a fact only when it is supported by convincing evidence, and identify the evidence when communicating the fact to others.&lt;br /&gt;
*Limit with words like “probable” or “possible” any statement that is based on less than convincing evidence, and state the reasons for concluding that it is probable or possible.&lt;br /&gt;
*Avoid misleading other researchers by either intentionally or carelessly distributing or publishing inaccurate information.&lt;br /&gt;
*State carefully and honestly the results of their own research, and acknowledge all use of other researchers’ work.&lt;br /&gt;
*Recognize the collegial nature of genealogical research by making their work available to others through publication, or by placing copies in appropriate libraries or repositories, and by welcoming critical comment.&lt;br /&gt;
*Consider with open minds new evidence or the comments of others on their work and the conclusions they have reached.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.ngsgenealogy.org/cs/standards_for_sound_genealogical_research National Genealogical Society - Standards For Sound Genealogical Research]&lt;br /&gt;
&lt;br /&gt;
[[Category:Genealogy|Standards For Sound Genealogical Research]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Special:Badtitle/NS100:Contents&amp;diff=12158</id>
		<title>Special:Badtitle/NS100:Contents</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Special:Badtitle/NS100:Contents&amp;diff=12158"/>
		<updated>2010-05-30T11:54:47Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;table width=&amp;quot;95%&amp;quot; valign=&amp;quot;top&amp;quot; cellspacing=&amp;quot;4&amp;quot; cellpadding=&amp;quot;6&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=&amp;quot;#ADB7C9&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; align=&amp;quot;right&amp;quot;&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;font color=navy&amp;gt;&amp;lt;h1&amp;gt;&amp;lt;font color=&amp;quot;#ffffff&amp;quot;&amp;gt;Genealogy&amp;lt;/font&amp;gt;&amp;lt;/h1&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;#E0E6E0&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
==Articles==&lt;br /&gt;
&lt;br /&gt;
*[[Evaluating Evidence Article| Evaluating Evidence: Barbara Krasner-Khait asks Elizabeth Shown Mills about the best practices for high-quality research]]&lt;br /&gt;
*[[Standards For Sound Genealogical Research|Standards For Sound Genealogical Research]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot; bgcolor=&amp;quot;#D5E7E9&amp;quot;&amp;gt;&lt;br /&gt;
[[image:Genstsign1.gif|right]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;top&amp;quot; valign=&amp;quot;top&amp;quot; bgcolor=&amp;quot;#D5DCE1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resources and Links==&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Genealogy Genealogy article in Wikipedia]&lt;br /&gt;
* [http://www.CyndisList.com Cyndi's List of Genealogy Sites on the Internet]&lt;br /&gt;
* [http://www.archives.gov/genealogy/ National Archives (NARA) Resources for Genealogist and Family Historians]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot; bgcolor=&amp;quot;#D5E7E9&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td valign=&amp;quot;top&amp;quot; bgcolor=&amp;quot;#D3D7D9&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Category links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
[[Category:Genealogy|Contents]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Language links...DO NOT DELETE --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Manage_Gedcoms&amp;diff=12157</id>
		<title>Manage Gedcoms</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Manage_Gedcoms&amp;diff=12157"/>
		<updated>2010-05-30T11:44:12Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Download (Gedcom) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Also known as:'' '''Current GEDCOMs'''&lt;br /&gt;
&lt;br /&gt;
:''Reached via:'' [[Admin Menu]]&lt;br /&gt;
&lt;br /&gt;
All Gedcom management - adding, importing, downloading is done on the page called &amp;quot;'''Manage GEDCOMS and edit Prvacy'''&amp;quot; accessible from the Administrator's MyGedView Portal. &lt;br /&gt;
&lt;br /&gt;
Due to historical reasons, user data is kept in two places, as two copies of the same data: in PhpGedView 'native' format in the database, and in the Gedcom format, in a file. This chapter explains the various operations on those two datasets. &lt;br /&gt;
==Gedcom and Family Tree==&lt;br /&gt;
&lt;br /&gt;
PhpGedView deals with managing genealogical information packaged in datasets. The single dataset contains data on people and events, and has a consistent set of ID's. PhpGedView can manage multiple datasets or &amp;quot;Gedcoms&amp;quot;, as they are called throughout the program and in this Wiki.&lt;br /&gt;
&lt;br /&gt;
In this section we will use '''Gedcom''' to indicate the user dataset  in the file form (e.g ''MyTree.ged'') and '''Family Tree''' to indicate the user dataset in PhpGedView native database form (e.g. ''My Family''). In the rest of the Wiki, Gedcom is used synonymously with Family Tree.&lt;br /&gt;
&lt;br /&gt;
As with most programs, PHPGedView operates on the data in its native format (with few exceptions). The standard exchange operations between native and external format are called Import and Export:&lt;br /&gt;
* '''Import''' - transfers the user dataset from a Gedcom file to the database, converting it to the native format. It will overwrite the existing Family Tree or create a new one.&lt;br /&gt;
*'''Export''' - transfers the user dataset to a Gedcom file. &lt;br /&gt;
&lt;br /&gt;
The Gedcom file containing the user dataset can reside on the server (in a location known to PHPGedView) or on the user computer, where it is archived, and where it possibly has been created. We have therefore a third operation, to transfer the file between those two locations:&lt;br /&gt;
* '''Copy''' - transfers the user dataset in form of a Gedcom file between the PHPGedView server and user computer. &lt;br /&gt;
&lt;br /&gt;
If the Family Tree containing the particular user dataset does not exist yet, one uses the Create functionality:&lt;br /&gt;
*'''Create''' - creates a new Family tree in PhPGedView, and allows the user to set its options adn configuration parameters.&lt;br /&gt;
&lt;br /&gt;
==Three-step Operation==&lt;br /&gt;
&lt;br /&gt;
Creating a new Family Tree is generally a three-step operation:&lt;br /&gt;
# Copying a previously created Gedcom file to the server.&lt;br /&gt;
# Creating a Family Tree in PhpGedView, giving it a name and other configuration parameters.&lt;br /&gt;
# Importing the Gedcom file to populate the Family Tree with data. &lt;br /&gt;
&lt;br /&gt;
If some of the steps are already completed, you can skip them and perform only the steps that are needed. &lt;br /&gt;
&lt;br /&gt;
:* To create a new Family Tree &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; an existing Gedcom file (step 2 only with hidden step 3), use the ''[[#Create a New Gedcom|Create a New Gedcom]]'' functionality.&lt;br /&gt;
:* To create a new Family Tree &amp;lt;u&amp;gt;with&amp;lt;/u&amp;gt; an existing Gedcom file (steps 1, 2 and 3) use the ''[[#Upload Gedcom|Upload Gedcom]]'' option.&lt;br /&gt;
:* To create a new Family Tree using the Gedcom already copied to the server, (steps 2 and 3)  use the ''[[#Add Gedcom|Add Gedcom]]'' functionality.&lt;br /&gt;
:* To replace existing data in the Family Tree with an updated Gedcom, use ''[[#Upload Replacement|Upload Replacement]]'' (steps 1 and 3).&lt;br /&gt;
:* To replace existing data in the Family Tree with a Gedcom aleady on the server, use the ''[[#Import (Gedcom)|Import]]'' option (step 3).&lt;br /&gt;
:* To transfer file to the server, you can use ftp or other file transfer method (step 1). &lt;br /&gt;
&lt;br /&gt;
===Copy Files===&lt;br /&gt;
You can copy files using ftp protocol, which has clients for every operating system, or by any other means. The details of file transfer are beyond the scope of this manual, you can read a short [[Upload GEDCOM file to server|tutorial]] on ftp transfer. If file size is a problem, you can transfer a zipped Gedcom file, the system will automatically recognize it and unzip it on arrival. &lt;br /&gt;
&lt;br /&gt;
This separate transfer step is optional, you can upload and import Gedcom using PhpGedView functionality.&lt;br /&gt;
&lt;br /&gt;
Please note that the '''Backup''' functionality acessible from the Admin menu does the Copy operation from server to the user computer (with additional options), but does not Export the Gedcom.&lt;br /&gt;
&lt;br /&gt;
===Create a Family Tree===&lt;br /&gt;
Some of the functions (''Add Gedcom'', ''Upload Gedcom'', ''create a new Gedcom'') will lead you to the Gedcom configuration screen. At this point enter only the data identifying the Gedcom file (if any) and the Gedcom title, and leave the rest of parameters as default. You can return to this screen later.&lt;br /&gt;
&lt;br /&gt;
;Path and name of GEDCOM on server&lt;br /&gt;
:Enter the Gedcom file name (with extension) here, if the file is already copied. You can enter only the file name, without a path - the system assume the location of your Index directory. If the file is not on the server, us the Upload Path field. &lt;br /&gt;
&lt;br /&gt;
;Upload path&lt;br /&gt;
: If you the Gedcom is still on your computer, enter the path or click the &amp;quot;browse' button to locate the file on your machine. The file will be copied in the next step.&lt;br /&gt;
&lt;br /&gt;
;Gedcom title&lt;br /&gt;
: Give your Gedcom a short descriptive title&lt;br /&gt;
&lt;br /&gt;
;Save Configuration&lt;br /&gt;
:Press the Save Configuration button to proceed to the next step.&lt;br /&gt;
&lt;br /&gt;
===Import Gedcom===&lt;br /&gt;
{{main|Import GEDCOM}}&lt;br /&gt;
In this step the Gedcom is checked, verified for validity, searched for the elusive BOM, and finally imported. The Family Tree data are cleared from the database, and replaced with the data in the imported Gedcom file. Only the Gedcom data are replacesd, common information (like users, common place data for Goole maps etc.) are not touched. You will be presented with several options and questions as you proceed trough the import process. &lt;br /&gt;
&lt;br /&gt;
Import can take quite a long time, depending on the size of the file and selected options, so be patient. If you encounter the PHP time limit, the program will give you the option to continue the process. &lt;br /&gt;
&lt;br /&gt;
This step is always performed, even if you do not have a prepared Gedcom file in which case a skeleton file is created and imported automatically.&lt;br /&gt;
&lt;br /&gt;
==Gedcom management options==&lt;br /&gt;
&lt;br /&gt;
[[Image:Current_Gedcoms.jpg|frame|center|Manage GEDCOMs and edit Privacy screen]]&lt;br /&gt;
&lt;br /&gt;
===Add Gedcom===&lt;br /&gt;
''Add Gedcom = Create + Import''. Assumes that the Gedcom file (the Family Tree in Gedcom format) already exists on the server.  '''Add Gedcom''' functionality creates a new Family Tree in PhpGedView and imports an existing file to populate the data.&lt;br /&gt;
&lt;br /&gt;
===Upload Gedcom===&lt;br /&gt;
''Upload Gedcom = Copy + Create + Import''. This is a &amp;quot;three-in-one&amp;quot; function that allows you to skip theseparate copy step; it will (1) copy the Gedcom file from your computer to the server, (2) create a new Family Tree in PhpGedView and (3) import the freshly uploaded file to populate the data.&lt;br /&gt;
&lt;br /&gt;
===Create a New Gedcom===&lt;br /&gt;
''Create a New Gedcom = Create''. This function creates a new Family Tree in PhpGedView and populates it with exactly one person, allowing you to start a new tree without importing any previously prepared files.&lt;br /&gt;
&lt;br /&gt;
===Upload Replacement===&lt;br /&gt;
''Upload Replacement = Copy + Import''. Same as ''Upload Gedcom'', but applies to an existing Family Tree. Will replace the data for this Gedcom with the new file. Note that the replacement file must have &amp;lt;u&amp;gt;exactly the same name as the original one&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Import (Gedcom)===&lt;br /&gt;
''Import (Gedcom) = Import''. Applies to an existing Family Tree. Import will replace the user dataset in native format with the one supplied in the file. An option exists to not replace the file links. During Import the file is Gedcom file is verified, and additional data are written to it. The original Gedcom file is saved with the '.bak' extension.&lt;br /&gt;
&lt;br /&gt;
===Export (Gedcom)===&lt;br /&gt;
''Export = Export''. This functionality will convert the user dataset from native format to the Gedcom file format, and save the file in the PHPGedView server location. It will not copy it to the (home) computer.&lt;br /&gt;
&lt;br /&gt;
===Download (Gedcom)===&lt;br /&gt;
&lt;br /&gt;
''Download = Export + Copy''. It will create an new Gedcom file from your Family Tree data and allow you to import it to your computer.&lt;br /&gt;
&lt;br /&gt;
===Delete (Gedcom)===&lt;br /&gt;
Deletes the Family Tree. The corresponding Gedcom file is retained on the server and you can restore the Family Tree by importing it (use the ''Add Gedcom'' functionality).&lt;br /&gt;
&lt;br /&gt;
===Check (Gedcom)===&lt;br /&gt;
{{main|TBD}}&lt;br /&gt;
You can verify the Gedcom for conformance with the Gedcom 5.5.1 standard. In general, PGV is very relaxed in enforcing the standard; it can accept and display Gedcom files created in other programs using different versions of the standard, or non-standard procedures. The Check Gedcom functionality can be used to verify the Gedcom for non-conformance, but very rarely the errors and warnings shown will cause any problems in importing the file.&lt;br /&gt;
&lt;br /&gt;
===Check if Gedcom files are downloadable===&lt;br /&gt;
The Installation Guide suggests putting your Gedcom files in a directory not accessible to the webserver, to prevent surreptitious downloading your file and bypassing privacy. This functionality will check, if this is the case.&lt;br /&gt;
&lt;br /&gt;
===Edit Configuration File===&lt;br /&gt;
{{main|Configuration File}}&lt;br /&gt;
Here you are returned to the Gedcom configuration screen, where you can edit the display, editing, privacy and other parameters for this Family Tree.&lt;br /&gt;
&lt;br /&gt;
===Edit Privacy File===&lt;br /&gt;
{{main|Privacy File}}&lt;br /&gt;
This function opens the Gedcom Privacy configuration screen, where you can edit the detailed privacy settigns for this Family Tree.&lt;br /&gt;
&lt;br /&gt;
===Default Gedcom===&lt;br /&gt;
Select the default Family Tree that will be shown on the webpage.&lt;br /&gt;
&lt;br /&gt;
===SearchLog files===&lt;br /&gt;
&lt;br /&gt;
===ChangeLog files===&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=PGVWiki_talk:Community_Portal&amp;diff=12136</id>
		<title>PGVWiki talk:Community Portal</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=PGVWiki_talk:Community_Portal&amp;diff=12136"/>
		<updated>2010-05-16T17:25:31Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Suggested Naming Conventions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{todo|Major}}&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
=Suggested Naming Conventions=&lt;br /&gt;
A Place for Discussion around this topic&lt;br /&gt;
&lt;br /&gt;
==phpgedview==&lt;br /&gt;
&lt;br /&gt;
:This sounds good.  You are saying that phpGedView will point directly to these pages?  The best way to accomplish the header you mention is is via a template inserted into each such page.  For example, I have done so at [[Installation Guide]]. [[User:Tom Haws|Tom Haws]] 09:22, 24 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
* '''Question''' Is there a compelling reason to make a clean logical split between these sections?  Possibly could we keep all the phpGedView articles free of prefixes since that is what this wiki is about in the first place?  Under this scenario, I envision a lot of blurring of boundaries.  Instead, it might be better to think of those 6 pages as simple jumping off places.  ???  [[User:Tom Haws|Tom Haws]] 09:22, 24 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
::'''Answer:'''Yes.  Look at all the pages I have created under this premise, especially in the [[Administrators Guide|Administrators Guide]] (What you can not see from the ip address is all the graphics that go with this).  It also lets you see where you are in that area very quickly.  I can see links from the Administrators Guide to the Users Guide etc so I see this as being very important if we are to do a good documentation process.&lt;br /&gt;
&lt;br /&gt;
:::Installation, User, and Admin are clean enough.  But where I foresee continual muddling is in How to, FAQ, and Main Page.  Suppose you are writing on (or from) [[Installation:Error messages]] for an error message that is an installation issue, and the answer is in FAQ, Main Page or How to.  Is there any intuitive way to remember as you are writing off the cuff that you should write [[FAQ:Permissions]] instead of just [[Permissions]]?  Maybe what you are proposing is right, but I want to understand that it is going to be easy to write for off the cuff.  Let's try another, and tell me if I understand:  I am writing for [[Installation: Fatal error: Call to undefined function: session_set_cookie_params]] and I want to refer to [[PHP session support]].  Should that be [[Administration:PHP session support]], [[Installation:PHP session support]], or neither?   Now Error: might be a good namespace.  I just don't know.  I tend to think let's keep it as simple as possible.  I'm having a hard time envisioning it.  I sure wish we had that example of a successful documentation wiki.  I want to avoid every possible obstacle to success. [[User:Tom Haws|Tom Haws]] 15:47, 24 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
==genealogy==&lt;br /&gt;
&lt;br /&gt;
* '''Agree'''  This is a subject not strictly about phpGedView, so it should be in a [[PGVWiki:Namespace]]. [[User:Tom Haws|Tom Haws]] 09:24, 24 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
==site help==&lt;br /&gt;
&lt;br /&gt;
* '''Agree'''  Not about phpGedView.  Needs a namespace. See [[PGVWiki:Look outward, not inward]]. [[User:Tom Haws|Tom Haws]] 09:29, 24 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
==pgvwiki community==&lt;br /&gt;
&lt;br /&gt;
* '''Agree''' Would it be okay to have shortcut namespaces for redirects only, such as [[PW:LOIN]] for [[PGVWiki:Look outward, not inward]] and [[PW:Portal]] (perhaps) for [[PGVWiki:Community Portal]]?  Just to save typing.  [[User:Tom Haws|Tom Haws]] 09:32, 24 November 2005 (EST)&lt;br /&gt;
::I see no problems with the creation of shortcut pages that will take you to correctly titled pages.  --[[User:218.214.34.19|218.214.34.19]] 11:10, 24 November 2005 (EST)&lt;br /&gt;
::Sorry not logged --[[User:Laurie|Laurie]] 11:21, 24 November 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
=Languages=&lt;br /&gt;
Have moved the material from here to [[PGVWiki:Translations|here]]&lt;br /&gt;
--[[User:Laurie|Laurie Lewis]] 13:20, 1 December 2005 (EST)&lt;br /&gt;
&lt;br /&gt;
=Shortcuts=&lt;br /&gt;
A place for discussion&lt;br /&gt;
==--[[User:Laurie|Laurie]] 11:49, 24 November 2005 (EST)--==&lt;br /&gt;
[[User:Tom Haws|Tom]] has suggested the use of shortcuts to make typing easier.  The shortcut pages will have redirects to the correctly named pages.  I see no issues with this.  sorry for losing your original post Tom. Any other thoughs?&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=PGVWiki:Languages&amp;diff=12135</id>
		<title>PGVWiki:Languages</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=PGVWiki:Languages&amp;diff=12135"/>
		<updated>2010-05-16T17:21:30Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Languages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:128px-Globe_of_letters.png|right]]&lt;br /&gt;
==Languages==&lt;br /&gt;
===Currently Supported Languages at PGVWiki===&lt;br /&gt;
PGVWiki currently supports the following languages:&lt;br /&gt;
&lt;br /&gt;
# Danish (da) : Added 5 December, 2005:LGT: [[User:Lordrebus]]&lt;br /&gt;
# English (en)  : Added 17 November, 2005::LGT:[[User:Laurie]]&lt;br /&gt;
&lt;br /&gt;
===Language Requests===&lt;br /&gt;
[[PGVWiki:Language requests|Requests for the installation of additional languages should be made here]].  These requests can only be made on the English page.  (Make sure you provide a link to yourself so we can inform you when it has been done).  A list of all the supported languages is available below.&lt;br /&gt;
&lt;br /&gt;
===Languages Available for Installation===&lt;br /&gt;
Below are languages supported by MediaWiki (as of this version anyway). Not all languages are automatically added, if you need one, you need to make a request for it. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
'aa' =&amp;gt; 'Afar' #Afar&lt;br /&gt;
'ab' =&amp;gt; 'Abkhazian' #Abkhazian - FIXME&lt;br /&gt;
'af' =&amp;gt; 'Afrikaans' #Afrikaans&lt;br /&gt;
'ak' =&amp;gt; 'Akana' #Akan&lt;br /&gt;
'an' =&amp;gt; 'Aragon&amp;amp;eacutes',      # Aragonese&lt;br /&gt;
'als' =&amp;gt; 'Alemannisch'# Alemannic&lt;br /&gt;
'am' =&amp;gt; # Amharic&lt;br /&gt;
'ar' =&amp;gt; # Arabic&lt;br /&gt;
'arc' =&amp;gt; # Aramaic&lt;br /&gt;
'as' =&amp;gt; # Assamese&lt;br /&gt;
'ast' =&amp;gt; 'Asturianu',  # Asturian, See BUG []&lt;br /&gt;
'av' =&amp;gt; # Avar&lt;br /&gt;
'ay' =&amp;gt; 'Aymar' #Aymara&lt;br /&gt;
'az' =&amp;gt; 'Azrbaycan' #Azerbaijani&lt;br /&gt;
'ba' =&amp;gt; # Bashkir&lt;br /&gt;
'be' =&amp;gt; # Belarusian or Byelarussian&lt;br /&gt;
'bg' =&amp;gt; # Bulgarian&lt;br /&gt;
'bh' =&amp;gt; # Bihara&lt;br /&gt;
'bi' =&amp;gt; 'Bislama' #Bislama&lt;br /&gt;
'bn' =&amp;gt; ' - (Bangla)' #Bengali&lt;br /&gt;
'bm' =&amp;gt; 'Bambara',&lt;br /&gt;
'bo' =&amp;gt; 'Bod skad' #Tibetan&lt;br /&gt;
'br' =&amp;gt; 'Brezhoneg' #Breton&lt;br /&gt;
'bs' =&amp;gt; 'Bosanski' #Bosnian&lt;br /&gt;
'ca' =&amp;gt; 'Catal&amp;amp;agrave' #Catalan&lt;br /&gt;
'ce' =&amp;gt; # Chechen&lt;br /&gt;
'ch' =&amp;gt; 'Chamoru' #Chamorro&lt;br /&gt;
'cho' =&amp;gt; 'Choctaw',&lt;br /&gt;
'chr' =&amp;gt; # Cherokee&lt;br /&gt;
'chy' =&amp;gt; 'Tsets&amp;amp;ecirchest&amp;amp;acirchese' #Cheyenne&lt;br /&gt;
'co' =&amp;gt; 'Corsu' #Corsican&lt;br /&gt;
'cr' =&amp;gt; 'Nehiyaw' #Cree&lt;br /&gt;
'cs' =&amp;gt; 'esky' #Czech&lt;br /&gt;
'csb' =&amp;gt; 'Kasz&amp;amp;eumlbscziej' #Cassubian - FIXME&lt;br /&gt;
'cv' =&amp;gt; ' - (va)' #Chuvash&lt;br /&gt;
'cy' =&amp;gt; 'Cymraeg' #Welsh&lt;br /&gt;
'da' =&amp;gt; 'Dansk' #Danish&lt;br /&gt;
'de' =&amp;gt; 'Deutsch' #German&lt;br /&gt;
'dk' =&amp;gt; 'Dansk'# 'da' is correct for the language.&lt;br /&gt;
'dv' =&amp;gt; 'Dhivehi' #Dhivehi&lt;br /&gt;
'dz' =&amp;gt; 'Dzongkha' #Bhutani&lt;br /&gt;
'ee' =&amp;gt; 'Eve' #Eve&lt;br /&gt;
*'el' =&amp;gt; # Greek&lt;br /&gt;
'en' =&amp;gt; 'English' #English&lt;br /&gt;
'eo' =&amp;gt; 'Esperanto' #Esperanto&lt;br /&gt;
'es' =&amp;gt; 'Espa&amp;amp;ntildeol' #Spanish&lt;br /&gt;
'et' =&amp;gt; 'Eesti' #Estonian&lt;br /&gt;
'eu' =&amp;gt; 'Euskara' #Basque&lt;br /&gt;
'fa' =&amp;gt; # Persian&lt;br /&gt;
'ff' =&amp;gt; 'Fulfulde' #Fulfulde&lt;br /&gt;
'fi' =&amp;gt; 'Suomi' #Finnish&lt;br /&gt;
'fj' =&amp;gt; 'Na Vosa Vakaviti' #Fijian&lt;br /&gt;
'fo' =&amp;gt; 'F&amp;amp;oslashroyskt' #Faroese&lt;br /&gt;
'fr' =&amp;gt; 'Fran&amp;amp;ccedilais' #French&lt;br /&gt;
'fy' =&amp;gt; 'Frysk' #Frisian&lt;br /&gt;
'ga' =&amp;gt; 'Gaeilge' #Irish&lt;br /&gt;
'gd' =&amp;gt; 'G&amp;amp;agraveidhlig' #Scots Gaelic&lt;br /&gt;
'gl' =&amp;gt; 'Galego' #Gallegan&lt;br /&gt;
'gn' =&amp;gt; 'Ava&amp;amp;ntildee\# Guarani&lt;br /&gt;
'gu' =&amp;gt; # Gujarati&lt;br /&gt;
'gv' =&amp;gt; 'Gaelg' #Manx&lt;br /&gt;
'ha' =&amp;gt; # Hausa&lt;br /&gt;
'haw' =&amp;gt; 'Hawai`i' #Hawaiian&lt;br /&gt;
'he' =&amp;gt; # Hebrew&lt;br /&gt;
'hi' =&amp;gt; # Hindi&lt;br /&gt;
'ho' =&amp;gt; 'Hiri Motu',&lt;br /&gt;
'hr' =&amp;gt; 'Hrvatski' #Croatian&lt;br /&gt;
'ht' =&amp;gt; 'Haitian' #Haitian (FIXME!)&lt;br /&gt;
'hu' =&amp;gt; 'Magyar' #Hungarian&lt;br /&gt;
'hy' =&amp;gt; # Armenian&lt;br /&gt;
'hz' =&amp;gt; 'Otsiherero' #Herero&lt;br /&gt;
'ia' =&amp;gt; 'Interlingua' #Interlingua (IALA)&lt;br /&gt;
'id' =&amp;gt; 'Bahasa Indonesia' #Indonesian&lt;br /&gt;
'ie' =&amp;gt; 'Interlingue' #Interlingue (Occidental)&lt;br /&gt;
'ig' =&amp;gt; 'Igbo' #Igbo&lt;br /&gt;
'ii' =&amp;gt; 'Yi' #Sichuan Yi (FIXME!)&lt;br /&gt;
'ik' =&amp;gt; 'I&amp;amp;ntildeupiak' #Inupiak&lt;br /&gt;
'io' =&amp;gt; 'Ido' #Ido&lt;br /&gt;
'is' =&amp;gt; '&amp;amp;Iacuteslenska' #Icelandic,  according to Jeedo@irc&lt;br /&gt;
'it' =&amp;gt; 'Italiano' #Italian&lt;br /&gt;
'iu' =&amp;gt; # Inuktitut&lt;br /&gt;
'ja' =&amp;gt; # Japanese&lt;br /&gt;
'jv' =&amp;gt; 'Bahasa Jawa' #Javanese&lt;br /&gt;
'ka' =&amp;gt; # Georgian&lt;br /&gt;
'kg' =&amp;gt; 'Kongo' #Kongo (FIXME!)&lt;br /&gt;
'ki' =&amp;gt; 'Kikuyu' #Kikuyu (FIXME!)&lt;br /&gt;
'kj' =&amp;gt; 'Kuanyama' #Kuanyama (FIXME!)&lt;br /&gt;
'kk' =&amp;gt; # Kazakh&lt;br /&gt;
'kl' =&amp;gt; 'Kalaallisut' #Greenlandic&lt;br /&gt;
'km' =&amp;gt; # Cambodian&lt;br /&gt;
'kn' =&amp;gt; # Kannada&lt;br /&gt;
'ko' =&amp;gt; # Korean&lt;br /&gt;
'kr' =&amp;gt; 'Kanuri',&lt;br /&gt;
'ks' =&amp;gt; ' - ()' #Kashmiri&lt;br /&gt;
'ku' =&amp;gt; 'Kurd&amp;amp;icirc' #Kurdish&lt;br /&gt;
'kv' =&amp;gt; 'Komi',&lt;br /&gt;
'kw' =&amp;gt; 'Kernewek' #Cornish&lt;br /&gt;
'ky' =&amp;gt; 'Krgzca' #Kirghiz&lt;br /&gt;
'la' =&amp;gt; 'Latina' #Latin&lt;br /&gt;
'lb' =&amp;gt; 'L&amp;amp;eumltzebuergesch' #Luxemburguish&lt;br /&gt;
'lg' =&amp;gt; 'Luganda' #Ganda&lt;br /&gt;
'li' =&amp;gt; 'Limburgs' #Limburgian&lt;br /&gt;
'ln' =&amp;gt; 'Lingala' #Lingala&lt;br /&gt;
'lo' =&amp;gt; 'Pha xa lao' #Laotian&lt;br /&gt;
'lt' =&amp;gt; 'Lietuvi' #Lithuanian&lt;br /&gt;
'lv' =&amp;gt; 'Latvie&amp;amp;scaronu' #Latvian&lt;br /&gt;
'mg' =&amp;gt; 'Malagasy' #Malagasy - FIXME&lt;br /&gt;
'mh' =&amp;gt; 'Ebon' #Marshallese&lt;br /&gt;
'mi' =&amp;gt; 'Mori' #Maori&lt;br /&gt;
'mk' =&amp;gt; # Macedonian&lt;br /&gt;
'ml' =&amp;gt; # Malayalam&lt;br /&gt;
'mn' =&amp;gt; # Mongoloian&lt;br /&gt;
'mo' =&amp;gt; 'Moldoveana' #Moldovan&lt;br /&gt;
'mr' =&amp;gt; # Marathi&lt;br /&gt;
'ms' =&amp;gt; 'Bahasa Melayu' #Malay&lt;br /&gt;
'mt' =&amp;gt; 'bil-Malti' #Maltese&lt;br /&gt;
'mus' =&amp;gt; 'Muscogee',&lt;br /&gt;
'my' =&amp;gt; 'Myanmasa' #Burmese&lt;br /&gt;
'na' =&amp;gt; 'Ekakair Naoero' #Nauruan&lt;br /&gt;
'nb' =&amp;gt; 'Norsk (bokm&amp;amp;aringl)' #Norwegian (Bokmal)&lt;br /&gt;
'nah' =&amp;gt; 'Nahuatl',&lt;br /&gt;
'nds' =&amp;gt; 'Plattd&amp;amp;uuml&amp;amp;uumltsch' #Low German or Low Saxon&lt;br /&gt;
'ne' =&amp;gt; # Nepali&lt;br /&gt;
'ng' =&amp;gt; 'Ndonga',&lt;br /&gt;
'nl' =&amp;gt; 'Nederlands' #Dutch&lt;br /&gt;
'nb' =&amp;gt; 'Norsk' #Norwegian [currently using old 'no' code]&lt;br /&gt;
'ne' =&amp;gt; # Nepali&lt;br /&gt;
'nn' =&amp;gt; 'Norsk (nynorsk)' #(Norwegian) Nynorsk&lt;br /&gt;
'no' =&amp;gt; 'Norsk' #Norwegian&lt;br /&gt;
'nv' =&amp;gt; 'Din&amp;amp;eacute bizaad' #Navajo&lt;br /&gt;
'ny' =&amp;gt; 'Chi-Chewa' #Chichewa&lt;br /&gt;
'oc' =&amp;gt; 'Occitan' #Occitan&lt;br /&gt;
'om' =&amp;gt; 'Oromoo'# Oromo&lt;br /&gt;
'or' =&amp;gt; 'Oriya' #Oriya - FIXME&lt;br /&gt;
'pa' =&amp;gt; ' /  / ' #Punjabi&lt;br /&gt;
'pi' =&amp;gt; # Pali&lt;br /&gt;
'pl' =&amp;gt; 'Polski' #Polish&lt;br /&gt;
'ps' =&amp;gt; # Pashto&lt;br /&gt;
'pt' =&amp;gt; 'Portugu&amp;amp;ecircs' #Portuguese&lt;br /&gt;
'qu' =&amp;gt; 'Runa Simi' #Quechua&lt;br /&gt;
'rm' =&amp;gt; 'Rumantsch' #Raeto-Romance&lt;br /&gt;
'rn' =&amp;gt; 'Kirundi' #Kirundi&lt;br /&gt;
'ro' =&amp;gt; 'Rom&amp;amp;acircn' #Romanian&lt;br /&gt;
'roa-rup' =&amp;gt; 'Armneashti'# Aromanian&lt;br /&gt;
'ru' =&amp;gt; # Russian&lt;br /&gt;
'rw' =&amp;gt; 'Kinyarwanda',&lt;br /&gt;
'sa' =&amp;gt; # Sanskrit&lt;br /&gt;
'sc' =&amp;gt; 'Sardu' #Sardinian&lt;br /&gt;
'scn' =&amp;gt; 'Sicilianu'# Sicilian&lt;br /&gt;
'sd' =&amp;gt; # Sindhi&lt;br /&gt;
'se' =&amp;gt; 'S&amp;amp;aacutemegiella' #(Northern) Sami&lt;br /&gt;
'sg'=&amp;gt; 'Sangro',&lt;br /&gt;
'sh'=&amp;gt; ' (Srbskohrvatski)'## Serbocroatian -- Obsolete&lt;br /&gt;
'si' =&amp;gt; 'Simhala' #Sinhalese&lt;br /&gt;
'simple' =&amp;gt; 'Simple English',&lt;br /&gt;
'sk' =&amp;gt; 'Slovenina' #Slovak&lt;br /&gt;
'sl' =&amp;gt; 'Sloven&amp;amp;scaronina' #Slovenian&lt;br /&gt;
'sm' =&amp;gt; 'Gagana Samoa' #Samoan&lt;br /&gt;
'sn' =&amp;gt; 'chiShona' #Shona&lt;br /&gt;
'so' =&amp;gt; 'Soomaaliga' #Somali&lt;br /&gt;
'sq' =&amp;gt; 'Shqip' #Albanian&lt;br /&gt;
'sr' =&amp;gt; ' / Srpski' #Serbian&lt;br /&gt;
'ss' =&amp;gt; 'SiSwati' #Swati&lt;br /&gt;
'st' =&amp;gt; 'seSotho' #(Southern) Sotho&lt;br /&gt;
'su' =&amp;gt; 'Bahasa Sunda' #Sundanese&lt;br /&gt;
'sv' =&amp;gt; 'Svenska' #Swedish&lt;br /&gt;
'sw' =&amp;gt; 'Kiswahili' #Swahili&lt;br /&gt;
'ta' =&amp;gt; # Tamil&lt;br /&gt;
'te' =&amp;gt; # Telugu&lt;br /&gt;
'tg' =&amp;gt; # Tajik&lt;br /&gt;
'th' =&amp;gt; # Thai&lt;br /&gt;
'ti' =&amp;gt; 'Tigrinya' #Tigrinya - FIXME&lt;br /&gt;
'tk' =&amp;gt; ' / ' #Turkmen&lt;br /&gt;
'tl' =&amp;gt; 'Tagalog' #Tagalog (Filipino)&lt;br /&gt;
'tlh' =&amp;gt; 'tlhIngan-Hol' #Klingon - no interlanguage links allowed&lt;br /&gt;
'tn' =&amp;gt; 'Setswana' #Setswana&lt;br /&gt;
'to' =&amp;gt; 'Tonga' #Tonga - FIXME&lt;br /&gt;
'tokipona' =&amp;gt; 'Toki Pona',      # Toki Pona&lt;br /&gt;
'tp' =&amp;gt; 'Toki Pona' #Toki Pona - non-standard language code&lt;br /&gt;
'tpi' =&amp;gt; 'Tok Pisin' #Tok Pisin&lt;br /&gt;
'tr' =&amp;gt; 'T&amp;amp;uumlrk&amp;amp;ccedile' #Turkish&lt;br /&gt;
'ts' =&amp;gt; 'Xitsonga' #Tsonga&lt;br /&gt;
'tt' =&amp;gt; 'Tatar' #Tatar&lt;br /&gt;
'tum' =&amp;gt; 'chiTumbuka',  # Tumbuka&lt;br /&gt;
'tw' =&amp;gt; 'Twi' #Twi -- FIXME&lt;br /&gt;
'ty' =&amp;gt; 'Reo M`ohi' #Tahitian&lt;br /&gt;
'ug' =&amp;gt; 'Oyghurque' #Uyghur&lt;br /&gt;
'uk' =&amp;gt; # Ukrainian&lt;br /&gt;
'ur' =&amp;gt; # Urdu&lt;br /&gt;
'uz' =&amp;gt; # Uzbek&lt;br /&gt;
've' =&amp;gt; 'Venda' #Venda&lt;br /&gt;
'vi' =&amp;gt; 'Ting Vit' #Vietnamese&lt;br /&gt;
'vo' =&amp;gt; 'Volap&amp;amp;uumlk' #VolapÃ¼k&lt;br /&gt;
'wa' =&amp;gt; 'Walon' #Walloon&lt;br /&gt;
'wo' =&amp;gt; 'Wollof' #Wolof&lt;br /&gt;
'xh' =&amp;gt; 'isiXhosa' #Xhosan&lt;br /&gt;
'yi' =&amp;gt; # Yiddish&lt;br /&gt;
'yo' =&amp;gt; 'Yor&amp;amp;ugraveb&amp;amp;aacute' #Yoruba&lt;br /&gt;
'za' =&amp;gt; '(Cuengh)' #Zhuang&lt;br /&gt;
'zh' =&amp;gt; # (Zhng WÃ©n) - Chinese&lt;br /&gt;
'zh-cfr' =&amp;gt; # Min-nan&lt;br /&gt;
'zh-cn' =&amp;gt; '()' #Simplified&lt;br /&gt;
'zh-tw' =&amp;gt; '()' #Traditional&lt;br /&gt;
'zu' =&amp;gt; 'isiZulu' #Zulu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related pages==&lt;br /&gt;
&lt;br /&gt;
[[PGVWiki:Translations|PGVWiki:Translations]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=PGVWiki:Categorisation&amp;diff=12134</id>
		<title>PGVWiki:Categorisation</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=PGVWiki:Categorisation&amp;diff=12134"/>
		<updated>2010-05-16T17:19:35Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Links to categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For detailed technical information on how to use categories, see Wikipedia's [[w:Help:Category|Help:Category]].&lt;br /&gt;
&lt;br /&gt;
==Approaches to Category Navigation==&lt;br /&gt;
&lt;br /&gt;
Categories are utilised in two ways by users of the PGVWiki site in order to find articles of interest and relavence. These approaches have to be considered when formulating and expanding the hierarchy of categories.&lt;br /&gt;
&lt;br /&gt;
===Top-Down Approach===&lt;br /&gt;
&lt;br /&gt;
A user can browse the top-level of the categories hierarchy via the [[:Category:Contents]] page. The user then [[w:Drill_down|drills-down]] towards categories of increasing specificity by clicking the links within the subcategory section of the category page. This way the user can navigate towards articles of relavence.&lt;br /&gt;
&lt;br /&gt;
===Bottom-Up Approach===&lt;br /&gt;
&lt;br /&gt;
A user may have already found an article of relavence and wishes to find similar or a broader range of articles. The user can click on a category link at the bottom of the page to find articles within the same category. Following a similar link at the bottom of a category page will allow you to view the parent category in order to located more broadly categorised articles.&lt;br /&gt;
&lt;br /&gt;
==How to categorise an article==&lt;br /&gt;
&lt;br /&gt;
Categorising an article is simply performed by editing it, and including one or more category declarations. For instance, to add the ''[[Blocks]]'' article to the &amp;quot;PhpGedView&amp;quot; category, you would edit the article and enter &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[Category:PhpGedView]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; at the bottom, but ''before'' any [[w:Interlanguage links|interlanguage links]]. The appeal of categories is that they update themselves automatically, and you don't have to edit the category to add an article to it.&lt;br /&gt;
&lt;br /&gt;
When adding an article to a category, or creating categories, one should be careful to use the correct categories and subcategories. Horizontal categorisation (below), refers to placing an article in the correct category while vertical categorisation refers to placing an article in the correct ''sub''category.&lt;br /&gt;
&lt;br /&gt;
When assigning an article into categories, try to be thorough in a &amp;quot;horizontal&amp;quot; sense. You might need to poke around the [[:Category:Contents|category hierarchy]] a bit to find the right place. Try searching for articles similar to the article you are categorising to get ideas or to find the most appropriate place. &lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;vertical&amp;quot; dimension, placing articles only in the most specific categories they reasonably fit in. Thus, if an article relates to a Chart type in PhpGedView then it could be categorised under [[:Category:Charts]] but not [[:Category:PhpGedView]] since [[:Category:Charts]] is a subcategory of [[:Category:PhpGedView]]. It is expected that the user should be able navigate the categorise hierarchy to find related articles using one of the above [[#Approaches to Category Navigation|approaches]].&lt;br /&gt;
&lt;br /&gt;
==When creating categories . . .==&lt;br /&gt;
&lt;br /&gt;
===Look before you leap===&lt;br /&gt;
Before creating a category, look to see if one already exists. The best way to do this is to first add the category to your article but preview before saving. When previewing a page, scroll right to the ''very bottom of the browser window'' to see the categories. If the category appears in blue, the category already exists. If it is in red, then you will be creating a new category. Check the capitalisation of the category name. For any red categories, you should look for categories with similar names before creating a new category. One way to do this is to think of the parent category for the new category. Search for it and then look at the subcategories in the parent. You may find that a category already exists that is similar to the one you are thinking about creating.&lt;br /&gt;
&lt;br /&gt;
Before creating a new category, familiarise yourself with all the guidelines on this page, and related pages.  Categories are deleted, merged and renamed at the PGVWiki Admin's discretion, particularly if over-categorisation occurs.&lt;br /&gt;
&lt;br /&gt;
Note that, although &amp;quot;uncreated&amp;quot; categories ''will'' correctly list articles that have been assigned to them, the category page itself does not exist until it is manually created. The easiest way to create the category page is to follow the red category link from your article and create a new category page with a parent category and a category description as explained in the next section.&lt;br /&gt;
&lt;br /&gt;
==How to create subcategories==&lt;br /&gt;
Subcategories may be created by putting &amp;lt;nowiki&amp;gt;[[Category:&amp;lt;/nowiki&amp;gt;''parent_category_name''&amp;lt;nowiki&amp;gt;]]&amp;lt;/nowiki&amp;gt; onto the page that you would like to make into a subcategory. This may seem counterintuitive, because you edit the subcategory page rather than the parent category page.  &lt;br /&gt;
&lt;br /&gt;
Let's say that you wanted to make the category called '''Roses''' into a ''subcategory'' of the category called '''Flowers'''.&lt;br /&gt;
&lt;br /&gt;
: Step 1 - Go to the page called &amp;lt;nowiki&amp;gt;[[Category:Roses]]&amp;lt;/nowiki&amp;gt;, and click '''edit this page'''. &lt;br /&gt;
: Step 2 - Place the text '''&amp;lt;nowiki&amp;gt;[[Category:Flowers]]&amp;lt;/nowiki&amp;gt;''' within the body of the  &amp;lt;nowiki&amp;gt;[[Category:Roses]]&amp;lt;/nowiki&amp;gt; article, and save.  &lt;br /&gt;
: Finished! '''Roses''' is now a subcategory of '''Flowers''', and &amp;lt;nowiki&amp;gt;[[Category:Roses]]&amp;lt;/nowiki&amp;gt; will be visible on &amp;lt;nowiki&amp;gt;[[Category:Flowers]]&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Links to categories==&lt;br /&gt;
You can create a link to a category page without adding the page to that category by using a colon before the word Category. Example: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:Category:Charts]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; appears as [[:Category:Charts]].&lt;br /&gt;
&lt;br /&gt;
==Category sorting==&lt;br /&gt;
===Pipe tricks and sort keys===&lt;br /&gt;
Contrary to some expectations, text after a pipe (&amp;quot;&amp;lt;tt&amp;gt;|&amp;lt;/tt&amp;gt;&amp;quot;) in a category link is not used in place of the category text. Rather, this text is used as the [[w:sort key|sort key]] on the category page itself. However, again contrary to expectations, that sort text is '''not''' displayed. For example, &amp;lt;nowiki&amp;gt;[[Category:User|Nathan Watson-Haigh]]&amp;lt;/nowiki&amp;gt; used in the [[User:Nathan Watson-Haigh|user page of Nathan Watson-Haigh]] will make the &amp;quot;User:Nathan Watson-Haigh&amp;quot; page list under N rather than U in the category.&lt;br /&gt;
&lt;br /&gt;
===Setting a default sort key===&lt;br /&gt;
The default sort key of a page for categories can be changed using the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{DEFAULTSORT}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; [[w:Magic word|magic word]].  For instance, on [[User:Nathan Watson-Haigh]], &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{DEFAULTSORT:Nathan Watson-Haigh}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; would cause &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Category:User]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to be equivalent to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Category:User|Nathan Watson-Haigh]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, not &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Category:User|User:Nathan Watson-Haigh]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. This is especially useful when the article belongs in many categories. If more than one default sort key magic word is present on a page, the last occurrence is the one used. The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{DEFAULTSORT}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; magic word affects all categories that the article is in, regardless of the position of the magic  word relative to the category. It does not just affect subsequent categories. The default sort key can be overridden for individual categories applied to an article by manually applying a sort key.&lt;br /&gt;
&lt;br /&gt;
An easy way of overriding the magic word and using the current article name as the sort key is to use the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{PAGENAME}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; template after the pipe, e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[CATEGORY:User|{{PAGENAME}}]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Using this template will cause the article to appear in the position appropriate to its full article name if the article is moved.&lt;br /&gt;
&lt;br /&gt;
[[Category:PGVWiki]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=PGVWiki:Namespace&amp;diff=12132</id>
		<title>PGVWiki:Namespace</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=PGVWiki:Namespace&amp;diff=12132"/>
		<updated>2010-05-16T17:16:57Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Help: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:Policy.png|right]]__TOC__&lt;br /&gt;
The MediaWiki software powering PGVWiki provides several '''namespaces'''.  A namespace is a &amp;quot;zone&amp;quot; that contains specific types or groupings of wiki content.  It is generally shown by the use of a prefix before the title of a page.&lt;br /&gt;
&lt;br /&gt;
When creating pages of content, consideration should be given to the use of the appropriate '''namespace''' for the page.  The '''namespaces''' used in PGVWiki are shown below in bold.  Prior to creating pages users should also read [[PGVWiki:Categorisation]] to further understand how pages can be grouped together.&lt;br /&gt;
&lt;br /&gt;
==PGVWiki Namespaces==&lt;br /&gt;
&lt;br /&gt;
Namespaces are configured into the PGVWiki installation so that pages within a registered namespace can receive special treatment. There is nothing to stop you creating an article such as &amp;lt;nowiki&amp;gt;[[SomeDummyNameSpace:Article_Name]]&amp;lt;/nowiki&amp;gt;, however, because &amp;quot;SomeDummyNameSpace&amp;quot; is not a registered namespace it does not receive any special treatment - therefore, this is not encouraged and article doing this will be moved.&lt;br /&gt;
&lt;br /&gt;
===main namespace===&lt;br /&gt;
: The zone for the actual documentation of PhpGedView.  It contains no prefix, and pages in this namespace are created simply by creating &amp;lt;nowiki&amp;gt;[[links]]&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===PGVWiki:===&lt;br /&gt;
: This namespace is the namespace for pages pertaining to the wiki itself.  These pages deal with the policies, guidelines and issues pertaining to the running, maintenance and growth of PGVWiki.&lt;br /&gt;
&lt;br /&gt;
===User:===&lt;br /&gt;
: This namespace is set aside for personalized pages pertaining to the PGVWiki contributors.  This may include personal presentations, scratch pages, rough drafts, and archives of content.  It is ''not'' intended for use as personal webspace (see [[PGVWiki:What PGVWiki is not|What PGVWiki is not]]).&lt;br /&gt;
&lt;br /&gt;
===Genealogy:===&lt;br /&gt;
: This namespace contains pages related to the topic of Genealogy that may assist users of PhpGedView.&lt;br /&gt;
&lt;br /&gt;
===Help:===&lt;br /&gt;
: This namespace is for pages that provide guidance for using MediaWiki (the software behind the PGVWiki).  It is not to be used in page titles related to PGVWiki or PhpGedView.&lt;br /&gt;
&lt;br /&gt;
===Image:===&lt;br /&gt;
: This namespace is created for [[Help:Image description page|image description page]]s that provide information concerning images.&lt;br /&gt;
&lt;br /&gt;
===Special:===&lt;br /&gt;
: This namespace consisting solely of pages that are dynamically created by the MediaWiki software on demand (i.e. [[Special:Recentchanges|recent changes]]).  These pages can be linked using the usual method, except when parameters are required (then the full URL must be used).&lt;br /&gt;
&lt;br /&gt;
===Template:===&lt;br /&gt;
: This namespace is used to create customizable sections of text that can be included in multiple articles.  The are included using the &amp;lt;nowiki&amp;gt;{{template}}&amp;lt;/nowiki&amp;gt; markup (see [[Help:Template|Template]]s).&lt;br /&gt;
&lt;br /&gt;
===MediaWiki:===&lt;br /&gt;
: This namespace is used to contain text clippings that allow customization of the wiki's user interface.  Pages in this namespace may only be edited by the [http://wiki.phpgedview.net/en/index.php?title=Special%3AListusers&amp;amp;username=&amp;amp;group=sysop&amp;amp;limit=50 PGVWiki admin team].&lt;br /&gt;
&lt;br /&gt;
===Category:===&lt;br /&gt;
: This namespace contains all the various [[Help:Category|categories]] into which articles can be grouped.&lt;br /&gt;
&lt;br /&gt;
==Talk namespaces==&lt;br /&gt;
Each namespace (except for Special:) also has an associated '''Talk:''' namespace linked to it.  These pages are set aside for discussion of the articles as necessary.  Examples of the most frequently used Talk namespaces are:&lt;br /&gt;
&lt;br /&gt;
* Talk:&lt;br /&gt;
* PGVWiki talk:&lt;br /&gt;
* User talk:&lt;br /&gt;
* Image talk:&lt;br /&gt;
&lt;br /&gt;
[[Category:PGVWiki|Namespace]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=PGVWiki:Site_guidelines&amp;diff=12131</id>
		<title>PGVWiki:Site guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=PGVWiki:Site_guidelines&amp;diff=12131"/>
		<updated>2010-05-16T17:15:37Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* PhpGedView documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:Policy.png|right]]&lt;br /&gt;
==PhpGedView documentation==&lt;br /&gt;
In order to provide a consistent documentation status for the whole of the community using phpGedView the English site’s documentation will be considered to be the “core source” for the documentation.  &lt;br /&gt;
&lt;br /&gt;
The documentation source for phpGedView has been divided into 5 areas&lt;br /&gt;
&lt;br /&gt;
*Administrators guide&lt;br /&gt;
*Installation guide&lt;br /&gt;
*Users guide&lt;br /&gt;
*FAQ&lt;br /&gt;
*How to&lt;br /&gt;
&lt;br /&gt;
All PhpGedView documentation translations should be based on the English version.  Improvements and changes to the documentation can be initiated in any language group, but as they are updated for that language group, the English version MUST be similarly updated.  In this way other language groups can monitor and be informed of the changes and appropriate changes can be made in their documentation.  Whilst this is in some ways prescriptive it enables enhancements in the phpGedView documentation to benefit the whole of the community. &lt;br /&gt;
&lt;br /&gt;
[[PGVWiki:Translations#Language &amp;quot;Go-Tos&amp;quot; (LGTs)|LGTs (Language Go Tos)]] should monitor these areas for changes. &lt;br /&gt;
&lt;br /&gt;
Users who change documentation in their language group (other than English) who are able to translate into English are asked to do so to assist LGTs in keeping the core version up to date.&lt;br /&gt;
&lt;br /&gt;
==Languages==&lt;br /&gt;
This is dealt with [[PGVWiki:Languages|here]]&lt;br /&gt;
&lt;br /&gt;
==Translations==&lt;br /&gt;
This is dealt with [[PGVWIki:Translations|here]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Installing_PhpGedView_for_Development&amp;diff=12130</id>
		<title>Installing PhpGedView for Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Installing_PhpGedView_for_Development&amp;diff=12130"/>
		<updated>2010-05-16T17:11:55Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Setting up a virtual directory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setup ==	 &lt;br /&gt;
Make sure that you have followed the instructions in the following documents before continuing:	 &lt;br /&gt;
* [[Installing PHP on Windows]]	 &lt;br /&gt;
* [[Installing Eclipse on Windows]]	 &lt;br /&gt;
* [[Installing MySQL on Windows]]&lt;br /&gt;
&lt;br /&gt;
== Setting up a virtual directory ==	 &lt;br /&gt;
When developing, it is very convenient to be able to test immediately the code that you are developing. The easiest way to enable this is to setup a virtual directory which points to the location where you checked out the PhpGedView project files.	 &lt;br /&gt;
	 &lt;br /&gt;
=== Setting up a virtual directory in IIS ===	 &lt;br /&gt;
# Open the Internet Information Services manager	 &lt;br /&gt;
## Control Panel-&amp;gt;Administrative Service-&amp;gt;Internet Information Services	 &lt;br /&gt;
# Expand the sites until you get to the ''Default Web Site''. You should see something similar to the following image:[[Image:Clipboard02.png]]	 &lt;br /&gt;
# Right-click on the ''Default Web Site'' option and select the ''New-&amp;gt;Virtual Directory'' option from the context menu. This will open the Virtual Directory Creation Wizard. Click ''Next'' to get started.	 &lt;br /&gt;
# In the Alias field, enter the name you want to use to access your PhpGedView installation. ''PGV'' is a good choice. This will allow you to access your site using a url like http://localhost/PGV/	 &lt;br /&gt;
# In the Directory field, browse to your project directory in your Eclipse workspace.	 &lt;br /&gt;
## To find where you Eclipse workspace is located, in Eclipse choose the File-&amp;gt;Switch Workspace menu option. The window that pops up will show you the path to your Eclipse workspace.	 &lt;br /&gt;
# On the ''Access Permissions'' screen make sure that the Read, Run Scripts, Execute, and Write options are checked. Click Finish.	&lt;br /&gt;
# Add index.php to the default documents list&lt;br /&gt;
## Right-click on the new Virtual Directory and select &amp;quot;Properties&amp;quot; from the context menu&lt;br /&gt;
## Switch to the &amp;quot;Documents&amp;quot; tab and add &amp;quot;index.php&amp;quot; to the list of default documents. &lt;br /&gt;
# Next you will need to set the proper file permissions for the index directory. The index directory is a directory that must be writable by the application where it will store configuration files.	 &lt;br /&gt;
## In a windows explorer window, browse to your workspace folder.	 &lt;br /&gt;
## Right-click on the ''index'' directory and select properties. Then select the ''Security'' tab.	 &lt;br /&gt;
## Give the ''Users'' group or the ''Everyone'' group full control	 &lt;br /&gt;
# Repeat the permissions steps for the ''config.php'' file and the ''media'' directory	 &lt;br /&gt;
# You may now begin configuring PGV by opening a browser and going to the URL http://localhost/PGV/ This will bring up the main PGV configuration screen.	 &lt;br /&gt;
# If you get any errors saying ''Permission denied opening stream FILE_PATH'' where FILE_PATH is the path to a file, then you will need to set some more permissions. This is strange setting in the way that your computer has been configured. Follow these steps to get around it:	 &lt;br /&gt;
## Right click on the ''includes'' directory, select properties, and go to the security tab.	 &lt;br /&gt;
## Make sure that the ''Users'' group or ''Everyone'' group has read and execute permissions	 &lt;br /&gt;
## Then click the ''Advanced'' button.	 &lt;br /&gt;
## Check the option ''Replace permission entries...'' and click Ok.	 &lt;br /&gt;
## For every permission denied error, repeat the steps above on the containing folder. You will likely need to do this for the following directories: languages, themes, webservice, includes/SOAP, includes/db	 &lt;br /&gt;
## When you have no more errors then you can continue configuring&lt;br /&gt;
&lt;br /&gt;
=== Setting up a virtual directory in Apache 2 ===&lt;br /&gt;
# Open the httpd.conf file for your Apache web server&lt;br /&gt;
# Scroll to the bottom of the file and add the following block of code (changing the relevent paths of course).  Then restart the server.&lt;br /&gt;
 Alias /pgv 	&amp;quot;C:/phpGedView/workspace/future/&amp;quot;&lt;br /&gt;
 &amp;lt;Directory &amp;quot;C:/phpGedView/workspace/future/&amp;quot;&amp;gt;&lt;br /&gt;
        Options Indexes FollowSymLinks MultiViews ExecCGI&lt;br /&gt;
        AllowOverride All&lt;br /&gt;
        Order allow,deny&lt;br /&gt;
        Allow from all&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will also need to find the line as follows:&lt;br /&gt;
&lt;br /&gt;
'''DirectoryIndex index.html index.html.var'''&lt;br /&gt;
&lt;br /&gt;
add index.php to the end of the line so that it looks like this:&lt;br /&gt;
&lt;br /&gt;
'''DirectoryIndex index.html index.html.var index.php'''&lt;br /&gt;
&lt;br /&gt;
== Configuring PhpGedView ==&lt;br /&gt;
# Copy config.dist to config.php&lt;br /&gt;
# Open the URL http://localhost/PGV/ in a web browser&lt;br /&gt;
# In the Database Username field enter the username ''root'' (unless you specified a different user for MySQL)&lt;br /&gt;
# Leave the password field blank (unless you specified a password when configuring MySQL)&lt;br /&gt;
# Leave all of the other options as their default settings and click the ''Save configuration button''&lt;br /&gt;
# Next you will be asked to create an administrative user for your PGV site. Fill in all of the fields and click the ''add user'' button. Click on the Manage Gedcoms link.&lt;br /&gt;
# You will now be asked to either create a new GEDCOM or Upload one.&lt;br /&gt;
# You can download a [http://www.phpgedview.net/devdocs/presidents.ged GEDCOM of the presidents of the United States] and upload it into your site using the ''Upload GEDCOM'' link.&lt;br /&gt;
## You can also get a [http://www.phpgedview.net/devdocs/media.zip ZIP file] of some of the media included in that presidents GEDCOM.&lt;br /&gt;
## In the ''Upload path'' option, select the ''Browse'' button and choose the GEDCOM file that you want to upload.&lt;br /&gt;
## Fill in an Optional title from your GEDCOM and change any of the desired settings. Then click the ''Save configuration'' button. The defaults are fine for most options.&lt;br /&gt;
# You can also start from scratch and enter your own data by selecting the ''Create a New GEDCOM'' link.&lt;br /&gt;
## In the ''Path and name...'' field, enter a file name for your GEDCOM with a ''.ged'' extension (e.g. test.ged or myfamily.ged).&lt;br /&gt;
## Fill in an Optional title for your GEDCOM and change any of the desired settings. Then click the ''Save configuration'' button. The defaults are fine for most options.&lt;br /&gt;
# After you have uploaded or created a gedcom file, you will be taken to the page to import the GEDCOM file into the database. Keep pressing the ''Continue'' button until you get a page saying that the import was complete.&lt;br /&gt;
# On the right-hand side of the page you will see several links. Click on the link to go to the pedigree chart to begin seeing the data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Category links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
[[Category:Developers Guide]]&lt;br /&gt;
[[Category:phpGedView]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Help:Logging-in&amp;diff=12128</id>
		<title>Help:Logging-in</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Help:Logging-in&amp;diff=12128"/>
		<updated>2010-05-16T16:56:48Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Logging in */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging in is not required for viewing pages, and but is required for editing them. However, it provides additional features, and in general PGVWiki recommends it.&lt;br /&gt;
&lt;br /&gt;
==Logging in==&lt;br /&gt;
Creating a user account means that you supply a [[PGVWiki:Username|username]] (your real name or a nickname) and a password. The system will reject a username that is already in use. A user account is created only once. You are then &amp;quot;logged in&amp;quot;. Next time you log in you supply your username again and demonstrate with the password that you are the same person. &lt;br /&gt;
&lt;br /&gt;
Edits you make are recorded under your username.&lt;br /&gt;
&lt;br /&gt;
== Why log in? ==&lt;br /&gt;
&lt;br /&gt;
You don't have to log in to read. You need to log in to edit.&lt;br /&gt;
&lt;br /&gt;
However, it's still a good idea to log in, for these reasons:&lt;br /&gt;
&lt;br /&gt;
* Other users will be able to recognise you by your username when you make changes to pages.&lt;br /&gt;
*You will have your own ''user page'' where you can write a bit about yourself, and a ''user talk page'' which you can use to communicate with other users.&lt;br /&gt;
* You will be able to mark an edit as minor, which avoids inconvenience for other users.&lt;br /&gt;
* You will be able to keep track of changes to modules you are interested in using a ''watch list''.&lt;br /&gt;
* If you choose to give an email address, other users will be able to contact you by email.  This feature is anonymous - the user who emails you will not know your email address.  You don't have to give your email address if you don't want to.&lt;br /&gt;
* You will be able to [[Help: Renaming (moving) a page|rename pages]].&lt;br /&gt;
* You will be able to set your own ''[[Help:Preferences|preferences]]'', to change things such as:&lt;br /&gt;
** The number of pages displayed in ''[[Help:Recent changes|Recent changes]]''&lt;br /&gt;
&lt;br /&gt;
== How to log in ==&lt;br /&gt;
&lt;br /&gt;
First, make sure that your browser accepts cookies. Some browsers can accept or reject cookies from individual sites; users of these should configure the browser to accept cookies from PGVWiki.  Click on the ''Log in'' link at the top right of the page. You will then be prompted to enter your username and password.  If you haven't logged in before, you will need to enter your password twice.&lt;br /&gt;
&lt;br /&gt;
You may give your email address if you like. Other users will be able to send email to the address, but they won't be able to find out what the address is.&lt;br /&gt;
&lt;br /&gt;
If you click the box ''Remember my password across sessions'', you will not have to give your password again when you access PGVWiki from the same computer. This feature will only work if your password was not generated by the Mediawiki software. So change your password please.&lt;br /&gt;
&lt;br /&gt;
=== Log in problems ===&lt;br /&gt;
If you appear to be able to log in, but as soon as you try to look at a page after the 'Log in successful' page you appear logged out again, it is very likely to be a cookie problem. If you are certain that cookies are enabled, make sure that you haven't inadvertently listed wiki.phpgedview.net on a list of sites to never allow cookies for. Also make sure your computer's date and time are set correctly; if they are not, cookies may expire before they are supposed to.  &lt;br /&gt;
&lt;br /&gt;
If you log in and enabled the cookie feature, a subsequent log in as a different user without the cookie feature enabled will appear as logged out.&lt;br /&gt;
&lt;br /&gt;
=== What if I forget the password? ===&lt;br /&gt;
If you enter an e-mail address when signing up for the account, or in your Preferences, you can request on the login screen for a temporary password to be sent to that address, which will allow you to retrieve your account. If you did not enter an e-mail address, or the address was out of date, but you are determined to regain access to the account, you ''might'' be able to persuade someone with direct access to the database that it is your account, and ask them to retrieve it for you.&lt;br /&gt;
&lt;br /&gt;
==Username==&lt;br /&gt;
Note that in some sans-serif fonts I (capital-i) and l (lowercase-L) look exactly the same, e.g. in Arial: &amp;lt;FONT FACE=&amp;quot;Arial&amp;quot;&amp;gt;I&amp;lt;/FONT&amp;gt; and &amp;lt;FONT FACE=&amp;quot;Arial&amp;quot;&amp;gt;l&amp;lt;/FONT&amp;gt;. If your user username contains one of the two, it may be wise to register also under the name that may look the same, without using that name, to prevent impersonation.&lt;br /&gt;
&lt;br /&gt;
== How to set preferences ==&lt;br /&gt;
Click on the ''Preferences'' link at the top right of the page for various options, including:&lt;br /&gt;
* Changing your password.&lt;br /&gt;
See [[Help:Preferences]].&lt;br /&gt;
&lt;br /&gt;
== Your ''User page'' and ''User talk page'' ==&lt;br /&gt;
As a logged in user, you will be able to create your own ''user page'' and ''user talk page''.  When you are logged in, you will see your username displayed at the top right of the page.  Click on this to get to your user page, which you can edit in the same way as any MediaWiki wiki page.&lt;br /&gt;
&lt;br /&gt;
Most users write a little bit about themselves and their interests on their user page.&lt;br /&gt;
&lt;br /&gt;
You also have a ''User talk page''. You can access this by clicking on the ''Talk'' link next to your username at the top right of the page. Other people may write messages in your user talk page by editing it, and you can respond. See [[Help:Talk page]] for more.&lt;br /&gt;
&lt;br /&gt;
== How to log out ==&lt;br /&gt;
You can log out any time by clicking on the ''Log out'' link at the top right of the page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Logging in]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Help:Username&amp;diff=12127</id>
		<title>Help:Username</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Help:Username&amp;diff=12127"/>
		<updated>2010-05-16T16:53:38Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Signatures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When you create a new account, so you can log in, one of the things you'll have to do is pick a username. This page gives some advice on this.&lt;br /&gt;
&lt;br /&gt;
== What are usernames used for? ==&lt;br /&gt;
&lt;br /&gt;
Your user name will be attached to all your edits, while you're logged in. This is partly for reasons of accountability. It is also helpful from a copyright perspective: if someone wants to use your contributions in a way not allowed under the copyright, they can ask you on your talk page, for example. Also, the GFDL encourages giving appropriate credit to authors, and your username is used to give that credit. &lt;br /&gt;
&lt;br /&gt;
We recommend against using multiple usernames, unless you have a very good reason.&lt;br /&gt;
&lt;br /&gt;
== Choosing a username ==&lt;br /&gt;
&lt;br /&gt;
The best username is typically either your real name, or a longstanding Internet pen name. Please pick a username that you're comfortable writing under, but it also means picking a name that others are comfortable seeing and collaborating with.  Remember that a controversial name may colour other users' perspective on you. In addition remember that PGVWiki is a world-wide book  so take care in selecting a name to avoid anything that might potentially cause offence to someone from a different culture, religious or ethnic group.&lt;br /&gt;
&lt;br /&gt;
PGVWiki recommends that users avoid&lt;br /&gt;
# names of politicians, military or religious figures or events;&lt;br /&gt;
# any other names that may be seen as potentially offensive, or endorsing or opposing the politics, policies or beliefs of a public figure. &lt;br /&gt;
&lt;br /&gt;
People should be able to judge you purely on your contributions, not an emotional response to a potentially controversial nickname. Avoiding such names is in your own interest. So do please be careful. Remember you are working as part of a community. Show everyone else the respect for their beliefs that you expect them to show to you.&lt;br /&gt;
&lt;br /&gt;
===Username capitalization===&lt;br /&gt;
PGVWiki usernames are case sensitive and, for consistency, the first letter of all usernames will be capitalized when you create an account. This means that if you request the username &amp;quot;'''your name'''&amp;quot;, the account created will instead be: &amp;quot;'''Your name'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If your username will consist of more than one name, and you'd like your signature to be internally consistent, you might prefer to capitalize each one when you create the account. This conforms to the widely accepted rules of capitalization: usernames are, after all, proper nouns. Examples would be &amp;quot;'''Your Name'''&amp;quot;, &amp;quot;'''Your Middle Name'''&amp;quot;, and &amp;quot;'''Your M Name'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Inappropriate usernames ==&lt;br /&gt;
Fairly or unfairly, the line between acceptable and unacceptable user names is drawn by those who find the username inappropriate, not by the creator of the name.&lt;br /&gt;
&lt;br /&gt;
=== Signatures ===&lt;br /&gt;
Through the [[Special:Preferences|Preferences]], one can choose a nickname used in signatures, independent of the actual user name (connected to a User: page). In general, the same rules apply for signatures as for usernames. A signature should not be misleading.&lt;br /&gt;
&lt;br /&gt;
=== Changing inappropriate usernames ===&lt;br /&gt;
If enough people complain about your user name the administrators will change it.  Neither complaints, nor name changes should be arbitrary, but user names that are offensive to a significant number of people will be changed, not without notice, but without appeal.  Where inappropriate or borderline inappropriate usernames are coupled with vandalism, the username may be blocked indefinitely on sight: again.  Usernames that are designed to impersonate legitimate users may be blocked immediately. The IP address of these users should be left autoblocked.&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Username]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=How_to_recreate_the_pgv_news_table_from_the_news.dat_backup_file&amp;diff=12126</id>
		<title>How to recreate the pgv news table from the news.dat backup file</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=How_to_recreate_the_pgv_news_table_from_the_news.dat_backup_file&amp;diff=12126"/>
		<updated>2010-05-16T16:48:35Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Checking the file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The news.dat file from a previous backup can be used to recreate the pgv_news table. Basically it involves scrubbing unnecessary information from news.dat, and importing the new file using a CSV import into pgv_news from the phpMyAdmin console. You will only need to do this if your PGV database gets hosed and you don't have a good recent backup of the tables but do have a recent backup from the PGV Admin menu. These news and journal items are not stored in the gedcom file.&lt;br /&gt;
&lt;br /&gt;
=== Scrubbing news.dat ===&lt;br /&gt;
&lt;br /&gt;
The bulk of the task lies in scrubbing news.dat. The first step is to copy news.dat to a new file. Let's call the new file news_clean.dat. At this point, news_clean.dat looks a little like this:&lt;br /&gt;
&lt;br /&gt;
 a:27:{i:36;a:5:{s:2:&amp;quot;id&amp;quot;;s:2:&amp;quot;36&amp;quot;;s:8:&amp;quot;username&amp;quot;;s:6:&amp;quot;vhhawk&amp;quot;;s:4:&amp;quot;date&amp;quot;;s:10:&amp;quot;1232506030&amp;quot;;s:5:&lt;br /&gt;
 &amp;quot;title&amp;quot;;s:28:&amp;quot;New Arkansas twigs to expand&amp;quot;;s:4:&amp;quot;text&amp;quot;;s:682:&amp;quot;By chance I discovered 3 new Doe &lt;br /&gt;
 families living in proximity in the 1860 census in Clark County, Arkansas. I also still have &lt;br /&gt;
 work to do to expand the Amanda and &amp;quot;Jonathan&amp;quot; Bacon family, not yet done.&amp;quot;;}i:35;a:5:s:2:&amp;quot;id&amp;quot;;&lt;br /&gt;
 s:2:&amp;quot;35&amp;quot;;s:8:&amp;quot;username&amp;quot;;s:13:&amp;quot;crudupfamilies.ged&amp;quot;;s:4:&amp;quot;date&amp;quot;;s:10:&amp;quot;1231822465&amp;quot;;s:5:&amp;quot;title&amp;quot;;s:20&lt;br /&gt;
 :&amp;quot;The Illinois Bacons&amp;quot;;s:4:&amp;quot;text&amp;quot;;s:488:&amp;quot;I have been working recently to update the Illinois &lt;br /&gt;
 Bacon lines through the 1930 census records. I would surely welcome any input to help me &lt;br /&gt;
 straighten them out. &amp;quot;;}i:34;a:5:s:2:&amp;quot;id&amp;quot;;s:2:&amp;quot;34&amp;quot;;s:8:&amp;quot;username&amp;quot;;s:6:&amp;quot;vhhawk&amp;quot;;s&lt;br /&gt;
 :4:&amp;quot;date&amp;quot;;s:10:&amp;quot;1231132454&amp;quot;;s:5:&amp;quot;title&amp;quot;;s:16:&amp;quot;Nobels of Texas&amp;quot;;s:4:&amp;quot;text&amp;quot;;s:148:&amp;quot;Currently &lt;br /&gt;
 crawling the censuses and the &amp;quot;Texas Death Index&amp;quot; for these people. There's more than the &lt;br /&gt;
 usual number of misspellings. It's challenging.&amp;quot;;}i:33;a:5:&lt;br /&gt;
&lt;br /&gt;
You can use any text editor to work on this file. Above is the first three items taken from an actual news.dat backup file, with some minor changes to the text for the sake of privacy. You want the above data in news_clean.dat to look like this after your first edit:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;36&amp;quot;;&amp;quot;vhhawk&amp;quot;;&amp;quot;1232506030&amp;quot;;&amp;quot;New Arkansas twigs to expand&amp;quot;;&amp;quot;By chance I discovered 3 new &lt;br /&gt;
 Doe families living in proximity in the 1860 census in Clark County, Arkansas. I also still &lt;br /&gt;
 have work to do to expand the Amanda and &amp;quot;Jonathan&amp;quot; Bacon family, not yet done.&amp;quot;&lt;br /&gt;
 &amp;quot;35&amp;quot;;&amp;quot;crudupfamilies.ged&amp;quot;;&amp;quot;1231822465&amp;quot;;&amp;quot;The Illinois Bacons&amp;quot;;&amp;quot;I have been working &lt;br /&gt;
 recently to update the Illinois Bacon lines through the 1930 census records. I would surely &lt;br /&gt;
 welcome any input to help me straighten them out.&amp;quot;&lt;br /&gt;
 &amp;quot;34&amp;quot;;&amp;quot;vhhawk&amp;quot;;&amp;quot;1231132454&amp;quot;;&amp;quot;Nobels of Texas&amp;quot;;&amp;quot;Currently crawling the censuses and the &lt;br /&gt;
 &amp;quot;Texas Death Index&amp;quot; for these people. There's more than the usual number of misspellings. &lt;br /&gt;
 It's challenging.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The key thing to note is that you've reduced the data to five elements for each news/journal item. Each element is delimited by double-quotes on each side, and each element is separated by the semicolon character. The end of each row has no semicolon. The five elements are the item number, the user or gedcom, the date in Unix format, the title of the item, and the text of the item. If there is a userid in field 2, then it's a user journal item. If there is a gedcom in field 2, then it is a welcome page news item. You don't have to put these in any order: the import process and the display software are able to figure out what goes where.&lt;br /&gt;
&lt;br /&gt;
=== Embedded special characters &amp;quot; and ; === &lt;br /&gt;
&lt;br /&gt;
Notice that the above file uses the doublequote and the semicolon as delimiters. If any of these characters are embedded within the text field they must be changed. In the above, the text fields contain &amp;quot;Jonathan&amp;quot; and &amp;quot;Texas Death Index&amp;quot;. Replace those with single-quotes such as 'Jonathan' and 'Texas Death Index'. In the same way, if your text field contains semicolons (;) replace those with other punctuation.&lt;br /&gt;
&lt;br /&gt;
=== Embedded HTML and vertical spaces ===&lt;br /&gt;
&lt;br /&gt;
If you have any hypertext links or other embedded HTML, the original news.dat file will contain interpreted HTML code. That is, a less-than symbol &amp;lt; will be written as an ampersand &amp;amp; followed by &amp;quot;lt;&amp;quot; -- you must change these back to the symbolic characters prior to import. Any vertical blank spaces should be converted to HTML paragraph &amp;lt; P &amp;gt; code. &lt;br /&gt;
&lt;br /&gt;
I attempted to show those special characters here but Wiki keeps interpreting them.&lt;br /&gt;
&lt;br /&gt;
=== Checking the file ===&lt;br /&gt;
&lt;br /&gt;
A good way to further check your file is to log onto your site and create a new (bogus) news or journal item, exit from your site, open a phpMyAdmin page, click on your pgv_news table, click on Export, and then choose CSV format with everything else left at default. Compare your news_clean.dat file with the just exported datafile.&lt;br /&gt;
&lt;br /&gt;
=== Importing news_clean.dat ===&lt;br /&gt;
&lt;br /&gt;
When you're ready to import news_clean.dat, open up a phpMyAdmin session, go to pgv_news, and click on Import / CSV with all other defaults left alone. Browse to news_clean.dat, and proceed. If there are any problems with the import, it will tell you at what line number the fault occurred. Reopen news_clean.dat, navigate to that line number, and fix the problem. In phpMyAdmin, you can choose to delete previously imported lines in the pgv_news table and restart the import. If you don't do this you will get errors about reusing an index number. When the import is finally clean, you're done.&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=How_to_install_PunBB_Forum&amp;diff=12122</id>
		<title>How to install PunBB Forum</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=How_to_install_PunBB_Forum&amp;diff=12122"/>
		<updated>2010-05-16T16:47:18Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Re-activate after PGV update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:PunBB_logo.png|right]]&lt;br /&gt;
==Installation==&lt;br /&gt;
A brief guide to installing the [[PunBB module]].&lt;br /&gt;
&lt;br /&gt;
To add the PunBB module:&lt;br /&gt;
# copy the included &amp;quot;modules&amp;quot; directory to your PhpGedView installation (if you did not download it with PhpGedView)&lt;br /&gt;
# Rename the PunBB config file at modules/punbb/config.php to configold.php using a program such as FileZilla or your hosting control panel's file manager.&lt;br /&gt;
# To activate the module use the url (replacing the bold portions appropriately):&lt;br /&gt;
#: http://'''yourdomainname.com'''/'''phpgedview'''/module.php?mod=punbb&amp;amp;pgvaction=install&lt;br /&gt;
#:The path may vary according to your installation.&lt;br /&gt;
# When activating the module, you will be asked to fill out your database connection parameters again and create a forum administrator&lt;br /&gt;
# After saving the configuration, you may be prompted to copy the configuration text into the PunBB configuration file ''config.php''&lt;br /&gt;
# The menu item for &amp;quot;Message Forum&amp;quot; from PHPGedView should now work.&lt;br /&gt;
&lt;br /&gt;
To link to the forums, use the url: &lt;br /&gt;
 http://'''yourdomainname.com'''/'''phpgedview'''/module.php?mod=punbb&lt;br /&gt;
&amp;lt;!-- or&lt;br /&gt;
http://'''yourdomainname.com'''/'''phpgedview'''/index.php?mod=punbb --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sample configuration file==&lt;br /&gt;
A sample config.php file looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$db_type = 'mysql';&lt;br /&gt;
$db_host = 'localhost';&lt;br /&gt;
$db_name = 'arw_name';&lt;br /&gt;
$db_username = 'arw_user';&lt;br /&gt;
$db_password = 'password';&lt;br /&gt;
$db_prefix = 'punbb_';&lt;br /&gt;
$p_connect = false;&lt;br /&gt;
$cookie_name = 'punbb_cookie';&lt;br /&gt;
$cookie_domain = '';&lt;br /&gt;
$cookie_path = '/';&lt;br /&gt;
$cookie_secure = 0;&lt;br /&gt;
$cookie_seed = '433a0c44';&lt;br /&gt;
define('PUN', 1);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Re-activate after PGV update==&lt;br /&gt;
If you are upgrading PhpGedView to a new version, the Message Forum may not work. You should save the copy of the configuration file before PGV upgrade. After the update, replace copy the saved PunBB ''config.php'' file to the modules/punbb directory.&lt;br /&gt;
&lt;br /&gt;
==PunBB upgrades==&lt;br /&gt;
The version distributed with PhpGedView (PunBB 1.2.12 with PhpGedView 4.1.4) has been tested with this version. The upgrade may or may not work correctly. Check the [http://punbb.org/docs/install.html PunBB installation instructions] and  the [http://punbb.org/forums PunBB Forums] for PhpGedView related entries. &lt;br /&gt;
[[Category:How To]]&lt;br /&gt;
&lt;br /&gt;
[[Category:PunBB Module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Language links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
[[fr: Comment installer le module PunBB]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Use_subversion_(SVN)&amp;diff=12121</id>
		<title>Use subversion (SVN)</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Use_subversion_(SVN)&amp;diff=12121"/>
		<updated>2010-05-16T16:45:58Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SUBVERSION ==&lt;br /&gt;
&lt;br /&gt;
This is a simplified explanation of Subversion (SVN). The aim of these notes is to show you how to use SVN as a source for draft PhpGedView files. It does not cover any other function.  If you want to know more about SVN, try http://svnbook.red-bean.com/.&lt;br /&gt;
&lt;br /&gt;
SVN is a version control system. Wikipedia says “It allows users to keep track of changes made over time to any type of electronic data. Typical uses are versioning source code, web pages or design documents.” &lt;br /&gt;
&lt;br /&gt;
Open source software like PhpGedView has many contributors. As revisions are written, the developer(s) “commit” the changed files into a repository.  This repository is the core filing cabinet for the SVN system.  Other developers and users can draw these files from the repository.  But, with many hundreds of files involved, sharing changes could be quite complicated without SVN control software.&lt;br /&gt;
&lt;br /&gt;
Using control software, you can create a parallel version of the repository on your computer.  The software then allows you to keep the two locations synchronized, so you always have a copy of the latest revisions.&lt;br /&gt;
&lt;br /&gt;
From there, you can work on the source files, or upload the revisions to your server, either local or remote, to test and comment on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
=== PART 1 ===&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[image:svn1.jpg|center|215px]]&lt;br /&gt;
====Installing A Client (for Windows Users)====&lt;br /&gt;
&lt;br /&gt;
[[image:svn2.jpg|left|260px|thumb]]There are some good Windows tools available that will give you the means to build a replica of the files in the repository on your computer.  Tortoise is one piece of software, and will be used in this Wiki to guide you along.  Tortoise is free, and can be downloaded from http://tortoisesvn.tigris.org/  &lt;br /&gt;
&lt;br /&gt;
There are other clients available. SmartSVN is a more full-featured client, and it too is free (you don’t need the professional version).&lt;br /&gt;
&lt;br /&gt;
Installation is quite straight-forward.  This is the welcome setup screen for the Tortoise version used to prepare this document. &lt;br /&gt;
&lt;br /&gt;
Click on '''Next&amp;gt;''' to start the process. .[[image:svn4.jpg|right|191px]]&lt;br /&gt;
&lt;br /&gt;
There is little to gain (or lose) by choosing options on the next screen, so simply click '''Next&amp;gt;''' again.&lt;br /&gt;
&lt;br /&gt;
When the process is complete, restart your computer.&lt;br /&gt;
&lt;br /&gt;
====Installing A Client (other)====  &lt;br /&gt;
&lt;br /&gt;
For '''Linux/*BSD/Unix''' the command line SVN client can be installed for your distribution of choice.  See: http://subversion.tigris.org .&lt;br /&gt;
&lt;br /&gt;
For '''MacOS X users''', see [http://www.wikihow.com/Install-Subversion-on-Mac-OS-X WikiHow] for several options and additional links.&lt;br /&gt;
&lt;br /&gt;
====Checkout====&lt;br /&gt;
&lt;br /&gt;
[[image:svn5.jpg|left|86px|thumb]]When your computer has rebooted, right-click anywhere on the screen.  You will get a list with a couple of new entries – SVN Checkout and TortoiseSVN.&lt;br /&gt;
&lt;br /&gt;
The next part of the process is to get a copy from the repository to your computer – in the parlance, do a “checkout”.  So select the first of the new options.&lt;br /&gt;
[[image:svn6.jpg|left|233px|thumb]]&lt;br /&gt;
&lt;br /&gt;
This brings you to the only typed/copied and pasted input required. &lt;br /&gt;
&lt;br /&gt;
The URL is below on one line!&lt;br /&gt;
&lt;br /&gt;
Tortoise will suggest a target/checkout directory, which you can adjust to suit.  It is preferable to keep the path simple.&lt;br /&gt;
&lt;br /&gt;
C:\Checkout would be a practical suggestion, so amend the second input box to read that.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PGV repository on the SourceForge server====&lt;br /&gt;
&lt;br /&gt;
The URL is https://phpgedview.svn.sourceforge.net/svnroot/phpgedview/trunk/phpGedView (this currently is 4.1.1)&lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
&lt;br /&gt;
https://phpgedview.svn.sourceforge.net/svnroot/phpgedview/branches/phpGedView-4.2 (this currently is the draft of 4.2)&lt;br /&gt;
&lt;br /&gt;
Type your selection exactly as shown here, or cut and paste it if convenient. Then, as nothing else needs attention, click OK.&lt;br /&gt;
&lt;br /&gt;
[[image:svn7.jpg|left|283px|thumb]]Things get busy now.  A long list of files will scroll through the window as they download to your computer.  &lt;br /&gt;
&lt;br /&gt;
At this time, Tortoise will download about 12,600 files, consuming a bit over 100 MB of disk space (the actual files total about 70MB, the rest is slack space).  &lt;br /&gt;
&lt;br /&gt;
When the download has finished, open Windows Explorer and scroll down through your main folders.  Buried in there will be the Checkout folder, with a small green dot/tick to indicate that this is a special folder.  [[image:svn8.jpg|right|120px]]&lt;br /&gt;
&lt;br /&gt;
If you open the Checkout folder, you will see some differences between this folder and a more usual one.&lt;br /&gt;
&lt;br /&gt;
The small green circle/tick is repeated to tell you that this is a SVN folder, subfolder or file.  And there will be subfolders labelled “.svn”&lt;br /&gt;
[[image:svn9.jpg|right|137px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PART 2===&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[image:svn10.jpg|center|427px]]&lt;br /&gt;
====.svn====&lt;br /&gt;
&lt;br /&gt;
These folders are both a blessing and a curse.  The blessing is that they hold all the version information for the other files in the mother folder.  When you do an update, Tortoise will compare the information about the files you hold with the information about the files at SourceForge.  If the information is identical, there is no need for a download because you have the latest.  If the SourceForge file is newer than yours, then it has to be downloaded, and the .svn files updated to show this. This has many advantages, including &lt;br /&gt;
* the ability to reverse-out an update if you find a problem with it&lt;br /&gt;
* comparing the update with the previous change&lt;br /&gt;
* merging the changes to any manual alterations to the files you have done for your own purposes, etc&lt;br /&gt;
&lt;br /&gt;
They are a curse because, if you are working your files to a remote server, you don’t want to upload all this extra baggage.  To give you some idea: .svn about doubles the number and gross disk space used by PGV.&lt;br /&gt;
&lt;br /&gt;
====Preparing To Upload====&lt;br /&gt;
&lt;br /&gt;
Whether to a local or remote location, the next step will be to copy the files from your computer to that server.  But first, it would be wise to do some housekeeping.&lt;br /&gt;
&lt;br /&gt;
The .svn folders are not wanted or needed in the final location, so they need to be cleaned out.  To do this is quite easy, by and large. Here are two longhand ways and a shorthand way - if your FTP client is up to it, jump straight to Part 3.&lt;br /&gt;
&lt;br /&gt;
[[image:svn11.jpg|left|185px|thumb]] '''Longhand #1:''' Tortoise has an Export command.  Find the Checkout folder and right-click on it.  The side menu that opens has an item “TortoiseSVN”, which leads to Export…”  Select this.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:svn12.jpg|left|165px|thumb]]&lt;br /&gt;
Select where you want to create the exported copy and click on Make New Folder.  Select OK.&lt;br /&gt;
&lt;br /&gt;
This process will make a fresh copy of Checkout, but without all the .svn folders.&lt;br /&gt;
&lt;br /&gt;
A warning: this process does '''not''' currently work with Microsoft Vista.  &lt;br /&gt;
&lt;br /&gt;
'''Longhand #2:''' the second longhand way is also easy.  Copy all the files to a new folder – call it “xxxxx” for this example.&lt;br /&gt;
&lt;br /&gt;
Open a command line window – “Run” then “cmd” &lt;br /&gt;
&lt;br /&gt;
Now type in this line: '''for /r c:\xxxxx %f in (.svn) do rd /s /q “%f”'''   and press Enter&lt;br /&gt;
&lt;br /&gt;
That will clean all the .svn subfolders from “xxxxx” for you.&lt;br /&gt;
&lt;br /&gt;
Why follow this longhand path?  It is useful when you plan to delete anything you don’t want or require – eg, modules you don’t plan to use, flags, themes, language files.  But, unless you are really short of server space, leave them in place.  Uploading them intact can be useful because it simplifies later updates.&lt;br /&gt;
&lt;br /&gt;
When this has been finished, you are ready to upload the files in “xxxxx” to your server.  You can now go ahead and configure and populate the SVN version of PGV.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PART 3===&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[image:svn13.jpg|center|217px]]&lt;br /&gt;
The whole point of SVN is that, as files are amended, you can download copies to your computer, and then upload them to your server.&lt;br /&gt;
&lt;br /&gt;
====Update====&lt;br /&gt;
&lt;br /&gt;
[[image:svn14.jpg|left|190px]]Open your file directory, and right-click on the SVN folder.&lt;br /&gt;
&lt;br /&gt;
Left-click on SVN Update. The Tortoise system will check all your current files against the repository, and download any repository files that are more recent.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Synchronize====&lt;br /&gt;
&lt;br /&gt;
Now you need an FTP client with the ability to synchronize your files with the server files.  And, as your files have all the .svn folders, it is essential that you can set some conditions to prevent them being uploaded as well.&lt;br /&gt;
&lt;br /&gt;
One useful client is at http://winscp.net/eng/index.php.  Get a copy and install it.  Arrange the conditions for it to connect to your server site.  Connect to test your handiwork.&lt;br /&gt;
&lt;br /&gt;
[[image:svn15.jpg|left|155px|thumb]] At this stage, go to the menu bar and select Commands / Synchronize… [[image:svn16.jpg|right|222px|thumb]]&lt;br /&gt;
&lt;br /&gt;
Now you can control the upload to your server.  Select “Remote” as your target directory, and tick the “Existing files only” box.  This ensures that the only files uploaded are a match for the files already on the server.  &lt;br /&gt;
&lt;br /&gt;
However, there will be times when new files are added to the repository.  In that case, because they won’t have yet been uploaded to your server, this system won’t copy them or new issues of them.&lt;br /&gt;
&lt;br /&gt;
[[image:svn17.jpg|left|270px|thumb]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
So, instead, click on Transfer settings, and on the next screen, work your way to Transfer/Presets, then click the Add button.  &lt;br /&gt;
[[image:svn18.jpg|left|321px|thumb]]Give this “Preset” of conditions a name – “Mine” or “Mask_1” to suit. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Down the lower left, in the Exclude box, type &lt;br /&gt;
&lt;br /&gt;
*/;.svn; &lt;br /&gt;
&lt;br /&gt;
And then click the OK button. That will look in every folder and subfolder for .svn files, and exclude them from the upload.&lt;br /&gt;
&lt;br /&gt;
You may exclude other sections if you want. For example, SVN also inserts .htaccess files in various folders.  Except for the Index folder, these are not required. So, upload .htaccess to the Index folder the first time you do an upload, but after that, make the exclude mask:&lt;br /&gt;
&lt;br /&gt;
*/;.svn;.htaccess or .svn;.htaccess &lt;br /&gt;
&lt;br /&gt;
Add any others to suit your needs (eg, the Images folder) with a comma or semi-colon between the parameters.&lt;br /&gt;
&lt;br /&gt;
[[Category:How To]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Language links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fr: Comment disposer en permanence de la dernière version à jour du logiciel PhpGedView ?]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Set_up_a_local_test_server&amp;diff=12117</id>
		<title>Set up a local test server</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Set_up_a_local_test_server&amp;diff=12117"/>
		<updated>2010-05-16T16:42:53Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* What it isn't */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==What it is==&lt;br /&gt;
&lt;br /&gt;
A brief description on how to set up your own local server for testing and working on your PhpGedView installation. This lets you run a complete website on your desktop and is a much easier and better way to design or modify your website than doing it over the web. It's free and easy to use. It's also a great way to try the software and learn how to use it , as well as any number of other things.&lt;br /&gt;
&lt;br /&gt;
==What it isn't==&lt;br /&gt;
&lt;br /&gt;
This installation is not recommended for production servers in live environments, if you use it in one you do so entirely at your own risk and may not hold the authors or owners of this site responsible if it goes wrong.&lt;br /&gt;
&lt;br /&gt;
==What you need==&lt;br /&gt;
&lt;br /&gt;
Any computer better than a 486 with 64 MB of RAM will do. If you have a reasonably late model machine, say something less than 4 years old, then you can run this server in the background on your main machine, you won't even notice the overhead increase.&lt;br /&gt;
&lt;br /&gt;
PhpGedView requires recent versions of PHP and MySql and a webserver to make it all work. You can download and install all these packages individually then configure them as recommended, but this is complicated and not easy unless you have very advanced computer skills. If you wish to run a live server, ie one connected to the internet, then you really should learn how to configure the individual packages, and that is beyond the scope of this article. &lt;br /&gt;
&lt;br /&gt;
For a test server  however, the easiest way to set all these up is to grab one of the great all-in-one server packages like [http://www.apachefriends.org/en/xampp.html XAMPP]. Get the package for your operating system, the full download in zip format is recommended. It does not require installation within Windows, you can move copy or delete this installation instantly with no problems. The software you will install is just the same as that used by the websites you browse every day, but it is configured for ease of use, not with security in mind. All folders are installed in default directories with default passwords and this is the best way for our purposes, since we just want a quick installation we can use right away.&lt;br /&gt;
&lt;br /&gt;
XAMPP Lite works just as well with the latest PhpGedView Version 4 beta 4, but it may not support other software if you intend to experiment.&lt;br /&gt;
&lt;br /&gt;
You can set XAMPP up on a thumbdrive too, and this may suit some peoples purpose better. This allows you to carry your webserver and PhpGedView installation in your pocket and run it from any PC with a USB port. But, be warned! There are lots of files in the package, and thumbdrives are very slow when faced with a lot of files. Setup and use can be slow.&lt;br /&gt;
&lt;br /&gt;
It should also be possible to burn your server and software to a CD once you have it installed and configured, we will look into that in another article&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
&lt;br /&gt;
Once you have downloaded the XAMPP package, unzip it to its destination folder according to the directions, it really is that easy. It should go in the base directory of your hard drive. You can install multiple servers and experiment with different configurations, but only running one at a time is recomended&lt;br /&gt;
&lt;br /&gt;
==Running==&lt;br /&gt;
&lt;br /&gt;
Now go to the folder you created for your server, XAMPP by default, open it and find xampp-control.exe, and create a shortcut from this to your desktop. This allows you to start the Apache webserver and MySql services with a couple of clicks. &lt;br /&gt;
&lt;br /&gt;
Run xampp-control.exe and click Apache and MySql, don't worry about the other services for now, and don't tick the Svc box unless you want your server to always start with windows.&lt;br /&gt;
&lt;br /&gt;
The usual way to &amp;quot;connect&amp;quot; is by entering http://127.0.0.1 or http://localhost in your web browser. However, other applications may use port 80 - eg Skype - so you might need to look at conflicts. Run the useful utility, xampp-portcheck.exe that is included in the full parcel, and you will see which ports are free/used. (In Skype, you can tell it not to use port 80)&lt;br /&gt;
&lt;br /&gt;
'''Do not''' give Apache web access at this time, if your firewall pops up a window asking for permission, '''deny it'''. You may need to configure your firewall to allow local access if you can't access your site in the next step.&lt;br /&gt;
&lt;br /&gt;
After you start the services, open your browser, type &amp;lt;nowiki&amp;gt;http://localhost/&amp;lt;/nowiki&amp;gt; , in the address bar and hit Enter. This should open a welcome page to your new server, just like a web site you access on the net. If you don't get a welcome page or get error messages instead, then check the instructions for installing XAMPP and try again. You can delete this directory and start over at any time.&lt;br /&gt;
&lt;br /&gt;
==PhpGedView on your Desktop==&lt;br /&gt;
&lt;br /&gt;
Once you have XAMPP installed and working, you are ready for PhpGedView, so if you don't have it handy, download and install the latest version. If you feel adventurous give the CVS version a try.&lt;br /&gt;
&lt;br /&gt;
Open the htdocs folder in the XAMPP directory, this is your &amp;quot;public root folder&amp;quot;, and where all your &amp;quot;web accessible&amp;quot; software resides, really in this case it's desktop accessible hence the quotes. Unzip your PhpGedView files into the directory, then follow the directions for installing PhpGedView. You should now have a PhpGedView folder within htdocs and this contains the installation, and the themes folder where you can modify your themes if you so desire.&lt;br /&gt;
&lt;br /&gt;
Congratulations, you now have your very own test site. You can access it at any time now by opening xampp control, starting Apache and MySql and typing &amp;lt;nowiki&amp;gt;http://localhost/phpgedview/&amp;lt;/nowiki&amp;gt; in your browser.&lt;br /&gt;
&lt;br /&gt;
[[Category:How To]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Restrict_bot_access&amp;diff=12116</id>
		<title>Restrict bot access</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Restrict_bot_access&amp;diff=12116"/>
		<updated>2010-05-16T16:41:37Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Search engine spiders (bots) are programs that search your sites so that search engines can index them and then point searchers to your site. This is very important since it is the way most researchers will find your site. That said, the robots can create an excessive load on your site by trawling unnecessary pages.  There is a way to mitigate most of the problem by selectively disallowing the bots from part of your site. The Robots exclusion standard used by all search engines allow you to specify specific parts of your site that you want excluded from indexing. An example of a page that can be excluded is the calendar page. All information available on this page is available on other pages. The same goes for most trees. To exclude pages, create a file named robots.txt. This article explains how to make the file.&lt;br /&gt;
&lt;br /&gt;
==File name and format==&lt;br /&gt;
&lt;br /&gt;
[http://www.searchengineworld.com/robots/robots_tutorial.htm Source]&amp;lt;br&amp;gt;&lt;br /&gt;
Search engines will look in your root domain for a special file named &amp;quot;robots.txt&amp;quot;. The file tells the robot (spider) which files it may spider (download). This system is called, The Robots Exclusion Standard.&lt;br /&gt;
&lt;br /&gt;
The format for the robots.txt file is special. It consists of records. Each record consists of two fields : a User-agent line and one or more Disallow: lines. The format is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Field&amp;gt; &amp;quot;:&amp;quot; &amp;lt;value&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The robots.txt file should be created in Unix line ender mode! Most good text editors will have a Unix mode or your FTP client *should* do the conversion for you. Do not attempt to use an HTML editor that does not specifically have a text mode to create a robots.txt file.&lt;br /&gt;
&lt;br /&gt;
==User-agent==&lt;br /&gt;
&lt;br /&gt;
The User-agent line specifies the robot. For example:&lt;br /&gt;
&lt;br /&gt;
 User-agent: googlebot&lt;br /&gt;
&lt;br /&gt;
You may also use the wildcard charcter &amp;quot;*&amp;quot; to specify all robots:&lt;br /&gt;
&lt;br /&gt;
 User-agent: *&lt;br /&gt;
&lt;br /&gt;
You can find user agent names in your own logs by checking for requests to robots.txt. Most major search engines have short names for their spiders.&lt;br /&gt;
&lt;br /&gt;
==Disallow==&lt;br /&gt;
&lt;br /&gt;
The second part of a record consists of Disallow: directive lines. These lines specify files and/or directories. For example, the following line instructs spiders that it can not download email.htm:&lt;br /&gt;
&lt;br /&gt;
 Disallow: email.htm&lt;br /&gt;
&lt;br /&gt;
You may also specify directories:&lt;br /&gt;
&lt;br /&gt;
 Disallow: /cgi-bin/&lt;br /&gt;
&lt;br /&gt;
Which would block spiders from your cgi-bin directory.&lt;br /&gt;
&lt;br /&gt;
There is a wildcard nature to the Disallow directive. The standard dictates that /bob would disallow /bob.html and /bob/indes.html (both the file bob and files in the bob directory will not be indexed).&lt;br /&gt;
&lt;br /&gt;
If you leave the Disallow line blank, it indicates that ALL files may be retrieved. At least one disallow line must be present for each User-agent directive to be correct. A completely empty Robots.txt file is the same as if it were not present.&lt;br /&gt;
&lt;br /&gt;
==White Space &amp;amp; Comments==&lt;br /&gt;
&lt;br /&gt;
Any line in the robots.txt that begins with # is considered to be a comment only. The standard allows for comments at the end of directive lines, but this is really bad style:&lt;br /&gt;
&lt;br /&gt;
 Disallow: bob #comment&lt;br /&gt;
&lt;br /&gt;
Some spider will not interpret the above line correctly and instead will attempt to disallow &amp;quot;bob#comment&amp;quot;. The moral is to place comments on lines by themselves.&lt;br /&gt;
&lt;br /&gt;
White space at the beginning of a line is allowed, but not recommended.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt; Disallow: bob #comment&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
The following allows all robots to visit all files because the wildcard &amp;quot;*&amp;quot; specifies all robots.&lt;br /&gt;
&lt;br /&gt;
 User-agent: *&lt;br /&gt;
 Disallow:&lt;br /&gt;
&lt;br /&gt;
This one keeps all robots out.&lt;br /&gt;
&lt;br /&gt;
 User-agent: *&lt;br /&gt;
 Disallow: /&lt;br /&gt;
&lt;br /&gt;
The next one bars all robots from the cgi-bin and images directories:&lt;br /&gt;
&lt;br /&gt;
 User-agent: *&lt;br /&gt;
 Disallow: /cgi-bin/&lt;br /&gt;
 Disallow: /images/&lt;br /&gt;
&lt;br /&gt;
This one bans Roverdog from all files on the server:&lt;br /&gt;
&lt;br /&gt;
 User-agent: Roverdog&lt;br /&gt;
 Disallow: /&lt;br /&gt;
&lt;br /&gt;
This one bans keeps googlebot from getting at the cheese.htm file:&lt;br /&gt;
&lt;br /&gt;
 User-agent: googlebot&lt;br /&gt;
 Disallow: cheese.htm&lt;br /&gt;
&lt;br /&gt;
For more complex examples, try retrieving some of the robots.txt files from the big sites like Cnn, or Looksmart.&lt;br /&gt;
&lt;br /&gt;
==Examples submitted by Users==&lt;br /&gt;
&lt;br /&gt;
===Example 1===&lt;br /&gt;
 User-agent: *&lt;br /&gt;
 Disallow: /phpgedview/reportengine.php&lt;br /&gt;
 Disallow: /phpgedview/fanchart.php&lt;br /&gt;
 Disallow: /phpgedview/search.php&lt;br /&gt;
 Disallow: /phpgedview/login.php&lt;br /&gt;
 Disallow: /phpgedview/clippings.php&lt;br /&gt;
 Disallow: /phpgedview/sosabook.php&lt;br /&gt;
 Disallow: /phpgedview/timeline.php&lt;br /&gt;
 Disallow: /phpgedview/calendar.php&lt;br /&gt;
 Disallow: /phpgedview/images/&lt;br /&gt;
&lt;br /&gt;
In this case PhpGedView was installed in the phpgedview directory. Place this file in your server root.&lt;br /&gt;
&lt;br /&gt;
===Example 2===&lt;br /&gt;
Submitted By: pmarfell&lt;br /&gt;
&lt;br /&gt;
The following shows *part* of the content of mine. As you can see it goes on to ban other bots completely. Use Google for more info that might be relevant to your situation:-&lt;br /&gt;
&lt;br /&gt;
 User-agent: *&lt;br /&gt;
 Disallow: /bin/&lt;br /&gt;
 Disallow: /cgi-bin/&lt;br /&gt;
 Disallow: /dev/&lt;br /&gt;
 Disallow: /mypostnuke/&lt;br /&gt;
 Disallow: /phpfunc/&lt;br /&gt;
 Disallow: /phpGedView/reportengine.php&lt;br /&gt;
 Disallow: /phpGedView/fanchart.php&lt;br /&gt;
 Disallow: /phpGedView/search.php&lt;br /&gt;
 Disallow: /phpGedView/login.php&lt;br /&gt;
 Disallow: /phpGedView/clippings.php&lt;br /&gt;
 Disallow: /phpGedView/sosabook.php&lt;br /&gt;
 Disallow: /phpGedView/timeline.php&lt;br /&gt;
 Disallow: /phpGedView/calendar.php&lt;br /&gt;
 Disallow: /phpGedView/hourglass.php&lt;br /&gt;
 Disallow: /phpGedView/ancestry.php&lt;br /&gt;
 Disallow: /phpGedView/descendancy.php&lt;br /&gt;
 Disallow: /phpGedView/pedigree.php&lt;br /&gt;
 Disallow: /phpGedView/family.php&lt;br /&gt;
 Disallow: /phpGedView/relationship.php&lt;br /&gt;
 Disallow: /phpGedView/famlist.php&lt;br /&gt;
 Disallow: /phpGedView/patriarchlist.php&lt;br /&gt;
 Disallow: /phpGedView/repolist.php&lt;br /&gt;
 Disallow: /phpGedView/aliveinyear.php&lt;br /&gt;
 &lt;br /&gt;
 User-agent: URL_Spider_Pro&lt;br /&gt;
 Disallow: /&lt;br /&gt;
 &lt;br /&gt;
 User-agent: CherryPicker&lt;br /&gt;
 Disallow: /&lt;br /&gt;
&lt;br /&gt;
==Bad Bots==&lt;br /&gt;
What do you do if a spider doesn't obey the exclusions you've carefully crafted in robots.txt? Easiest way to stop the spider in its tracks is to deny it access to your site by using .htaccess&lt;br /&gt;
&lt;br /&gt;
For example the omni-explorer spider doesn't appear to obey Disallow: so deny it access by adding these lines to the .htaccess file in the phpGedView directory.&lt;br /&gt;
&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteBase /&lt;br /&gt;
 RewriteCond %{REMOTE_ADDR} &amp;quot;^64\.127\.124\.&amp;quot; [OR]&lt;br /&gt;
 RewriteCond %{REMOTE_ADDR} &amp;quot;^65\.19\.150\.&amp;quot;&lt;br /&gt;
 RewriteRule .* - [F,L]&lt;br /&gt;
&lt;br /&gt;
==Related==&lt;br /&gt;
* [http://www.robotstxt.org/wc/faq.html The Web Robots FAQ]&lt;br /&gt;
* [http://www.robotstxt.org/wc/norobots.html A Standard For Robot Exclusion]&lt;br /&gt;
* [http://www.robotstxt.org/wc/exclusion.html Robots Exclusion]&lt;br /&gt;
* [http://www.robotstxt.org/wc/active.html A List Of Robots]&lt;br /&gt;
* [http://www.searchengineworld.com/misc/robots_txt_crawl.htm Problems found with Robots.txt Files]&lt;br /&gt;
* [http://tool.motoricerca.info/robots-checker.phtml Test your robots.txt file for errors]&lt;br /&gt;
* [http://www.sxw.org.uk/computing/robots/check.html Another site to test your robots.txt file]&lt;br /&gt;
&lt;br /&gt;
[[da:How_to_restrict_bot_access]]&lt;br /&gt;
&lt;br /&gt;
[[Category:How To]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Language links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
[[fr: Restreindre l'accès aux robots]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Integrate_with_CMS&amp;diff=12113</id>
		<title>Integrate with CMS</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Integrate_with_CMS&amp;diff=12113"/>
		<updated>2010-05-16T16:38:45Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Document/File Repositories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Content Management Systems==&lt;br /&gt;
&lt;br /&gt;
PhpGedView has been integrated with various '''Content Management Systems (CMS)'''.  Wikipedia tells us what a [http://en.wikipedia.org/wiki/Content_Management_Systems 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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
This area contains information on &amp;quot;How To&amp;quot; integrate PGV into these packages and provides links to sites using the relevant software&lt;br /&gt;
&lt;br /&gt;
===Joomla!===&lt;br /&gt;
&lt;br /&gt;
[http://www.joomla.org Joomla] is an offshoot from the original [Mambo] project and at this time the two products are very similar.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Modifying PGV Theme for integration with Joomla====&lt;br /&gt;
&lt;br /&gt;
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:-&lt;br /&gt;
&lt;br /&gt;
   $uname = getUserName();&lt;br /&gt;
     if (! empty($uname)) {&lt;br /&gt;
      menu item goes here&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
That menu item appear will only appear if the person is logged into Joomla.  &lt;br /&gt;
&lt;br /&gt;
This has not been tested on any other integration but I can not see why it would not work.&lt;br /&gt;
&lt;br /&gt;
====Components/Modules====&lt;br /&gt;
&lt;br /&gt;
=====PhpGedView Component=====  &lt;br /&gt;
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 [http://joomlacode.org/gf/project/phpgedview/frs/ here].&lt;br /&gt;
&lt;br /&gt;
The component com_gedview will allow registered users to be automatically registered with phpGedView (depending upon your choice of settings).&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
[[Image:joomla_comp_configure.jpg|thumb|250px|center|Click to Enlarge Image of Component Configuration]]&lt;br /&gt;
&lt;br /&gt;
Tested with Joomla! 1.5.10, PhpGedView 4.1.6 - 4.2.1 and com_gedview 1.4.3.&lt;br /&gt;
&lt;br /&gt;
=====Gallery 2=====&lt;br /&gt;
[http://gallery.menalto.com/ 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).&lt;br /&gt;
&lt;br /&gt;
For Joomla 1.5 the following components, modules, and plugins are available (as of October 2008) from [http://joomlacode.org/gf/project/gallery2_bridge/frs/ joomlacode.org]. Note that these are ALPHA versions:&lt;br /&gt;
*com_g2bridge - the main component&lt;br /&gt;
*mod_g2bridge_sidebar&lt;br /&gt;
*mod_g2bridge_imageblock&lt;br /&gt;
*plg_g2bridge_search&lt;br /&gt;
*plg_g2bridge_user&lt;br /&gt;
*plgcb_g2bridge_cb&lt;br /&gt;
&lt;br /&gt;
After installing the Gallery2 Bridge you need to configure it from the Components -&amp;gt; Gallery 2 Bridge menu:&lt;br /&gt;
* Gallery 2 Path: the full file system path and filename of the Gallery 2 embed.php file. Ex. /var/www/gallery2/embed.php&lt;br /&gt;
* Gallery 2 URI: the URI of the native Gallery 2 installation. Ex http://www.mysite.net/gallery2/&lt;br /&gt;
* Login Redirect: the URL to display the Joomla login page. Ex. /index.php?option=com_login&lt;br /&gt;
&lt;br /&gt;
=====Document/File Repositories=====&lt;br /&gt;
These modules will allow you to share files with others and accept files from others.  This may assist you with family research etc.&lt;br /&gt;
Examples of them include:-&lt;br /&gt;
* [http://www.mambodocman.com/ Docman]&lt;br /&gt;
&lt;br /&gt;
=====Guest Books=====&lt;br /&gt;
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:-&lt;br /&gt;
* [http://www.joomlaos.de/option,com_remository/Itemid,41/func,download/id,1779/chk,2bdd05a35cda9afd211881cac6e58733.html AKOBook Plus]&lt;br /&gt;
&lt;br /&gt;
=====Group Access=====&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
[http://mamboforge.net/frs/?group_id=618 Group Access Download] and [http://thelewisfamily.id.au my web site] (there are two parts to this a component and a module make sure you get both if downloading from here).&lt;br /&gt;
&lt;br /&gt;
You can also look at JACLPlus from [http://www.byostech.com 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.&lt;br /&gt;
&lt;br /&gt;
=====Problems and tips=====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
=====Component List=====&lt;br /&gt;
A Joomla user has listed and categorised some components/modules that are available.  It is makes looking much easier and is available [http://forum.joomla.org/index.php/topic,25317.0.html here]&lt;br /&gt;
&lt;br /&gt;
====Example Sites====&lt;br /&gt;
* [http://thelewisfamily.id.au The Lewis Family]&lt;br /&gt;
* [http://gilhousenfamily.com Gilhousen Family Association]&lt;br /&gt;
* [http://www.thefamilyweb.net Morton families]&lt;br /&gt;
* [http://field.ath.cx/ Ron Field]&lt;br /&gt;
* [http://www.bearne.com/ The Bearne Family]Joomla 1.0.15 and PhpGed 4.1.4&lt;br /&gt;
* [http://dcommunity.isgreat.org/ The Depala Family]Joomla Version 1.5.14 and PhpGed 4.2.1&lt;br /&gt;
&lt;br /&gt;
Remember all these sites are using the same CMS but have just applied different templates.&lt;br /&gt;
&lt;br /&gt;
===CPG-Nuke DragonflyCMS===&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
It may be seen in action at Pretzy's Place Pertzel Family Tree History site here&lt;br /&gt;
http://pretzy.dnsalias.com&lt;br /&gt;
The module can also be downloaded from my site's Downloads section&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
===phpNuke &amp;amp; PostNuke===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Xoops===&lt;br /&gt;
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 [http://dev.xoops.org/modules/xfmod/project/?pgvxoops phpGedView for Xoops].&lt;br /&gt;
&lt;br /&gt;
[http://dev.xoops.org/modules/xfmod/project/?pgvxoops 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. &lt;br /&gt;
&lt;br /&gt;
* There are two main benefits to using this integration. &lt;br /&gt;
*# The user database is shared between the two programs. &lt;br /&gt;
*#* You need only one login Id for both programs. &lt;br /&gt;
*# PhpGedView is not viewed inside an Iframe. &lt;br /&gt;
*#* This allows for better search engine indexing. &lt;br /&gt;
*#*It also allows for bookmarking of pages within PhpGedview.&lt;br /&gt;
However, with this type of visual integration some conflicts arose. This integration includes PGV theme&lt;br /&gt;
modifications to eliminate many of the conflicts with Xoops html and css selectors. &lt;br /&gt;
Make sure to use the included themes.&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
 * A patch for the SunTzu Worm (only for PGV 3.3.5) is also available on the projects website, [http://dev.xoops.org/modules/xfmod/project/?pgvxoops PGVXoops].&lt;br /&gt;
 * Please direct all support questions for this integration to the [http://dev.xoops.org/modules/xfmod/forum/?group_id=1278 PGVXoops forums].&lt;br /&gt;
 * A patch for PGVXoops is available to make it compatible with PhpGedView 3.3.8. It can be found in the patches section [http://dev.xoops.org/modules/xfmod/tracker/?group_id=1278&amp;amp;atid=1294 Here],&lt;br /&gt;
   along with the instructions.&lt;br /&gt;
&lt;br /&gt;
===Wordpress===&lt;br /&gt;
See [[Integrate with Wordpress|integrating PhpGedView with Wordpress]]&lt;br /&gt;
&lt;br /&gt;
== PGV with new Menu ==&lt;br /&gt;
You can also display contents by a added PGV-menu, inside of PGV, described in a [[How_To:Build_a_New_Menu|tutorial]].&lt;br /&gt;
&lt;br /&gt;
[[Category:How To]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Language links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
[[fr: Intégration dans un CMS]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Install_and_use_phpLaunch&amp;diff=12112</id>
		<title>Install and use phpLaunch</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Install_and_use_phpLaunch&amp;diff=12112"/>
		<updated>2010-05-16T16:35:13Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Are you running a web server with php? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is PHPLaunch? ==&lt;br /&gt;
&lt;br /&gt;
PHPLaunch is a Windows program that allows you to use PHP script-based webpages like PhpGedView. With PHPLaunch on your computer you can view and edit PhpGedView without the need to install a web server. The difference between a web server and PHPLaunch is that PHPLaunch is only available on your own computer and can not be visited by others through the internet, so on-line editing is not possible.&lt;br /&gt;
PHPLaunch can also be burned on a CD to transport PhpGedView to another computer. Because PhpGedView &amp;quot;writes back&amp;quot; to its parent, you can't easily run PHPLaunch from a CD. If you have copied PHPLaunch from a CD to your hard drive and want to edit it, you ''may'' need to turn off the &amp;quot;read-only&amp;quot; attributes.&lt;br /&gt;
&lt;br /&gt;
== What is this guide? ==&lt;br /&gt;
&lt;br /&gt;
This installation guide will walk you step-by-step through installing and upgrading PHPLaunch, so you can use PhpGedView on your computer or burn it on a CD and give it away to family members.&lt;br /&gt;
Don’t be afraid to try this out. It’s much easier then you think!&lt;br /&gt;
This guide will help you with pictures and easy-to-read text.&lt;br /&gt;
&lt;br /&gt;
== Will this guide help me? ==&lt;br /&gt;
&lt;br /&gt;
This guide was written after some PHPLaunch installation tests. But you can also use it as a reference with other versions and different configurations.&lt;br /&gt;
The following configurations have been tested.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Hard drive installation'''&lt;br /&gt;
* PhpGedView 3.8.8&lt;br /&gt;
** PHP and PHP pecl 5.1.2 version&lt;br /&gt;
*** Index files (simple)&lt;br /&gt;
*** SQLite database (recommended)&lt;br /&gt;
*** MySQL database 5.0.18 (advanced)&lt;br /&gt;
*** Microsoft SQL Server 2005 Express (not recommended, compatibility fault with PHP)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* PhpGedView 4 Beta 4 (not recommended)&lt;br /&gt;
** PHP and PHP pecl 5.1.2 version&lt;br /&gt;
*** Index files (unavailable)&lt;br /&gt;
*** SQLite database (unavailable)&lt;br /&gt;
*** MySQL database 5.0.18 (not recommended, surfing problems)&lt;br /&gt;
*** Microsoft SQL Server 2005 Express (not recommended, compatibility fault with PHP)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* PhpGedView 4.0.1&lt;br /&gt;
** PHP and PHP pecl 5.1.4 version&lt;br /&gt;
*** Index files (unavailable)&lt;br /&gt;
*** SQLite database (unavailable)&lt;br /&gt;
*** MySQL database 5.0.22 (for advanced users)&lt;br /&gt;
*** Microsoft SQL Server 2005 Express (not recommended, compatibility fault with PHP)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''CD installation'''&lt;br /&gt;
* PhpGedView 3.8.8&lt;br /&gt;
** PHP and PHP pecl 5.1.2 version&lt;br /&gt;
*** Index files (simple)&lt;br /&gt;
*** SQLite database (recommended)&lt;br /&gt;
*** MySQL database (not recommended)&lt;br /&gt;
*** Microsoft SQL Server 2005 Express (not recommended, compatibility fault with PHP)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* PhpGedView 4 Beta 3 (not recommended)&lt;br /&gt;
** PHP and PHP pecl 5.1.2 version&lt;br /&gt;
*** Index files (unavailable)&lt;br /&gt;
*** SQLite database (unavailable)&lt;br /&gt;
*** MySQL database 5.0.18 (not recommended, surfing problems)&lt;br /&gt;
*** Microsoft SQL Server 2005 Express (not recommended, compatibility fault with PHP)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* PhpGedView 4 Beta 4 (not recommended)&lt;br /&gt;
** PHP and PHP pecl 5.1.2 version&lt;br /&gt;
*** Index files (unavailable)&lt;br /&gt;
*** SQLite database (unavailable)&lt;br /&gt;
*** MySQL database (not recommended and surfing problems)&lt;br /&gt;
*** Microsoft SQL Server 2005 Express (not recommended, compatibility fault with PHP)&lt;br /&gt;
&lt;br /&gt;
== What do I need to start? ==&lt;br /&gt;
&lt;br /&gt;
You need to download the following files&lt;br /&gt;
# PHPLaunch&lt;br /&gt;
# PHP zip package&lt;br /&gt;
# PHP pecl modules package&lt;br /&gt;
# PhpGedView&lt;br /&gt;
&lt;br /&gt;
PhpGedView and PHPLaunch: http://sourceforge.net/projects/phpgedview/ [http://sourceforge.net/projects/phpgedview/]&amp;lt;br/&amp;gt;&lt;br /&gt;
PHP and PHP pecl package: http://www.php.net/ [http://www.php.net/]&lt;br /&gt;
&lt;br /&gt;
You need to download PHP and PHP pecl to upgrade PHPLaunch and to get a few extensions (DLL files) to make PhpGedView work properly.&lt;br /&gt;
Always use the same version with PHP and PHP pecl.&lt;br /&gt;
&lt;br /&gt;
For more advanced database like MySQL for Hard drive installation: http://www.mysql.com/ [http://www.mysql.com/]&amp;lt;br/&amp;gt;&lt;br /&gt;
(You are on your own!)&lt;br /&gt;
&lt;br /&gt;
== Are you running a web server with php? ==&lt;br /&gt;
&lt;br /&gt;
If you have a web server installed and running with php on your computer, than I suggest that you temporarily shut it down during this installation. Or use another computer.&amp;lt;br/&amp;gt;&lt;br /&gt;
If you have your php.ini in a global folder, like “C:\WINDOWS”, than it’s a good thing that you rename the php.ini file, otherwise PHPLaunch will use that php.ini file instead of what you will configure later.&amp;lt;br/&amp;gt;&lt;br /&gt;
If you would start up PHPLaunch with a running web server and php installed, the error page in the PHPLaunch would be:&amp;lt;br/&amp;gt;&lt;br /&gt;
“The page can not be found”, “HTTP 404 – File not found”&lt;br /&gt;
&lt;br /&gt;
== Install PHPLaunch ==&lt;br /&gt;
&lt;br /&gt;
Make a “temp” folder on your hard drive “C:\”&amp;lt;br/&amp;gt;&lt;br /&gt;
Find the downloaded PHPLaunch zip file and extract it to “C:\temp” folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 1&lt;br /&gt;
[[Image:Phplaunch_install_001.jpg|centre|450px|thumb|PHPLaunch, figure 1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can test “PHPLaunch.exe” now.  Double click on the file as shown here.&amp;lt;br/&amp;gt;&lt;br /&gt;
If you see error messages, see Figure 2 and “Page not found” in the PHPLaunch window, than you have NOT renamed the php.ini in “C:\WINDOWS”.&amp;lt;br/&amp;gt;&lt;br /&gt;
Stop your web server and rename “C:\WINDOWS\php.ini” to something else&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Phplaunch_install_002.jpg|centre|PHPLaunch, figur 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have followed the instructions, you will see Figure 3.&lt;br /&gt;
[[Image:Phplaunch_install_003.jpg|centre|450px|thumb|Figure 3]]&lt;br /&gt;
&lt;br /&gt;
As you can see on the picture, “C:\temp\php.ini” has been loaded correctly.&lt;br /&gt;
&lt;br /&gt;
== Upgrading PHPLaunch with PHP ==&lt;br /&gt;
&lt;br /&gt;
The currrent PHPLaunch package includes PHP version 5.0.3. We will update this to the latest version and get the extensions (DLL files) that we will need for PhpGedView.&lt;br /&gt;
&lt;br /&gt;
Make a “php” folder on your hard drive “C:\”&amp;lt;br/&amp;gt;&lt;br /&gt;
Find the downloaded PHP zip file and extract it to “C:\php” -folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
Mark and copy these files in the “C:\php\” -folder:&lt;br /&gt;
* php5ts.dll&lt;br /&gt;
* php.ini-recommended&lt;br /&gt;
* php-cgi.exe&lt;br /&gt;
See Figure 4&lt;br /&gt;
[[Image:Phplaunch_install_004.jpg|centre|450px|thumb|PHPLaunch, figure 4]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Paste the copied files into the “C:\temp\” folder and overwrite the old files. See Figure 5&lt;br /&gt;
[[Image:Phplaunch_install_005.jpg|centre|450px|thumb|PHPLaunch, figure 5]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you start up “PHPLaunch.exe” now, you will see that now we have the latest PHP version installed.&amp;lt;br/&amp;gt;&lt;br /&gt;
In this case, it is the version 5.1.2. See Figure 6&lt;br /&gt;
[[Image:Phplaunch_install_006.jpg|centre|450px|thumb|PHPLaunch, figure 6]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PHP has a folder called “C:\php\ext\”. In this folder you can see a bunch of DLL files and some of them are needed to use PhpGedView.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sometimes PHP includes in their own package the DLL files that you need to run PhpGedView but these change from time to time. If a DLL file is missing from the PHP package then you will find it in the PHP pecl package.&lt;br /&gt;
&lt;br /&gt;
Find the downloaded PHP pecl zip file and extract it to “C:\php\ext” folder.&lt;br /&gt;
&lt;br /&gt;
Which extensions (DLL files) you need depends on how you want to use PhpGedView.&lt;br /&gt;
With “Index files” you don’t need any database extension.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''PhpGedView 3.8.8'''&amp;lt;br/&amp;gt;&lt;br /&gt;
General extensions you’ll need&amp;lt;br/&amp;gt;&lt;br /&gt;
* php_gd2.dll&amp;lt;br/&amp;gt;&lt;br /&gt;
* php_mbstring.dll&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Database extensions with SQLite database&amp;lt;br/&amp;gt;&lt;br /&gt;
* php_pdo.dll&amp;lt;br/&amp;gt;&lt;br /&gt;
* php_sqlite.dll&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Select and copy all the DLL files you need in the “C:\php\ext\” folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
Make an “ext” folder in “C:\temp\” and paste the copied files there.&lt;br /&gt;
&lt;br /&gt;
Example for PhpGedView 3.8.8 with SQLite database. See Figure 7&lt;br /&gt;
[[Image:Phplaunch_install_007.jpg|centre|450px|thumb|PHPLaunch, figure 7]]&lt;br /&gt;
&lt;br /&gt;
You can of course copy the whole PHP directly to the “C:\temp\” folder and PHP pecl to “C:\temp\ext\ folder if you have plenty of space.&amp;lt;br/&amp;gt;&lt;br /&gt;
This example is using only the minimal requirements.&lt;br /&gt;
&lt;br /&gt;
== How to configure php.ini for PHPLaunch ==&lt;br /&gt;
&lt;br /&gt;
Php.ini is the PHP‘s configuration file. PHP read this file to know what to do.&amp;lt;br/&amp;gt;&lt;br /&gt;
When you make a change in this file you have to shut down your web server, PHPLaunch and other programs that using PHP or the changes will not take place.&lt;br /&gt;
&lt;br /&gt;
We want to update php.ini to the latest version as well, just in case.&amp;lt;br/&amp;gt;&lt;br /&gt;
Delete “C:\temp\php.ini”&amp;lt;br/&amp;gt;&lt;br /&gt;
Rename the file “C:\temp\php.ini-recommended” to “php.ini”.&amp;lt;br/&amp;gt;&lt;br /&gt;
Open to edit “C:\temp\php.ini” with notepad or another text editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
Find:&lt;br /&gt;
 max_execution_time = 30&lt;br /&gt;
and change to:&lt;br /&gt;
 max_execution_time = 120&lt;br /&gt;
&lt;br /&gt;
This will increase a scripts execution time limit to 120 seconds. You can change this to a higher value if needed.&lt;br /&gt;
&lt;br /&gt;
Find:&lt;br /&gt;
 extension_dir = &amp;quot;./&amp;quot;&lt;br /&gt;
and change to:&lt;br /&gt;
 extension_dir = &amp;quot;ext&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will tell PHP where are all the extensions (DLL files)&lt;br /&gt;
&lt;br /&gt;
Go the “Dynamic Extensions” section.&amp;lt;br/&amp;gt;&lt;br /&gt;
Here you will find many lines that start with something like&amp;lt;br/&amp;gt;&lt;br /&gt;
;extension=xxxyyy.dll&amp;lt;br/&amp;gt;&lt;br /&gt;
Here we will enable or write in all the extensions we need to tell PHP what to use, how to work. These are the extensions that we have already copied to “C:\temp\ext\” folder. See Figure 7 in the “Upgrading PHPLaunch with PHP” section&lt;br /&gt;
&lt;br /&gt;
Enable the following extensions by removing the “&amp;lt;b&amp;gt;;&amp;lt;/b&amp;gt;” at the beginning of the line, like this:&lt;br /&gt;
 extension=php_mbstring.dll&lt;br /&gt;
 extension=php_gd2.dll&lt;br /&gt;
&lt;br /&gt;
As an example, this guide is using SQLite database with PhpGedView, then we need the following extensions exactly in this order. If you write these lines in the wrong order you will receive error messages.&lt;br /&gt;
 extension=php_pdo.dll&lt;br /&gt;
 extension=php_sqlite.dll&lt;br /&gt;
&lt;br /&gt;
If you need other extensions, enable or write them here.&lt;br /&gt;
&lt;br /&gt;
Start up “PHPLaunch.exe” and control if these extension has been loaded.&amp;lt;br/&amp;gt;&lt;br /&gt;
If they have been correctly loaded, you will see “gd”, “mbstring” and “SQLite” on the page.&amp;lt;br/&amp;gt;&lt;br /&gt;
Example for “mbstring”, see Figure 8&lt;br /&gt;
[[Image:Phplaunch_install_008.jpg|centre|450px|thumb|PHPLaunch, figure 8]]&lt;br /&gt;
&lt;br /&gt;
== Install PhpGedView ==&lt;br /&gt;
&lt;br /&gt;
Find the downloaded PhpGedView zip file and extract it to “C:\temp\web\” -folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
Example for PhpGedView 3.8.8. See Figure 9&lt;br /&gt;
[[Image:Phplaunch_install_009.jpg|centre|450px|thumb|PHPLaunch, figure 9]]&lt;br /&gt;
&lt;br /&gt;
Now you can start up “PHPLaunch.exe”&amp;lt;br/&amp;gt;&lt;br /&gt;
If everything is right, in this example PhpGedView 3.8.8 will start up.&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 10&lt;br /&gt;
[[Image:Phplaunch_install_010.jpg|centre|500px|thumb|PHPLaunch, figure 10]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''Congratulations!'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;'''DON’T SKIP THESE LINES! IMPORTANT!'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see on the picture, the “Configuration help” window pops up. '''Do not close this window!'''&amp;lt;br/&amp;gt;&lt;br /&gt;
For some reason this window allows you to make selections in the boxes. If you close the window, you will get this error message and you will not be able to choose any boxes, see Figure 11 or see Figure 13&lt;br /&gt;
[[Image:Phplaunch_install_011.jpg|centre|PHPLaunch, figure 11]]&lt;br /&gt;
&lt;br /&gt;
If you close the “Configuration help” window by mistake, don’t worry, you can either push “F5” on your keyboard to refresh the window or just shut down “PHPLaunch.exe” and start it again and this time don’t close the window.&lt;br /&gt;
&lt;br /&gt;
It’s time to copy all the files you need to run PhpGedView.&amp;lt;br/&amp;gt;&lt;br /&gt;
Copy your GEDCOM record to “C:\temp\web\index\” folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
You can even use GEDCOM record that has been updated with Beta 4 versions. I have tested them up to 4.0 Beta 4&amp;lt;br/&amp;gt;&lt;br /&gt;
Copy your multimedia files to “C:\temp\web\media\” folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Caution'''&amp;lt;br/&amp;gt;&lt;br /&gt;
If you are planning to have PhpGedView on a CD and give it away and have sensitive information in your GEDCOM file then it’s time to delete them. The GEDCOM record is just a text file that can be viewed by anyone with a text editor.&lt;br /&gt;
&lt;br /&gt;
When you are finished with all the copying, you can start up “PHPLaunch.exe” and start with the configurations.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please follow the PhpGedView manual on how to configure PhpGedView.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''To use PHPLaunch:'''&amp;lt;br/&amp;gt;&lt;br /&gt;
# Make a desktop shortcut to PHPLaunch.exe, and you will have a convenient start-up&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''To admininister PHPLaunch:'''&amp;lt;br/&amp;gt;&lt;br /&gt;
# Open PHPLaunch as in the step above&lt;br /&gt;
# Open your web browser and point it to http://localhost:32123/index.php&amp;lt;br/&amp;gt;&lt;br /&gt;
# Log in as administrator, and you can edit, add, subtract and generally modify your file&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tested with Internet Explorer 6 and PhpGedView 3.8.8&lt;br /&gt;
&lt;br /&gt;
== CD or hard drive installation? ==&lt;br /&gt;
&lt;br /&gt;
- PhpGedView on your hard drive doesn’t need any special consideration to run. You can view, edit, upgrade. You have no limitations.&lt;br /&gt;
&lt;br /&gt;
- If you are planning to have PhpGedView only an a CD&amp;lt;br/&amp;gt;&lt;br /&gt;
PhpGedView is trying to write always to some files, that means you will have warning messages because a CD is a Read-Only media. So it’s a good thing to disable all kind of writings made by PhpGedView like logging, online-editing.&amp;lt;br/&amp;gt;&lt;br /&gt;
Before you burn this project to a CD you can test it by marking all the files under the “C:\temp\web\index\”, right-click with the mouse, choose “Properties” and mark the “Read-only” attributes.&amp;lt;br/&amp;gt;&lt;br /&gt;
PhpGedView will try to write to these files so you will see all the warning messages. Don’t waste your CD’s for testing until you reduce the warning messages.&amp;lt;br/&amp;gt;&lt;br /&gt;
PhpGedView has no functions to check if the installation is on a read-only CD or on your hard drive.&lt;br /&gt;
&lt;br /&gt;
- So why burn it on a CD if you get annoying warning messages?&amp;lt;br/&amp;gt;&lt;br /&gt;
The good thing with the CD installation is that you can give it away to your family members, which is the whole idea. Just tell them to copy the whole CD on they hard drive before they want to use it. Then they will enjoy it in a warnings free environment.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you are ready with everything, you can burn all the files and folders under “C:\temp\” –folder to your CD.&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 12&lt;br /&gt;
&lt;br /&gt;
[[Image:Phplaunch_install_012.jpg|centre|450px|thumb|PHPLaunch, figure 12]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are distributing PHPLaunch by CD and want to give it all a professional appearance, have a look at http://www.jrsoftware.org/isinfo.php  This allows you to present a Windows-installer look alike &amp;quot;wrapper&amp;quot; to your information, and makes installation a breeze. The software is free.&lt;br /&gt;
&lt;br /&gt;
== Problems? ==&lt;br /&gt;
&lt;br /&gt;
Use this as guidelines and not as an absolute problem solver.&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
At start of PHPLaunch:&amp;lt;br/&amp;gt;&lt;br /&gt;
“The page can not be found”, “HTTP 404 – File not found”&lt;br /&gt;
&lt;br /&gt;
-You have a php.ini file in your “C:\WINDOWS\” –folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
Rename that php.ini –file to something else, while you are using or installing PHPLaunch.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
“The procedure entry point yyy could not be located in the dynamic link library xxx.dll.”&lt;br /&gt;
&lt;br /&gt;
-You have a php.ini file in your “C:\WINDOWS\” –folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
Rename that php.ini –file to something else, while you are using or installing PHPLaunch.&amp;lt;br/&amp;gt;&lt;br /&gt;
Or&amp;lt;br/&amp;gt;&lt;br /&gt;
-The xxx.dll –file is another version than PHP&amp;lt;br/&amp;gt;&lt;br /&gt;
See “Upgrading PHPLaunch with PHP” section.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
At start of PHPLaunch&amp;lt;br/&amp;gt;&lt;br /&gt;
In the main window:&amp;lt;br/&amp;gt;&lt;br /&gt;
“Your current database configuration is bad. Please check your database connection parameters and configure again.&amp;lt;br/&amp;gt;&lt;br /&gt;
DB Error:extension not found [DB Error:extension not found]**Array”&amp;lt;br/&amp;gt;&lt;br /&gt;
and&amp;lt;br/&amp;gt;&lt;br /&gt;
In the pop-up window:&amp;lt;br/&amp;gt;&lt;br /&gt;
“PHP Warning: PHP Startup: Unable to load dynamic library 'xxx\php_ sqlite.dll' - The specified module could not be found. in Unknown on line 0”&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-You have a php.ini file in your “C:\WINDOWS\” –folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
Rename that php.ini –file to something else, while you are using or installing PHPLaunch.&amp;lt;br/&amp;gt;&lt;br /&gt;
Or&amp;lt;br/&amp;gt;&lt;br /&gt;
Check your php.ini that - extension_dir = &amp;quot;ext&amp;quot; - is correct&amp;lt;br/&amp;gt;&lt;br /&gt;
Or&amp;lt;br/&amp;gt;&lt;br /&gt;
Check your php.ini for the extension=php_pdo.dll, in this case. If it is misspelled or missing from your php.ini.&amp;lt;br/&amp;gt;&lt;br /&gt;
See “How to configure php.ini for PHPLaunch” section.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
In the main window only.&amp;lt;br/&amp;gt;&lt;br /&gt;
“Your current database configuration is bad. Please check your database connection parameters and configure again.&amp;lt;br/&amp;gt;&lt;br /&gt;
DB Error:extension not found [DB Error:extension not found]**Array”&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-You have a php.ini file in your “C:\WINDOWS\” –folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
Rename that php.ini –file to something else, while you are using or installing PHPLaunch.&amp;lt;br/&amp;gt;&lt;br /&gt;
Or&amp;lt;br/&amp;gt;&lt;br /&gt;
Check your php.ini that - extension_dir = &amp;quot;ext&amp;quot; - is correct&amp;lt;br/&amp;gt;&lt;br /&gt;
Or&amp;lt;br/&amp;gt;&lt;br /&gt;
You want to use “Index file” as your database. Ignore this warning and continue.&amp;lt;br/&amp;gt;&lt;br /&gt;
See “How to configure php.ini for PHPLaunch” section.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
“Internet Explorer Script Error” or “A Runtime error has occurred”&lt;br /&gt;
&lt;br /&gt;
Which error message you receive depends on your systems installation but it’s the same thing.&amp;lt;br/&amp;gt;&lt;br /&gt;
And the “URL: http://localhost:32123/xxx.php“can be different. Depends on where you are…&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 13&lt;br /&gt;
[[Image:Phplaunch_install_013.jpg|centre|PHPLaunch, figur 13]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Or, see Figure 11&lt;br /&gt;
&lt;br /&gt;
- You have probably closed a pop-up window.&amp;lt;br/&amp;gt;&lt;br /&gt;
Click “Yes”&amp;lt;br/&amp;gt;&lt;br /&gt;
Or&amp;lt;br/&amp;gt;&lt;br /&gt;
Press or “F5” on your keyboard to refresh the window or close PHPLaunch and start it up again.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
“php-cgi.exe – Unable To Locate Component”&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 14&lt;br /&gt;
[[Image:Phplaunch_install_014.jpg|centre|PHPLaunch, figur 14]]&lt;br /&gt;
&lt;br /&gt;
-Check your php.ini for the extension=php_pdo.dll, in this case. If it is misspelled or missing from your php.ini.&amp;lt;br/&amp;gt;&lt;br /&gt;
See “How to configure php.ini for PHPLaunch” section.&amp;lt;br/&amp;gt;&lt;br /&gt;
Check also if this file is missing from your folder. In this installation example “C:\temp\ext\”.&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 7&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
Warning in the pop-up window. And no warnings in the main window.&amp;lt;br/&amp;gt;&lt;br /&gt;
“PHP Warning: PHP Startup: Unable to load dynamic library 'ext\php_sqlite.dll' - The specified module could not be found. in Unknown on line 0”&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Check your php.ini. It is possible that you wrote some lines in this order:&amp;lt;br/&amp;gt;&lt;br /&gt;
 extension=php_sqlite.dll&lt;br /&gt;
 extension=php_pdo.dll&lt;br /&gt;
Switch these two lines.&amp;lt;br/&amp;gt;&lt;br /&gt;
See “How to configure php.ini for PHPLaunch” section.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
Can not edit the Welcome page. The error message is:&amp;lt;br/&amp;gt;&lt;br /&gt;
Access Denied&amp;lt;br/&amp;gt;&lt;br /&gt;
You do not have access to this resource.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Start PHPLaunch&amp;lt;br/&amp;gt;&lt;br /&gt;
-Start Internet Explorer and type in the address bar:&amp;lt;br/&amp;gt;&lt;br /&gt;
http://localhost:32123/index.php&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now log in and continue to edit.&lt;br /&gt;
&lt;br /&gt;
[[Category:How To]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Language links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
[[fr: Installer et utiliser PhpLaunch]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Install_IIS_with_PHP_and_MySQL&amp;diff=12111</id>
		<title>Install IIS with PHP and MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Install_IIS_with_PHP_and_MySQL&amp;diff=12111"/>
		<updated>2010-05-16T16:32:38Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Configure IIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is IIS? ==&lt;br /&gt;
&lt;br /&gt;
IIS stands for Internet Information Services.&lt;br /&gt;
&lt;br /&gt;
IIS is Microsoft's own web server which can be installed by everyone who has Microsoft Windows operating system and the Windows installation CD. IIS doesn't cost anything, just the time to install.&lt;br /&gt;
&lt;br /&gt;
== What is this article? ==&lt;br /&gt;
&lt;br /&gt;
This article will walk you through with the help of many images how to install IIS, PHP and MySQL for PhpGedView. When finished, you will have your own web server which you can use privately at home as a test web server or even go online and let your family members connect to your PhpGedView installation.&lt;br /&gt;
&lt;br /&gt;
The installation is quite easy. Don't be afraid to try it, no matter if you are a pro or a newbie.&lt;br /&gt;
&lt;br /&gt;
This article is using only the basic installation to set up a working PhpGedView.&lt;br /&gt;
&lt;br /&gt;
Security and firewall issues would be an other and even a longer article.&lt;br /&gt;
&lt;br /&gt;
== What do I need to start? ==&lt;br /&gt;
&lt;br /&gt;
* Microsoft Windows installation CD&lt;br /&gt;
** To install IIS&lt;br /&gt;
* PHP and PHP pecl package&lt;br /&gt;
** Download from http://www.php.net/&lt;br /&gt;
* MySQL database and MySQL Administrator&lt;br /&gt;
** Download from http://www.mysql.com/&lt;br /&gt;
* PhpGedView&lt;br /&gt;
** Download from http://sourceforge.net/projects/phpgedview&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This article will use the following configuration :&amp;lt;br/&amp;gt;&lt;br /&gt;
*Microsoft Windows XP Professional, with Service Pack 2&amp;lt;br/&amp;gt;&lt;br /&gt;
:*IIS 5.1&amp;lt;br/&amp;gt;&lt;br /&gt;
*PHP and PHP pecl package 5.2.0&amp;lt;br/&amp;gt;&lt;br /&gt;
:*When you are downloading the packages, make sure that the PHP package and PHP pecl package have the same version and that they are not the installer, but the zip package.&lt;br /&gt;
*MySQL Database 5.0.27 and MySQL Administrator 1.2.4rc&amp;lt;br/&amp;gt;&lt;br /&gt;
*PhpGedView 4.0.2&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attention! If you are using different Windows Operating systems, or different program versions of the downloaded programs, there might be some installation and configuration differences.&lt;br /&gt;
&lt;br /&gt;
== Install IIS ==&lt;br /&gt;
&lt;br /&gt;
The first thing is to install IIS.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Place your Microsoft Windows installation CD into your CD drive.&amp;lt;br/&amp;gt;&lt;br /&gt;
Go to &amp;quot;Control Panel&amp;quot; -&amp;gt; &amp;quot;Add or Remove Programs&amp;quot; -&amp;gt; &amp;quot;Add/Remove Windows Components&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;quot;Windows Components Wizard&amp;quot; window highlight &amp;quot;Internet Information Services&amp;quot; and click on &amp;quot;Details&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;quot;Internet Information Services&amp;quot; window mark the box for &amp;quot;World Wide Web Services&amp;quot; and click on &amp;quot;OK&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
These steps you can see on figure 1&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_001.jpg|centre|450px|thumb|Install IIS, figure 1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;Windows Components Wizard&amp;quot; click &amp;quot;Next&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Click &amp;quot;Finish&amp;quot; after Windows has installed IIS.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open your Internet Explorer browser and type in the address bar http://localhost &amp;lt;br/&amp;gt;&lt;br /&gt;
Congratulations! You have your own web server.&amp;lt;br/&amp;gt;&lt;br /&gt;
Figure 2 shows you how it should look in Windows XP&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_002.jpg|centre|450px|thumb|Install IIS, figure 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For now, we will wait to configure IIS.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install PHP ==&lt;br /&gt;
&lt;br /&gt;
Why install the PHP package?&amp;lt;br/&amp;gt;&lt;br /&gt;
The PHP package makes it possible for any web server to be able to run php script web pages, like PhpGedView. Without the php package you would see only the text of the script and not the page.&amp;lt;br/&amp;gt;&lt;br /&gt;
When you are downloading the packages, make sure that the PHP package and PHP pecl package have the same version and that they are not the installer, but the zip package.&amp;lt;br/&amp;gt;&lt;br /&gt;
* Make a new folder and name it &amp;quot;php&amp;quot; on your root drive, like C:\&lt;br /&gt;
* Extract the downloaded php zip file into this folder&lt;br /&gt;
* Extract the downloaded php pecl zip file into the &amp;quot;:\php\ext&amp;quot; folder&lt;br /&gt;
&lt;br /&gt;
See figure 3&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_003.jpg|centre|450px|thumb|Install PHP, figure 3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Find &amp;quot;php.ini-recommended&amp;quot; file in the &amp;quot;:\php&amp;quot; folder. Copy the file to &amp;quot;:\WINDOWS&amp;quot; folder and rename it to &amp;quot;php.ini&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
This is the file that controls how php should work.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure PHP ==&lt;br /&gt;
&lt;br /&gt;
Open the file &amp;quot;:\WINDOWS\php.ini&amp;quot; in any text editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
Find:&lt;br /&gt;
 max_execution_time = 30&lt;br /&gt;
and change it to:&lt;br /&gt;
 max_execution_time = 60&lt;br /&gt;
This tells php how many seconds a script should run before timeout.&amp;lt;br/&amp;gt;&lt;br /&gt;
Find:&lt;br /&gt;
 doc_root =&lt;br /&gt;
and change it to:&lt;br /&gt;
 doc_root = &amp;quot;C:\Inetpub\wwwroot&amp;quot;&lt;br /&gt;
or where your web pages will be&amp;lt;br/&amp;gt;&lt;br /&gt;
Find:&lt;br /&gt;
 extension_dir =&lt;br /&gt;
and change it to:&lt;br /&gt;
 extension_dir = &amp;quot;C:\php\ext&amp;quot;&lt;br /&gt;
Enable these extensions by removing the &amp;quot;;&amp;quot; in front of the line. If you can not find some of them, write them here in this section.&lt;br /&gt;
 extension=php_mbstring.dll&lt;br /&gt;
 extension=php_gd2.dll&lt;br /&gt;
 extension=php_mysqli.dll&lt;br /&gt;
These extensions are needed to run PhpGedView.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also change the session folders path insted of using the Windows default temporary folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
You can do this by adding or editing the &amp;quot;session.save_path&amp;quot; variable to this:&lt;br /&gt;
 session.save_path = &amp;quot;C:\php\session&amp;quot;&lt;br /&gt;
Make sure that this folder exists, if not, make one.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For testing later on, make a php file to test the php installation.&amp;lt;br/&amp;gt;&lt;br /&gt;
Open a text editor, like Notepad and write these lines:&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Save this as &amp;quot;phpinfo.php&amp;quot; in your web folder &amp;quot;C:\Inetpub\wwwroot&amp;quot; (if this is the default folder for your web pages.)&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure IIS ==&lt;br /&gt;
&lt;br /&gt;
Windows XP has IIS 5.1. This example shows you how to configure this version.&amp;lt;br/&amp;gt;&lt;br /&gt;
Go to &amp;quot;Control Panel&amp;quot; -&amp;gt; &amp;quot;Administrative Tools&amp;quot; -&amp;gt; &amp;quot;Computer Management&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Browse to &amp;quot;Services and Applications&amp;quot; -&amp;gt; &amp;quot;Internet Information Services&amp;quot; -&amp;gt; &amp;quot;Web Sites&amp;quot; -&amp;gt; &amp;quot;Default Web Site&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Right click on &amp;quot;Default Web Site&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Click on &amp;quot;Properties&amp;quot; -&amp;gt; &amp;quot;ISAPI Filters&amp;quot; tab -&amp;gt; &amp;quot;Add&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;Filter Properties&amp;quot; window will be opened. In the &amp;quot;Filter name:&amp;quot; box, write&lt;br /&gt;
 .php&lt;br /&gt;
In the &amp;quot;Executable:&amp;quot; box, browse to your php installation folder and choose &amp;quot;php5isapi.dll&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
See figure 4&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_004.jpg|centre|450px|thumb|Configure IIS, figure 4]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; to close the window and click &amp;quot;Apply&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go to &amp;quot;Documents&amp;quot; tab -&amp;gt; &amp;quot;Add&amp;quot;. In the &amp;quot;Default Document Name:&amp;quot; box, write:&lt;br /&gt;
 index.php&lt;br /&gt;
See figure 5&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_005.jpg|centre|450px|thumb|Configure IIS, figure 5]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;OK&amp;quot; to close the window and click &amp;quot;Apply&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We have now added “index.php” to a list of files that IIS will search for in a web folder. The first file IIS finds in this list in a web folder will be loaded. You can mark index.php and with the arrows you can move it up or down to choose the files priority. You can change the priority for every folder separately in the same way.&amp;lt;br/&amp;gt;&lt;br /&gt;
Go to &amp;quot;Home Directory&amp;quot; tab -&amp;gt; &amp;quot;Configuration...&amp;quot; -&amp;gt; &amp;quot;Add&amp;quot;. In the &amp;quot;Executable:&amp;quot; box, browse to the &amp;quot;php5isapi.dll&amp;quot; file and in the &amp;quot;Extension:&amp;quot; box write&lt;br /&gt;
 .php&lt;br /&gt;
See figure 6&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_006.jpg|centre|450px|thumb|Configure IIS, figure 6]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;OK&amp;quot; -&amp;gt; &amp;quot;Apply” -&amp;gt; and &amp;quot;OK&amp;quot; in the &amp;quot;Default Web Site Properties&amp;quot; window to close it.&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;quot;Computer Management&amp;quot; window browse to &amp;quot;Services and Applications&amp;quot; -&amp;gt; &amp;quot;Services&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
In the right window, search for &amp;quot;IIS Admin&amp;quot; and click on &amp;quot;Restart&amp;quot; to apply all changes we made.&amp;lt;br/&amp;gt;&lt;br /&gt;
See figure 7&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_007.jpg|centre|450px|thumb|Configure IIS, figure 7]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open your web browser and type: http://127.0.0.1/phpinfo.php &amp;lt;br/&amp;gt;&lt;br /&gt;
See figure 8&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_008.jpg|centre|450px|thumb|Configure IIS, figure 8]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Congratulations! You have a web server with PHP installed!&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''IIS 6''' is installed and configured in a similar way as IIS 5 so far. IIS 6 has one more setting left before you can restart the web service to apply all your changes and to browse to phpinfo.php.&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;quot;Computer Management&amp;quot; window browse to &amp;quot;Services and Applications&amp;quot; -&amp;gt; &amp;quot;Internet Information Services (IIS) Manager&amp;quot; -&amp;gt; &amp;quot;Web Service Extensions&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Click &amp;quot;Add a new Web service extension...&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
In the &amp;quot;Extension name:&amp;quot; box, write example: &amp;quot;PHP&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
For &amp;quot;Required files&amp;quot; click &amp;quot;Add&amp;quot; and browse to your&amp;quot;:\php\php5isapi.dll&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Mark the box &amp;quot;Set extension status to Allowed&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
See figure 9&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_014.JPG|centre|450px|thumb|Configure IIS 6, figure 9]]&lt;br /&gt;
&lt;br /&gt;
Restart IIS and now browse to http://127.0.0.1/phpinfo.php &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install and configure MySQL ==&lt;br /&gt;
&lt;br /&gt;
Why install MySQL?&amp;lt;br/&amp;gt;&lt;br /&gt;
MySQL is probably the best free database in the market that PhpGedView supports. Most likely, PhpGedView will always support MySQL.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start the MySQL installation program. These are the steps window by window :&amp;lt;br/&amp;gt;&lt;br /&gt;
Typical -&amp;gt; Next&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 10&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_101.JPG|centre|450px|thumb|Install MySQL, figure 10]]&lt;br /&gt;
Install&amp;lt;br/&amp;gt;&lt;br /&gt;
You can choose to &amp;quot;Skip Sign-Up&amp;quot;, for now -&amp;gt; Next&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 11&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:MySQL_Signup.jpg|centre|450px|thumb|Install MySQL, figure 11]]&lt;br /&gt;
Mark &amp;quot;Configure the MySQL Server now&amp;quot; -&amp;gt; Finish&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 12&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_104.jpg|centre|450px|thumb|Install MySQL, figure 12]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The steps to configure MySQL :&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next&amp;lt;br/&amp;gt;&lt;br /&gt;
Mark &amp;quot;Detailed Configuration&amp;quot; -&amp;gt; Next&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 13&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_106.JPG|centre|450px|thumb|Comfigure MySQL, figure 13]]&lt;br /&gt;
Mark &amp;quot;Developers Machine&amp;quot;, for low memory usage -&amp;gt; Next&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 14&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_107.JPG|centre|450px|thumb|Comfigure MySQL, figure 14]]&lt;br /&gt;
Mark &amp;quot;Transactional Database Only&amp;quot; -&amp;gt; Next&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 15&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_108.JPG|centre|450px|thumb|Comfigure MySQL, figure 15]]&lt;br /&gt;
Make sure your installation path is ok -&amp;gt; Next&amp;lt;br/&amp;gt;&lt;br /&gt;
Mark &amp;quot;Decision Support (DSS)/OLAP” -&amp;gt; Next&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 16&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_110.JPG|centre|450px|thumb|Comfigure MySQL, figure 16]]&lt;br /&gt;
Mark &amp;quot;Enable TCP/IP Networking&amp;quot; and &amp;quot;Enable Strict Mode&amp;quot;, set &amp;quot;Port Number:&amp;quot; to 3306 -&amp;gt; Next&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 17&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_119.JPG|centre|450px|thumb|Comfigure MySQL, figure 17]]&lt;br /&gt;
Mark &amp;quot;Best Support For Multilingualism&amp;quot;, support for UTF8 character set -&amp;gt; Next&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 18&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_111.jpg|centre|450px|thumb|Comfigure MySQL, figure 18]]&lt;br /&gt;
Mark &amp;quot;Install As Windows Service&amp;quot; and &amp;quot;Launch the MySQL Server automatically&amp;quot; and &amp;quot;Include Bin Directory in Windows PATH&amp;quot; -&amp;gt; Next&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 19&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_112.jpg|centre|450px|thumb|Configure MySQL, figure 19]]&lt;br /&gt;
Mark &amp;quot;Modify Security Settings&amp;quot;, type your password -&amp;gt; Next&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 20&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_113.jpg|centre|450px|thumb|Configure MySQL, figure 20]]&lt;br /&gt;
Execute&amp;lt;br/&amp;gt;&lt;br /&gt;
Finish&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may need to restart Windows now.&amp;lt;br/&amp;gt;&lt;br /&gt;
Open your browser and browse to http://127.0.0.1/phpinfo.php &amp;lt;br/&amp;gt;&lt;br /&gt;
Now you can also find the &amp;quot;mysqli&amp;quot; extension on the PHP information page.&amp;lt;br/&amp;gt;&lt;br /&gt;
See Figure 21&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_120.jpg|centre|thumb|450px|Configure MySQL, figure 21]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install MySQL Administrator.&amp;lt;br/&amp;gt;&lt;br /&gt;
After installation start the program and fill in the settings and click &amp;quot;OK&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
See figure 22&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_009.jpg|centre|MySQL Administrator, figure 22]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here you can manage and configure MySQL easy. Usually the only two things you would need to configure are &amp;quot;User Administration&amp;quot; and &amp;quot;Catalogs&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Click on &amp;quot;Catalogs&amp;quot; and right click in the &amp;quot;Schemata&amp;quot; window (not the empty box), &amp;quot;Create New Schema&amp;quot;. Type in the &amp;quot;Schema name:&amp;quot; like &amp;quot;phpgedview&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
See figure 23&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_010.jpg|centre|450px|thumb|MySQL Administrator, figure 23]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you have a database for PhpGedView with the name &amp;quot;phpgedview&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
When you start PhpGedView for the first time, PhpGedView will fill this database out for you. Do not change anything manually in the database!&amp;lt;br/&amp;gt;&lt;br /&gt;
You might also need to add a new MySQL User to use it in PhpGedView instead of the main administrator &amp;quot;root&amp;quot;, for security reasons, especially if you go online.&amp;lt;br/&amp;gt;&lt;br /&gt;
To add a new user in MySQL, just click on the &amp;quot;User Administration&amp;quot; and &amp;quot;New User&amp;quot;. Fill in the user name and the password you want to use for PhpGedView.&amp;lt;br/&amp;gt;&lt;br /&gt;
You also have to assign this MySQL user some privileges to your PhpGedView database. The privileges have to be: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER.&amp;lt;br/&amp;gt;&lt;br /&gt;
See figure 24&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_121.jpg|centre|450px|thumb|MySQL Administrator, figure 24]]&lt;br /&gt;
&lt;br /&gt;
== Install PhpGedView ==&lt;br /&gt;
&lt;br /&gt;
Make a new folder in &amp;quot;:\Inetpub\wwwroot&amp;quot; and name it &amp;quot;phpgedview&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Extract the downloaded PhpGedView zip file into the &amp;quot;phpgedview&amp;quot; folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
Go to &amp;quot;Tools&amp;quot; -&amp;gt; &amp;quot;Folder Options&amp;quot; -&amp;gt; &amp;quot;View&amp;quot; tab and unmark &amp;quot;Use simple file sharing&amp;quot; -&amp;gt; &amp;quot;Apply&amp;quot; and &amp;quot;OK&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
See figure 25&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_011.jpg|centre|450px|thumb|Install PhpGedView, figure 25]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In Windows XP, this is how you have to enable to have the right to give security permissions to files and folders.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on &amp;quot;config.php&amp;quot; and &amp;quot;Properties&amp;quot; -&amp;gt; &amp;quot;Security&amp;quot; tab.&amp;lt;br/&amp;gt;&lt;br /&gt;
Highlight &amp;quot;Internet Guest Account&amp;quot;. &amp;quot;IUSR_xxx&amp;quot; is the IIS user for which we have to give write permission. The &amp;quot;_xxx&amp;quot; in &amp;quot;IUSR_xxx&amp;quot; is your computer name.&amp;lt;br/&amp;gt;&lt;br /&gt;
See figure 26&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_012.jpg|centre|Install PhpGedView, figure 26]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Apply&amp;quot; and &amp;quot;OK&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
If you cannot find &amp;quot;IUSR_xxx&amp;quot; in the list, just hit the &amp;quot;Add&amp;quot; -&amp;gt; &amp;quot;Advanced&amp;quot; -&amp;gt; &amp;quot;Find Now&amp;quot; to add the IIS user to the list.&amp;lt;br/&amp;gt;&lt;br /&gt;
You also have to add write permission to the &amp;quot;index&amp;quot; and &amp;quot;media&amp;quot; folder.&amp;lt;br/&amp;gt;&lt;br /&gt;
When you are finished with the PhpGedView configuration, don't forget to remove the write permission of the &amp;quot;config.php&amp;quot; file for security reasons.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open your browser and type: http://127.0.0.1/phpgedview/ &amp;lt;br/&amp;gt;&lt;br /&gt;
See figure 27&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Install_IIS_013.jpg|thumb|450px|centre|Install PhpGedView, figure 27]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Congratulations! You have now your own IIS web server with PHP, MySQL and PhpGedView.&amp;lt;br/&amp;gt;&lt;br /&gt;
In this article we are using the &amp;quot;php_mysqli.dll&amp;quot; extension for MySQL 4.1+ and PHP 5 so Figure 27 shows you the basics of starting configuration.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuring'''&lt;br /&gt;
&lt;br /&gt;
1. Choose &amp;quot;MySQL 4.1+ and PHP 5&amp;quot; as the database type&amp;lt;br/&amp;gt;&lt;br /&gt;
2. Set the database host as localhost, or you can also use the IP address 127.0.0.1&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For browsing, don't use http://localhost, that will give you login problems.&lt;br /&gt;
Use instead http://127.0.0.1 or your computers IP address for your computer - to get this, open a command prompt (Start/Run/cmd) and type:&lt;br /&gt;
 ipconfig &lt;br /&gt;
The &amp;quot;IP Address&amp;quot; is your computers address.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Good luck.&lt;br /&gt;
&lt;br /&gt;
[[Category:How To]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Configure_memory_usage_for_php&amp;diff=12110</id>
		<title>Configure memory usage for php</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Configure_memory_usage_for_php&amp;diff=12110"/>
		<updated>2010-05-16T16:30:35Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Additonal Comments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Configure memory usage ==&lt;br /&gt;
&lt;br /&gt;
That is the right place to set the '''memory limit''' in PGV's configuration.  After setting it there, you need to check '''phpinfo''' from the config menu to see if your hosting provider's setup permits it to take effect. In most cases, the lower of the two limits (the one set in '''php.ini''' and the config of the running script) controls.&lt;br /&gt;
&lt;br /&gt;
Don't assume that your hosting provider's limit is unchangeable. If you can't adjust the memory limit through the PGV config, contact them, and ask whether '''php.ini''' is customer-accessible, and if not, ask them to change the mem limit for you.&lt;br /&gt;
&lt;br /&gt;
I work on sites hosted on servers from different providers, and their policies and procedures regarding '''php.ini''' vary widely.  The one I use the most has php.ini in a peculiar location in the directory tree, to slow down hackers, and don't publish that location in their online help pages for obvious reasons, but were happy to tell me how to get to it.  The provider which hosts my phpGedView site does not permit customer edits of php.ini, but bumped my php memory limit up to 16 and then to 32 on my request, with no complaint.  Even with PGV 3.3.7, the speed boost was dramatic, and a transient and erratic problem I had with '''MySQL''' stopping, sometimes leaving a table locked, vanished.&lt;br /&gt;
&lt;br /&gt;
Some hosts do not enable the memory limit (windows binaries usually don't have it enabled) which may be why you aren't seeing it in the '''phpinfo'''.&lt;br /&gt;
&lt;br /&gt;
With Apache it is also possible to change '''php.ini''' settings in a '''.htaccess''' file. You can try creating a blank .htaccess file and put it in your ''phpgedview'' directory. Then put the following line in it: '''php_value memory_limit 32M'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Though PHP presents a very versatile and user friendly interface for handling file uploads, the default installation is not geared for working with files in excess of ''2 Mega Bytes''. This article will help you configure your PHP engine for handling such large file transfers.&lt;br /&gt;
The '''php.ini''' File&lt;br /&gt;
&lt;br /&gt;
==Special Note:==&lt;br /&gt;
You could be wasting bandwidth, If your file upload page is nothing more than an HTML form.&lt;br /&gt;
&lt;br /&gt;
Most browsers just ignore the '''MAX_FILE_SIZE''' hidden field and size limits are checked only after the data has been sent over the wire.&lt;br /&gt;
&lt;br /&gt;
Our applet saves your bandwidth by imposing client side restrictions.&lt;br /&gt;
&lt;br /&gt;
All the configuration settings for your installation are contained in the '''php.ini''' file. Sometimes these setting might be overridden by directives in apache '''.htaccess''' files or even with in the scripts themselves. However you cannot over ride the settings that effect file uploads with .htaccess directives in this way. So let's just concentrate on the ini file.&lt;br /&gt;
&lt;br /&gt;
You can call the '''phpinfo()''' function to find the location of your '''php.ini''' file, it will also tell you the current values for the following settings that we need to modify&lt;br /&gt;
&lt;br /&gt;
* '''file_uploads'''&lt;br /&gt;
* '''upload_max_filesize'''&lt;br /&gt;
* '''max_input_time'''&lt;br /&gt;
* '''memory_limit'''&lt;br /&gt;
* '''max_execution_time'''&lt;br /&gt;
* '''post_max_size'''&lt;br /&gt;
&lt;br /&gt;
The first one is fairly obvious if you set this off, uploading is disabled for your installation. We will cover the rest of the configuration settings in detail below.&lt;br /&gt;
===upload_max_filesize and post_max_size===&lt;br /&gt;
Files are usually POSTed to the webserver in a format known as ''''multipart/form-data''''. The '''post_max_size''' sets the upper limit on the amount of data that a script can accept in this manner. Ideally this value should be larger than the value that you set for '''upload_max_filesize'''.&lt;br /&gt;
&lt;br /&gt;
It's important to realize that '''upload_max_filesize''' is the sum of the sizes of all the files that you are uploading. '''post_max_size''' is the '''upload_max_filesize''' plus the sum of the lengths of all the other fields in the form plus any mime headers that the encoder might include. Since these fields are typically small you can often approximate the upload max size to the post max size.&lt;br /&gt;
&lt;br /&gt;
According to the PHP documentation you can set a '''MAX_UPLOAD_LIMIT''' in your HTML form to suggest a limit to the browser. Our understanding is that browsers totally ignore this directive and the only solution that can impose such a client side restriction is our own Rad Upload  Applet&lt;br /&gt;
&lt;br /&gt;
===memory_limit===&lt;br /&gt;
When the PHP engine is handling an incoming POST it needs to keep some of the incoming data in memory. This directive has any effect only if you have used the --'''enable-memory-limit''' option at configuration time. Setting too high a value can be very dangerous because if several uploads are being handled concurrently all available memory will be used up and other unrelated scripts that consume a lot of memory might effect the whole server as well.&lt;br /&gt;
&lt;br /&gt;
===max_execution_time and max_input_time===&lt;br /&gt;
These settings define the maximum life time of the script and the time that the script should spend in accepting input. If several mega bytes of data are being transfered '''max_input_time''' should be reasonably high. You can override the setting in the ini file '''for max_input_time''' by calling the '''set_time_limit()''' function in your scripts.&lt;br /&gt;
&lt;br /&gt;
==Additonal Comments==&lt;br /&gt;
===Apache Settings===&lt;br /&gt;
The apache webserver has a '''LimitRequestBody''' configuration directive that restricts the size of all POST data regardless of the web scripting language in use. Some RPM installations sets limit request body to '''512Kb'''. You will need to change this to a larger value or remove the entry altogether.&lt;br /&gt;
&lt;br /&gt;
==Other Options==&lt;br /&gt;
If you expect to handle a large number of concurrent file transfers on your website consider using a '''perl''' or '''java''' server side component. PHP happens to be our favourite web programming language as well but perl and Java are just slightly ahead when it comes to file upload.&lt;br /&gt;
&lt;br /&gt;
Most installations of '''perl''' as an apache module can accept in excess of '''32 megabytes''' out of the box. Compare this against the '''2MB''' default for PHP. The downside is that perl coding takes just a bit more effort than PHP but it's worth it. You can try our sample scripts to get started.&lt;br /&gt;
&lt;br /&gt;
[[Category:How To]]&lt;br /&gt;
[[Category:Administrators Guide]]&lt;br /&gt;
&lt;br /&gt;
[[fr: Configurer_la_taille_mémoire_pour_PHP]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Using_SVN_for_PhpGedView&amp;diff=12106</id>
		<title>Using SVN for PhpGedView</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Using_SVN_for_PhpGedView&amp;diff=12106"/>
		<updated>2010-05-16T16:23:17Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* PGV repository on the SourceForge server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= PhpGedView for the more advanced =&lt;br /&gt;
Most of us use stable versions of PhpGedView, notified and released through the main PGV pages on SourceForge. But there are always developments in the pipeline. These take two forms&amp;amp;mdash;patches (and you will find &amp;quot;fixes&amp;quot; there from time to time) and unproven scripts&amp;amp;mdash;often referred to as &amp;quot;subversions&amp;quot; (SVN for short). You will find references to &amp;quot;revision control&amp;quot;, which is the same concept.&lt;br /&gt;
&lt;br /&gt;
SVN is for everyone involved in developing and testing open source software. The hub of SVN is the repository, where all the current subversions are stored. There are writers/scripters/progammers/etc who are working on changes, which are committed to the repository. Then there are the users/testers/leading edgers, who draw down from the repository to their workspace. This document will hopefully help you begin using the Subversion repository code on your PhpGedView web site.&lt;br /&gt;
&lt;br /&gt;
== Subversion ==&lt;br /&gt;
SVN is a version control system; it allows users to keep track of changes made over time to any type of electronic data. Typical uses are versioning source code, web pages or design documents.&lt;br /&gt;
&lt;br /&gt;
Open source software like PhpGedView has many contributors. As revisions are written, the developer(s) “commit” the changed files into a repository. This repository is the core &amp;quot;filing cabinet&amp;quot; for the SVN system. Other developers and users can draw these files from the repository, but with many hundreds of files involved, sharing changes could be quite complicated without SVN control software.&lt;br /&gt;
&lt;br /&gt;
Using version control software, you can create parallel versions of the repository on your computer. The software then allows you to keep the two locations synchronized, so you always have a copy of the latest revisions. From there, you can work on the source files, or upload the revisions to your server, either local or remote, to test and comment on.&lt;br /&gt;
&lt;br /&gt;
=== Installing a Client (for Windows Users) ===&lt;br /&gt;
[[image:svn2.jpg|left|260px|thumb]]&lt;br /&gt;
There are some good Windows tools available that will give you the means to build a replica of the files in the repository on your computer. Tortoise is one such piece of software, and will be used in this wiki to guide you along. Tortoise is free and can be downloaded from http://tortoisesvn.tigris.org/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: There are other clients available: SmartSVN is a more full-featured client and it too is free.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installation is quite straight-forward. This is the welcome setup screen for the Tortoise version used to prepare this document. Click on &amp;quot;Next&amp;quot; to start the process. There is little to gain, or lose, by choosing options on the next screen, so simply click &amp;quot;Next&amp;quot; again. When the process is complete, restart your computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installing a Client (other) ===  &lt;br /&gt;
For Linux/*BSD/Unix the command line SVN client can be installed through your distribution's package manager.&lt;br /&gt;
* For Debian/Ubuntu&lt;br /&gt;
 sudo apt-get install subversion&lt;br /&gt;
&lt;br /&gt;
For MacOS X users see [http://www.wikihow.com/Install-Subversion-on-Mac-OS-X WikiHow] for several options and additional links.&lt;br /&gt;
&lt;br /&gt;
=== Using the SVN Client ===&lt;br /&gt;
==== Checkout ====&lt;br /&gt;
[[image:svn5.jpg|right|86px|thumb]]&lt;br /&gt;
When your computer has rebooted, right-click anywhere on the screen. You will get a list with a couple of new entries: &amp;quot;SVN Checkout&amp;quot; and &amp;quot;TortoiseSVN&amp;quot;. The next part of the process is to get a copy from the repository to your computer&amp;amp;mdash;a checkout. Select &amp;quot;SVN Checkout&amp;quot;. Tortoise will suggest a target/checkout directory, which you can adjust to suit your needs. &amp;lt;b&amp;gt;Note: It is preferable to keep the path simple.&amp;lt;/b&amp;gt; &amp;lt;tt&amp;gt;C:\Checkout&amp;lt;/tt&amp;gt; is a simple suggestion.&lt;br /&gt;
&lt;br /&gt;
For the command-line client (CLI) use:&lt;br /&gt;
 svn co https://phpgedview.svn.sourceforge.net/svnroot/phpgedview/trunk/phpGedView phpgedview&lt;br /&gt;
&lt;br /&gt;
==== PGV repository on the SourceForge server ====&lt;br /&gt;
[[image:svn6.jpg|right|233px|thumb]]&lt;br /&gt;
In the &amp;quot;URL of repository&amp;quot; field enter either https://phpgedview.svn.sourceforge.net/svnroot/phpgedview/trunk/phpGedView or https://phpgedview.svn.sourceforge.net/svnroot/phpgedview/branches/phpGedView-4.2 if you want the development version.&lt;br /&gt;
&lt;br /&gt;
Things get busy now. A long list of files will scroll through the window as they download to your computer. At this time, Tortoise will download about 12,600 files, consuming a bit over 100 MB of disk space (the actual files total about 70MB, the rest is slack space). When the download has finished, open Windows Explorer and browse to the &amp;lt;tt&amp;gt;C:\Checkout&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Update ====&lt;br /&gt;
[[image:svn14.jpg|right|190px]]&lt;br /&gt;
The &amp;quot;update&amp;quot; function of Subversion will only update those files that are newer in the SVN repository. You don't need to do this immediately after a checkout because you already have the latest files.&lt;br /&gt;
# Open your file directory, and right-click on the SVN folder.&lt;br /&gt;
# Left-click on &amp;quot;SVN Update&amp;quot;. The Tortoise system will check all your current files against the repository, and download any repository files that are more recent.&lt;br /&gt;
&lt;br /&gt;
For Linux/BSD/other:&lt;br /&gt;
 cd /path/to/svn/tree&lt;br /&gt;
 svn update&lt;br /&gt;
&lt;br /&gt;
==== The .svn directory ====&lt;br /&gt;
These folders are both a blessing and a curse. The blessing is that they hold all the version information for the other files in the mother folder. When you do an update, Tortoise will compare the information about the files you hold with the information about the files at SourceForge.  If the information is identical, there is no need for a download because you have the latest. If the SourceForge file is newer than yours, then it has to be downloaded and the &amp;lt;tt&amp;gt;.svn&amp;lt;/tt&amp;gt; files updated to show this. This has many advantages, including:&lt;br /&gt;
* the ability to reverse-out an update if you find a problem with it&lt;br /&gt;
* comparing the update with the previous change&lt;br /&gt;
* merging the changes to any manual alterations to the files you have done for your own purposes, etc.&lt;br /&gt;
&lt;br /&gt;
They are a curse because if you are working with your files on a remote server, you don’t want to upload all this extra baggage. The &amp;lt;tt&amp;gt;.svn&amp;lt;/tt&amp;gt; directory about doubles the gross disk space used by PGV.&lt;br /&gt;
&lt;br /&gt;
==== Preparing to Upload ====&lt;br /&gt;
Whether to a local or remote location, the next step will be to copy the files from your computer to that server. But first, it would be wise to do some housekeeping. The &amp;lt;tt&amp;gt;.svn&amp;lt;/tt&amp;gt; directoriess are not wanted or needed in the final location, so they need to be cleaned out. To do this is quite easy.&lt;br /&gt;
&lt;br /&gt;
This process will make a fresh copy of &amp;lt;tt&amp;gt;C:\Checkout&amp;lt;/tt&amp;gt;, but without all the &amp;lt;tt&amp;gt;.svn&amp;lt;/tt&amp;gt; directories. &amp;lt;b&amp;gt;Note: this process does &amp;lt;u&amp;gt;not&amp;lt;/u&amp;gt; currently work with Microsoft Vista.&amp;lt;!-- still true? 04 Jan 2008--&amp;gt;&amp;lt;/b&amp;gt; [[image:svn11.jpg|right|185px|thumb]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Using the Tortoise &amp;quot;Export&amp;quot; command&amp;lt;/b&amp;gt;:&lt;br /&gt;
# Find the &amp;lt;tt&amp;gt;C:\Checkout&amp;lt;/tt&amp;gt; directory in Windows Explorer and right-click on it. The side menu that opens has an item &amp;quot;TortoiseSVN&amp;quot;, which leads to &amp;quot;Export…&amp;quot;, select this.&lt;br /&gt;
# Select where you want to create the exported copy and click on &amp;quot;Make New Folder&amp;quot;, then select &amp;quot;OK&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Using Windows&amp;lt;/b&amp;gt;:&lt;br /&gt;
# Copy all the files to a new directory, call it &amp;quot;xxxxx&amp;quot; for this example.&lt;br /&gt;
# Open a command line window by clicking the &amp;quot;Start&amp;quot; bar, then “Run” and finally type &amp;quot;cmd&amp;quot; in the text box and push &amp;quot;OK&amp;quot;.&lt;br /&gt;
# In the newly opened command line type in this line and press &amp;quot;Enter&amp;quot;&lt;br /&gt;
 for /r c:\xxxxx %f in (.svn) do rd /s /q &amp;quot;%f&amp;quot;&lt;br /&gt;
&lt;br /&gt;
That will clean all the &amp;lt;tt&amp;gt;.svn&amp;lt;/tt&amp;gt; sub-directories from &amp;quot;xxxxx&amp;quot; for you.&lt;br /&gt;
&lt;br /&gt;
The Linux/BSD/other user may do this in preparation for uploading their updated svn tree:&lt;br /&gt;
 cp -a /path/to/svn/tree /tmp/pgv&lt;br /&gt;
 find /tmp/pgv -type d -name '.svn' -exec rm -rf {} \;&lt;br /&gt;
&lt;br /&gt;
Why follow this longhand path? It is useful when you plan to delete anything you don’t want or require, e.g., modules you don’t plan to use, flags, themes, language files, etc. However unless you are really short of server space leave them in place. Uploading them intact can be useful because it simplifies later updates.&lt;br /&gt;
&lt;br /&gt;
When this has been finished, you are ready to upload the files in &amp;quot;xxxxx&amp;quot; to your server. You can now go ahead and configure and populate the SVN version of PGV.&lt;br /&gt;
&lt;br /&gt;
[[image:svn15.jpg|right|155px|thumb|Synchronize step 1]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Synchronize ====&lt;br /&gt;
[[image:svn16.jpg|right|222px|thumb|Synchronize step 2]][[image:svn17.jpg|right|270px|thumb|Synchronize step 3]][[image:svn18.jpg|right|321px|thumb|Synchronize step 4]]&lt;br /&gt;
Now you need a FTP client to synchronize your files with the server files. Unless you followed the procedures above your files have all the .svn directories and it is essential that you can set some conditions within the FTP client to prevent them being uploaded as well.&lt;br /&gt;
&lt;br /&gt;
One useful client is called WinSCP and can be downloaded here: http://winscp.net/eng/index.php. After installing and starting the program setup the conditions for it to connect to your server site.&lt;br /&gt;
&lt;br /&gt;
# Go to the menu bar and select &amp;quot;Commands / Synchronize…&amp;quot;&lt;br /&gt;
# Select &amp;quot;Remote&amp;quot; as your target directory, and tick the &amp;quot;Existing files only&amp;quot; box. This ensures that the only files uploaded are a match for the files already on the server. However, there will be times when new files are added to the repository. In that case, because they won’t have yet been uploaded to your server, this system won’t copy them or new issues of them&lt;br /&gt;
# In this case click on &amp;quot;Transfer settings&amp;quot; and on the next screen, work your way to &amp;quot;Transfer/Presets&amp;quot; and finally click the &amp;quot;Add&amp;quot; button&lt;br /&gt;
# Give this “Preset” of conditions a name&amp;amp;mdash;“Mine” or “Mask_1” to suit&lt;br /&gt;
# Next, down in the lower left, in the &amp;quot;Exclude&amp;quot; box, copy from below and then click the &amp;quot;OK&amp;quot; button. That will look recursively through all directories for &amp;lt;tt&amp;gt;.svn&amp;lt;/tt&amp;gt; files and exclude them from the upload&lt;br /&gt;
 */;.svn; &lt;br /&gt;
&lt;br /&gt;
You may exclude other sections if you want. For example, SVN also inserts &amp;lt;tt&amp;gt;.htaccess&amp;lt;/tt&amp;gt; files in various directories. Except for the &amp;lt;tt&amp;gt;Index&amp;lt;/tt&amp;gt; directory these are not required. So, upload &amp;lt;tt&amp;gt;.htaccess&amp;lt;/tt&amp;gt; to the &amp;lt;tt&amp;gt;Index&amp;lt;/tt&amp;gt; directory the first time you do an upload, but after that, make the exclude mask:&lt;br /&gt;
 */;.svn;.htaccess&lt;br /&gt;
OR&lt;br /&gt;
 .svn;.htaccess &lt;br /&gt;
&lt;br /&gt;
Add any others to suit your needs, e.g., the &amp;lt;tt&amp;gt;Images&amp;lt;/tt&amp;gt; directory, with a comma or semi-colon between the parameters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Linux/BSD/other users can use the CLI &amp;lt;tt&amp;gt;scp&amp;lt;/tt&amp;gt; or any FTP client such as &amp;lt;tt&amp;gt;lftp&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;ncftp&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
An example &amp;lt;tt&amp;gt;scp&amp;lt;/tt&amp;gt; command might look like:&lt;br /&gt;
 scp -r /tmp/pgv user@host:/hosting/site/phpgedview/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Language links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[de:Installations Guide]]&lt;br /&gt;
[[Fr: Comment disposer en permanence de la dernière version à jour du logiciel PhpGedView ?]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SVN]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Media_Firewall&amp;diff=12104</id>
		<title>Media Firewall</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Media_Firewall&amp;diff=12104"/>
		<updated>2010-05-16T16:20:17Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Log entries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Feature&lt;br /&gt;
 | name                   = [[Media Firewall]]&lt;br /&gt;
 | author                 = [[User:Ljm]]&lt;br /&gt;
 | introduced in version  = [[4.1.2]],&lt;br /&gt;
[http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/branches/phpGedView-4.2/mediafirewall.php?revision=1376&amp;amp;view=markup Revision 1376]&lt;br /&gt;
 | introduced in date     = [[3 August]], [[2007]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The Media Firewall (see [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1749817&amp;amp;group_id=55456&amp;amp;atid=477081 1749817]) and watermarking (see [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1739602&amp;amp;group_id=55456&amp;amp;atid=477081 477081]) features were released in phpGedView 4.1.2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== High-level overview: ==&lt;br /&gt;
&lt;br /&gt;
The Media Firewall does several things to protect your media items:&lt;br /&gt;
&lt;br /&gt;
First and foremost, it enforces your PGV privacy settings.  Without the Media Firewall, PGV can &amp;quot;hide&amp;quot; the urls to your private media items, but if someone figures out the right urls they can easily view them.  The Media Firewall enforces your PGV privacy settings, ensuring that nobody can view your confidential images.&lt;br /&gt;
&lt;br /&gt;
Second, the Media Firewall can watermark your images to make it harder for someone to take and post them on another site.  You can choose to watermark images for only certain user types, if you wish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Media Firewall is able to do this when you move your sensitive images out of the standard web-accessible media directory into the protected media directory.  When someone tries to view an image that no longer exists in the web-accessible directory, a 404 error occurs and the Media Firewall is activated.  It decides whether to:&lt;br /&gt;
* show the image or not, based on who is trying to view it and what the privacy settings for the image are&lt;br /&gt;
* watermark the image, based on user type&lt;br /&gt;
&lt;br /&gt;
The path used to view images from the web does not change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are four steps to using the Media Firewall:&lt;br /&gt;
&lt;br /&gt;
1) Configure your site&lt;br /&gt;
2) Move your images to the protected directory&lt;br /&gt;
3) Tell PGV which images need to be protected&lt;br /&gt;
4) Test it&lt;br /&gt;
&lt;br /&gt;
== Configure your site ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* You will probably want to move your index directory out of the web root.  Fully test this before enabling the media firewall.&lt;br /&gt;
* Make sure your $MEDIA_DIRECTORY setting does not have &amp;quot;../&amp;quot; in it.  The media firewall does not support this; it causes problems with sessions since you would have to run scripts outside of the /phpGedView/ directory.&lt;br /&gt;
&lt;br /&gt;
Note: Except as noted above, DO NOT CHANGE your MEDIA_DIRECTORY setting.  If it used to say &amp;quot;media/&amp;quot; it should still say &amp;quot;media/&amp;quot; after the media firewall is enabled.&lt;br /&gt;
&lt;br /&gt;
=== Configure the Media Firewall Root Directory ===&lt;br /&gt;
&lt;br /&gt;
By default, your protected media directory will be placed in your $INDEX_DIRECTORY.  If you want to move it elsewhere, specify the directory here:&lt;br /&gt;
&lt;br /&gt;
* Choose Manage GEDCOMs and edit Privacy&lt;br /&gt;
* EDIT the Configuration file&lt;br /&gt;
* Expand the MULTIMEDIA category, then expand the MEDIA FIREWALL category&lt;br /&gt;
* Enter the path in the &amp;quot;Media Firewall Root Directory&amp;quot; area.&lt;br /&gt;
&lt;br /&gt;
The primary reason to place it somewhere else is to allow multiple installations of PhpGedView to share the same media files.&lt;br /&gt;
&lt;br /&gt;
Be sure to use the same &amp;quot;Media Firewall Root Directory&amp;quot; for all GEDCOMs on your site.&lt;br /&gt;
&lt;br /&gt;
If you specify a custom path, you will need to create the $MEDIA_DIRECTORY at that location and make sure it is world-writable.  For example, if your setttings are &lt;br /&gt;
 MEDIA_FIREWALL_ROOTDIR : /user/somedir/&lt;br /&gt;
 MEDIA_DIRECTORY        : media/&lt;br /&gt;
then you need to create this directory and make it world-writable:&lt;br /&gt;
  /user/somedir/media/&lt;br /&gt;
If your settings are &lt;br /&gt;
 INDEX_DIRECTORY        : /safe/place/index&lt;br /&gt;
 MEDIA_FIREWALL_ROOTDIR : blank&lt;br /&gt;
 MEDIA_DIRECTORY        : my_stuff/&lt;br /&gt;
then PGV will create this directory:&lt;br /&gt;
  /safe/place/index/my_stuff/&lt;br /&gt;
to hold your media.&lt;br /&gt;
&lt;br /&gt;
=== Enable the media firewall ===&lt;br /&gt;
&lt;br /&gt;
* Choose Manage GEDCOMs and edit Privacy&lt;br /&gt;
* EDIT the Configuration file&lt;br /&gt;
* Expand the MULTIMEDIA category, then expand the MEDIA FIREWALL category&lt;br /&gt;
* Set &amp;quot;Use Media Firewall&amp;quot; to YES&lt;br /&gt;
&lt;br /&gt;
You should do this for every GEDCOM on your site.  If you share a file between GEDCOMs and that file is in the protected directory, it will only display for the GEDCOMs which have the Media Firewall enabled.&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
If your site is hosted on Apache, PGV will automatically create an .htaccess file in your media directory that intercepts 404 errors and sends them to the media firewall script.&lt;br /&gt;
&lt;br /&gt;
==== IIS ====&lt;br /&gt;
Note: IIS Support was added in PhpGedView 4.1.3 (currently in SVN only)&lt;br /&gt;
&lt;br /&gt;
If your site is hosted on IIS, you will need to redirect &amp;quot;HTTP 404 – File not found&amp;quot; errors for your standard media directory to the &amp;quot;mediafirewall.php&amp;quot; script in your root phpGedView directory. This requires altering the &amp;quot;Custom Errors&amp;quot; IIS configuration for your website. See [[http://support.microsoft.com/kb/302570 http://support.microsoft.com/kb/302570]] for details. If your phpGedView root directory is your website root, the correct 404 error redirection settings for your standard media directory are:&lt;br /&gt;
  404 URL /mediafirewall.php&lt;br /&gt;
Note that this step requires administrator access to your website host, so you may need to have your hosting service implement it for you.  At least one user has successfully configured IIS in this way.&lt;br /&gt;
&lt;br /&gt;
=== Decide whether to protect thumbnails ===&lt;br /&gt;
&lt;br /&gt;
By default, thumbnails are not stored in the protected media directory.  If you want to protect thumbnails:&lt;br /&gt;
&lt;br /&gt;
* Choose Manage GEDCOMs and edit Privacy&lt;br /&gt;
* EDIT the Configuration file&lt;br /&gt;
* Expand the MULTIMEDIA category, then expand the MEDIA FIREWALL category&lt;br /&gt;
* Set &amp;quot;Protect Thumbnails of Protected Images&amp;quot; to YES&lt;br /&gt;
&lt;br /&gt;
=== Enable watermarking ===&lt;br /&gt;
&lt;br /&gt;
* Choose Manage GEDCOMs and edit Privacy&lt;br /&gt;
* EDIT the Configuration file&lt;br /&gt;
* Expand the MULTIMEDIA category, then expand the MEDIA FIREWALL category&lt;br /&gt;
* Set &amp;quot;Who can view non-watermarked images?&amp;quot; to &amp;quot;Show only to Authenticated users&amp;quot; or higher.&lt;br /&gt;
&lt;br /&gt;
You can also set the following options:&lt;br /&gt;
* Add watermarks to thumbnails?  Y/N (Your media lists will load faster if you don't watermark the thumbnails.)  Note:  Thumbnails must be in the protected image directory in order to be watermarked.  To put thumbnails there automatically, set &amp;quot;Protect Thumbnails of Protected Images&amp;quot; to YES (see previous entry)&lt;br /&gt;
&lt;br /&gt;
* Store watermarked thumbnails on server Y/N (Storing a watermarked copy of thumbnails shouldn't take too much space, and is the best way to speed up media lists while retaining the watermarks.)&lt;br /&gt;
&lt;br /&gt;
* Store watermarked full size images on server Y/N (For people who have plenty of disk space, this will save time generating the watermarked image.)&lt;br /&gt;
&lt;br /&gt;
== Move your images to the protected directory ==&lt;br /&gt;
&lt;br /&gt;
You can protect some/all/none of your images behind the media firewall.&lt;br /&gt;
&lt;br /&gt;
Decide which images you want to protect, and move them from the /phpGedView/media/ directory into your MEDIA_FIREWALL_ROOTDIR/media/ directory.  &lt;br /&gt;
&lt;br /&gt;
You can either do this yourself manually or you can use phpGedView/media.php to select and move images to/from the protected directory.&lt;br /&gt;
&lt;br /&gt;
=== Move the images manually ===&lt;br /&gt;
&lt;br /&gt;
Keep the entire path to your images the same, for instance:&lt;br /&gt;
  /phpGedView/media/dir1/dir2/file.jpg&lt;br /&gt;
becomes:&lt;br /&gt;
  index/media/dir1/dir2/file.jpg&lt;br /&gt;
&lt;br /&gt;
If you want to protect the thumbnail of the image, be sure to move it as well.  For example:&lt;br /&gt;
  /phpGedView/media/thumbs/dir1/dir2/file.jpg&lt;br /&gt;
becomes:&lt;br /&gt;
  index/media/thumbs/dir1/dir2/file.jpg&lt;br /&gt;
&lt;br /&gt;
Be sure you MOVE the files.  If you keep the files in your normal media directory, a 404 error will not occur and the media firewall will have no effect.&lt;br /&gt;
&lt;br /&gt;
In case it isn't clear, note that you WILL still have a /phpGedView/media/ directory and it must remain world-writable.  At a minimum, it will contain the .htaccess file that enables the media firewall to work.&lt;br /&gt;
&lt;br /&gt;
=== Allow phpGedView to move the images ===&lt;br /&gt;
&lt;br /&gt;
Visit the /phpGedView/media.php file on your site (you must have editing enabled in order to do this).  You can move individual files by clicking the &amp;quot;Move to standard directory&amp;quot; or &amp;quot;Move to protected directory&amp;quot; links.   You can move entire directories (and subdirectories) by clicking the &amp;quot;Move Standard&amp;quot; or &amp;quot;Move Protected&amp;quot; buttons.  Thumbnails will be moved to the protected directory as well if you have set &amp;quot;Protect Thumbnails of Protected Images&amp;quot; to YES.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: All images you move to the protected directory will benefit from the watermarking feature.  However, if you want only certain people to be able to view the images you must also perform the next step.&lt;br /&gt;
&lt;br /&gt;
== Tell PGV which images need to be protected ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are several ways to tell PGV which images are sensitive:&lt;br /&gt;
&lt;br /&gt;
=== Link the image to a private individual ===&lt;br /&gt;
&lt;br /&gt;
If you link the image to a private individual (such as a living person), then the image is considered private.&lt;br /&gt;
&lt;br /&gt;
Question: Are there any Admin settings which affect this?  Or does it always work this way?&lt;br /&gt;
&lt;br /&gt;
=== Link the image to a private source ===&lt;br /&gt;
&lt;br /&gt;
If you link the image to a private source, then the image is considered private.&lt;br /&gt;
&lt;br /&gt;
There are at least a couple of ways to make a source private:&lt;br /&gt;
&lt;br /&gt;
# Use the Privacy Settings by ID functionality (described below for media items, same technique for sources)&lt;br /&gt;
# Link the source to a private repository&lt;br /&gt;
#* Use the Privacy Settings by ID functionality to make a repository private&lt;br /&gt;
# Make all sources private:&lt;br /&gt;
#* Choose Manage GEDCOMs and edit Privacy&lt;br /&gt;
#* EDIT the Privacy file&lt;br /&gt;
#* Modify the &amp;quot;Show sources&amp;quot; dropdown&lt;br /&gt;
&lt;br /&gt;
=== Use the Privacy Settings by ID functionality: ===&lt;br /&gt;
&lt;br /&gt;
* Choose Manage GEDCOMs and edit Privacy&lt;br /&gt;
* EDIT the Privacy file&lt;br /&gt;
* Choose &amp;quot;Privacy Settings by ID&amp;quot;&lt;br /&gt;
* Lookup the media which needs to be protected and choose the appropriate authentication level&lt;br /&gt;
&lt;br /&gt;
=== Use the RESN Privacy functionality: ===&lt;br /&gt;
&lt;br /&gt;
First, make sure RESN Privacy is enabled:&lt;br /&gt;
&lt;br /&gt;
* Choose Manage GEDCOMs and edit Privacy&lt;br /&gt;
* EDIT the Privacy File&lt;br /&gt;
* Set &amp;quot;Use GEDCOM (RESN) Privacy restriction&amp;quot; to YES&lt;br /&gt;
&lt;br /&gt;
Then (assuming editing is enabled), go to the medialist and choose EDIT DETAILS for the image you wish to protect.  Expand the RESTRICTION option at the bottom of the form and select PRIVACY or CONFIDENTIAL.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
Note: You must remember to move each file you wish to protect to the index directory.  If you fail to move the files, a 404 will not occur and the Media Firewall will not get the chance to activate.&lt;br /&gt;
&lt;br /&gt;
Question: Are there any other media-related privacy options in PGV?&lt;br /&gt;
&lt;br /&gt;
== Test it ==&lt;br /&gt;
&lt;br /&gt;
First, go to the medialist as an admin and verify that you can view a private image.  Copy the direct url to the image and save it to your clipboard.&lt;br /&gt;
&lt;br /&gt;
Logout and try viewing the image as an non-authenticated user.  If you moved the image to the correct directory and set your privacy settings appropriately, you will not be able to see the image.&lt;br /&gt;
&lt;br /&gt;
== About Watermarking ==&lt;br /&gt;
&lt;br /&gt;
The media firewall auto-detects the capabilities of your server, and will apply a large diagonal text watermark to your image if your system supports it.&lt;br /&gt;
&lt;br /&gt;
The requirements for this type of watermarking are: PHP compiled with GD and FreeType support.&lt;br /&gt;
&lt;br /&gt;
If your system does not support this, the media firewall will add basic some horizontal text watermarks to your images.  On large images, these are barely visible.  Try to get your host to support GD and FreeType if at all possible.&lt;br /&gt;
&lt;br /&gt;
If you see a mixture, where some images have the nice watermarking, some have the fallback watermarking and some are not watermarked at all, check your PGV log as described below.  Some of your images are probably corrupt.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Strange Behavior ===&lt;br /&gt;
&lt;br /&gt;
If the standard PGV image viewer shows an all-black image, or if the Album says &amp;quot;Unable to open image&amp;quot;, check your PGV log file as described below.  The image is probably broken.&lt;br /&gt;
&lt;br /&gt;
If you don't see any errors in your log file, try viewing one of the images directly (not through the album or image viewer).  In other words, visit the url directly:&lt;br /&gt;
  www.yoursite.com/phpGedView/media/path/image.jpg&lt;br /&gt;
Note any error messages you see (IE tends to show these errors better than Firefox).  If the errors you see are not described on this page, please post a note to the [http://sourceforge.net/forum/forum.php?forum_id=185166 Help Forum].&lt;br /&gt;
&lt;br /&gt;
=== Error Messages ===&lt;br /&gt;
&lt;br /&gt;
==== 404 Not Found ====&lt;br /&gt;
&lt;br /&gt;
When you enable the media firewall, it adds an .htaccess file to your /phpGedView/media/ directory.  This is all that is needed on most Apache-based systems.  If you are getting a 404 error from Apache you need to contact your host and ask them to add &amp;quot;AllowOverride FileInfo&amp;quot; to your site configuration.  See [http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride]&lt;br /&gt;
&lt;br /&gt;
If you are not using Apache you will need to configure your system to detect 404 errors from the /phpGedView/media/ directory and have them processed by the /phpGedView/mediafirewall.php script.&lt;br /&gt;
&lt;br /&gt;
==== No Media Found ====&lt;br /&gt;
&lt;br /&gt;
The requested file was not found in the protected image directory (by inference, it is also not in the standard image directory)&lt;br /&gt;
&lt;br /&gt;
==== Privacy restrictions prevent you from viewing this item ====&lt;br /&gt;
&lt;br /&gt;
This could be one of two things:&lt;br /&gt;
&lt;br /&gt;
1) The requested file does exist in the protected media directory but it is not attached to a GEDCOM record.  The media firewall assumes this is a sensitive image and only allows admin users and editors to view it.&lt;br /&gt;
&lt;br /&gt;
2) The requested file does exist in the protected media directory, but PGV privacy rules do not allow the current user to view it.&lt;br /&gt;
&lt;br /&gt;
==== Error: The Media Firewall was launched from a directory other than the media directory. ====&lt;br /&gt;
&lt;br /&gt;
Your server should only send 404 errors from the /phpGedView/media/ directory to the media firewall.  This error means your server is sending 404 errors from other directories to the media firewall as well.  This will most likely happen if you mis-configure IIS.&lt;br /&gt;
&lt;br /&gt;
=== Log entries ===&lt;br /&gt;
&lt;br /&gt;
You should occasionally check your log file for error messages relating to the Media Firewall:&lt;br /&gt;
* Go to the admin page&lt;br /&gt;
* Choose View Log Files&lt;br /&gt;
&lt;br /&gt;
Any message which starts with &amp;quot;Media Firewall error&amp;quot; should be investigated as described below.&lt;br /&gt;
&lt;br /&gt;
==== Media Firewall error: &amp;gt;Unknown Mimetype&amp;lt; for file &amp;gt;FILENAMEHERE&amp;lt; ====&lt;br /&gt;
&lt;br /&gt;
If you see this, please open a support ticket asking to have the media firewall to support your media type.  Please put the full error message into the ticket.&lt;br /&gt;
&lt;br /&gt;
==== Media Firewall error: &amp;gt;This media file is broken and unable to be watermarked&amp;lt; in file &amp;gt;FILENAMEHERE&amp;lt; (FILESIZE) ====&lt;br /&gt;
&lt;br /&gt;
This indicates there is a problem with a particular media file.  Try opening the file in your favorite image processing software and save out a new version.&lt;br /&gt;
&lt;br /&gt;
Note that the media firewall will be unable to add watermarks to this file until you upload a new version.&lt;br /&gt;
&lt;br /&gt;
==== Media Firewall error: &amp;gt;imagettftext() [&amp;lt;a href='function.imagettftext'&amp;gt;function.imagettftext&amp;lt;/a&amp;gt;]: Could not find/open font&amp;lt; in file &amp;gt;FILENAMEHERE&amp;lt; (FILESIZE) ====&lt;br /&gt;
&lt;br /&gt;
If you see this error on ALL your images, and you only see the fallback style of watermarking (horizontal text), please post a note to the [http://sourceforge.net/forum/forum.php?forum_id=185166 Help forum].&lt;br /&gt;
&lt;br /&gt;
If this error happens only on some of your images, try opening them in your favorite image processing software and saving out a new version.  It may? help to reduce the file size of these image.  We are not really sure what causes this, but we have seen it happen.&lt;br /&gt;
&lt;br /&gt;
=== Reminders ===&lt;br /&gt;
&lt;br /&gt;
If you have multiple gedcoms, make sure you set &amp;quot;Use Media Firewall&amp;quot; and &amp;quot;Media Firewall Root Directory&amp;quot;  to the same thing for all Gedcoms.&lt;br /&gt;
&lt;br /&gt;
Note: The media firewall does cache your images.  You may need to CTRL-R refresh to force your browser to bypass the cache.  If that doesn't help, clear your browser cache entirely.&lt;br /&gt;
&lt;br /&gt;
=== Getting Help ===&lt;br /&gt;
&lt;br /&gt;
If you need help, please post a question in the [http://sourceforge.net/forum/forum.php?forum_id=185166 help forum] with the following information about your configuration:&lt;br /&gt;
&lt;br /&gt;
* Multimedia Directory: &lt;br /&gt;
* Use Media Firewall: &lt;br /&gt;
* Media Firewall Root Directory:&lt;br /&gt;
* Protect Thumbnails of Protected Images: &lt;br /&gt;
* Who can view non-watermarked images: &lt;br /&gt;
* Add watermarks to thumbnails: &lt;br /&gt;
* Store watermarked thumbnails on server: &lt;br /&gt;
* Store watermarked full size images on server: &lt;br /&gt;
&lt;br /&gt;
Please provide urls to your site if at all possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When describing the problem, please provide details about what page you were on and what error messages you received.  Also specify whether you did this while logged in or not.&lt;br /&gt;
&lt;br /&gt;
Try viewing an image file directly, bypassing the mediaviewer, lightbox, etc.  For instance:&lt;br /&gt;
  www.domain.com/phpGedView/media/path/image.jpg&lt;br /&gt;
Try it as an authenticated user and as a regular user and let us know what happened.  Don't forget to CTRL-R refresh after logging out.&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Users_Guide&amp;diff=12100</id>
		<title>Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Users_Guide&amp;diff=12100"/>
		<updated>2010-05-16T16:11:12Z</updated>

		<summary type="html">&lt;p&gt;Momse: /* Privacy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Phpgedview}}&lt;br /&gt;
&lt;br /&gt;
This '''Users Guide''' is intended to introduce novices to [[PhpGedView]] (or '''PGV''' for short) so they get comfortable using the program on a day-to-day or more occasional basis for their genealogical research. The Guide aims to provide information about how to use PhpGedView from the basics to some more advanced features.  Most importantly, it serves to gently introduce the processes and steps to accomplish specific tasks.  More a tutorial and overview than reference manual.&lt;br /&gt;
&lt;br /&gt;
This guide is aimed at researchers and editors and not the casual public visitor who does not login nor the administrator who is managing more advanced capabilities. Some features of PhpGedView can only be modified by the site administrator and are detailed in the [[Administrators Guide]].  Online help via the many question mark symbols (insert symbol here yet) can aid the casual visitor as well as novice user to navigate the program.&lt;br /&gt;
&lt;br /&gt;
We start with a Quick Start Guide and overview, followed by more detailed User Tutorials and procedures.&lt;br /&gt;
&lt;br /&gt;
== Quick Start Guide ==&lt;br /&gt;
Provided here is a brief overview to get the new [[PhpGedView]] user off to a flying start. At the top of each main heading is a link to more detail for that step.  For those who are experienced with similar software, skip directly to the detail in the link.  For users new to PGV and genealogy programs in general, read through the quick start completely before jumping down the rabbit hole of links.  This to first get an overall feel of important points about the setup and flow.  Once done, then go back through and hit the detailed pages to get a step by step introduction of how to do a specific task.&lt;br /&gt;
&lt;br /&gt;
=== Starting a New Tree / GEDCOM ===&lt;br /&gt;
{{main|Starting a New Tree}}&lt;br /&gt;
What layman call a '''Family Tree''' is often termed a &amp;quot;[[GEDCOM]]&amp;quot; or Genealogical Database in [[PGV]] and to genealogists.  Each '''Family Tree''' or database in a PGV installation is stored in its own GEDCOM file. A tree is possibly misleading and represents a myopic view of the relations of people over generations from one persons perspective.  Like a banyon tree, as soon as there is a large enough group of people each with their own view, it is no longer easy to determine a starting trunk or source.  It is a dense forest of interconnections.  Hence database, web or mesh of individuals is a more correct term overall to represent what you are creating here.  But the terms are used interchangeably in this guide and often the software to help ease the casual user into using the system.&lt;br /&gt;
&lt;br /&gt;
You can either start from scratch or import work done previously in another program.  Those with experience in some other genealogy program can often export the data from there into a GEDCOM file.  Once available, the work can then be imported into PGV to start where you left off.  Similarly, the PGV can be archived or exported to a GEDCOM file for loading into some other program elsewhere.  Just remember that the GEDCOM file captures the facts but only hints at links to media.  A user has to separately handle media files that may have been attached. Otherwise, if starting from scratch, the administrator will have to start a new GEDCOM to allow a new tree.  Once available, you can begin entering new data on people, places and families.  See the main article on how to perform these tasks.&lt;br /&gt;
&lt;br /&gt;
Once you have a tree or database, you have to start adding or editing information.  Information in PGV and GEDCOMs in general revolves around two major objects: '''Individuals''' (or People) and '''Families'''.  Additional supporting objects are '''Place Hierarchy''', '''Media''', '''Sources''' and '''Repositories'''.  To remind yourself of these objects later, look under the main '''Lists''' pull down menu in PGV.  &lt;br /&gt;
&lt;br /&gt;
Important secondary facts associated with most objects or facts are dates and places.  Just realize there is a lot of freedom and flexibility in what you enter.  But the more precise and following of conventions, the better the program can automatically process the data for you.  So later on click through the links on these two important facts to learn these important conventions.&lt;br /&gt;
&lt;br /&gt;
=== People and Families ===&lt;br /&gt;
Most genealogical software, as does [[PGV]], strive to avoid islands of disconnected people in the database.  Therefore, you are restricted to adding people who are related to people already in your database.  Further, the connections between people are made inside and through a '''Family'''.  People become related by how they relate inside a Family.  Some term this the immediate family.  In [[PGV]], they are known as '''Close Relatives''' as there are usually two and sometimes more immediate families an Individual may be a part of.&lt;br /&gt;
&lt;br /&gt;
Most people become part of two families in their lifetime.  A child in their parents family and, when they marry and have children, as a parent of their own family.  Philanders and others may create many more families, whether intentional or not.  Note that the concept of a family is not the same as a household.  In databases such as these, there is a historical focus on biological relationships with a more recent one of legal relationship through adoption or religious connection available as well.  So unless adopted, a young child raised by a step-parent will never appear associated with or in the same family as the step-parent.  Something to keep in mind when recording individuals, families and their relationships.&lt;br /&gt;
&lt;br /&gt;
=== Adding/Editing People and Families ===&lt;br /&gt;
{{main|Editing People|Editing Families}}&lt;br /&gt;
&lt;br /&gt;
To add a new person, add a close relative to an existing person in the family tree. Generally one adds a spouse, father, mother, or child. A new person can be added in the '''Close Relatives''' tab on the '''Individuals''' screen, or from a '''Family''' screen by clicking to add a child, husband or wife.  Adding a child, father, mother or spouse will create the new family if it did not exist already.  This because the relationship has to be created when adding the new person and a relationship only exists within a family.  &lt;br /&gt;
&lt;br /&gt;
Adding a new spouse will create a new family with the two individuals as parents.  A problem arises when trying to add a new sibling before the family exists.  It takes a spousal or parent-child relationship to create the family.  So even if nothing is known about either parent, one must create at least one parent first to add a sibling.  In such cases, create the parent with &amp;quot;Unknown&amp;quot; as their first and last name as a place holder.  Later on, the parent can be edited to correct information when known.  &lt;br /&gt;
&lt;br /&gt;
There is a distinction between adding someone NEW versus making a link to someone who already exists in the database.  Most often you are adding new but occassionaly you may need to link to an existing person.  The need arises when distant cousins marry or siblings in one family marry different siblings in another family.  &lt;br /&gt;
&lt;br /&gt;
See the main page on [[Editing People]] or [[Editing Families]] for specifics on each form to add a new or link to an existing Individual.&lt;br /&gt;
&lt;br /&gt;
Rarely there is a need to add an unlinked person first, for example, if you are working on a separate branch that might eventually get connected. While possible, it is purposely inconvenient, requires Administrative privileges, and can only be done from inside the Administrator screen (see [[Add an unlinked person]]).&lt;br /&gt;
&lt;br /&gt;
When you add a new Individual, you will have the chance to fill in a lot of information.  Do not get too worried, just add what you know.  You can always edit or add more information later.  &lt;br /&gt;
&lt;br /&gt;
To help with consistency and aid the user, some fields may be filled in for you.  Like the last name of a child in a family, or the gender if you selected&lt;br /&gt;
&amp;quot;Add a son&amp;quot;, &amp;quot;Add a daughter&amp;quot; or the like.  But you can change any of the information even if pre-filled in. You can also leave blank any information that is not known.&lt;br /&gt;
&lt;br /&gt;
Generally, a person is minimally defined by their name.  Often the gender and maybe one basic event of their life is known as well.  The three basic events are:&lt;br /&gt;
*Birth&lt;br /&gt;
*Marriage&lt;br /&gt;
*Death&lt;br /&gt;
Note that to add a marriage, you have to add a spouse. The marriage even is actually stored with the family and not the individuals.&lt;br /&gt;
&lt;br /&gt;
Having finished one person, you can proceed to the next person in the family. However, it is likely that you have more [[Facts and Events|Facts and Events]] on the life of the person, like place of residence, religion, education, etc. You can add this data now as well or come back and do it later.&lt;br /&gt;
&lt;br /&gt;
A [[Editing Families|Family]] is created automatically when you add a spouse, parent or child. Just as with an individual, you can add facts, events, and multimedia to the family.  Such information will be displayed in the Family screen and with each spouse.  A key fact with any family is the Marriage.  Another might be a census giving the family members, occupation, and residence.  Note that you can add a Marriage when in the Individuals screen.  But that fact is actually stored with the family.  Something to keep in mind when wondering why your edit disappeared after saving (because it appears staged as an edit waiting for approval with the family and not the individual).&lt;br /&gt;
&lt;br /&gt;
* ''See also:'' a FAQ entry on [[Creating relationships]]&lt;br /&gt;
&lt;br /&gt;
===Adding Sources and Repositories===&lt;br /&gt;
{{main|Proper use of sources}}&lt;br /&gt;
As you become more accomplished, you will appreciate the concept of sources.  Every fact in the database can be attributed with a link to where you got that information from along with the details in the source reference.  The name, birth, death and so on are all facts that can be sourced from many places. If you can, get in the habit of ALWAYS adding a source to every fact, event or even name and Individual.  Many a time you come back six months later, see something that now seems incorrect, but wonder where you got that notion from.  Genealogy is more a constant refining process where you develop better and better educated guesses until you feel you have overwhelming evidence to support just one answer.  This happens with every fact -- the name, birth date, birth place and so on.  So while it may appear as a tedious task, adding sources pays later.&lt;br /&gt;
&lt;br /&gt;
You can add a source in the ''Sources'' tab on the individual display, and on virtually every fact and object editing screen - whether you are adding or editing new people, events, multimedia etc. The 'Sources' tab is appropriate for sources of a general nature relating to the person. If the source applies to the specific fact, event, image etc, it is better to note the source there.  And it is just fine to create a use a source that simply identifies it as an attestation by a specific individual.  At least you know where it came from in case you need to reconfirm later or decide which source wins out when conflicting.&lt;br /&gt;
&lt;br /&gt;
Sources can be linked to a repository as well.  So the source may be your family bible while the repository is a particular household or family that holds the bible.  Or the source may be a particular book and the repository a library where you found the book.  Get in the habit of listing the repository as well, even if your own collection.  Like sources attached to facts, you will not remember later on where you had seen that important document you forgot to make a photo copy of. Leave a breadcrumb to find that trail later.&lt;br /&gt;
&lt;br /&gt;
===Adding Multimedia===&lt;br /&gt;
{{main|Adding / Editing Media}}&lt;br /&gt;
You can illustrate your family data with a rich selection of Multimedia: images, voice and video, documents, webpages and other illustrative and documentary material. You can illustrate your sources with images of original documents, and include the complete works - stories, memoirs, biographies, as well as links to external sources and pages.&lt;br /&gt;
&lt;br /&gt;
===Enriching the viewing experience===&lt;br /&gt;
&lt;br /&gt;
After entering a number of people in the family, it is time to think of enriching the viewer's experience. There are many items that make viewing the family tree more enjoyable:&lt;br /&gt;
 &lt;br /&gt;
* Maps - GoogleMap module allows you to display locations for all events in person's life.&lt;br /&gt;
* News (the Welcome Page has forms for adding news about family etc.)&lt;br /&gt;
* Message Forum – an add-on module for a on-line forum&lt;br /&gt;
&lt;br /&gt;
==The User Functions==&lt;br /&gt;
Once you have some data in your family tree, you are ready to show them to the users. This section desribes the basic operations the user - either visitor or registered user - can do to find what she wants on the PGV page. The PGV page should be mostly self-explanatory, but there is a lot of functionality under the hood. The user will want to '''Navigate''' the tree to find the information she is interested in, to '''Search''' if navigation does not get her there, and possibly to '''Get data''' - either as a printed report/page to show somebody without a computer, or possibly in an electronic form. &lt;br /&gt;
&lt;br /&gt;
===Navigate===&lt;br /&gt;
PGV has a very powerful navigation functions, which allow you to move easily between different persons, families and branches of the Family Tree. You can start with a Person, and navigate using this person nearest relatives, a chart of descendants, a chart of ancestors or a chart that includes both. PGV also extensively uses Lists, which are &amp;quot;live&amp;quot;, allowing you to filter, sort, select and jump to another list. &lt;br /&gt;
&lt;br /&gt;
The ''Charts'' and ''Lists'' appear twice on the user interface: in the Top menu, and repeated for the Individual. The Top menu Charts by default start with the designated [[Pedigree Chart Root Person| root person of the family tree]], configurable for each registered user. The Individual menu charts start with the individual. The Top menu lists are global, the Individual menu lists start with the individual or his family. &lt;br /&gt;
&lt;br /&gt;
The genealogy data is often represented as a tree, but one can construct two very different trees, each with an individual at its root. The '''Ancestry tree''' shows  the individual and two parents, four grandparents, eight great-grandparents, sixteen great-great-grandparents etc. The '''Descendancy tree''' shows an individual, all his/her children, all grandchildren etc.  &lt;br /&gt;
&lt;br /&gt;
====Charts====&lt;br /&gt;
&lt;br /&gt;
[[Charts]] can be used as excellent navigation tools, with many options. Start with the '''Hourglass''' chart, which combines the ''Ancestry'' with ''Descendancy'' views, centered around you or the chosen individual. This gives you the nearest family neighborhood, with more people than the Close Relatives tab. The '''Pedigree''' chart extends towards the ancestors, and is similar to the '''Ancestry''' chart except for the layout. The '''Descendancy''' chart has the same layout as ''Ancestry'' but extends towards individual's descendants. The '''Family Book''' chart displays descendant families, each arranged in an ''Hourglass'' layout. You can achieve similar effect of displaying separate families in the ''Ancestry'' and ''Descendancy'' charts by selecting the &amp;quot;Booklet&amp;quot; option. The '''Relationship''' chart shows all individuals on the way between two individuals; The Relationship charts from the individual to the user favorites are pre-defined.[[image:Sub_Diagrams.png|frame|right|Example sub-menu]]&lt;br /&gt;
&lt;br /&gt;
All those ''standard'' charts have common navigation tools. The Zoom  [[image:Zoom.png]]  icon expands the individual box, showing his/her life details. The Link to charts  &amp;amp;nbsp;[[image:Link_to_charts.png]]&amp;amp;nbsp;  icon shows a sub-menu of various charts for the individual and related persons, and the Arrow  [[image:Arrow.png]] pointing in different directions moves the display in the direction indicated, and in some contexts also displays a submenu if the destination is ambiguous. A plus or minus sign [[image:PlusMinus.png]] expands or contract parts of the tree.&lt;br /&gt;
&lt;br /&gt;
Other diagrams present the data in different graphic formats. The '''Circle''' diagram gives a snapshot of several generations of ancestors, with individual in the center. The '''Compact''' chart crams the individual and his/her ancestors up to great great grandparents (with optional images) in one compact page. There are two diagrams showing people and events as they develop in time. The '''Timeline''' chart shows all ''events'' of one (or more) individuals on a timeline. The '''Lifespan''' chart compares multiple ''individuals'', with their events shown with small markers. Once selected, you can switch between those two views. In each diagram you can also navigate to the individual by clicking his/her name.&lt;br /&gt;
&lt;br /&gt;
A summary of available charts:&lt;br /&gt;
&lt;br /&gt;
* Ancestry tree&lt;br /&gt;
:* [[Ancestry Chart]]&lt;br /&gt;
:* [[Pedigree Chart]]&lt;br /&gt;
:* [[Circle Diagram]]&lt;br /&gt;
:* Compact Chart&lt;br /&gt;
*Descendancy tree&lt;br /&gt;
:* [[Descendancy Chart]]&lt;br /&gt;
:* [[Family Book Chart]]&lt;br /&gt;
*Combined Ancestry and Descendancy tree&lt;br /&gt;
:*[[Hourglass Chart]]&lt;br /&gt;
:*[[Interactive Tree]]&lt;br /&gt;
* Single line joining two individuals&lt;br /&gt;
:* [[Relationship Chart]]&lt;br /&gt;
* Time span&lt;br /&gt;
:* [[Timeline Chart]]&lt;br /&gt;
:* [[Lifespan Chart]]&lt;br /&gt;
&lt;br /&gt;
====Lists====&lt;br /&gt;
&lt;br /&gt;
[[Lists]], like charts, can also be used as live navigation tools. Lists, especially lists of people and families,  show up in multiple locations, and almost all lists are connected. For example, viewing a list of people, you can click on the place name, which will bring you to the place hierarchy display with people and families related to this place; if you click at the date, you will be brought to the anniversary calendar with lists of events that occurred on this date (month, year, etc.). all list have column headers that can be clicked to sort the rows alphabetically; the people list have additional options to sort by first name, and to add parents.&lt;br /&gt;
&lt;br /&gt;
=====People and families=====&lt;br /&gt;
Lists of people and families are displayed in many places: when the &amp;quot;[[Family List]]&amp;quot; and &amp;quot;[[Individual List]]&amp;quot; menu items are selected; as a result of a search; in the &amp;quot;On This Day&amp;quot; and &amp;quot;Upcoming Events&amp;quot; boxes; as lists of people and families linked to a particular Source or Media object; as lists of people and families related to the selected Place location etc.&lt;br /&gt;
People lists share the header that allows you to filter and select people based on a range of criteria:&lt;br /&gt;
[[image:Indi_List.png|frame|center]]&lt;br /&gt;
[[image:Fam_List.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
!width=&amp;quot;33%&amp;quot;|&lt;br /&gt;
!width=&amp;quot;33%&amp;quot;|&lt;br /&gt;
!width=&amp;quot;33%&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|Males&amp;lt;br/&amp;gt;Females&amp;lt;br/&amp;gt;Persons whose gender is unknown&amp;lt;br/&amp;gt;Alive in specified year&amp;lt;br/&amp;gt;Alive (individual or both) &amp;lt;br/&amp;gt;Dead (individual or both)&amp;lt;br/&amp;gt;People born more than 100 years ago&lt;br /&gt;
|People born within last 100 years &amp;lt;br/&amp;gt;People who died over 100 years ago &amp;lt;br/&amp;gt;People who died within last 100 years &amp;lt;br/&amp;gt;Couples both alive &amp;lt;br/&amp;gt;Couples where only male is alive &amp;lt;br/&amp;gt;Couples where only female is alive &amp;lt;br/&amp;gt;Couples where both partners are deceased&lt;br /&gt;
|Couples with unknown marriage date &amp;lt;br/&amp;gt;Divorced couples &amp;lt;br/&amp;gt;Roots: people who have no parents recorded in the database (both if family) &amp;lt;br/&amp;gt;Leaves: people who are alive and have no children recorded in the database&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Using any one of those filters you can narrow the list of choices. Clicking the person or family will navigate to this person (family) display. Selecting the place or date will bring the Place Hierarchy or Anniversary lists.&lt;br /&gt;
&lt;br /&gt;
=====Place Hierarchy=====&lt;br /&gt;
If places in your GEDCOM are structured (see [[Place data]] for details), the Place Hierarchy list will display the list of top level place elements. They typically should be country names, although in some not-so-distant future they could be &amp;quot;Earth&amp;quot;, &amp;quot;Moon&amp;quot;, &amp;quot;Mars&amp;quot; etc. When you click on any such element, you will be presented with a list of its sub-elements, for example States if the country was US. The sub-list will be accompanied by a map, if available. You can continue to lower level sub-units (Counties, etc.), or select &amp;quot;View all records found in this place&amp;quot;. You will eventually see a list of people and families. Birth, Death and Marriage places are listed, but the name will show in this list if the place is mentioned with any event. &lt;br /&gt;
&lt;br /&gt;
As always, clicking the person/family opens this person/family screen, clicking the place opens another another list of all people/families associated with this place etc.&lt;br /&gt;
&lt;br /&gt;
=====Multimedia=====&lt;br /&gt;
The [[MultiMedia List]] menu item will display the list of Media Objects. You can use the &amp;quot;Filter&amp;quot; function to search for media that have the selected phrase in the title. The Objects returned usually include thumbnail, and also a list of people/families it is associated with. You can navagate to any of them by clicking the name.&lt;br /&gt;
&lt;br /&gt;
=====Sources and Repositories=====&lt;br /&gt;
The [[Source List]] and [[Repository List]] display the sources and repositories found in your Gedcom respectively. They do not currently have any filtering tools. If you click on a source, you will be brought to the source screen, with its details and a list of people for which this source is cited. If you click on a repository, you will see a the depository details and a list of sources in this repository.&lt;br /&gt;
&lt;br /&gt;
====Calendar====&lt;br /&gt;
The Anniversary Calendar will display the anniversaries occuring on a specific day, month or year. It will show lists of people and families, and for each the events that match the selection criteria. The list will show events (selectable in the &amp;quot;Show events&amp;quot; option) and also indicate, which anniversary it is, relative to the selected year (which may not be the current year). Only &amp;quot;positive&amp;quot; anniversaries are shown, i.e. the screen will only show events that occurred before (or in) the selected year,. For example if your anniversary date is March 1780, and you are displaying months, events that occurred in all Marches before 1780 will be shown. &lt;br /&gt;
&lt;br /&gt;
[[image:Anniversary_Calendar.png|frame|center]]&lt;br /&gt;
You can select Day, Month or Year from the menu, or switch using the &amp;quot;View Day&amp;quot;, &amp;quot;View Month&amp;quot; and &amp;quot;View Year&amp;quot; options on the screen. &lt;br /&gt;
* '''View Day''' will display events that occurred ''this day of this month in any year''.&lt;br /&gt;
* '''View Month''' will display events that occurred ''any day of this month in any year''.&lt;br /&gt;
* '''View Year''' will display events that occurred ''any day of any month in this year''.&lt;br /&gt;
&lt;br /&gt;
For example, if you want to find all events that occurred on February 29, you need to first select a leap year (latest leap year if you want all events, for example 2008), then click on February and finally on the 29th.&lt;br /&gt;
&lt;br /&gt;
The screen has other useful functionality. You can select all people, living people or limit the range to the last 100 years (the &amp;quot;Show&amp;quot; option). You can select the gender (all, men, women) and select the events that are to be shown (All, Births, Deaths and Marriages and a selection from more common events).&lt;br /&gt;
&lt;br /&gt;
You can also select different calendars. The events that occurred on a specific date may have an anniversary on different dates in  the Julian, Jewish or Islamic calendars. Due to different calendar rules, the determination of the anniversary may only be approximate (typically the difference does not exceed one day).&lt;br /&gt;
&lt;br /&gt;
As with all lists, clicking on person's name (or family names) opens this person or family screen. Conversely, clicking on a date,  month or year in any other lists brings this anniversary calendar focused on the selected date, month or year.&lt;br /&gt;
&lt;br /&gt;
====Close relatives====&lt;br /&gt;
When you click the &amp;quot;Close relatives&amp;quot; tab on the individual display, you will switched to a screen showing the individual's family in which he or she is a child, and the family in which he or she is a spouse. You can navigate to parents and siblings, as well as to the families listed on this display.&lt;br /&gt;
&lt;br /&gt;
===Search===&lt;br /&gt;
{{main|Search}}&lt;br /&gt;
PGV has a powerful search facility, which can be accessed for a quick search trough a '''Search box''', and via the '''Search menu'''.  The Search box does the same search as the General Search item in the ''Search menu'', but with all ''Search for'' options and all ''Databases'' selected.  &lt;br /&gt;
&lt;br /&gt;
====General====&lt;br /&gt;
The General Search allows you to search for almost anything - names, places, dates, fragments of text, etc. There are some caveats - dates must be entered in their English abbreviated form (e.g. ''12 Jan 1817'') and you can use regular expressions if you know how. The search is not case sensitive, and wildcards are assumed - the search term will be found no matter what precedes or follows it. The options are:&lt;br /&gt;
&lt;br /&gt;
;Search For&lt;br /&gt;
: You can check one or more of the following&lt;br /&gt;
:* Individual Names.  Actually this should say Individuals - this option searches the Individual Records for the text string you entered&lt;br /&gt;
:* Family Names.  As above, it searches Family Records fro the search string&lt;br /&gt;
:* Sources - will search Sources for the term you specified&lt;br /&gt;
;Exclude Filter&lt;br /&gt;
: Excludes some non-genealogical data by default, you can turn it off.&lt;br /&gt;
;Associates&lt;br /&gt;
:Includes records of [[Adding an Associate|associates]] in the search. &lt;br /&gt;
; Database to search in&lt;br /&gt;
: select the Gedcom to search for, if there is more than one.&lt;br /&gt;
&lt;br /&gt;
====Non-English====&lt;br /&gt;
If your database has mostly '''English''' names, the General seach works well enough. For '''non-English''' families, there are language and culture based issues.Some examples are:&lt;br /&gt;
; Letters with diacriticals &lt;br /&gt;
: The General search is exact, i.e. it will not return a result if you substitute Muller or Mueller for Müller, or Lodz for Łódź. &lt;br /&gt;
; Declension&lt;br /&gt;
: In many languges names undergo declension depending on gender, (e.g. the daughter of Kowalski is Kowalska: looking for Kowalski misses all his daughters). &lt;br /&gt;
All such issues cause misses in search results. The best remedy is to use the Soundex Search with Daitch-Mokotoff type, as described below.&lt;br /&gt;
&lt;br /&gt;
====Soundex====&lt;br /&gt;
Soundex should return search results even if the spelling is not exact. You can use Basic type, but the &lt;br /&gt;
Daitch-Mokotoff is more efficient in finding close matches, and only this type works for non-English search terms. Of course, the Soundex search may return more results than needed, but it is more likely to find what  are you looking for. The search terms can be entered as  '''Given name''', '''Last name''', or '''Place''', and modified by selecting a '''Year'''.&lt;br /&gt;
&lt;br /&gt;
===Get data===&lt;br /&gt;
In addition to viewing the Family Tree on thew ebpage, you may need to extract some data to work on them off-line. Typically this would include the printed or printable form to be distributed on paper or included in a family book or other publication, and raw data for further manipulation, creating tables or extracts or importing to other programs. &lt;br /&gt;
&lt;br /&gt;
====Printable data====&lt;br /&gt;
You can print any PGV page, with the help of an &amp;quot;Printer friendly version&amp;quot; at the bottom of each page; there is also a menu item called &amp;quot;Reports&amp;quot;, devoted to generation of reports in printable form. &lt;br /&gt;
=====Reports=====&lt;br /&gt;
You can select from an array of reports in the Reports menu. For each report you have some options to select, and they can be delivered as HTML (i.e. on the webpage) or as a downloadable pdf file (you need a pdf reader to open the file). You can select family tree reports (Individual, Family, Descendants, Ancestors, etc.), some genealogical information information lists (Marriages, Deaths, Births etc.), as well as other lists like recent changes or address lists.&lt;br /&gt;
&lt;br /&gt;
You can [[Create custom report|create your own report]] to be included in the menu. See also the list of [[XML Report Templates|XML report templates]] you can use.&lt;br /&gt;
&lt;br /&gt;
Please note that the Address reports currently show only addresses attached to the individual and family records, not addresses in the Residence facts.&lt;br /&gt;
&lt;br /&gt;
=====Charts=====&lt;br /&gt;
Often a better option to produce a printable version of some section of the family tree is to use the Charts menu. You can tune up your chart using its options, and then select the &amp;quot;Printer friendly version&amp;quot; at the bottom of the page to clean up the display. You can print the result or use a pdf printer driver (for example Open Source [http://sourceforge.net/projects/pdfcreator/ PDF Creator]) to create the pdf file.&lt;br /&gt;
&lt;br /&gt;
====Electronic form====&lt;br /&gt;
If you have Administrator privileges, you can [[Manage_GEDCOMs_and_edit_privacy#Download_.28Gedcom.29|download]] the complete Gedcom together with the media. Other user categories can use the '''Family Clippings Cart''' to pack into a file a selection of data they can access, if this option is enabled by the administrator.&lt;br /&gt;
=====Family Tree Clippings=====&lt;br /&gt;
Anytime you view an individual, a family or a source, in the ''Other'' menu you can access an ''Add to Clippings Cart'' submenu. It will present you with a list of options to add just this item or expand the selection by adding other relations or, in case of sources, records of all people and families quoting this source. You can also reach the Clippings cart from the main menu. &lt;br /&gt;
&lt;br /&gt;
You can keep adding items to your cart until you are ready - the content of the cart will be preserved between sessions. The cart will show the list of items, you can also remove unwanted ones. When you are ready, you can download the file which will contain a gedcom with all selected items, plus media files if you selected this option&lt;br /&gt;
&lt;br /&gt;
== The User Interface ==&lt;br /&gt;
&lt;br /&gt;
PhpGedView is a [[Features|feature]] rich piece of geneological software and as such there is a plethora of information that can be displayed and edited at any one time, thus resulting in a complex but reasonably intuitive user interface. This section aims to help orientate you by describing the general layout and design of the interface.&lt;br /&gt;
&lt;br /&gt;
When visiting a PhpGedView powered website for the first time you will see the [[Welcome Page]]. This page should contain some form of introduction to the website and possibly some basic geneological information. If however, you are a registered user and are logged in, you will see the [[MyGedView Portal]] page instead.&lt;br /&gt;
&lt;br /&gt;
=== Menu Bar ===&lt;br /&gt;
&lt;br /&gt;
{{main|Menu Bar}}&lt;br /&gt;
&lt;br /&gt;
Which ever page you visit you will always see and have access to the [[Menu Bar]]. Depending on whether you are logged in or not and what [[modules]] the site administrator has installed, will determine what menu items are available. In addition, the currently selected [[themes|theme]] may determine the &amp;quot;style&amp;quot; of the icons shown.&lt;br /&gt;
&lt;br /&gt;
*[[Users menu items|User’s menu items]]&lt;br /&gt;
&lt;br /&gt;
==Editing/Entering Data==&lt;br /&gt;
===Admin approval ===&lt;br /&gt;
Your editing status depends on the Administrator policy, and may vary depending on installation. Typically you can edit your own data, and need editing provileges to edit others. &lt;br /&gt;
&lt;br /&gt;
The changes you make are not immediately visible to other users. They are marked on the page as changes, pending approval by the Administrator. There are several access levels for people that can approve others' edits. This process of displaying pending changes is not yet perfect, and some entites are not visible: for example creating a new Source does not display it, and if you did not happen to write down the source ID, you must wait for approval in order to proceed. &lt;br /&gt;
&lt;br /&gt;
If you have configured your site with the PENDING CHANGES block, after any changes are made, an email is sent to admin informing him/her of edits to the database. The email is not repeated until 24 hours passes (lest each editing session would create a spam). The administrator approval process is described in a separate article, see [[Accept / Reject Changes]].&lt;br /&gt;
&lt;br /&gt;
===Gedcom data structure ===&lt;br /&gt;
{{main|Gedcom data structure}}&lt;br /&gt;
The data model as well as file storage in PGV is based on [[GEDCOM]] standard. There are many resources detailing the structure, the meaning of Gedcom Tags and usage, including the draft Gedcom standard that is the base of PGV model. PGV is very flexible in using the model, and allows files with significant departures from the model to be processed. The [[Verify Gedcom File|verification]] procedure can check your Gedcom file for strict and lax conformance with Gedcom standard. It is recomended that you review the basics of [[Gedcom data structure]].&lt;br /&gt;
&lt;br /&gt;
===Basic rules ===&lt;br /&gt;
In working with genealogy data you must remember to always verify, document, write down the sources. Memory is fragile, and years later you will not know if the error was in original source or just sloppy data entry. Two articles on this topic are available here, '''[[Evaluating Evidence Article|Evaluating Evidence]]''' and '''[[Standards For Sound Genealogical Research]]''', with many references to external sources. Before starting entering large amounts of data, review the most basic rules for entering dates, places, sources and other common elements:&lt;br /&gt;
&lt;br /&gt;
:*[[Dates|Dates]]&lt;br /&gt;
:*[[Place data|Places]]&lt;br /&gt;
:*[[Proper use of sources|Sources]]&lt;br /&gt;
:*[[Common Data Elements|Common data elements]]&lt;br /&gt;
&lt;br /&gt;
===Common Elements===&lt;br /&gt;
{{main|Common Data Elements}}&lt;br /&gt;
In entering Events and Facts you fill data fields, some of which are the common to most entries. In describing and Event, '''Date''' and '''Place''' are considered most important, and have their special rules for entering data: see the articles on '''[[Dates]]''' and '''[[Place data|Places]]'''. Other entries that you will frequently encounter are '''Type''', '''Address''', '''Associate''', '''Source Citation''', '''Restriction''', '''Agency''' and '''Note'''. All those elements are useful and add valuable structure to the data,  you should take advantage of them if possible.&lt;br /&gt;
&lt;br /&gt;
===People===&lt;br /&gt;
{{main|Editing People|Editing Families}}&lt;br /&gt;
&lt;br /&gt;
In the heart of genealogy are people and their pedigree. Pedigree, according to Webster (''Middle English pedegru, from Anglo-French pé de grue, literally, crane's foot; from the shape made by the lines of a genealogical chart'') is defined as an ancestral line. Adding, modifying and deleting people and their links in families creating the ancestral lines is described in two main articles.&lt;br /&gt;
&lt;br /&gt;
Also at the heart of genealogy are the family relationships between people. Whereas information about a specific person is contained in his individual record, relationships are handled by family (FAM) records. FAM records describe one family: usually husband, wife, and children. An individual record typically contains a FAMC pointer to the FAM record where the person is a child, and a FAMS pointer to the family where that person is a husband or wife. With these two fundamental relationships, all other relationships are derived.&lt;br /&gt;
&lt;br /&gt;
===Facts and Events===&lt;br /&gt;
&lt;br /&gt;
{{main|Facts and Events}}&lt;br /&gt;
&lt;br /&gt;
To give life to people and famiy data in your database, you add facts and events. The terminology is a little confused; Gedcom standard talks about ''Events'' like Birth, Baptism, Graduation, etc. with a generic &amp;quot;Event&amp;quot;, and about ''Attributes'' sometimes called ''Facts'' like Education, Occupation or Residence with a generic &amp;quot;Fact&amp;quot;. The conceptual difference is that ''Events'' occur at a definite point in time (the point may extend as far as a day), while ''Facts'' are either extended in time (e.g Education), or don't have a specific time attached to them (e.g Number of Children). PGV does not treat the Facts and Events differently, and allows you to add Facts and Events to an individual or family by selecting from a list of possibilities. The Administator can customize this list, adding and removing both individual and family entries, as well as „Quick Add'” items available with a single click. If you don't see here what you need, ask the administrator to add it.&lt;br /&gt;
&lt;br /&gt;
===Editing raw Gedcom record===&lt;br /&gt;
{{main|Edit raw GEDCOM record}}&lt;br /&gt;
Each [[Gedcom data structure#Top level records in Gedcom|top level record]] (individual, family, object, source and repository) has its own Gedcom fragment that you can view and edit. In a perfect world, all editing should be possible trough user interface, but who has seen perfect software? Also, imported Gedcom may contain errors or non-standard tags that PGV does not understand, and errors could also be introduced by PGV as well. Of course this should not happen, but who has seen software completely free from bugs?&lt;br /&gt;
The Gedcom record has a simple structure, each line starting with a number that indicates the level: after a tag with level 1, subsequent tag level 2 indicates that it is subordinate to the level one tag. For example if the event is Birth (1 BIRT), Date (2 DAT) applies to Birth, Time (3 TIME) applies to Date, and Place (2 PLAC) applies to Birth:   &amp;lt;pre&amp;gt;&lt;br /&gt;
1 BIRT&lt;br /&gt;
2 DATE 11 NOV 1825&lt;br /&gt;
3 TIME 23:55&lt;br /&gt;
2 PLAC Greenwood...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The tags are always 3 or 4 capital letters, and are separated by space from level number and from subsequent value of the tag (if any). If a tag is missing, is in the wrong place, or the user interface does not supply the value you seek, you can correct it by editing the Gedcom fragment. For example, if the Media Object you are adding is a painting, and the user interface offers only ''photo'' as the type of the file (no photography before 1827 or so :-(, you can look at the raw Gedcom fragment: &amp;lt;pre&amp;gt;&lt;br /&gt;
0 @M897@ OBJE&lt;br /&gt;
1 FILE media/Aunt_Matilda.jpg&lt;br /&gt;
2 FORM JPG&lt;br /&gt;
3 TYPE photo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and change the line ''3 TYPE photo'' to ''3 TYPE painting''.&lt;br /&gt;
&lt;br /&gt;
==Privacy==&lt;br /&gt;
{{main|Privacy}}&lt;br /&gt;
As a user you are possibly concerned with privacy. While it is a responsibility of an Administrator to set the privacy policies, it is usefull to know, what options are avilable. You may wonder whether your personal data will be visible to everybody, and may also encounter restrictions on what you can see. PGV has very detailed privacy rules, which can restrict viewing and /or editing of specific event types, specific events, selected people, people not related to you or only distantly related etc.&lt;br /&gt;
&lt;br /&gt;
==Tutorials==&lt;br /&gt;
===Research Assistant===&lt;br /&gt;
{{main|Research Assistant}}&lt;br /&gt;
Research Assistant is an add-on providing a number of tools and support for a collaborative genealogical research. It allows you to attach a task to a person being researched, assign a task to a used, organize tasks in folders, track task progress etc. It has heuristic tools for doing research (mostly, but not exclusively for the US -based events) and tools to auto-generate tasks. Read the [[Research Assistant]] tutorial for more details. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Users Guide]]&lt;br /&gt;
[[Category:PhpGedView]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Language links...DO NOT DELETE --&amp;gt;&lt;br /&gt;
[[fr:Guide de l'utilisateur]]&lt;br /&gt;
[[da:Bruger Guide]]&lt;/div&gt;</summary>
		<author><name>Momse</name></author>
		
	</entry>
</feed>