On Wed, May 18, 2016 at 2:20 PM, Peter Harpending <pe...@harpending.org> wrote:
This is mostly directed at Bryan, but I thought it was appropriate for the
entire ML to comment.

I don't like using /p/snowdrift as the route to SnowdriftProjectR, because it introduces an unnecessary corner case. It means that when we eventually want to have /p/#Text, we have to use a smart newtype, and add a bunch of extra code that makes sure that nobody makes a project with "snowdrift" as its slug.


1. Move /p/snowdrift elsewhere, like /snowdrift
2. Use /project/#Text rather than /p/#Text in the future.
3. Deal with the extra code bloat.

I vote for option 1, because it's by far the cleanest. It would be really weird to have /p/snowdrift, but no /p/AnyOtherProject. If there's a special case, it should be at a top-level route, like the other special cases, e.g. /welcome,
/dashboard, /search, etc.

I don't understand exactly why it's a corner case. Under the current system, wouldn't /p/snowdrift/ eventually be coded the exact same way as any other project, so new projects would be prevented from using `snowdrift` as a slug in the same way that they'd be prevented from taking the slug of any other existing project?
Dev mailing list

Reply via email to