New releases of Pathauto imminent - help us test!

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Dave Reid's picture

This week we'd like to release a new version of Pathauto for both Drupal 6 and 7. There have been numerous fixes for long-standing bugs with alias generation and internationalization. Oh and a few new features too (mostly in the 6.x-2.x and 7.x-1.x versions). As there have been quite a few changes made, we'd like your help testing either the 6.x-1.x-dev, 6.x-2.x-dev, or 7.x-1.x-dev versions.

Make sure when testing you have the latest development version of Token module downloaded as well.

Below are some of the major changes and bug fixes:

  • #823648: Allow multiple locations of i18n-ascii.txt for more friendly upgrades and drush compatibility. Also allow using $conf['pathauto_i18n_file']. (6.x-1.x only)
  • #195323: Added Add the (foward) slash to the list of character settings. (all versions)
  • #545216: Fixed pathauto_cleanalias() and pathauto_cleanstring(). (all versions)
  • #867854: Do not generate alias if pattern does not have any tokens replaced. This also fixes the junk '/feed' aliases that get created if the root alias was blank. (all versions)
  • #228762: Fixed un-aliased nodes should still get an alias generated even if the update action is 'Do nothing with existing aliases'. (all versions)
  • #201151: Fixed bulk alias updates to use proper batch API. No more updating only 50 aliases at a time! (6.x-2.x and 7.x-1.x only)
  • #593048: Fixed _pathauto_alias_exists() should include neutral language aliases. (all versions)
  • #739416: Fixed _pathauto_existing_alias_data() should respect language. (all versions)
  • #631460: Fixed Prevent pathauto_cleanstring() from creating empty components. (all versions)
  • #821832: Replaced custom token listing with token tree UI (provided by token.module). (all versions)
  • #760700: Fixed [catpath] tokens stopped working when $options was passed through hook_token_values(). (6.x-1.x and 6.x-2.x only)
  • #680366: Added hook_user_operations() for updating user aliases. (all versions)
  • Added tons of SimpleTests! More stability! New features were added using test-driven development, and any bugs have had regressions tests added to ensure they stay fixed. Did we mention more stability?
  • Tighter integration with token.module. (6.x-2.x and 7.x-1.x)

A few functional changes in the 6.x-2.x and 7.x-1.x versions:

  • Sub-paths like user/%user/contact and user/%user/track are no longer supported. It junks up the alias system if we were to try and generate every single possible sub-path alias. We recommend using the Sub-path URL Aliases module.
  • The giant pathauto admin settings page is now split up into two distinct pages: 'Patterns' and 'Settings'. Both are still found under your 'URL aliases' administration.
  • The D7 version requires you have the Token module enabled.

Please give these updated development versions a spin! Try and break 'em! And please report back any bugs or odd things you find. We've tested functionality and upgrades extensively and we feel confident about it. To be extra safe, you should make sure to backup your {url_alias} table first.

Comments

klonos's picture

...so we can post any bugs found to the original issue with ease.

Also, concerning the decision to drop support for sub-paths: I understand this was due to the overhead caused, but still it saddens me :/ I believe it should still stay in as an optional thing, but as you've note there's always Sub-path URL Aliases. The only think I am concerned though is whether it will keep up with any changes in pathauto. Care to be a co-maintainer to it so there is less chances it breaks? ;)

Linking to issues on g.d.o

Dave Reid's picture

I have to manually do it. :/

Senior Drupal Developer for Lullabot | www.davereid.net | @davereid

just checked...

klonos's picture

...and it seems that Sub-path URL Aliases is pretty inactive. There is no dev version released, the last stable dates back in November 2009 and author seems to have lost interest in it (most issues remain unanswered for weeks now, while his last post in drupal.org dates only a few days ago).

So, I think that definitely you or any of the other pathauto maintainers should give it some love and bring your insight from the respective features in pathauto. Perhaps even merge it as a sub-module to pathauto.

I would be fine with moving

Dave Reid's picture

I would be fine with moving it to be a sub-module of pathauto. Call it subpathauto. :)

Senior Drupal Developer for Lullabot | www.davereid.net | @davereid

Posted an initial inquiry to

Dave Reid's picture

Posted an initial inquiry to the sub-path URL alias module here.

Senior Drupal Developer for Lullabot | www.davereid.net | @davereid

I like the activity on

asb's picture

I like the activity on Pathauto, especially those in the 6.x-2.x branch (Batch API, i18n, token enhancements...). However, I believe that there are a couple of issues, and I take your posting as an invitation to start reporting bugs with the dev release ;)

I definitely hate the waste sub-paths are leaving in the alias system, so I support the decision to drop them from 'Pathauto'. Is there or will there be a simple way to clean up the old sub-paths still lingering around?

Issue reports are *always* welcome

Dave Reid's picture

Please, please file issues and bugs. I don't ever want you not to do that. :)

I think you should be able to clear out sub-path aliases by using some SQL queries:

DELETE FROM url_alias WHERE src LIKE 'node/%/%';
DELETE FROM url_alias WHERE src LIKE 'user/%/%';

Note that the above queries will also delete any /feed aliases like node/1/feed or user/1/track/feed

Senior Drupal Developer for Lullabot | www.davereid.net | @davereid

fatal error on node/add, wsod etc...

basicmagic.net's picture

hi and thanks for your great work

have been banging my head against this one all day, unfortunately-
both the new 1.x and 2.x dev versions seem to be affected

i have cleared system tables and variables completely-
as well as duplicating the error(s) several times in both 1.x dev and 2.x dev of pathauto

everything was working fine up until today-
and that is the only new mod i installed (along with checking and double checking token etc)

basically what is happening-
is upon any new attempt to node/add/x-
i end up with a white screen of death.

and this corresponds to the same consistent error in the watchdog logs-
mb_strtolower() expects parameter 1 to be string, array given in .../includes/unicode.inc on line 435

triggering the php error msgs to print to the screen reveals this-
Fatal error: Cannot use object of type stdClass as array in .../pathauto.inc on line 652

the above is on the new 2.x dev.

pathauto seems to work fine in all other respects...
i am running 5.2.13

any and all help would be greatly appreciated of course...

thanks-
vincent

I am pretty sure this is two

Dave Reid's picture

I am pretty sure this is two different modules trying to define the same token. You're using the latest 6.x-1.x-dev of token.module?

Senior Drupal Developer for Lullabot | www.davereid.net | @davereid

We found the problem here

Dave Reid's picture

First was a bad API change in Pathauto that we reverted. Second was a bug in the FileField paths module (http://drupal.org/node/877578).

Senior Drupal Developer for Lullabot | www.davereid.net | @davereid

New releases are out!

Dave Reid's picture

New releases are out on all branches! Get 'em on the project page.

Senior Drupal Developer for Lullabot | www.davereid.net | @davereid

Something seems wrong in new release

AndrzejG's picture

Please see http://drupal.org/node/1284364 . Seems Pathauto destroyed something in the database. Unfortunately I'm not able to provide more detailed info.