I’d like to propose that the main URLs used to access projects and pipelines make use of slugs generated from the project/pipeline name, instead of the current URLs (see examples below).
While I realise that there are issues with using pipeline/project names in the URL (in particular - what happens when you rename a pipeline/project), this offers a good user experience by making them predictable, easy to find in your browser history, easy to share, and even easy to type from scratch.
Some examples of CodeFresh currently with proposed changes:
- List of projects is currently at:
/projects
(good start) - View one project from the list of projects:
- Currently:
/projects/PROJECT_NAME/edit/pipelines/? projectId=LONG_HASH&filter=pageSize:10;field:name~Name;order:asc~Asc
- Proposed:
/projects/PROJECT_NAME
- Currently:
- View a pipeline from the project page:
- Currently:
/pipelines/edit/new/builds?id=LONG_HASH&pipeline=PIPELINE_NAME&projects=PROJECT_NAME&projectId=LONG_HASH&context=&filter=page:1
- Proposed:
/projects/PROJECT_NAME/PIPELINE_NAME
- Currently:
Building on this, you could then navigate to the Workflow/Settings/Builds URLs by appending these strings:
/projects/PROJECT_NAME/PIPELINE_NAME/workflow
/projects/PROJECT_NAME/PIPELINE_NAME/settings
/projects/PROJECT_NAME/PIPELINE_NAME/builds
Examples from other systems:
GitHub:
/ORGANISATION_NAME
/ORGANISATION_NAME/PROJECT_NAME
/ORGANISATION_NAME/PROJECT_NAME/settings
OpenShift:
/ns/NAMESPACE_NAME
/ns/NAMESPACE_NAME/services/ocelot-entity
/ns/NAMESPACE_NAME/services/ocelot-entity/yaml