1 / 16

PhpGedView Under the Hood PGV-- 新的起點

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

elaina
Download Presentation

PhpGedView Under the Hood PGV-- 新的起點

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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文本登載。

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

  3. 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 • 隨著需求的增長,對後台數據庫的要求將隨之增多,以滿足複雜的搜索和查詢的要求

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

  5. Advantages of PGV 優點 • Does not lose any data in translation from GEDCOM • 不丟失從 GEDCOM中的任何數據 • Supports multiple databases • 支持多種數據庫 • Supports very complicated genealogical data • 支持非常複雜的家譜資料

  6. 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

  7. Simplified View of Data Model數據模型的簡化視圖 Individual SpouseFamilies 配偶家庭 Family Child Families 親子家庭 One-to-many relationships 單對多的關係 Name Event Fact

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

  9. Developer Resources 開發資源 • Many developer resources are available on the wiki here: • 許多開發資源可以在這裡找到: • http://wiki.phpgedview.net/en/index.php?title=Developer_resources

  10. 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

  11. 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

  12. 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向客戶端返回數據

  13. 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

  14. 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

  15. Challenges挑戰 • Performance with Large Datasets ( > 10000 Individuals) • 能在大型數據集下操作(>10000個人) • Complicated / outdated code base • 複雜/過期的源碼 • Time – completely volunteer developers mean that time is the biggest challenge • 時間 - 完全志願的開發者,最需要的是時間。

  16. 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

More Related