Here's the issue:
When adding/editing content at the user-interface level, a user may decide to change the filename from that which Pathauto would ordinarily default-to... no problem.
Eg.. From default: /I-am-a-Wicked-Person.htm To: /wicked-person.htm
Come some future date, a user might need to perform a bulk update which - you guessed it - reverts all previous changes to Pathauto's defaults... not nice when a site has anything beyond a fistful of pages to maintain.
Proposed solution:
An option on the content creation/edit page for the user to explicitly express that the URL is a user-defined alias and should not be overwritten at any future point.
I hate to propose something that would probably involve adding another column/table to the database but I think that's the only way this could be achieved (IE... by writing a "1" or "0" alongside the alias as a boolean switch).
I would wager that there are sites out there that have unwittingly performed an update and as a result have broken bookmarks, lost search engine ranks and broken internal linking (where they have been hard "coded" into the mark-up), without realising what has happened.
Without such a feature, the prospect of using Pathauto on a live, organically growing site becomes a most fearful exercise, instead of the pleasure it almost is.
I commend this motion to the house.
Comments
Comment #1
gregglesThis would have to be implemented in the drupal core path.module and url_alias table and _then_ we could implement something in pathauto to respect the new core feature. If you look at old issues in pathauto there are several that relate to this problem and some ideas on how to implement the final functionality.
Personally, I try to avoid this problem by never using bulk updates after a site goes live and by hiding the "path alias" box.
Also, you will probaby be happy to use the "ignore words" general setting in 5.0 since it achieves the kind of alias that you pointed out.
Comment #2
TheWhippinpost commentedSorry for not getting back sooner.
I defer to your greater understanding of the issue, and Drupal... so I guess it'll never happen then! ;)
Is my point! I've already had to abandon several modules for that reason (It becomes another admin nightmare having to remember what one can, and what one definitely must not do, in certain scenario's, with certain modules.)
(Of course...) Pathauto is an essential component I couldn't (and wouldn't) live without. But nor can I do without periodic bulk-updates on a site which receives content feeds. Also, I noticed that when posting a blog-entry via the XML-RPC from a desktop app, its path doesn't get "washed"; meaning I have to go into Drupal and edit the posting by-hand... meaning I will have to force other blog-owners to not post via 3rd-party blogging apps blah, blah...
Hmmm... Is it possible to only bulk-update certain content-types (perhaps by leaving default path-settings blank, except for the content-type being updated)?
I will have to think more on this, thanks Greggles.
Comment #3
gregglesIt may happen, but if it does then it will happen in 6.x. Drupal4 and Drupal5 are both "frozen" to new features.
The problem with XMLRPC is a real (and separate issue) though I do appreciate knowing that it happens for you as well.
If you set the default path to blank I believe a bulk update would blank out those paths, but it is somewhat hard to say without testing first.
Comment #4
Freso commentedDrupal 6 is too. I like the idea though, even if it probably could use a little more discussion on how. Anyway, here's to making it happen in D7! :D
Comment #5
dave reidBumping to D8.
Comment #6
dave reidThis is more or less dealing with Pathauto and not core. I've proposed #937580: Add a {url_alias}.data column to allow modules to save extra information about URL aliases as a general addition to core, which will also help solve this problem in Pathauto itself.
Comment #7
dave reidGoing to mark this as a duplicate of #937580: Add a {url_alias}.data column to allow modules to save extra information about URL aliases.