One thing that was continuously bothering us with eZ Publish when developing websites, was its built-in language switcher. For the most part and for smaller sites it works fine, but it does have some limitations. Since it generates URLs with /switchlanguage/to/ module view, it is not really SEO friendly. On larger sites with many pages and languages, it pollutes the search engine indexes and makes it really hard to filter relevant content. Another issue with it is that it doesn’t work with host_uri siteaccess matching. It simply won’t generate correct redirects.
We wanted to make the situation better for our clients so we developed a really simple extension that is based on built-in language switcher, but instead of generating permanent redirects with the /switchlanguage/to/ module view, it generates full blown URLs to the same node on other language siteaccesses. Optionally coupled with the canonical meta tag in the page head, it can considerably bring down the volume of search index pollution.
The extension is, as all others, published on GitHub, under the GPL v2 license. Download is also hosted on projects.ez.no
In other news...
Some of our other extensions, also published on our GitHub profile, received some love yesterday and today. Due to lack of time, they weren’t updated for a long time, so we decided that it was time to fix some outstanding issues, pull in some requests on GitHub and so on.
Some time ago, Tumblr introduced the new API for fetching user and blog data from its service and deprecated the old one. Because of that, the Tumblr login handler in Netgen Connect stopped working, so we released an update to migrate the login mechanism to this new API.
Netgen Open Graph
Netgen Open Graph received a nice pull request from Geoff Bentley that allows using multiple images per page in Open Graph metadata. It is implemented using an existing PHP class that reads data from the ezobjectrelation datatype, but he also created a PHP class to handle the ezobjectrelationlist datatype for fetching images. Thanks Geoff! We added another feature: the ability to set Open Graph metadata through persistent variables from full view templates. We also fixed some bugs and wrapped it all together in the new version.
Just as Tumblr changed its API, Facebook also deprecated and disabled its old authentication API when they introduced a new one. And just as with Netgen Connect, Netgen Push broke. We took care of it now and migrated the authentication mechanism shipped with Netgen Push to the new version of the Facebook API so you can continue to push eZ Publish content to your Facebook followers. Vincent Robic also created a pull request to be able to store authentication tokens in INI files, so you don’t have to fetch them from remote services, which is a nice addition. Thanks Vincent!
It’s nice being back to open source development, with the eZ Community, for the eZ Community. Even a little, as all these changes to existing extensions are small and Netgen Language Switcher by itself is simple enough. But still, eZ Community, we hope you will enjoy updates to our social extensions and that you will try out and test our new extension. Be sure to leave a comment, create some more pull requests and what not :)