Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

News Plugin Manager

rconn

Administrator
May
14,987
375
Staff member
The next version of Take Command / TCC / CMDebug will include support for plugins in BDEBUGGER / IDE and TCEdit. To make it easier for users to find / install / update / uninstall plugins, I have created a plugin manager. The plugin manager will also support the existing TCC plugins, so I need your help in creating the repository list. The repository list will be hosted on the JP Software server in JSON files (one for TCC plugins, one for IDE / TCEdit plugins).

The JSON plugin entries look like this:

{
"folder-name": "Example",
"display-name": "Example Plugin",
"version": "1.0.0.1",
"id": "68e869ba856192017bfe0ef06fa55af9efb0e545ecb20032efb4ef8f38063713",
"repository": "https://jpsoft.com/downloads/plugins/sample-plugin.zip",
"description": "An example plugin that does a few silly things, like replacing the REM command.",
"author": "Bob Smith",
"homepage": "https://github.com/BobSmith/ExampleTCCPlugin"
}

The purpose of each field:
  • "folder-name" - the subdirectory name (under Plugins\) where the plugin will be installed.
  • "display-name" - The name to display in the plugin manager.
  • "version" - The plugin manager uses this to determine whether an update is available for installed plugins.
  • "id" - a GUID that uniquely identifies the plugin. If you don't specify one I will create it for your plugin.
  • "repository" - The download URL. The plugin & any associated files must be in a ZIP file. The plugin dll cannot be in a subdirectory in teh zip.
  • "description" - A few sentences describing the plugin. This is displayed in the plugin manager when the user selects the display name.
  • "author" - Your name or pseudonym.
  • "homepage" - Optional URL to your site. If you do not have your own site or don't want to host the download URL, send your plugin to JP Software and we will host it at jpsoft.com.
If you would like your plugins to be in the repository, please send an email to [email protected] with the JSON for each plugin. Once I have a few plugins for the repository I will post a beta build with the plugin manager so you can test it.
 
This will be an updater as well — check for updated versions, download and extract them? How will that work; do you want us to email you updated JSONs every time a plugin changes? (That might get tedious for you.)

How do you want to handle x86 builds? Does TCC still have an x86 build? Maybe that was quietly dropped, and I just never noticed.

Change the ID number when the plugin is updated, or keep it the same? (Picking at nits here, but your example ID doesn't look like a valid GUID to me.)
 
Yes, it's an installer / updater / remover.

When a plugin changes all I need is the new version number (for the updater). And an updated description if you've added / deleted things. Unless you're changing a dozen plugins daily I doubt it will be much of a burden to update the JSON file.

x86 support was dropped 10 versions ago.

The ID will remain the same. I'm not actually using it for anything at this time.
 
Back
Top