2017 © Pedro Peláez
 

library gedcomx-php-client

PHP libraries for GEDCOM X.

image

gedcomx/gedcomx-php-client

PHP libraries for GEDCOM X.

  • Tuesday, December 12, 2017
  • by stoicflame
  • Repository
  • 2 Watchers
  • 0 Stars
  • 12 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 7 Open issues
  • 23 Versions
  • 9 % Grown

The README.md

⚠️ This project is deprecated and no longer supported, (*1)

GedcomX - PHP SDK

Packagist Build Status Coverage Status Dependency Status, (*2)

The gedcomx-php SDK is the PHP implementation of GEDCOM X, including GEDCOM X extension projects., (*3)

See the wiki for the following: * A tutorial to help you get started. * A sample app Github project and running version to demonstrate basic functionality and usage of the gedcomx-php SDK in action. * The gedcomx-php SDK Documentation., (*4)

Installation

Prerequisites

Prior to installing the GedcomX PHP SDK you must install the following components., (*5)

  • PHP 5.5+ (The language of this SDK), (*6)

  • Git (Versioning system for coding), (*7)

  • Composer (PHP Packages Manager), (*8)

    Notes to Mac Developers:, (*9)

    • Mac developers might need to install the Xcode developer tools as part of this process.
    • Mac developers may need to set the date.timezone in /etc/php.ini to avoid seeing errors. See PHP time zones to locate your time zone. For example,
    `date.timezone = "America/Denver"` 
    

You can verify that each of the required components is installed by running the following commands one line at a time, at your command line or command prompt:, (*10)

php -v
composer --version
git --version

Installation Steps

NOTE: You only need to install the SDK one time for each PHP project you set up., (*11)

The GedcomX PHP SDK uses composer to manage dependencies. These instructions assume that you have installed Composer globally., (*12)

Do one of the following steps to activate Composer and install the gedcomx-php SDK library:, (*13)

  • Run the following command at a command prompt from the root of your project:, (*14)

    composer require gedcomx/gedcomx-php-client
    
  • Add the following configuration to your composer.json file then run the composer install command at your command prompt., (*15)

    {
        "require": {
        "gedcomx/gedcomx-php-client": "^1.1"
        }
    }
    

Features

  • GEDCOM X Conceptual Model, (*16)

    Implementaton of the GEDCOM X Conceptual Model in a rich set of PHP Classes with getter and setter methods. Take a look at a visual graph of the GEDCOM X Conceptual Model., (*17)

  • GEDCOM X Serialization, (*18)

    XML and JSON serialization and deserialization of GEDCOM X. For more information, see the examples., (*19)

  • GEDCOM X RS Client, (*20)

    Functionality to interact with a GEDCOM X RS compliant web service. GEDCOM X RS is a RESTful specification that defines a set of application states for a genealogical data application. This allows you to read the state of a Person, Relationship, Source Description, or other state. Take a look as some examples of establishing a RESTful state., (*21)

  • FamilySearch API Interface, (*22)

    A robust mechanism for interacting with the FamilySearch API. The FamilySearchClient class makes it easy to set the configuration to the appropriate API environment (Sandbox, Beta, Production), authenticate using OAuth2, and interact with the FamilySearch Family Tree and other services., (*23)

Changelog

  • v3.0.3, (*24)

    • Use api-integ subdomain instead of integration.
  • v3.0.2, (*25)

    • Use the new api subdomain in production.
  • v3.0.1, (*26)

    • Use integration instead of sandbox.
  • v3.0.0, (*27)

  • v2.3.0, (*28)

    • Add the generateClientSecret() method to GedcomxApplicationState.
  • v2.2.0, (*29)

    • Add logout() method to application states.
  • v2.1.1, (*30)

    • Support throttling. Enable in FamilySearchClient by setting the throttling option to true.
  • v2.0.1, (*31)

    • Fix FamilySearchClient so that it automatically follows redirects.
  • v2.0.0, (*32)

    • Upgrade to Guzzle 6 which makes PHP 5.5 the minimum supported version.
    • $state->getRequest() returns a GuzzleHttp\Psr7\Request
    • $state->getResponse() returns a GuzzleHttp\Psr7\Response
    • Add a new httpExceptions configuration parameter on FamilySearchClient that causes an exception to be thrown when a 4xx or 5xx response is received from the API.
  • v1.2.0, (*33)

    • Add a custom user agent string when using the FamilySearchClient.
    • Register a PSR-3 logger when using the FamilySearchClient.
    • Add a setAccessToken() method to the FamilySearchClient class.
    • Add getPerson() method to the PersonsState. Change PersonParentsState, PersonSpousesState, and PersonChildrenState to extend PersonsState.
    • Add getStatus() method to the FamilySearchClient class.
  • v1.1.1:, (*34)

    • Fix bugs in the FamilySearchClient class
  • v1.1.0:, (*35)

    • Introduce the FamilySearchClient
    • Fix automated tests
    • Improve runtime of automated tests with php-vcr
    • Remove apache/log4php dependency
  • v1.0.0:, (*36)

    • Initial stable build to enable Composer installation by version number.

The Versions

19/03 2015
18/03 2015