I wrote several Editorial workflows for Jekyll & GitHub Pages blogging few days ago. Then I removed them from my iPad to test fresh installation and found two problems:
- lost sharing state.
Workflow can run another workflow (= subworkflow). User can include subworkflow in the main workflow (copy) or it can be referenced by name. Running main workflow without installed subworkflow referenced by name leads to an error. Editorial itself doesn’t help here, because it installs main workflow without dependencies, without warning, … It looks like that everything’s allright and it isn’t. Not a big issue for experienced Editorial users, but even I do not want to remember all dependencies. Would like to have it automated.
Second problem is sharing state. User can create workflow and share it at editorial-workflows.com. Editorial offers Share or Update if user tries to share the same workflow again. But sharing state is lost whenever user decides to delete workflow and install it again. Like me when I was testing it.
I learned how workflows are stored locally, but wasn’t able to figure out how to restore sharing state. Asked Ole and he quickly provided Restore Shared Workflow… workflow. Ole’s workflow is nice, but I wanted to have it working other way – do not list shared workflows and install them, but list all available workflows and restore sharing state if possible.
To be precise – sharing state isn’t lost. Sharing state is being kept in SharedWorkflows.sqlite database. Problem is with installation, because installation of workflow always generates new UUID, which doesn’t match previously used UUID.
What now? Editorial, iPad, external keyboard and here’s the solution – RV: Workflow Installer.
You can browse recent workflows remotely fetched from editorial-workflows.com.
You can check installation status and dependencies.
Installed workflows are skipped.
You can search for workflows available at editorial-workflows.com.
You can check what’s going on during installation of workflow and dependencies.
Problems solved. Workflows can be installed with dependencies and sharing state is preserved.
Be aware of one thing. Sharing state can be restored only on the device from which you did share your workflow for the first time. That’s because of locally stored SharedWorkflows.sqlite database.