Details
-
Type: Bug
-
Status: Closed (View Workflow)
-
Priority: Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: None
-
Labels:None
-
Story Points:2
-
Epic Link:
-
Sprint:Fall 2019 Sprint 2, Fall 2019 Sprint 3
Description
The IGB App recommended build pipeline creates MANIFEST.MF file with the attributes:
- Bundle-Name - human-friendly, user-facing App title, e.g., "Merge Annotation Track Operator" or "ProtAnnot" or "My New App"
- Bundle-SymbolicName - used by OSGi run-time, e.g., merge-annotation-track-operator
- Bundle-Version - used by OGGi run-time. IGB Apps must use semantic versioning syntax, e.g., 10.1.10 (major.minor.micro)
Currently, App Store is using Bundle-Name to build paths to files in S3 and URLs to Apps pages. This creates many problems. For example, this make it hard to change the human-friendly title of an App after it has been submitted. This is bad because anything user-facing ought to be easy to change and improve.
However, we need some way to create predictable paths to files and Apps.
Instead of using Bundle-Name to create paths, let's use Bundle-SymbolicName instead. This value, together with Bundle-Version, is already being used by OSGi to distinguish and resolve bundles. We can do the same in App Store.
Let's re-factor the internal App Store infrastructure to no longer use Bundle-Name for anything other than provide user-friendly text to display to users.
For example, storage page for released apps should look like:
- /media/[Bundle-SymbolicName]/releases/[Bundle-Version]/[Bundle-SymbolicName]-[version].jar
New URLs for Apps should look like:
[domain]/apps/[Bundle-SymbolicName]
In addition, let's modify model fields and variable names to make it more clear where they came from and what they mean.