✨ Available for Business and Premium tiers
The Client Extension is a way to expand the base DirectScale Platform functionality. It’s a template of sorts made of C# files stored in a GitHub repository. Whenever base code runs, it looks at the Client Extension to see if any custom code overrides or changes it. The primary way this communication occurs is through Hooks.
This feature replaces the old Client DLL. All existing functionality of the Client DLL should continue to be in place and work as expected; however, you won’t be able to edit existing Hook implementations in the Client DLL directly. You will, instead, be able to implement new Hooks and override existing Hook implementations using the Client Extension.
Important: The Client Extension currently runs in tandem with the Client DLL.
Over time, more and more existing Hook implementations will be converted to the Client Extensions. Eventually, the Client DLL will be retired. All current Hook implementations will be converted over to the Client Extension.
You (the client) must request access to the Client Extension (not your solution provider or third-party developers).
To gain access:
- Create a new or empty GitHub Git repository. Currently, GitHub is the only supported platform.
- In the GitHub account, authorize access to the DirectScale GitHub user “DS-Partners”.
- Read how: GitHub: Inviting Collaborators to a Personal Repository
- If you have an organization GitHub account, then you have more control over what permissions you grant DirectScale: GitHub: Permission Levels for an Organization
- Our DevOps team will set up the deployment pipeline.
- A “default” copy of the Extension template will then be deployed to your repository. This template is an empty C# project that contains example Extension code.
Using the Extension
With this repository available to you, you can extend the Corporate Admin commissions engine functionality and features by implementing Hooks and creating new custom API endpoints.
Visit DirectScale Developers to see code examples and other documentation for developing with the Client Extension