<?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=GhostInTheMachine</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=GhostInTheMachine"/>
	<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php/Special:Contributions/GhostInTheMachine"/>
	<updated>2026-04-30T02:11:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=PGVWiki:Contributing&amp;diff=12238</id>
		<title>PGVWiki:Contributing</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=PGVWiki:Contributing&amp;diff=12238"/>
		<updated>2010-06-08T02:24:43Z</updated>

		<summary type="html">&lt;p&gt;GhostInTheMachine: /* Skills Required To Help */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:Nuvola_apps_korganizer.png|right|100px]]The [[wiktionary:ethos|ethos]] of a wiki means that the whole community can contribute, irrespective of beliefs or opinions. The result is a wiki that meets the consensus and needs of the community, leading to a more useful and long lived article.&lt;br /&gt;
&lt;br /&gt;
==Skills Required To Help==&lt;br /&gt;
&lt;br /&gt;
You ''don't'' need:&lt;br /&gt;
&lt;br /&gt;
* Previous Wiki experience - you add the content, we'll format it nicely!&lt;br /&gt;
* Programming skills&lt;br /&gt;
* Experience with PhpGedView - but helpful&lt;br /&gt;
&lt;br /&gt;
However, you ''do'' need:&lt;br /&gt;
&lt;br /&gt;
* Enthusiasm&lt;br /&gt;
&lt;br /&gt;
==What Needs To Be Done==&lt;br /&gt;
&lt;br /&gt;
Here are some generally useful pages to visit if you want to know what needs to be done on the PGVWiki.&lt;br /&gt;
&lt;br /&gt;
; Stub Articles&lt;br /&gt;
: You should see the [[:Category:stubs|list of stub articles]] - these are short &amp;quot;stubby&amp;quot; articles that need content adding to make them more useful.  Selecting an item from the category list will take you to the relevant page which needs attention.&lt;br /&gt;
; To-do Lists&lt;br /&gt;
: You should see the [[:Category:To do|list of articles]] containing To-do lists.  Selecting an item from this category list will take you to the relevant '''talk''' page for the article that needs attention.  The actions required will be listed.&lt;br /&gt;
; PGVWiki Page translations&lt;br /&gt;
: Please see the [[PGVWiki:Translations|PGVWiki Translations]] page for details of what to do and how to do it.&lt;br /&gt;
&lt;br /&gt;
A new [[:Template:todo|todo template]] has been created which allows PGVWiki users to add todo items to a list for ''ANY'' page in the PGVWiki. Information on how this template can be used is available [[:Template:todo|here]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;em&amp;gt;The rest of this article (below) remains in place for the time being until these tasks are added to the appropriate articles in the form of a to-do list.&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Tasks''' ([[PGVWiki:Tasks|Full list .....]])&lt;br /&gt;
* Place answered FAQs from Sourceforge into FAQ section&lt;br /&gt;
* Translation of PGVWiki pages. See the list of [[Special:Withoutinterwiki|pages without language links]].&lt;br /&gt;
* Move PhpGedView help text to User Guide&lt;br /&gt;
* How to integrate PhpGedView with a Content Management System&lt;br /&gt;
&lt;br /&gt;
[[PGVWiki:Tasks|Full list .....]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PGVWiki|Contributing to PGVWiki]]&lt;br /&gt;
&lt;br /&gt;
[[da:PGVWiki:TODOlist]]&lt;/div&gt;</summary>
		<author><name>GhostInTheMachine</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Database_import/export/conversion_utility&amp;diff=12237</id>
		<title>Database import/export/conversion utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Database_import/export/conversion_utility&amp;diff=12237"/>
		<updated>2010-06-08T02:22:38Z</updated>

		<summary type="html">&lt;p&gt;GhostInTheMachine: /* Upgrading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The capability to backup the PhpGedView database tables is an important feature for security of your data The utility described here is still in development (as of January 2009) and is not yet part of an official release. If you are cautious, however, you can protect your data using this tool, and also improve handling of non-latin character searches and sorting by converting database to UtF-8. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The utility has 3 simple functions:&lt;br /&gt;
* Export (individual database tables, or all of them). The table data are stored as SQL files in the &amp;lt;i&amp;gt;index&amp;lt;/i&amp;gt; directory, and can be used to restore a corrupt database (but with table structure intact). During export, a conversion is made to arrive at readable, UTF-8 encoded text. &lt;br /&gt;
* Import. The saved files are used to re-populate the database tables. &lt;br /&gt;
* Conversion. The actual database (works for MySQL only ) tables are converted from default (8 bit latin) to UTF-8 encoding.&lt;br /&gt;
&lt;br /&gt;
==Where to get it?==&lt;br /&gt;
The utility &amp;lt;i&amp;gt;db_export.php&amp;lt;/i&amp;gt; is currently in [https://sourceforge.net/tracker2/index.php?func=detail&amp;amp;aid=2318005&amp;amp;group_id=55456&amp;amp;atid=477081 SourceForge tracker]. After retrieving it from the tracker, copy it to main (root) directory of phpGedView.&lt;br /&gt;
&lt;br /&gt;
== How to use it?==&lt;br /&gt;
The instructions below are from the tracker, written by Greg Roach, with minor adjustments based on email exchange. &lt;br /&gt;
&lt;br /&gt;
This module allows you to export and import the contents of your database&lt;br /&gt;
to text files containing SQL scripts. This is not the most compact or&lt;br /&gt;
efficient format, but it simple, reliable and portable. If you want&lt;br /&gt;
efficient, there are much more appropriate tools available.&lt;br /&gt;
&lt;br /&gt;
A separate file is generated for each table, and each can be&lt;br /&gt;
imported/exported separately. Although an &amp;quot;import all&amp;quot; option is provided,&lt;br /&gt;
you may find that your server time limits prevent this from completing.&lt;br /&gt;
&lt;br /&gt;
Files are created in the index directory, so this can be useful for&lt;br /&gt;
creating backups of your system. They can also be useful for transferring&lt;br /&gt;
data between different databases, for example, between sqlite on your home&lt;br /&gt;
PC and MySQL on your webserver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;For MYSQL users only&amp;lt;/b&amp;gt;, there is also an option to convert your database&lt;br /&gt;
tables from latin (single byte) encoding to UTF8 (multibyte) encoding.&lt;br /&gt;
This change is necessary to allow the database to perform case-insensitive&lt;br /&gt;
searching of letters containing diacritics and non-latin character sets.&lt;br /&gt;
&lt;br /&gt;
By default, PHP communicates with MySQL in latin text. When PGV sends UTF8&lt;br /&gt;
text to the database, MySQL treats multibyte characters as a number of&lt;br /&gt;
&amp;quot;extended ascii&amp;quot; characters, and converts these characters to UTF. This&lt;br /&gt;
incorrect encoding (and possible double-encoding) is what prevents the&lt;br /&gt;
database from searching data. Luckily, the reverse encodings take place&lt;br /&gt;
when we fetch the data back, so apart from the wasted conversion effort,&lt;br /&gt;
this process is transparent to PGV.&lt;br /&gt;
&lt;br /&gt;
In order to use UTF8, we need to tell MySQL that we are using UTF8.&lt;br /&gt;
However, to do this on an existing database means that we will fetch&lt;br /&gt;
old/existing data using different conversions to those used to store it -&lt;br /&gt;
and our data will be corrupted.&lt;br /&gt;
&lt;br /&gt;
We therefore need to convert our data before changing the way we talk to&lt;br /&gt;
MySQL. The steps to be taken are:&lt;br /&gt;
&lt;br /&gt;
# Export all the tables&lt;br /&gt;
# Convert all the tables to utf8&lt;br /&gt;
# Update your configuration files as follows:&lt;br /&gt;
#* For version 4.2 (anything above 4.1.6) edit config.php to set &amp;lt;b&amp;gt;$DB_UTF8_COLLATION=true;&amp;lt;/b&amp;gt;&lt;br /&gt;
#* For versions 4.1.6 and below, edit file includes/functions.php and uncomment the line(s) &amp;lt;b&amp;gt;dbquery(&amp;quot;SET NAMES 'UTF8'&amp;quot;);&amp;lt;/b&amp;gt;&lt;br /&gt;
# import all the tables&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
NOTE: If your login name contains non-ascii characters, then you *may* get&lt;br /&gt;
logged out between steps 3 and 4. To prevent this, create an admin account&lt;br /&gt;
with an all-ascii username before starting.&lt;br /&gt;
&lt;br /&gt;
#If you have the default MySQL configuration (latin tables and latin communication), then steps 1 and 4 are optional. However, we can't reliably detect this configuration, so unless you are certain, don't skip them. Also, running step 2 repeatedly may corrupt data, meaning you do need to run steps 1 and 4. In fact, unless you have a very good reason (e.g. you know exactly what you are doing and have large tables on a server with very low execution time limits), then don't skip these steps. &lt;br /&gt;
#If you have low server time limits, then it may not be possible to import some of your large tables before it times out. These tables are likely to be your gedcom-data tables. They can easily be reconstructed by reimporting the gedcom. &lt;br /&gt;
#This procedure &amp;lt;b&amp;gt;can destroy your data&amp;lt;/b&amp;gt; and prevent you from logging in. Do not do it unless you understand what you are doing. Even if you know what you are doing, you should make a backup before you start.&lt;br /&gt;
&lt;br /&gt;
==Upgrading==&lt;br /&gt;
If you upgrade phpGedView to new version &amp;lt;i&amp;gt;after making the conversion to UTF-8&amp;lt;/i&amp;gt;, make sure that you make the changes to the configuration files as described above &amp;lt;b&amp;gt; before &amp;lt;/b&amp;gt; you start using phpGedView, otherwise the data may get corrupted.&lt;/div&gt;</summary>
		<author><name>GhostInTheMachine</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Place_Maps&amp;diff=12236</id>
		<title>Place Maps</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Place_Maps&amp;diff=12236"/>
		<updated>2010-06-08T02:18:39Z</updated>

		<summary type="html">&lt;p&gt;GhostInTheMachine: /* Image File */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
Place maps are displayed in two places in the PhpGedView software package:  &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the Place Hierarchy under the Lists menu. &lt;br /&gt;
: Place Map will be displayed here only if you are not using GoogleMaps functionality. GoogleMaps, if enabled, displays a region map in its place, depending on its coordinates in the GoogleMaps table. &lt;br /&gt;
&amp;lt;li&amp;gt;In an editing window, when adding a location to an event if the Gedcom has this option enabled.&lt;br /&gt;
: To enable this feature, Log in as the administrator, Click &amp;quot;Manage GEDCOMS and edit Privacy&amp;quot;, Click &amp;quot;Edit&amp;quot; for the configuration file of the Gedcom you wish to change, Expand the &amp;quot;Edit Options&amp;quot;, and set &amp;quot;Split places in Edit mode&amp;quot; to &amp;quot;Yes&amp;quot;.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Each full map should have three files.  &lt;br /&gt;
* The image must be in gif format. &lt;br /&gt;
* A htm file should contain the html code for the image map to allow the counties/provinces to be selected with a mouse click.&lt;br /&gt;
* A txt file should contain the list of all sub-areas in the map to allow autocompletion in the events editor.&lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
If you are creating a new top level (Country) image map, you will first have to find the three letter country code for the country.  The letters are defined by the ISO in IS0 3166 alpha-3.  The UN has an up-to-date copy in their  [http://unstats.un.org/unsd/methods/m49/m49alpha.htm Statistics Department].  Create a new directory with these three letters as the name in the places directory of your PhpGedView installation.&lt;br /&gt;
&lt;br /&gt;
If you are creating a map of a state or province of a country which has already been made, you will need to name all documents with the format COU_State.xxx where COU is the three letter country code, State is the name of your state or province and xxx is either htm, gif, or txt.&lt;br /&gt;
===Image File===&lt;br /&gt;
Find a good image of the country or state you wish to add, copyright free images are best to use if you can find them.  Open the file in a good image editor and resize it to less than 400 pixels wide.  Create a new raster layer and trace the countries borders and the borders of the counties within.  After deleting the original layer, you should be left with a hand traced copy of the original.  Now you can add some colors to the counties and text label the names if you like.  The choice of colors when coloring a map is up to personal preference.  Some color all counties the same color, and some color counties so no two adjacent counties have the same color.  If attempting the latter, you'll need to select four complimentary colors.  All maps can be colored with a minimum of 4 colors.  Finally, select all areas outside of the country and set them to a transparent color.  Save the image in gif format.&lt;br /&gt;
&lt;br /&gt;
===Text File===&lt;br /&gt;
The text file is just a list of all the regions within this map.  If you are creating a US state map, this will be a list of the counties within that state.  Each county must be on a new line of the text file.&lt;br /&gt;
&lt;br /&gt;
===HTM File===&lt;br /&gt;
The htm file should be in the following format with the proper county names inserted:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;map name=&amp;quot;COUNTRY_State&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;area shape=&amp;quot;poly&amp;quot; coords=&amp;quot;&amp;quot; href=&amp;quot;javascript:setPlaceState('County 1');&amp;quot; alt=&amp;quot;County 1&amp;quot; title=&amp;quot;County 1&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;area shape=&amp;quot;poly&amp;quot; coords=&amp;quot;&amp;quot; href=&amp;quot;javascript:setPlaceState('County 2');&amp;quot; alt=&amp;quot;County 2&amp;quot; title=&amp;quot;County 2&amp;quot;&amp;gt; &lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 &amp;lt;/map&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The easiest method to create this file is to use the text file you created above.  If you have a UNIX or LINUX system, open the file in vim and type the following:&lt;br /&gt;
&lt;br /&gt;
 :%s/\(.*\)/&amp;lt;area shape=&amp;quot;poly&amp;quot; coords=&amp;quot;&amp;quot; href=&amp;quot;javascript:setPlaceState('\1');&amp;quot; alt=&amp;quot;\1&amp;quot; title=&amp;quot;\1&amp;quot;&amp;gt;/g&lt;br /&gt;
&lt;br /&gt;
This regular expression will replace each line in the file with the county name inserted correctly in the area tag.  Next, add the opening and closing &amp;lt;map&amp;gt; tag and save it as COU_State.htm&lt;br /&gt;
&lt;br /&gt;
The last step is to match the coordinates of each county to the county name.  Use your image editing software to get the coordinates of the corners of the counties.  Type the pixel numbers into the coords attribute of each county in the following format:&lt;br /&gt;
 coords=&amp;quot;X1,Y1,X2,Y2,X3,Y3,...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Limitations and Code Modifications==&lt;br /&gt;
The events editor only displays country level maps.  The place hierarchy will display two levels of maps, country and province, or country and state for example.  To allow the place hierarchy to display a third level, add the following code to placelist.php for version 3.3.5:&lt;br /&gt;
&lt;br /&gt;
Change line 132 to&lt;br /&gt;
&lt;br /&gt;
 if ($level==1 || $level==2 || $level==3) { &lt;br /&gt;
&lt;br /&gt;
change the else block at line 158 to: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 else { &lt;br /&gt;
   if ($level==3) { // added to support county level &lt;br /&gt;
     $level2 = str_replace(&amp;quot;/ /&amp;quot;,&amp;quot;-&amp;quot;, $parent[1]); &lt;br /&gt;
     $level3 = str_replace(&amp;quot;/ /&amp;quot;,&amp;quot;-&amp;quot;, $parent[2]); &lt;br /&gt;
     $mapfile = $maplang . &amp;quot;_&amp;quot; . $level2 . &amp;quot;_&amp;quot; . $level3 . &amp;quot;.htm&amp;quot;; &lt;br /&gt;
     if (!file_exists(filename_encode($mapfile))) $mapfile = $imgfile . &amp;quot;_&amp;quot; .$level2 . &amp;quot;_&amp;quot; . $level3 . &amp;quot;.htm&amp;quot;; &lt;br /&gt;
     if (!file_exists($mapfile)) $mapfile = $imgfile . &amp;quot;.htm&amp;quot;; &lt;br /&gt;
     $imgfile = $imgfile . &amp;quot;_&amp;quot; . $level2 . &amp;quot;_&amp;quot; . $level3 . &amp;quot;.gif&amp;quot;; &lt;br /&gt;
     $maplist = $country . &amp;quot;_&amp;quot; . $level2 . &amp;quot;_&amp;quot; . $level3; &lt;br /&gt;
     $mapname = $parent[1]; &lt;br /&gt;
   } &lt;br /&gt;
   else { &lt;br /&gt;
     $level2 = str_replace(&amp;quot;/ /&amp;quot;,&amp;quot;-&amp;quot;, $parent[1]); &lt;br /&gt;
     $mapfile = $maplang . &amp;quot;_&amp;quot; . $level2 . &amp;quot;.htm&amp;quot;; &lt;br /&gt;
     if (!file_exists(filename_encode($mapfile))) $mapfile = $imgfile . &amp;quot;_&amp;quot; . $level2 . &amp;quot;.htm&amp;quot;;&lt;br /&gt;
     if (!file_exists($mapfile)) $mapfile = $imgfile . &amp;quot;.htm&amp;quot;; &lt;br /&gt;
     $imgfile = $imgfile . &amp;quot;_&amp;quot; . $level2 . &amp;quot;.gif&amp;quot;; &lt;br /&gt;
     $maplist = $country . &amp;quot;_&amp;quot; . $level2; &lt;br /&gt;
     $mapname = $parent[1]; &lt;br /&gt;
   } &lt;br /&gt;
 } &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To allow the event editor to display second level maps:&lt;br /&gt;
&lt;br /&gt;
==Related Pages==&lt;br /&gt;
&lt;br /&gt;
[[Users Guide:Place Hierarchy List|Hierachial Place List]], [[Administrators Guide:Configuration File#Split Places in Edit Mode|Administrators Guide]], [[Users Guide:Place data|Entering Place Data]]&lt;br /&gt;
&lt;br /&gt;
[[Category:How To]]&lt;/div&gt;</summary>
		<author><name>GhostInTheMachine</name></author>
		
	</entry>
</feed>