3rd Party App Publishing Checklist

"Good checklists, on the other hand, are precise. They are efficient, to the point, and easy to use even in the most difficult situations. They do not try to spell out everything--a checklist cannot fly a plane. Instead, they provide reminders of only the most critical and important steps--the ones that even the highly skilled professional using them could miss. Good checklists are, above all, practical." ― Atul Gawande, The Checklist Manifesto: How to Get Things Right

This page contains "checklist" to go over before you publish an App to customers. As with any guide if you have reason to deviate, it is recommended you follow your intuition and deviate.

App checklist

Transition from Applets to Apps

dxapp.json and Source code

  • In details field specify: whatsNew, and citation.

  • In details field, specify an array of upstreamProjects. For each entry, specify software's name, repoUrl, version, license, licenseUrl, and optionally author.

  • Verify regionalOptions contains regions for ALL supported app regions.

  • Set applicable timeout and restart policy in runSpec.

  • version field, set proper semantic versioning.

  • Contemplate setting "openSource": true. Default is False, set at your discretion.

  • Add a unit test (or 2, or 3...) for your app.

Documentation

  • Write Readme.md and (optional) Readme.developer.md

  • Build as app on DNAnexus platform, bill to org-your_handler (DO NOT PUBLISH YET). Remember the unpublished app ID, "app-xxxx".

  • Read documentation to double check. (Unpublished app URL will be available to developers as: https://platform.dnanexus.com/app/app-xxxx)

Before publishing the app

  • Build as an app on DNAnexus platform billed to org-your_handler (DO NOT PUBLISH YET). Remember unpublished apps can be viewed by developers on the platform under https://platform.dnanexus.com/app/app-xxxx.

  • Test it on expected data.

  • Verify entity-ids are specified for all supported cloud regions in the app.

  • Add Developers via CLI call

  • Add org-dnanexus_tools_admin as a Developer so DNAnexus can help add authorizedUsers PUBLIC when needed.

  • Add authorized users via CLI call

  • Email support@dnanexus.com so the DNAnexus tools admin team is notified and can work with you to make the app PUBLIC.

  • Publish via CLI call

  • Verify the versions that appear on the platform are the intended versions

Congratulations! You've published an app. Feel free to publicize your app and let your users know your tool is available in the cloud.