API and Hook documentation improvements

Kmaid

New Member
Hey,

I am developing a plugin for Client Exec and thought it be helpful to point out weaknesses (aka things i didn't understand and frustrated me) in your documentation when i come across them. I will add these as I go along. Youtube videos showing how you develop plugins and hooks would be super useful if it's difficult to document.

Hooks
  • You only provide a list of hooks. You don't point to how these hooks can be used. I suspect it will be in the cron job hold all but I haven't looked yet.
  • You don't provide any idea of what payload the hook will provide.
Server Plugin
  • You omit where in the clientexec installation folder the plugin should go.
  • It might be worth mentioning how to enable errors to be shown in config.php
  • How to set custom variables. At what point they are persisted.
  • How to test the plugin (A sandbox would be very helpful). Eg how to trigger create/suspend/etc each action from the dashboard
    • Its not clear if this is only done by the cron job meaning you have to wait for that to trigger to see what happens.
      • This turned out I had setup the product group to be "General" rather than "Hosting". It would be very good to mention that only products in hosting group can use Server Plugins. It would also be useful to grey this out on invalid types EG General. It is also strange that 1676828920515.png is available for products in the general type as it doesn't seem to do anything.
  • Suggest looking at 'modules/admin/models/ServerPlugin.php' as its not encrypted and shows under the hood (somewhat)
  • A list of files that aren't encrypted.
Api Documentation
  • How to use the API key (its a get parameter for get methods and post for post requests. eg `?apikey=`)
  • the endpoints URI are incomplete. They are all prefixed with /api/
  • Where the "Arguments" go eg Query Params, Post Body etc
  • That Post requests
 
Last edited:
Hey,

I am developing a plugin for Client Exec and thought it be helpful to point out weaknesses (aka things i didn't understand and frustrated me) in your documentation when i come across them. I will add these as I go along. Youtube videos showing how you develop plugins and hooks would be super useful if it's difficult to document.

  • You only provide a list of hooks. You don't point to how these hooks can be used. I suspect it will be in the cron job hold all but I haven't looked yet.
  • You don't provide any idea of what payload the hook will provide.
Server Plugin
  • You omit where in the clientexec installation folder the plugin should go.
  • It might be worth mentioning how to enable errors to be shown in config.php
  • How to set custom variables. At what point they are persisted.
  • How to test the plugin (A sandbox would be very helpful). Eg how to trigger create/suspend/etc each action from the dashboard
    • Its not clear if this is only done by the cron job meaning you have to wait for that to trigger to see what happens.
      • This turned out I had setup the product group to be "General" rather than "Hosting". It would be very good to mention that only products in hosting group can use Server Plugins. It would also be useful to grey this out on invalid types EG General. It is also strange that View attachment 367 is available for products in the general type as it doesn't seem to do anything.
  • Suggest looking at 'modules/admin/models/ServerPlugin.php' as its not encrypted and shows under the hood (somewhat)
  • A list of files that aren't encrypted.
Api Documentation
  • How to use the API key (its a get parameter for get methods and post for post requests. eg `?apikey=`)
  • the endpoints URI are incomplete. They are all prefixed with /api/
  • Where the "Arguments" go eg Query Params, Post Body etc
  • That Post requests
    I also recently read https://www.cogniteq.com/blog/flutter-pros-and-cons-it-good-choice-your-app before developing and I can say that after reading it I highlighted a lot of useful information and also have a contact with the development team who can advise if needed...Hooks
Your feedback on the documentation is valuable, especially pointing out the need for more detailed explanations around hooks, payloads, and server plugin setup. Adding a sandbox for testing and more clarity on API usage would definitely improve the experience for developers. YouTube tutorials are a great idea too—visual learning can help bridge the gaps where documentation might fall short. Keep up the great work, and hopefully, these suggestions get noticed!
 
Hey,

I am developing a plugin for Client Exec and thought it be helpful to point out weaknesses (aka things i didn't understand and frustrated me) in your documentation when i come across them. I will add these as I go along. Youtube videos showing how you develop plugins and hooks would be super useful if it's difficult to document.

Hooks
  • You only provide a list of hooks. You don't point to how these hooks can be used. I suspect it will be in the cron job hold all but I haven't looked yet.
  • You don't provide any idea of what payload the hook will provide.
Server Plugin
  • You omit where in the clientexec installation folder the plugin should go.
  • It might be worth mentioning how to enable errors to be shown in config.php
  • How to set custom variables. At what point they are persisted.
  • How to test the plugin (A sandbox would be very helpful). Eg how to trigger create/suspend/etc each action from the dashboard
    • Its not clear if this is only done by the cron job meaning you have to wait for that to trigger to see what happens.
      • This turned out I had setup the product group to be "General" rather than "Hosting". It would be very good to mention that only products in hosting group can use Server Plugins. It would also be useful to grey this out on invalid types EG General. It is also strange that View attachment 367 is available for products in the general type as it doesn't seem to do anything.
  • Suggest looking at 'modules/admin/models/ServerPlugin.php' as its not encrypted and shows under the hood (somewhat)
  • A list of files that aren't encrypted.
Api Documentation
  • How to use the API key (its a get parameter for get methods and post for post requests. eg `?apikey=`)
  • the endpoints URI are incomplete. They are all prefixed with /api/
  • Where the "Arguments" go eg Query Params, Post Body etc
  • That Post requests
I have created an snapin and using it for sending sms to clients ;
 
Back
Top