Feature #2705

closed short URLs for users

Added by Boone Gorges almost 9 years ago. Updated almost 9 years ago.

Priority name:
Category name:
Target version:
Start date:
Due date:
% Done:


Estimated time:


This will require the implementation of the YOURLS plugin that I previously wrote, which adds the following functionality:

1. All users automatically receive a URL based on their login name, and
2. Users will now see a '' section (or something like that) on their Settings page, which will allow them to request a new URL.

The plan is to have this feature ready to go for the 1.5.1 release. We need to include it in a release before we do a massive PR launch, because some testing in the production environment is necessary (there are some limitations to the testing we can do in cdev and other dev environments). The question remains whether we should allow (1) and (2) to be active for all users on the 1.5.1 release date. We could limit it to me (for the necessary testing), limit it to a whitelist of users (say, all members of our internal team), or not limit it at all, and consider it a soft launch.

Once this is implemented on cdev, I may ask for feedback on the UX for requesting a new URL.

One issue that is not addressed in the above is the display of the short URL. It was not included in the original comp for the profiles. Adding Chris as a watcher for feedback on this point. This last bit is probably something that we do not want to launch widely with 1.5.1, as it's much more visible than the settings UI discussed above.


QuickLink-Description.png (118 KB) QuickLink-Description.png Chris Stein, 2013-08-31 04:43 AM
Actions #1

Updated by Boone Gorges almost 9 years ago

  • Status changed from Assigned to Testing Required
  • Priority name changed from Normal to High

The first pass at functionality is in and ready to test on cdev. See for an example. Here's how it works.

- When you edit your profile, there is a new section at the end of the black section (in other words, in the same relative location as the public short URL) where you can enter your desired short URL.
- On cdev, no one has an existing short URL, because cdev is using the live and I didn't want to autocreate a bunch of junk URLs for testing. For this reason, in your own testing, please be sure to prefix your test URLs with 'cdev' or something like that, so that I can go through and delete them later. On the production site, I'll ensure that every user has their default URL set to their login name at the time of deployment.
- I've implemented a little AJAX to check for URL availability in real time. You'll notice that the check happens on blur (when you move out of the URL input) or if you stop typing for one second in the URL input.
- The logic for availability is this: If the URL already exists, it's off limits, EXCEPT if the existing URL points to your profile - in other words, if it's one of your old short URLs, in which case you are allowed to reclaim it. If the URL does not yet exist, I first check to make sure that (a) it's valid (alphanumeric characters only; this is a limitation of the YOURLS software), (b) it doesn't correspond to the username of any other user, (c) it doesn't correspond to the slug of any existing group, eg 'omeka' (so that they won't be taken when/if we turn this on for groups in the future), and (d) it doesn't correspond to the subdomain of any existing blog, eg 'cunypie' (mutatis mutandis). If the URL passes all these checks, you're allowed to take it. It's then created and saved to your profile.

Please play around with it. I tried to make the UX and the error feedback as seamless as possible, but additional ideas are welcome.

Actions #2

Updated by Boone Gorges almost 9 years ago

Hi all. The 1.5.1 release is tomorrow, so it'd be great to get another set of eyes on this.

As things stand, I think it's possible to do all the necessary UI/functionality testing within the confines of cdev, so I don't plan to activate this plugin after the 1.5.1 release. Instead, it'll be put onto the site, but activated only when the publicity push starts. Let me know if this plan works for everyone.

Actions #3

Updated by Matt Gold almost 9 years ago

Just played around with it and it's looking great, Boone.

One thought: I don't know that "Short URL" will make sense to everyone (many people don't know what a URL is). I know we want/need something short there, but we could do something like "Custom Profile Link" or anything else that people on the team come up with.

Functionality appear seamless to me, though, and I didn't run into any problems. Fantastic job.

Actions #4

Updated by Chris Stein almost 9 years ago

Yes Boone, great job on this. I have a functional change request and a couple of other ideas for additions or changes.


Right now if you enter something and get a notice and then delete everything you wrote the notice doesn't disappear. So if a user typed chris*stein and got the letters and numbers error and then deleted the name it would still show the letters and numbers error. It should just remove the notice if there is nothing in the input.


Matt I think Custom Profile Link is OK but a bit long. I'm proposing Quick Link. It's shorter and maybe more catchy. Short Link could also work.


For now, and perhaps going forward, I think it's fine to have a relatively long description under the input field. Here's some text I'm proposing and you can see it in the attached screenshot. It's a first shot so comments/edits welcome:

Your Quick Link is a short, easy-to-remember, web address for your profile on the Commons. You get to decide what it is by typing in the box above. Use it to get back here quickly, put it on business cards and résumés or use it in whatever way you see fit.

- if it's not pasting properly the character entity for the é in resume is é

Actions #5

Updated by Matt Gold almost 9 years ago

Okay - thanks, Chris. Quick link + descrip below look good to me.

Actions #6

Updated by Boone Gorges almost 9 years ago

  • Status changed from Testing Required to Assigned
Actions #8

Updated by Boone Gorges almost 9 years ago

  • Status changed from Assigned to Resolved

Error/success message removed when the field is empty as of

Marking resolved. Other issues, please open separate tickets. Thanks for feedback and review.


Also available in: Atom PDF