<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9248515</id><updated>2011-09-27T00:51:32.405+02:00</updated><category term='seo'/><category term='drupal'/><category term='css'/><category term='how-to'/><category term='ideas'/><category term='development'/><title type='text'>Stefan M. Kudwien Drupal Consulting · Karlsruhe</title><subtitle type='html'>Random thoughts about Drupal and web development</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9248515.post-2052636460921328621</id><published>2010-12-16T21:21:00.002+01:00</published><updated>2010-12-16T21:29:10.481+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='how-to'/><title type='text'>Display Views result only when exposed filters are set</title><summary type='text'>Appnovation put a small Views tutorial online today, which hides the results of a View with exposed filters on initial display, when no filter value is set. However, the shown approach has a small performance backdraw: it hooks into the view to discard the result after querying the database. A code snippet on drupal.org avoids this by adding an impossible condition to the query, however it </summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/2052636460921328621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=2052636460921328621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/2052636460921328621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/2052636460921328621'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2010/12/display-views-result-only-when-exposed.html' title='Display Views result only when exposed filters are set'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-299126941757685116</id><published>2009-08-19T21:04:00.011+02:00</published><updated>2010-05-23T02:20:44.927+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='seo'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>Drupal Pathauto: Bilingual stop word list</title><summary type='text'>I've taken some time to update the stop-word lists for the pathauto module.

English (slightly modified module defaults):
a,an,and,as,at,but,by,for,from,is,in,into,like,of,on,onto,
or,now,per,than,the,this,that,to,up,via,with

German (requires transliteration module to properly convert diacritic marks (Umlaute)):
ab,aber,als,an,auf,bei,bis,der,die,das,den,dem,des,dies,durch,
ein,eine,einer,eines,</summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/299126941757685116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=299126941757685116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/299126941757685116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/299126941757685116'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2009/08/pathauto-bilingual-stop-word-list.html' title='Drupal Pathauto: Bilingual stop word list'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-4505579757410871491</id><published>2009-08-04T15:21:00.011+02:00</published><updated>2010-01-29T16:08:41.632+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>Drupal should be embeddable</title><summary type='text'>Drupal 6 is currently not easily embeddable into third-party PHP applications, since bootstrapping alters the environment. Needless to say this is bad bad bad. Here's a fairly comprehensive list of modifications applied (in order of execution):
during DRUPAL_BOOTSTRAP_CONFIGURATION:drupal_unset_globals() modifies global variables

conf_init() changes the session name


during </summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/4505579757410871491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=4505579757410871491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/4505579757410871491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/4505579757410871491'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2009/08/drupal-should-be-embeddable.html' title='Drupal should be embeddable'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-2049674188616687199</id><published>2009-07-02T11:41:00.009+02:00</published><updated>2010-01-27T16:44:09.773+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>Drupal Admin Menu: Move out developer functions</title><summary type='text'>Currently, Admin Menu has all those neat little helper functions like Clear cache and Disable developer modules built into the core module. To speed up future development, however, it would be great to have them separated into a dependent sub-module, which could then be developed at individual speed.

Along with my former idea of a site switcher module, this could also include more settings for </summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/2049674188616687199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=2049674188616687199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/2049674188616687199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/2049674188616687199'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2009/07/admin-menu-move-out-developer-functions.html' title='Drupal Admin Menu: Move out developer functions'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-2964542876712764535</id><published>2009-05-15T00:58:00.012+02:00</published><updated>2010-01-29T17:17:40.022+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>-moz-transform on table headers</title><summary type='text'>While working on a new feature for DrupalvB, a Drupal module that integrates the vBulletin forum software with the Drupal CMS, I had to create a rather large matrix table allowing to map Drupal roles to vBulletin user groups. Because the group titles in the table header took up most of the space, I decided to test drive an upcoming CSS3 feature in Firefox 3.5: -moz-transform: rotate(). Here's </summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/2964542876712764535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=2964542876712764535' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/2964542876712764535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/2964542876712764535'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2009/05/moz-transform-on-table-headers.html' title='-moz-transform on table headers'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TjqdyKb7954/S2MJWI19wTI/AAAAAAAAADg/JL93w4rJPnQ/s72-c/drupalvb-moz-transform.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-2327088688514562537</id><published>2009-05-11T23:06:00.007+02:00</published><updated>2010-01-27T16:44:36.181+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>Drupal Menu Trails: Support for node/add pages, please</title><summary type='text'>The Menu Trails module currently only allows to set the ancestry of nodes when viewing them.

It would be extremely useful if the breadcrumb for node/add pages could be customized, too. That is, get rid of the so out-of-context Home &gt;&gt; Create content ancestry path. For example, one could put a certain content type in the context of the current user's profile (aren't contents somehow always </summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/2327088688514562537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=2327088688514562537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/2327088688514562537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/2327088688514562537'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2009/05/menu-trails-support-nodeadd-pages.html' title='Drupal Menu Trails: Support for node/add pages, please'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-787140650714926631</id><published>2009-05-07T23:11:00.013+02:00</published><updated>2010-01-27T16:45:09.984+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>On Drupal performance: Delay loading objects</title><summary type='text'>Drupal 6 performance currently seriously suffers from the fact that it always loads full objects (nodes, users, etc.) in advance. For example, invoking user_load() leads to a cascade of additional database queries, in this case at least one extra query to load the roles of the user. Whether the roles of the user are later actually accessed or not makes no difference, since Drupal doesn't care! </summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/787140650714926631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=787140650714926631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/787140650714926631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/787140650714926631'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2009/05/drupal-performance-delay-loading.html' title='On Drupal performance: Delay loading objects'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-7905058667380498053</id><published>2009-05-04T21:50:00.005+02:00</published><updated>2010-01-27T16:45:31.316+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>Drupal Admin Menu: Add a site switcher link</title><summary type='text'>Simple idea for Drupal Administration Menu: When working on a local development copy of a site, sooner or later the changes made need to be ported to the production site. Now, instead of changing the domain name manually by fiddling with the mouse trying to select it, wouldn't it be way cooler to have a link somewhere in admin menu that allows you to open the current path on the production site </summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/7905058667380498053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=7905058667380498053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/7905058667380498053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/7905058667380498053'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2009/05/admin-menu-add-site-switcher-link.html' title='Drupal Admin Menu: Add a site switcher link'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-2197080111957978252</id><published>2009-05-02T18:57:00.015+02:00</published><updated>2010-01-29T16:06:45.109+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='how-to'/><title type='text'>Better diffing with Beyond Compare 2.x</title><summary type='text'>Beyond Compare (still on 2.x tho) is a great program when it comes to diffing code changes. Unfortunately, the default settings e.g. for PHP don't handle differences in the number of function blocks very well (look at the screenshot, it should be self-explaining):


A simple addition to BC's alignment settings can be used to correct this behavior: Go to Options &gt;&gt; Rules &gt;&gt; PHP &gt;&gt; Alignment, and </summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/2197080111957978252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=2197080111957978252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/2197080111957978252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/2197080111957978252'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2009/05/beyond-compare-still-on-2.html' title='Better diffing with Beyond Compare 2.x'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TjqdyKb7954/Sfx-UFPQqdI/AAAAAAAAABg/opepZUGsqB0/s72-c/bc.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-8952778909012835345</id><published>2009-04-30T13:04:00.007+02:00</published><updated>2010-01-27T16:45:47.096+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>hook_message_alter() for Drupal 7?</title><summary type='text'>Since having spent a lot of time hacking around Drupal's inability to customize its status messages, I desperately hope that #234320: Add hook_message_alter() will be part of the next Drupal version.

Ok, the proposed patch is a little inconsistent: I would rather go for a watchdog()-like implementation, which at least requires an id, and receives both the untranslated message plus any arguments,</summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/8952778909012835345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=8952778909012835345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/8952778909012835345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/8952778909012835345'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2009/04/hookmessagealter-for-d7.html' title='hook_message_alter() for Drupal 7?'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-720436100589095408</id><published>2009-04-29T16:56:00.007+02:00</published><updated>2010-01-29T16:03:55.766+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='how-to'/><title type='text'>Update GeoLite City via cron</title><summary type='text'>Instead of manually downloading MaxMind's GeoLite City database, let cron do it for you. Here's how:
crontab -eu wwwrun(or whatever your webserver user is)
# Update GeoLite City database on the 3rd of each month.
0 6 3 * * wget -qO /target/path/GeoLiteCity.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz &amp;&amp; gunzip -qf /target/path/GeoLiteCity.dat.gz</summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/720436100589095408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=720436100589095408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/720436100589095408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/720436100589095408'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2009/04/geolite-city-update-via-cron.html' title='Update GeoLite City via cron'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-3757178111588662047</id><published>2009-04-20T17:12:00.002+02:00</published><updated>2010-01-27T16:46:46.600+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>Drupal Legal: Draft for a rewrite</title><summary type='text'>Legal is one of the modules you can't afford to live without. However, the current version (5.x) has so many flaws and limitations that a rewrite would certainly be a Pretty Good Thing™. Here's what should really be different compared to the current implementation:
Node-based:
Use node revisions to track edits. One should be able to manually select the „current“ revision. For example, this would </summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/3757178111588662047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=3757178111588662047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/3757178111588662047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/3757178111588662047'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2009/04/better-legal-draft-for-rewrite.html' title='Drupal Legal: Draft for a rewrite'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-1424254085283754162</id><published>2008-10-30T04:04:00.009+01:00</published><updated>2010-01-27T16:47:05.384+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='seo'/><category scheme='http://www.blogger.com/atom/ns#' term='ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='drupal'/><title type='text'>Drupal Pathauto: hook_path_alter() needed</title><summary type='text'>The Pathauto module currently uses a hard-wired process to normalize and remove unwanted characters and stop words from generated URL aliases. In favor of extendability and SEO, however, it would be better to provide hook_path_alter(), to allow for customizing the URL processing.

Two and a half examples:
The Transliteration module converts non-latin characters or characters with diacritic marks </summary><link rel='replies' type='application/atom+xml' href='http://synapsefire.blogspot.com/feeds/1424254085283754162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9248515&amp;postID=1424254085283754162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/1424254085283754162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/1424254085283754162'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2008/10/pathauto-normalization-needed.html' title='Drupal Pathauto: hook_path_alter() needed'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9248515.post-748161941244530408</id><published>2008-10-01T01:00:00.001+02:00</published><updated>2010-02-21T00:15:11.861+01:00</updated><title type='text'>Impressum</title><summary type='text'>Stefan Kudwien
Scherrstrasse 17
76137 Karlsruhe
Germany

Telefon: +49 (0)721 30093
E-mail: kudwien@gmail.com

USt-IdNr. gemäß §27a Umsatzsteuergesetz: DE 268920888
Inhaltlich Verantwortlicher gemäß § 55 Abs. 2 RStV: Stefan Kudwien</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/748161941244530408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9248515/posts/default/748161941244530408'/><link rel='alternate' type='text/html' href='http://synapsefire.blogspot.com/2009/01/impressum.html' title='Impressum'/><author><name>Stefan Kudwien</name><uri>http://www.blogger.com/profile/11380831159531334422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_TjqdyKb7954/TLcAPN2gEiI/AAAAAAAAAD4/0619pGTU0aU/S220/smk.jpg'/></author></entry></feed>
