It would be great if user's could specify a path alias for their accounts. I'd love to get http://drupal.org/joe as a url to my account.

I suppose the default destination would be the profile page (/user/view/#), but future versions could support more exciting and dynamic user homepages. eg http://www.familytimes.com/journalhome/1

Cheers and Thanks!
- Joe

Comments

gábor hojtsy’s picture

Might be implemented if a user has "set home page alias" rights. Allowing every user to set a path for his homepage will screw up your site and a lot of URL dependant things, like block placement.

matt westgate’s picture

I'm pretty sure that only time things would get screwed from the URL perspective is when making an explicit reference to an aliased path. When Drupal detects an alias it switches to the system URL and internally works with that. This means that things like block regular expressions only work with the Drupal's internal URL.

Since path.module has an API for this (path_set_alias), this feature seems easy to implement. It can already be done manually by enabling the path module. Progromatically the URL's could be updated by a cron job to check the integrity of the username / uid combination. As long as it was understood that the best way to make explicit links to users was via their system URLs (user/view/2 for example).

jonbob’s picture

Priority: Normal » Minor

Gabor is right; allowing end users to set path aliases is dangerous. Drupal's behavior if an alias happens to be a real path (like, say, "admin/node") is undefined, and likely bad. Block regexps also depend on aliased paths rather than real paths, but I think this is a lesser problem.

Maybe a better solution is automatically setting "user/joe" to point to "user/52" somehow? For now, do this manually using path.module.

killes@www.drop.org’s picture

This feature is a bit dangerous as has been pointed out. However it would be easy to do with a contrib module and the _user(insert) hook. Not desirable for core.

bdragon’s picture

Version: » 6.x-dev
Status: Postponed » Closed (won't fix)

AKA wontfix.