The purpose of this post to provide some information regarding the future development of the eBay SDK for PHP. Specifically I would like to discuss some issues with the current development and my plans to solve them. I would also like to provide information about the version 1.0 release of the SDK.
Current Development Issues
As you may know the SDK is currently maintained in following Github repositories.
The ebay-sdk repository is the core of the SDK and is where the bulk of the functionality can be found. The other repositories build upon the core to provide a way for you to integrate a particular eBay service into your PHP projects. Back when the SDK was first developed it seemed OK to maintain a separate repository for each service. As more services have been added it's become clear that this is no longer the case. For each new service it's become obvious that the cost of maintaining the SDK as a whole is increasing.
- Multiple version numbers have to be maintained.
- The installation guide must be kept up to date with each new repository that is created.
- The reporting and tracking of issues is now spread over several repositories.
- Code is been duplicated across the repositories.
- Much of the documentation for each service is also been duplicated.
It is the increasing cost of maintenance that has lead to idea of combining the separate repositories into a new repository that will:
- Reduce the installation of the SDK to a single Composer command or Phar/Zip archive.
- Simplify the user guides as repeated information can be removed.
- Make it easier to report and track issues.
- Simplify the ongoing development and maintenance of the SDK as all the duplicated work will be removed.
At this point it is important to state that the SDK code will not be changing during the transition to the new repository. Existing namespaces and classes will remain untouched to ensure that the SDK remains compatible with your projects. Since the code is not changing it should be possible to migrate a project over to the new repository with a few Composer commands. A migration guide will be available to explain the process. I would also like to stress that the current repositories will not be removed until the end of the 2015. Once the new repository is live the existing repositories will be deprecated. They will still receive bug fixes and API updates, but the development of new features will be done on the new repository. As there are many existing projects that currently use the SDK I plan to maintain the old repositories until the end of this year. This should provide enough time for you to start using the new one.
By reducing the SDK to a single repository I will be able to focus on releasing version 1.0 at the start of 2016. At the present time I have a few ideas as to how I would like the SDK to be for this release. My plan is to make a more detailed announcement in September when development of version 1.0 will start. The September announcement will also give you a change to provide feedback on what you would expect from the release.
Below is the current timetable regarding the future of the SDK.
Begin the transition of existing SDK code over to a new single repository.
- Release a new single repository for the SDK.
- Provide a migration guide for existing users of the SDK.
- Provide updated guides on devbay.net.
- Archive existing guides on devbay.net so that current users of old SDK repositories still have access to them.
- Deprecation warnings and End Of Life notices will appear in the documentation and guides for the old repositories. New users of the SDK will be encouraged to use the new repository.
A detailed announcement regarding the planned release of version 1.0 in 2016.
- 6th December
End Of Life for old SDK repositories.
- 3rd January 2016
Release version 1.0.
Frequently asked questions
- Is this a new SDK?
- No. The SDK is currently spread across several repositories and the current code is been migrated into a single new repository.
- Why the need for a new repository?
- The cost of maintaining several repositories is increasing. By reducing the SDK to a single repository development time can be better spent on improving it.
- Where is this new repository?
- The new repository will be hosted on GitHub and will be called ebay-sdk-php.
- The new repository doesn't exist at ebay-sdk-php?
- It is currently a private repository so access is limited until the release.
- So when is the release?
- The repository will go public on the 2nd August 2015.
- What will happen to the old repositories once the new one is released?
- Once the new repository is released the existing old repositories will be marked as deprecated and given an End Of Live notice for the 6th December 2015.
- Will the old repositories be maintained?
- Yes. They will receive bug fixes and API updates until the 6th December 2015.
- What happens on the 6th December 2015?
- The End Of Life notice for the old repositories will come into effect and they will no longer be available via Composer or GitHub.
- Do I have to use this new repository for my existing projects?
- No. If you current projects are using the old repositories you can continue to do so until the 6th December 2015.
- Can I migrate my current projects so that they use the new repository?
- Yes. A migration guide will be made available to assist in moving existing projects over to using the new repository.
- Will I have to rewrite my existing project code?
- No. The SDK code will remain unchanged during the transition to the new repository. Your existing code will work with the SDK code provided by the new repository.
- Should I use the old repositories when starting a new project?
- No. Once the new repository is released I would strongly recommend that you use it in any new projects.