Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use <ExternalName> rather than <Name> to set artifact name in "Publish" command (if exists) #691

Open
isc-eneil opened this issue Jan 7, 2025 · 2 comments
Assignees
Milestone

Comments

@isc-eneil
Copy link
Collaborator

As discussed in meeting between HSDevOps and AppServices, sometimes modules will have different internal and external-facing names. Internal names depend on department or company naming conventions, while external-facing names depend on product and marketing decisions.

The publish command should be updated to set the ImageTitle to the instead of to name the artifact if it exists in the module's module.xml. If not, it should use .

@isc-eneil isc-eneil added this to the January 2025 milestone Jan 7, 2025
@isc-shuliu
Copy link
Collaborator

isc-shuliu commented Jan 22, 2025

@isc-eneil @isc-kiyer @isc-tleavitt
Currently the ExternalName is not always a valid package name. For example, the external name for IPM itself is Package Management System, which contains spaces. Which of the following do think is the best?

(a) remove the spaces (and other invalid characters) automatically
(b) prompt the user and ask for manual confirmation
(c) abort renaming attempt and keep using the original name
(d) enforce a new standard that requires ExternalName to be valid package name

Personally I would go for (a) which is easiest to implement at a reasonable cost. (b) is safer but needs more work. (d) means we need to migrate all legacy packages and help them update their ExternalName

@isc-kiyer
Copy link
Collaborator

@isc-shuliu Great points!
My proposal: add a flag for the publish command: -use-external-name (alias: -use-ext). When flag is used, throw error if name is not valid for publishing.
Reasoning: many packages likely don't use ExternalName (maybe don't even know about it) OR as you said, don't have it in a valid format for publishing purposes (we have that in HS as well with Unified Care Record, Personal Community etc. as ExternalName values). If a user wants to then use ExternalName for publishing, they can explicitly do so and then get good feedback on requirements to do so. Documentation should be added as well about what a valid name is for publishing. Each repo type also likely has different naming requirements so maybe need a method in the IPublishService interface for determining valid package name.

@isc-shuliu isc-shuliu self-assigned this Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: To do
Development

No branches or pull requests

3 participants