Self-Service Deployment, User On-Boarding Wizard, and Improved Documentation

One of the major pain points for users of OpenBoxes is trying to install and configure the software on their own. I know this because like Sy Sperling, I’m not only the Lead Developer of OpenBoxes, I’m also a client. And I feel these same frustrations every time I do a new installation.

Whether you’re trying install the latest version on a remote host running Ubuntu 18.04 or on your laptop running Windows or Mac, it’s not a trivial endeavor to get the software up and running. I’ve thought long and hard about ways to alleviate these pains, but the amount of effort to implement these solutions requires time, funding, and user feedback, which are resources that are in short supply most of the year.

As part of Digital Square’s E0 Notice (https://applications.digitalsquare.io/notice-e0) we may have solved for two of those problems (i.e. funding and user feedback). We have submitted a concept note for the project that we are hoping to work on (https://applications.digitalsquare.io/content/openboxes-shelf-readiness-project) but we need feedback from our community on how to make sure it works according to their needs.

There are three major work packages that we’ve proposed:

Self-Service Deployment
Allow a random user on the web to click a button and magically deploy OpenBoxes to their preferred cloud hosting provider.

  • Use a combination of technologies (e.g. Docker, Ansible) to make it easy to deploy a production-ready version of OpenBoxes conveniently from the command line
  • Use a combination of technologies (e.g. Terraform, CloudFormation, Azure Devops, Google Deployment Manager) to automate the creation of infrastructure resources like VMs, databases, etc
  • Add a Deploy to button to the OpenBoxes README on GitHub that’ll use each providers (Azure, Amazon, Google, DigitalOcean, etc) IaaS/deployment service to automate deployment of resources into the user’s account.
  • Customize the deployment process to allow users to choose configuration options (different VM size, co-located services vs services deployed to PaaS options)

New User Onboarding
Allow a user to create an admin account and be guided through a set of steps to a working system.

  • Walk-through creating first user
  • Walk-through creating first location
  • Walk-through dashboard indicators
  • Walk-through import of standard categories from GS1 data sources (i.e. UNSPSC)
  • Walk-through import of products from GS1 and WHO data sources (i.e. Essential Meds List)
  • Walk-through import of bin locations
  • Walk-through import of suppliers
  • Walk through import of initial inventory

Documentation Improvements
Self-service user guide and knowledge base, sysadmin guide, developer API docs, in-app docs and video tutorials

So we need your feedback.

Self-Service Deployment

  • What providers would you like us to support from the beginning (Azure, Amazon, Google, Digital Ocean, others)
  • Are you familiar with any projects (with self-hosted cloud installers) that have done this well?

New User Onboarding

  • What are some of the issues that you’ve encountered during the installation process
  • What are some of the issues that you’ve encountered during the configuration process (i.e. setting up database and application properties in openboxes-config.properties)
  • What are some of the issues that you’ve encountered during the implementation process (i.e. setting up users, locations, etc)

Documentation Improvements

  • Besides “everything”, what are some of the holes in our current version of the documentation and tutorials that you’d like to see improved upon?

Please respond to these questions or provide your own feedback to help us improve our application.

So we’ve got some exciting news … that I think I can share with you? Our proposal for the Digital Square’s Shelf-Readiness investment (https://applications.digitalsquare.io/notice-e0) was approved and funded. We are hoping to begin work on the project in early January.

We plan to provide updates here as the project gets underway. And we’d love for you all to participate in the project by providing requirements and feedback.