"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.
Conform to Third Party App Style Guide
details field specify:
details field, specify an array of
upstreamProjects. For each entry, specify software's
licenseUrl, and optionally
regionalOptions contains regions for ALL supported app regions.
Set applicable timeout and restart policy in
version field, set proper semantic versioning.
"openSource": true. Default is
False, set at your discretion.
Add a unit test (or 2, or 3...) for your app.
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)
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
org-dnanexus_tools_admin as a Developer so DNAnexus can help add authorizedUsers PUBLIC when needed.
Add authorized users via CLI call
Email firstname.lastname@example.org 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.