OrderLink Plugins
OrderLink supports three main data flows: creating jobs from orders, syncing workorders, and backing out jobs. By default, OrderLink provides order import from CSV and a variety of built-in allocation algorithms. One or more of these data flows can be customized via a plugin. As part of our services at SeedTactics, we can develop a plugin for you based on your specific needs and manufacturing process; contact us for more information.
Using a SeedTactic Plugin
If we at SeedTactics develop a plugin for you, it is provided as a ZIP file
download. The plugin should be extracted into a folder accessible to all the
computers which may run OrderLink (could be a network share somewhere). The ZIP
contains a README
file with more information. The ZIP will also contain a file
default-config.ini
and the default-config.ini
must be renamed to just
config.ini
.
The flexibility plan stores the name of the plugin inside the .flexplan
file,
but each computer has a separate setting for the full filepath to the plugin.
If the plugin has not yet been used on this computer, OrderLink will prompt you
for the path to the plugin. The path can also be edited by clicking on the
pencil icon next to the path in the initial connection screen. From
within OrderLink, you can only change the path to the plugin; the plugin name is
edited in SeedTactic: Planning. OrderLink will also display a warning if the
version of the plugin is older than the most recent plugin used to download a
job.
Command Line Usage
Each plugin is actually a command-line executable that reads and writes JSON data on standard input and output and can be used independently of the OrderLink GUI. This is useful for automatic scheduling or integrating scheduling into your own data-flow.
To get started, open a shell and run the executable with the --help
option.
This will show the list of sub-commands, and to learn more about each
sub-command run the executable with both the sub-command and --help
as
arguments. For example, myplugin.exe create-jobs --help
will display all the
parameters for the create jobs data-flow. Each plugin will have customized
parameters and sub-commands, see the README
or contact us for more
details.
Plugin API
To be used with the OrderLink GUI, a plugin must support the following command line arguments and read and write JSON on standard input/output.
The JSON format is described by JSON Schema:
- seedsim.schema.json
- allocate.schema.json
- flexplan.schema.json
- forecast.schema.json
- orders.schema.json
- fms-insight.schema.json
The required command line arguments are:
-
plugin-info
: printsPluginInfo
JSON structure on standard output, containing the plugin name, version, and capabilities of the plugin. -
create-jobs --dry-run --flex-plan <flex-file> <insight-uri>
: this command should perform the full create-jobs data-flow and print a JSONJobsToMake
object on standard output. The jobs should not be sent to FMS Insight; the OrderLink GUI will send the jobs once the user clicks the button. -
sync-workorders --dry-run <insight-uri>
(only ifplugin-info
returnsSyncWorkordersToInsight = true
): calculate the workorder difference between the ERP and FMS Insight, but don't actually perform the sync. Instead, print aWorkordersToSync
JSON object on standard output. The OrderLink GUI will perform the sync once the user clicks the button. -
backout <insight-uri>
(only ifplugin-info
returnsBackoutJobs = true
): perform the full backout procedure and return an array ofJobDecrementQuantity
describing the actual quantities removed from FMS Insight.