<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.phpgedview.net/en/index.php?action=history&amp;feed=atom&amp;title=Developers_Guide</id>
	<title>Developers Guide - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.phpgedview.net/en/index.php?action=history&amp;feed=atom&amp;title=Developers_Guide"/>
	<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Developers_Guide&amp;action=history"/>
	<updated>2026-04-29T17:27:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.phpgedview.net/en/index.php?title=Developers_Guide&amp;diff=12307&amp;oldid=prev</id>
		<title>Yalnifj at 23:23, 30 November 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.phpgedview.net/en/index.php?title=Developers_Guide&amp;diff=12307&amp;oldid=prev"/>
		<updated>2010-11-30T23:23:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Image:phpgedview.png|centre|]]&lt;br /&gt;
This is an annotated list of articles that comprise a '''Developer's Guide'''.&lt;br /&gt;
&lt;br /&gt;
These are many of the original development resources on the [http://www.phpgedview.net/devdocs/ PhpGedView website Dev Docs section].&lt;br /&gt;
&lt;br /&gt;
=Mashups=&lt;br /&gt;
* [[Mashups]] - Information on using PhpGedView mashups in other pages&lt;br /&gt;
&lt;br /&gt;
=Setting Up a Development Environment=&lt;br /&gt;
&lt;br /&gt;
If you want to help develop PhpGedView you will need to set up a development environment. Here are some guides to the sets required to do this:&lt;br /&gt;
&lt;br /&gt;
* [[Installing PHP on Windows]]&lt;br /&gt;
* [[Installing MySQL on Windows]]&lt;br /&gt;
* [[Installing Eclipse on Windows]]&lt;br /&gt;
* [[Installing PhpGedView for Development]]&lt;br /&gt;
&lt;br /&gt;
=Developer Tutorials and APIs=&lt;br /&gt;
;[[Developers Guide:Getting Started Tutorial|Getting Started Tutorial]] :A tutorial which will walk you through how to get started developing for PhpGedView.&lt;br /&gt;
;[http://www.phpgedview.net/devdocs/api/ Full Project API (PHPDoc)] :Details the full API in PHPDoc format for the entire project.&lt;br /&gt;
;[[Developers Guide:Editing API|Editing API]] :Describes the function calls for editing data in PhpGedView.&lt;br /&gt;
;[[Developers Guide:Creating a Module|Creating a Module]] :Describes how to create a basic module including menu for PGV&lt;br /&gt;
;[[Developers Guide:PGV Variables|PGV Variables]] :Variables available to modules&lt;br /&gt;
;[[Developers Guide:Translation and Internationalization|Translation and Internationalization]] :Describes how to use the language translation and internationalization features of PhpGedView.&lt;br /&gt;
;[[Developers Guide:Model-View-Controller Architecture|Model-View-Controller Architecture]] :Describes how PhpGedView uses the MVC pattern.&lt;br /&gt;
;[[Developers Guide:Commenting and Code Style|Commenting and Code Style]] :Describes the commenting practices for PhpGedView and the code formatting and style.&lt;br /&gt;
;[[Developers Guide:Language and text styles for Help screens|Language and text styles for Help screens]] :Provides some basic rules and guidelines for the presentation of Help text.&lt;br /&gt;
;[[GEDCOM SOAP Web Service API]] :Information on access PhpGedView data through a SOAP based web service.&lt;br /&gt;
;[[GEDCOM REST Web Service API]] :Information on access PhpGedView data through a REST based web service.&lt;br /&gt;
&lt;br /&gt;
=Internal data structures=&lt;br /&gt;
;[[Developers Guide:Data Model|Data Model]] :The classes and objects which make up the PhpGedView data model.&lt;br /&gt;
;[[Developers Guide:Global Arrays|Global Arrays]] :A list describing all arrays used in the core data model.&lt;br /&gt;
&lt;br /&gt;
=Report formats=&lt;br /&gt;
;PhpGedView [[Developers Guide:XML Report Templates|XML Report Templates]] :This page describes the PhpGedView XML report templates and provides information on how you can create your own reports&lt;br /&gt;
&lt;br /&gt;
=Testing=&lt;br /&gt;
Testing, and frequent testing is important to the development and uptake of PhpGedView. Testing helps to minimise the occurrence of bugs as well as help stopping them from resurfacing at a later date.&lt;br /&gt;
&lt;br /&gt;
[[SimpleTest]] can be used to write unit tests of classes. &lt;br /&gt;
&lt;br /&gt;
==GEDCOM==&lt;br /&gt;
The [http://www.geditcom.com/gedcom.html GEDCOM 5.5 Torture Test Files] are valid but odd and confusing GEDCOMs that are useful in debugging problems with PhpGedView. It would be great if developers who made changes to PhpGedView to accommodate uncommon and weird GEDCOMs that are valid, update this file so that it can help other applications improve their GEDCOM support.&lt;br /&gt;
&lt;br /&gt;
TODO: have a publicly available PhpGedView install that uses the Torture Test GEDCOM for testing. The PhpGedView modified GEDCOM should be submitted back to the author of the test. See [https://sourceforge.net/tracker/?func=detail&amp;amp;atid=634867&amp;amp;aid=1404488&amp;amp;group_id=55456]&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
There is a lot of optimization needed in the CSS code being used in PhpGedView. Many classes are redundant and a lot of streamlining is needed.&lt;br /&gt;
&lt;br /&gt;
The [http://www.cssoptimiser.com|Online CSS Optimizer] can be used to reduce the size of the CSS files prior to a release. We should keep the original as is, and run them through this free online tool before release to greatly reduce the size of the files. Keeping the newlines option in the tool, will allow developers to still read the CSS and get ideas for better optimization (though it might not be in a format that we want to keep).&lt;br /&gt;
&lt;br /&gt;
Another available tool is [http://cdburnerxp.se/cssparse/css_optimiser.php|CSS Formatter and Optimiser].&lt;br /&gt;
&lt;br /&gt;
=Working with SVN=&lt;br /&gt;
; [[SVN]]&lt;br /&gt;
: An article detailing working with SVN.&lt;br /&gt;
; [[Developers Guide:Merging Branches|Merging Branches]]&lt;br /&gt;
: Describes the process for merging SVN branches in the PhpGedView project.&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;br /&gt;
&lt;br /&gt;
[[fr:Guide du développeur]]&lt;/div&gt;</summary>
		<author><name>Yalnifj</name></author>
		
	</entry>
</feed>