Skip to content
This repository has been archived by the owner on Jan 16, 2020. It is now read-only.

All name matching should be case-insensitive #73

Open
scottgonzalez opened this issue Jan 17, 2013 · 8 comments
Open

All name matching should be case-insensitive #73

scottgonzalez opened this issue Jan 17, 2013 · 8 comments

Comments

@scottgonzalez
Copy link
Contributor

No description provided.

@rdworth
Copy link
Contributor

rdworth commented Jan 21, 2013

Would we determine the url based on the capitalization (case) of the name in the manifest?

@rdworth
Copy link
Contributor

rdworth commented Jan 21, 2013

My next question was going to be "Would we allow any case of url to be typed and redirect to the normative cased?" but I just tested it and we currently support urls with mixed case that doesn't match the name in the manifest, without any redirect. This seems wrong, as it means each plugin has an extremely large number of supported root urls, rather than one.

@scottgonzalez
Copy link
Contributor Author

We can probably have WordPress auto-redirect, just like it does for the trailing slash. I'd prefer using lowercase URLs because it would mean that the developer can't change URL casing per release.

@rdworth
Copy link
Contributor

rdworth commented Jan 21, 2013

I understand your concern, but not allowing caps in urls (as much as it is something I would never do) would force some people to have some crappy urls. As an example, /AnythingZoomer/ becomes /anythingzoomer/. This makes a big difference in readability. I'm sure I could come up with other examples that combine words in weird ways and are even harder to read without caps.

When a name is reserved successfully, can we just stick with the capitalization of the name in the first successfully processed manifest?

@scottgonzalez
Copy link
Contributor Author

As long as XML-RPC will resolve lowercase names to the proper capitalization, I think it we can do that.

@scottgonzalez
Copy link
Contributor Author

It seems to me like it'd be a bad idea to let the user choose the casing, but then let the casing get out of sync with the manifest if they change their manifest. Either we give the user full control over the casing (meaning they can change it by changing their manifest), or we force it to lowercase.

@nacin
Copy link

nacin commented Jul 18, 2013

We can probably make it so:

  • developers can be explicit in their casing, so AnythingZoomer can work
  • the matching is insensitive, so Anthingzoomer finds the right page
  • incorrect case gets redirected, so anythingzoomer gets redirected to AnythingZoomer

The problem with the redirect is it realistically needs to be a 302, to avoid possible redirect loops if a plugin developer changes their casing twice — A to B, then B to A. Ideally a plugin developer just shouldn't change their casing, but a 302 redirect is probably sufficient "punishment" for them to do so. And allows for the manifest to match.

@scottgonzalez
Copy link
Contributor Author

That sounds good to me.

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

No branches or pull requests

3 participants