Revision 1.0.4 for SellerDeck Desktop 16.0.2 22 September 2016
Author: Hugh Gibson
SellerDeck Desktop 2016 adds the facility to run Extensions.
This Extension Development Kit - EDK - helps you to understand how Extensions work within SellerDeck Desktop, and gets you started with building and installing an Extension.
This document gives information on how to use the EDK as well as linking to the major items provided in it.
This revision of this page is valid for the official release of SellerDeck Desktop 2016. The interface and code may change for future releases.
The EDK is provided as a zip file. It can be unzipped to any location. However, for the default installation of the Tutorial Extension it should be extracted to the folder C:\SellerDeck\Extension Development Kit.
The document SellerDeck 2016 Extensions.pdf gives background information about Extensions including the architecture, licensing, desktop API and hints on how to debug Extensions. It should be read before looking into the Tutorial and Skeleton Extensions.
This document makes no assumptions about the technology used to implement Extensions. The rest of the EDK is based on a specific Extension structure created in PHP by SellerDeck. Note that SellerDeck Desktop installs PHP 5.6 for running Extensions; and also that this is a separate installation of PHP to that used by the Layout Rendering Engine.
The document SellerDeck Test Procedure - Example.docx is an outline for the Test Procedure which must be submitted along with an extension.
The file ActinicCatalog.xml gives the current database structure with field descriptions and sizes.
The subsidiary files ActinicCatalog.xsl and ActinicCatalog.css are used by browsers to automatically format the XML so that it can be easily navigated. Note however that this doesn't work with Chrome due to security policies - you will see a blank page if you click on the link. It works in Firefox and IE.
The EDK contains source code for an Extension which has been developed by SellerDeck in PHP. The Tutorial Extension can be run directly in SellerDeck Desktop. It is based on the Skeleton Extension.
The folder skeleton_source contains the source code used as the basis for all SellerDeck PHP Extensions. It provides a Framework for integrating with SellerDeck Desktop covering areas such as:
The Skeleton Extension is not functional but outlines the files that are required for an Extension in addition to the Framework.
Note that the Framework is subject to continued development. Further releases of the EDK will be made as more features are incorporated into the Framework. As the Framework may change you are strongly advised not to adjust the Framework directly. If you need extra functionality or to fix bugs, extend the Framework classes and override the existing functionality.
The folder tutorial_source contains the source code of a functional Extension - the Tutorial Extension. This Extension can be used in SellerDeck Desktop.
The Tutorial Extension shows a user interface contained in a tab in SellerDeck Desktop. After entering a valid product reference, the full description can be edited. This demonstrates database access as well as locking of resources via the Desktop API.
It can serve as the basis for creating your own Extension. Note that if you change the Extension name or Company name that a new Extension key will be required, as outlined in SellerDeck 2016 Extensions.pdf.
The file Tutorial.reg contains registry changes which set up the Tutorial Extension in tutorial_source so that it operates within SellerDeck Desktop. Note that you have to restart SellerDeck Desktop after adding these changes to the registry. Note also that the file assumes that the EDK has been installed to C:\SellerDeck\Extension Development Kit.
If you have difficulties running the extension then it's possible that you have another server already listening on the internal port number used by SellerDeck Desktop which defaults to 8080, IP v4. Try closing down all servers, including any test servers running as part of IDEs. Typically in this case you would see 404 errors in the CatalogTrace.txt file (see the Troubleshooting dialog).
The Tutorial source code documentation in the tutorial_doc folder is automatically-generated documentation from the Tutorial Extension. Additional information describing the Tutorial folder structure and normal structure is given in the main page. The source code is included in the documentation for easy reference
The documentation is generated using doxygen 1.8.10 (download from here). Run the command line below in the EDK folder:
C:\SellerDeck\Extension Development Kit>"c:\Program Files\doxygen\bin\doxygen.exe" doxygen_tutorial_doc.conf
Note that the documentation is work-in-progress.
The file tutorial_from_skeleton.patch is a Subversion patch file showing the changes made to the Skeleton source code to create the Tutorial source code. It gives guidance on the changes required to create a new Extension.
SellerDeck has developed installers for Extensions using Advanced Installer. We can provide a sample installer file or develop an installer for you.
SellerDeck Desktop installs the decoder for Source Guardian in the PHP 5.6 installation for Extensions. PHP files encoded using the Source Guardian tool will be decoded dynamically by the inbuilt webserver. This will prevent tinkering with the source code, which is otherwise easily visible.