BIAMI Dev – Documentation
Overview
BIAMI.IO Dev is an optimized, tiny in size software, written in Java with embedded SQLite database that you can run on anything: from RaspberryPI through Desktops and Servers to any Cloud.
The purpose is very simple: create templates for repeatable automation processes with the possibility to add parameters (=context) that can be changed each time you execute the automation process.
Automation processes can be requested to run with different parameters each time. Think of repeatable process like creating and sending pdf reports based on a common template to each of your customers. Another example is to onboard your new customer. Each of them require to have a simple process to be executed with different parameters.
Every process can have many stages and multiple tasks per stage. Processes can be described in 2 different ways: high-level business tasks and detailed technical automation tasks. You can use filters to display description that fits your profile.
Automation processes can be forked or extended and improved.
Available Commands
BIAMI.IO Dev Core is the main engine to manage automation requests and run them. It executes automation processes via scripts with defined parameters in stages.
There are few commands available:
Process
Default setting, processes all new requests with requested parameters or displays available options if there’s nothing to process.
Request
Adds new request for defined task (=automation process) with option to request specific stage of the task list only (for testing purposes) and update context via setting values for specific parameters.
Remote request
Adds new request for defined task (=automation process) from remote repository.
Update
Update existing and download additional missing execution scripts.
Force
Executes specific individual task.
Mark task as done
Does exactly what it’s called. It can be used to debug broken processes or to mark human tasks as done.
Batch
Process the same tasks multiple times with different parameters locally or remotely.
Import new task
Imports a new process from import.tsv file based in temp directory.
Remove task
Removes tasks from task list.
Help
Display help information for specific process (taskid).
Debug mode
Run task execution in debug mode.
Log mode
Run task execution and save execution history in a log file.
Version
Displays version of your BIAMI installation.
Blocking some of core features
Some core features can be blocked by placing specific files in core folder.
Currently supported: noprocess, noimport, noremove, noupdate, noforce, nosoap, nogettasklist, nodone, noremote.
Repositories
You can have local repository of your task lists as well as remote repositories.
Remote repositories can be publicly available to anyone or password protected.
Frequently Asked Questions
What programming language can I use to write a new script?
Scripts can be written in any programming language that can be executed on the platform that you will run them on.
Where can I ask my question?
Use contact us page to ask any questions.
How can I write my own script?
The easiest way to learn to write your own script is to copy one of the existing scripts and modify it.
How do I write my own process?
You can create a new clean automation process design or copy an existing one, modify it, save as .tsv file and import it.
I did something wrong, how to start again?
Remove db/pro_cess.db file and update BIAMI.IO DEV (–-context_param cmd=update).
Where can I get support?
You can purchase commercial support, please contact us.
Changelog
28th December 2018
new feature: param_set to change dynamic parameter value in the process
new feature: new parameter: now = current date/time in format “yyyy-MM-dd HH:mm:ss”
new feature: loop folder for embedded batch processes
improvement: all plugins work in temp folder
improvement: {task}.tsv file for batch process
improvement: cmd=remove task=xx to remove the most recent task
improvement: advanced performance tweaking features
improvement: plugin name convention
minor improvements and bug fixes
19th June 2017
improvement: batch can execute any command now
improvement: more detailed information in logs
fixed: request for task={task.name} doesn’t work
6th April 2017
new feature: add –context_param taskid={task.id} when import to read script url from technical name
new feature: prefix parameter, add –context_param prefix=[prefix] to add prefix before all task execution lines
new feature: suffix parameter, add –context_param suffix=[suffux] to add suffix at the end of task execution lines
new feature: add cmd=clean to clean database and logs with completed tasks
improvement: debug mode in batch process
improvement: batch removes existing batch file if exist
improvement: execute cmd=update to update all plugins after import
improvement: noimport file to disable import options
fixed: batch process doesn’t execute properly when there is a space in the parameter
many improvements to better support Windows
7th December 2016
improvement: cmd=update updates script repository
cmd=import Hint: use cmd=cleanimport to remove import.tsv file after imported
cmd=import Hint: use script={url} to import script from the web so you can import files directly from Google Spreadsheet, GitHub, etc.
17th August 2016
new feature: dynamic parameters for all plugins
new feature: remote task repositories with public or restricted access
new feature: display task list as SOAP webservice
new feature: help files for tasks
new feature: remove task from repository
new feature: block individual or multiple commands (process, import, remove, update, force, soap, gettasklist, done and remote)
new feature: hardcode values for individual or multiple dynamic parameters within your task
improvement: import dynamic parameters together with tasks from TSV task file
improvement: even easier way to create custom plugins
improvement: run_command and do_nothing doesn’t require external plugin anymore
improvement: database directory is called db now
new plugin: wait to sleep for set or random number of seconds
new plugins: http_request and http_request_auth to call tasks from remote repositories
fixed: you can use space char in paramaters
fixed: timestamp change after new value updates for parameters
minor fixes in plugins
15th January 2016
improved debug mode
improved performance tuning
BIAMI branding
13th September 2015
new feature: display request id in web service request
new feature: debug mode added to a web service
new script: soap plugin
fixed: run_command plugin to be able to finish task when deployed as a web service
even more performance improvements
12th May 2015
fixed: init
19th April 2015
new feature: update to update existing and download additional required plugins
new feature: requestprocess to request and process at the same time
new feature: batch process
new script: human task plugin to include human tasks in the task list/process
new script: ssh command plugin to execute tasks on remote computers/servers
fixed: tasks are marked as done after execution and not at the beginning of the stage
17th March 2015
10th March 2015
fixed: changed init db file from pro_cess_new.db to pro_cess_init.db
fixed: import doesn’t import whole parameter with more than one equality sign
28th February 2015
fixed: ftp_upload now uploads subdirectories too
22nd February 2015
fixed: run_command can handle white spaces now, see post
fixed: request id is now passed together with task id to every task
fixed: “mark as done” to create file with request id and task id
fixed: no need to add all parameters after task execution again
19th February 2015
new feature: debug mode
new: Process Template on google docs
extended: display all available features when running from shell when there’s no requests to be processed
15th February 2015
dir is passed with every script execution
do_nothing script changed to use dir parameter
download_file script changed to use dir parameter
new script: run_command to execute any command
new script: ftp_download to download files using FTP
new script: ftp_upload to upload files using FTP