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

Migrate to Friendlier URLs #32

Open
joshdmiller opened this issue Mar 22, 2016 · 1 comment
Open

Migrate to Friendlier URLs #32

joshdmiller opened this issue Mar 22, 2016 · 1 comment

Comments

@joshdmiller
Copy link

Characters, elements, and outlines need not be children of worlds, though they can be if the added added context would assist users.

Slugs should be added for characters and outlines, though are probably not needed for elements. E.g.:

/worlds/123/sesame-street
/worlds/123/sesame-street/characters/456/big-bird or /characters/456/big-bird
/worlds/123/sesame-street/outlines/789/episode-1 or /outlines/789/episode-1
@joshdmiller
Copy link
Author

joshdmiller commented Aug 23, 2016

Overview

Depends on StoryShop/api#21, #134, and #52.

The above has been revised through the Writer design process to a new URL structure. This task involves migrating the following existing URLs to their new URIs:

# List of worlds
/app -> /worlds

# World Settings
/app/worlds/:wid -> /worlds/:wid/:slug

# World Lists
/app/worlds/:wid/characters -> /worlds/:wid/:slug/characters
/app/worlds/:wid/elements -> /worlds/:wid/:slug/elements

# Characters
/app/worlds/:wid/characters/:cid -> /characters/:cid/:slug

# Elements
/app/worlds/:wid/elements/:eid -> /worlds/:wid/:slug/elements/:eid

In addition, the following are new URIs to be implemented along with their respective components, outside the scope of this task:

# World Lists
/worlds/:wid/:slug/books

# Books
/books/:id/:slug

Lastly, the following URIs are considered deprecated and will not be updated. Per this issue, the endpoints are their components are to be removed:

/worlds/:wid/outlines
/worlds/:wid/outlines/:id

Note

When loading a route, we will need to fetch a world from the resource in question. For worlds and world lists, we already have the world ID in the route params; for characters (and later for books), we will need to do a reverse lookup on those resources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants