phpgedview under the hood pgv-- 新的起點

16
PhpGedView Under the Hood PhpGedView Under the Hood PGV-- PGV-- 新新新新 新新新新 A technical overview of PhpGedView 新新新新 By John Finlay PGV Founder and Project Manager PGV 新新新新新新新新 新新新John Finlay 新新 新新新新新新新新新新 新新新新新新新新 ,, 新新新新新新新新 新新新新新新新新新新新新新新新新 新新新新新新新 ,, 新新新新 新新 PGV 新新 新新新新新新新新 ,。 新新新新新新新新新新 新新新新新新 John Finlay 新新新新新新新新新新新新新新 PPT 新新新新 新新新 DOC 新新新新

Upload: elaina

Post on 01-Feb-2016

70 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: PhpGedView Under the Hood PGV-- 新的起點

PhpGedView Under the HoodPhpGedView Under the HoodPGV--PGV-- 新的起點新的起點A technical overview of PhpGedView 技术概述

By John Finlay

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

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

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

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

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

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

Page 2: PhpGedView Under the Hood PGV-- 新的起點

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 為數據源建成動態網站的可能性

Page 3: PhpGedView Under the Hood PGV-- 新的起點

Platform Platform 平台平台PHP – for ubiquity and ease of deploymentPHP - 普遍性和易於開發 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

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

Page 4: PhpGedView Under the Hood PGV-- 新的起點

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高級隱私的設置,使其可被精細地控制,編輯和查看

Page 5: PhpGedView Under the Hood PGV-- 新的起點

Advantages of PGV Advantages of PGV 優點優點Does not lose any data in

translation from GEDCOM不丟失從 GEDCOM 中的任何數據Supports multiple databases支持多種數據庫Supports very complicated

genealogical data支持非常複雜的家譜資料

Page 6: PhpGedView Under the Hood PGV-- 新的起點

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/g

edcom/55model1.gif http://homepages.rootsweb.com/~pmcbride/g

edcom/55model2.gif

Page 7: PhpGedView Under the Hood PGV-- 新的起點

Individual

Family

Simplified View of Data ModelSimplified View of Data Model 數據模型的簡化視圖數據模型的簡化視圖

Name Event Fact

SpouseFamilies 配偶家庭

Child Families 親子家庭

One-to-many relationships 單對多的關係

Page 8: PhpGedView Under the Hood PGV-- 新的起點

Simple Code Example Simple Code Example 簡單的 簡單的 PHPPHP 源碼例子源碼例子

<?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();

?>

Page 9: PhpGedView Under the Hood PGV-- 新的起點

Developer Resources Developer Resources 開發資源開發資源Many developer resources are

available on the wiki here:

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

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

Page 10: PhpGedView Under the Hood PGV-- 新的起點

ThemesThemes 主題主題PGV provides support for customizable

themesPGV 支持自定義主題

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

Page 11: PhpGedView Under the Hood PGV-- 新的起點

ModulesModules 模塊模塊PGV allows for third-party plugins or modulesPGV 允許第三方插件或模塊

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

Page 12: PhpGedView Under the Hood PGV-- 新的起點

Web ServicesWeb Services 網上網上服務服務PGV includes both a REST and a SOAP

based web servicePGV 支持 REST , SOAP Web 上服務

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

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

Add data is exposed as GEDCOMWeb 服務以 GEDCOM 向客戶端返回數據

Page 13: PhpGedView Under the Hood PGV-- 新的起點

GEDCOM GEDCOM 家譜數據編碼家譜數據編碼You won’t be in PGV long before you meet

up with GEDCOMPGV 的數據以 GEDCOM 格式表現GEnealogical Data COMmunicationGEDCOM 的全稱是家譜數據通信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

Page 14: PhpGedView Under the Hood PGV-- 新的起點

GEDCOM ParsersGEDCOM 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

Page 15: PhpGedView Under the Hood PGV-- 新的起點

ChallengesChallenges 挑戰挑戰Performance with Large Datasets ( > 10000

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

Complicated / outdated code base複雜 / 過期的源碼

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

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

Page 16: PhpGedView Under the Hood PGV-- 新的起點

Future DevelopmentFuture 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