Skip to content

Decouple the Project Name Attribute #5

@KrashLeviathan

Description

@KrashLeviathan

What

The project name should be decoupled from the GitHub project and Heroku app names.

Why

GitHub has naming constraints. Heroku has different naming constraints. Other source control or hosting tools may have other naming constraints. It doesn't make sense for them all to be tightly coupled. I should be able to have the project "Sleepy Polar Bear Website" with a GitHub repo "SleepyPolarBear" and a heroku URL of "sleepypolarbear2018.herokuapp.com". It makes no sense to restrict the user in this regard, and users would hate us for it if we keep it this way.

How

Where it previously asked for the project name (in both Tyr and Yggdrasil), that should be the Hammer-IO project name. After the user enters a name, the system transforms that name to fit the constraints for GitHub and Heroku and then asks the user to enter a GitHub project name and Heroku app name (with the transformed names pre-filled in the form fields).

Other Thoughts

Should we make the Hammer-IO project name unique? If so, is it unique across all users (like Heroku) or just unique within the creator/owner's projects? (Part of the problem here is that we allow multiple owners and complete transfer of a project to a different user.) Uniqueness across the entire app is easier, but it's really annoying when you're trying to make a project with a name someone else has already used. Using "username/projectname" as the unique key lets the project name be more flexible. If we do make it unique in some fashion, we could use the project name or username/projectname in the URI instead of the project id (which currently is gross to look at). That would make the URLs a lot prettier and better aligned to the paradigm used in similar applications.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions