This repo contains both classes for the GedcomX object model as well as code for making HTTP requests to the FamilySearch API. There are common use cases where you would want the former without the latter, such as using GedcomX data that wasn't retrieved from the API or wanting to write the networking code yourself.
I propose we split out the Rs/Client code into gedcomx-php-client and keep the object model here (since the name of this repo lends itself quite nicely). gedcomx-php-client will use gedcomx-php as a dependency and maintain exactly the same interface and functionality. gedcomx-php will have it's major version increased so we don't break anyone using the current 2.x version.
I've actually already done most of the work. The gedcomx-php#split contains the working object model with the Client code and it's dependencies ripped out. I have a working version of gedcomx-php-client in york-solutions/gedcomx-php-client#split. This was all done to prove that it would work, especially rewriting the embed() methods as static functions on a utility class so that the logic was in gedcomx-php-client instead of gedcomx-php on the classes.
This repo contains both classes for the GedcomX object model as well as code for making HTTP requests to the FamilySearch API. There are common use cases where you would want the former without the latter, such as using GedcomX data that wasn't retrieved from the API or wanting to write the networking code yourself.
I propose we split out the
Rs/Client
code intogedcomx-php-client
and keep the object model here (since the name of this repo lends itself quite nicely).gedcomx-php-client
will usegedcomx-php
as a dependency and maintain exactly the same interface and functionality.gedcomx-php
will have it's major version increased so we don't break anyone using the current 2.x version.I've actually already done most of the work. The
gedcomx-php#split
contains the working object model with the Client code and it's dependencies ripped out. I have a working version ofgedcomx-php-client
inyork-solutions/gedcomx-php-client#split
. This was all done to prove that it would work, especially rewriting theembed()
methods as static functions on a utility class so that the logic was ingedcomx-php-client
instead ofgedcomx-php
on the classes.Is anyone opposed to this?