This document is a working specification for FamilySearch's SDK development and delivery across programming languages.
FamilySearch targets the following core programming languages:
- PHP
- Java
class FamilySearchController < ApplicationController | |
before_filter :get_window | |
around_filter :catch_authentication | |
include FamilySearchApiHelper | |
# Internal, only for Spec purposes. | |
# get_client_test and serialize_test share behavior that will be | |
# used accross other controller actions that inherit FamilySearchController | |
def get_client_test | |
if(params[:username] && params[:password]) |
def catch_authentication | |
yield | |
rescue RubyFsStack::Unauthorized => e | |
if e.message =~ /401\.23/ # Unauthorized | |
serialize_request | |
please_authenticate | |
elsif e.message =~ /401\.1/ # Bad Credentials | |
@message = "Invalid credentials. Please try again." | |
please_authenticate | |
else |
# You have a 4 generation pedigree that you would like to extend | |
# to a 7 generation pedigree. | |
# | |
# 8 9 10 11 12 13 14 15 | |
# 4 5 6 7 | |
# 2 3 | |
# 1 | |
# | |
# If you take the person on the 4th generation and pull its pedigree, | |
# you can merge the two pedigrees to create a new larger pedigree. |
RootsDev | |
https://github.com/rootsdev/roots-search (Chrome Plug-in / JavaScript) | |
https://github.com/rootsdev/familysearch-javascript-sdk | |
https://github.com/rootsdev/gofamilysearch (Go FamilySearch SDK) | |
https://github.com/rootsdev/polygenea (Java and D, Collaborative Research-centric Data Model) | |
https://github.com/rootsdev/familysearch-reference-client (JavaScript/Angular, Tree Client for FamilySearch API) | |
https://github.com/rootsdev/genealogy-search (Chrome Extension) | |
https://github.com/rootsdev/people-inspector (Chrome Extension - historical-data.org microdata reader) |
<?php | |
require 'vendor/autoload.php'; | |
use FamilySearch\Client; | |
$client = new FamilySearch\Client(array( | |
'redirectURI'=>'http://localhost:5000/familysearch-auth.php', | |
'clientId'=>'a0T3000000BfM3mEAF', | |
'collection_uri' => 'https://sandbox.familysearch.org/platform/collections' //default to the sandbox | |
)); |
apigenb generate -s gedcomx-php/src -d gedcomx-php-docs/docs --access-levels="public" --title="gedcomx-php" --template-config="../../ThemeBootstrap/src/config.neon" --download |
<?php | |
require 'vendor/autoload.php'; | |
session_start(); | |
use Gedcomx\Extensions\FamilySearch\Rs\Client\FamilyTree\FamilyTreeStateFactory; | |
use Gedcomx\Rs\Client\Util\GedcomxPersonSearchQueryBuilder; | |
use Gedcomx\Rs\Client\PersonSearchResultsState; | |
use Gedcomx\Conclusion\Person; | |
if(isset($_SESSION['fs_access_token'])){ | |
$accessToken = $_SESSION['fs_access_token']; |
<?php | |
require 'vendor/autoload.php'; | |
session_start(); | |
use Gedcomx\Extensions\FamilySearch\Rs\Client\FamilyTree\FamilyTreeStateFactory; | |
use Gedcomx\Rs\Client\Options\QueryParameter; | |
use Gedcomx\Rs\Client\PersonState; | |
use Gedcomx\Conclusion\Person; | |
// $personId = "KW4V-6T4"; // John Hannon | |
$personId = "KW4V-X9F"; //Jon Samsonite |
<?php | |
require __DIR__ . '/../../vendor/autoload.php'; | |
include 'functions.php'; | |
use Gedcomx\Extensions\FamilySearch\Rs\Client\FamilySearchClient; | |
use Monolog\Logger; | |
use Monolog\Handler\StreamHandler; | |
session_start(); |