[development] strange inconsistency: 'custom_url_rewrite'

Larry Garfield larry at garfieldtech.com
Mon Dec 26 22:07:38 UTC 2005


On Monday 26 December 2005 01:57 pm, Bèr Kessels wrote:

> So, I get from this, that we will have to live with the inconsistency. And
> I will probably (?) not be able to write a tag - tid mapping module that
> rewrites the urls. Because honestly, a module cannot have that function. It
> /will/ break! It would mean that my module exludes any module that wants to
> do something (remotely) similar.
>
> An I think it is indeed not i18n specific as my use case very well points
> out. Another use case would be to map /user/CHX to user/12345. Again. This
> is not possible atm. (though this could possibly be stored in the database,
> IMO its a silly and odd overkil)

I agree completely, Ber.  This topic came up on the dev list a few weeks ago 
as well when discussing the limitations of path and pathauto.  The basic 
problem is that they don't scale well, particularly for dynamic content.  
Making /user/myname/* work for all /user/ functions, just in core, using 
url_alias, would require at minimum 4 records per user.  (view, edit, track, 
contact, plus some number of profile pages.)  Putting that in url_alias is 
simply not going to scale past a few hundred users.  Try it on drupal.org 
(45000 users and counting), and it dies horribly.

I did spend some time trying to implement it manually for the user module, 
actually (usernames are unique, so they can be used in place of uids in URLs 
without increasing the number of db hits), but ended up creating all sorts of 
strange and mysterious errors I couldn't identify so I eventually abandoned 
it.  (It also had to be all-or-nothing, or other user-extending modules 
wouldn't work either.)  

The performance concern is real, though, given the number of links a typical 
page has.  Some fast, well-cached module-based rewrite mechanism is needed, I 
agree.  Perhaps just prefix-based?  I've been trying to avoid proposing 
anything at this point, though, as any changes now would just slow down the 
release of 4.7. :-)

-- 
Larry Garfield			AIM: LOLG42
larry at garfieldtech.com		ICQ: 6817012

"If nature has made any one thing less susceptible than all others of 
exclusive property, it is the action of the thinking power called an idea, 
which an individual may exclusively possess as long as he keeps it to 
himself; but the moment it is divulged, it forces itself into the possession 
of every one, and the receiver cannot dispossess himself of it."  -- Thomas 
Jefferson


More information about the development mailing list