Phpgedview under the hood pgv
Download
1 / 16

PhpGedView Under the Hood PGV-- ???? - PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on

PhpGedView Under the Hood PGV-- 新的起點. A technical overview of PhpGedView 技术概述 By John Finlay PGV Founder and Project Manager PGV 創始人和項目經理 編者注: John Finlay 先生 原意親自出席南京會議,後因故未能前來, 但還是與大會配合,安排特定時間用遠程視頻通信方式,和與會技術人員 直接對話,講解 PGV 系統,並即席解答問題。 因本文集編輯時間倉促,我們來不及向 John Finlay 先生另約文稿,

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'PhpGedView Under the Hood PGV-- ????' - elaina


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Phpgedview under the hood pgv

PhpGedView Under the HoodPGV--新的起點

A technical overview of PhpGedView 技术概述

By John Finlay

PGV Founder and Project Manager PGV創始人和項目經理

編者注:John Finlay先生 原意親自出席南京會議,後因故未能前來,

但還是與大會配合,安排特定時間用遠程視頻通信方式,和與會技術人員

直接對話,講解PGV系統,並即席解答問題。

因本文集編輯時間倉促,我們來不及向John Finlay先生另約文稿,

只好把他講解用的PPT 做了中譯,轉換為DOC文本登載。


Pgv origins
PGV Origins 起源

  • Early 2002 looking for a simple way to take a GEDCOM file and create a genealogical website

  • 2002年初,為尋找一種簡單的方法去處理GEDCOM文件,並創建一個家譜網站

  • Previous Standard was static HTML files (maintenance mess)

  • 以往的做法是用靜態的HTML文件實現(缺點是維護困難)

  • So PGV began as an experiment to see if it was practical to have a GEDCOM be the data source for a dynamically generated website

  • PGV開始作為一個實驗,探索以GEDCOM為數據源建成動態網站的可能性


Platform
Platform 平台

  • PHP – for ubiquity and ease of deployment

  • PHP - 普遍性和易於開發

  • Open Source – help the broad community, and genealogists expect things to be free

  • 開源 – 滿足社會大眾和譜牒學界能有免費軟件使用的期望

  • As demand grew so did the need for a database backend which allowed for complicated searching and queries

  • 隨著需求的增長,對後台數據庫的要求將隨之增多,以滿足複雜的搜索和查詢的要求


Features
Features 特性

  • Produces just about every genealogical chart used today生成幾乎所有當今使用的家譜圖表

  • Easily navigate your family tree

  • 很容易輕鬆地瀏覽你的家庭樹

  • Supports over 25 languages and alternate dates and calendars

  • 支持超過 25種語言和多種日期格式

  • Online editing and collaboration features to enable families to work together

  • 在線編輯和協作功能,使家庭成員能共同操作

  • Advanced privacy settings give you fine-grained control over editing and viewing

  • 高級隱私的設置,使其可被精細地控制,編輯和查看


Advantages of pgv
Advantages of PGV 優點

  • Does not lose any data in translation from GEDCOM

  • 不丟失從 GEDCOM中的任何數據

  • Supports multiple databases

  • 支持多種數據庫

  • Supports very complicated genealogical data

  • 支持非常複雜的家譜資料


Data model
Data Model 數據模型

  • The data model is based on the GEDCOM data model.

  • PGV的數據模型是基於GEDCOM上的數據模型。

  • Person-centric 以人為本

  • Lineage-linked 譜系掛鉤

  • Diagrams of the GEDOCM 5.5 data model can be seen at the following URLs:

  • GEDCOM5.5 數據模型圖可以在以下網址找到:

  • http://homepages.rootsweb.com/~pmcbride/gedcom/55model1.gif

  • http://homepages.rootsweb.com/~pmcbride/gedcom/55model2.gif


Simplified view of data model
Simplified View of Data Model數據模型的簡化視圖

Individual

SpouseFamilies

配偶家庭

Family

Child Families

親子家庭

One-to-many relationships

單對多的關係

Name

Event

Fact


Simple code example php
Simple Code Example 簡單的 PHP源碼例子

<?php

require_once('config.php');

include_once('includes/person_class.php');

print_header('My Page Title');

$person = Person::getInstance('I1');

print '<h2>'.$person->getFullName()."</h2>\n";

print $factarray['BIRT'].': ';

print $person->getBirthDate()->Display();

print ' '.$person->getBirthPlace()."<br />\n";

print_footer();

?>


Developer resources
Developer Resources 開發資源

  • Many developer resources are available on the wiki here:

  • 許多開發資源可以在這裡找到:

  • http://wiki.phpgedview.net/en/index.php?title=Developer_resources


Themes
Themes主題

  • PGV provides support for customizable themes

  • PGV支持自定義主題Modifiable through CSS and/or PHP

  • 通過 CSS和/或PHP修改

  • Some details on the wiki for modifying your theme can be found here:

  • 修改主題的一些細節,可以在這裡找到:

  • http://wiki.phpgedview.net/en/index.php?title=How_to_modify_your_theme


Modules
Modules模塊

  • PGV allows for third-party plugins or modules

  • PGV允許第三方插件或模塊The module structure is similar to that for other PHP CMS systems such as PHPNuke.

  • 模塊結構類似其他PHP CMS系統如PHPNuke。Documentation on how to create your own module can be found online at:

  • 有關如何創建自己的模塊的文檔可以在這裡找到:http://wiki.phpgedview.net/en/index.php?title=Developers_Guide:Creating_a_Module


Web services
Web Services網上服務

  • PGV includes both a REST and a SOAP based web service

  • PGV支持REST,SOAP Web上服務

  • The REST web service is used by the GDBI project for remote access

  • GDBI項目利用REST Web服務實現遠程編輯。

  • Add data is exposed as GEDCOM

  • Web服務以GEDCOM向客戶端返回數據


Gedcom
GEDCOM 家譜數據編碼

  • You won’t be in PGV long before you meet up with GEDCOM

  • PGV的數據以 GEDCOM格式表現

  • GEnealogical Data COMmunication

  • GEDCOM的全稱是家譜數據通信

  • An encoding format for genealogical data

    GEDCOM是家譜數據的一種編碼格式

  • Find out all of the technical details about GE

  • 有關GEDCOM的技術細節可從下列網站找到

    • http://wiki.phpgedview.net/en/index.php?title=GEDCOM


Gedcom parsers
GEDCOM Parsers解析器

  • If you work with the web services or the raw PGV database, you will need a GEDCOM parser

  • 通過 Web服務器或直接訪問PGV數據庫,

  • 你需要GEDCOM分析器JavaGedcom

  • PhpGedcom – Coming Soon to PGV!

  • PhpGedcom – 趕快進來使用 PGV


Challenges
Challenges挑戰

  • Performance with Large Datasets ( > 10000 Individuals)

  • 能在大型數據集下操作(>10000個人)

  • Complicated / outdated code base

  • 複雜/過期的源碼

  • Time – completely volunteer developers mean that time is the biggest challenge

  • 時間 - 完全志願的開發者,最需要的是時間。


Future development
Future Development未來發展

  • Build on a framework such as CakePHP or Symphony Completely OOP

  • 利用 CakePHP 或 Symphony 框架完成OOP構建。

  • Rewrite Module system to allow for administrative management

  • 重寫允許後台管理的模塊系統

  • AJAX everywhere AJAX的無處不在Click to edit/add 單擊實現編輯/添加

  • New Family Search Integration

  • 與Family Search.org 新系統間的整合集成

  • http://new.familysearch.org