Zend Framework 1.10.8 Released

The Zend Framework team announces the immediate availability of Zend Framework 1.10.8 , our eighth maintenance release in the 1.10 series. This release includes around 22 bug fixes. A special reminder to those users of Zend_Service_Twitter , please ensure you upgrade to 1.10.6, 1.10.7, or 1.10.8 ASAP. These releases introduce a change in the Zend_Service_Twitter API that enforces the use of OAuth by default when using methods that require authentication. The change was introduced to help prepare Zend Framework users for the Twitter OAuthcalypse scheduled in 6 days from now on August 31, 2010 . (If you cannot upgrade, there are other ways to integrate Zend_Oauth with Zend_Service_Twitter .)

Extensible Autocomplete

The release of the Autocomplete widget in jQuery UI 1.8 was a pretty important milestone for the jQuery UI team. If you’ve looked at the widget, you may have noticed that there are only four options, far fewer than our other plugins. Unlike progressbar, our plugin with the fewest options, Autocomplete’s small API isn’t a direct result of the plugin’s simplicity. In fact, Autocomplete is quite complex.

When designing the Autocomplete widget, we started with Jörn Zaefferer’s Autocomplete plugin, which has 21 options, as a model. Admittedly, Jörn’s plugin does more for you out of the box than ours, but our smaller API is just as flexible and has the bonus of being easier to learn and use. A lot of thought, discussion, and prototyping went into narrowing down the list of 21 options to 4.

Out of the box, Autocomplete provides support for local data sources and remote (JSON) data sources by simply providing an array or url to the source option. Support for JSONP, XML, and caching can all be layered on top in just a few lines of code.

There’s also a set of extensions hosted by me that provide additional options for the Autocomplete widget. The html option (demo) allows you to specify whether your labels should be interpreted as HTML or text. There’s also the selectFirst option (demo) which automatically activates the first item when the menu is shown, reducing the number of keystrokes necessary to select an option. The autoSelect option (demo) allows a user to type out a valid option and tab away from the field without having to select the item from the menu. If the value entered by the user is valid, the select event will be triggered just as if the user had explicitly chosen the item from the menu. I also have an accent folding extension (demo) that makes it easier for users to select values with accented characters. For example, if there is an item with the text “Jörn”, the user would normally have to type the umlaut in order to see the item. However, if the accent folding extension is loaded, the user can type “Jorn” and they will still see the result.

Going a step further, you can use custom data formats and define custom displays. For example, you can categorize the results or display additional information such as item descriptions and images. There’s even an example of expandable search results (Note: this is just a prototype based on a demo from Roman Chyla, it is not full-featured. See the forum thread for more details). You can even support multiple words from a single text field.

Finally, there’s the combobox demo that brings Autocomplete functionality to select elements. The combobox hides the select element and instead displays a text field for the user to type in. The possible values are determined by parsing the options from the select, and the user can view all options by clicking a button next to the text field. For a detailed explanation of how the combobox works, check out Jörn’s article on Learning jQuery.

Sync in Firefox 4 Beta

As many of you already know, last week we landed Sync for Firefox 4, and I’m really excited that it will be a part of the next Firefox 4 Beta update.

Sync has been on our radar for a very long time. One of the original goals for Places was to enable this type of add-on, and Weave was one of the first Mozilla Labs prototypes released, near the end of 2007. We’ve been through a number of changes since that time, largely focused on building a stable, scalable service. I moved over from the Firefox team just over a year ago to help make it something we could ship to all of our Firefox users.

Sync is important to me as the first step in evolving how users think about and interact with web services. The dominant model for services right now generally involves trading your personal data (who your friends are, the emails you send, the websites you visit) in exchange for useful services (social networking, bookmark sync, etc). For the vast majority of users, the real decision is simply “which company gets my data?”. That’s not really a great definition of choice.

Sync took a different tack, and started off with “what if we didn’t want the data? What if even having that data was a failure state?” That led us to cryptography. Sync uses strong crypto to encode your data before it is uploaded. The secret phrase is the key to this encryption, and we never send that anywhere to keep your data secure. This really means that Mozilla can’t see your data, giving you full control. (Which is great, because we really don’t want it!)

What’s most exciting is that this is just the first step. Services is a new place for Mozilla to compete and help shape the future of the Web. We have a lot of work ahead of us, but getting Sync into Firefox was a great first step. We really hope users love it as much as we do.

Mike Connor, on behalf of the Firefox Sync team

The jQuery Project is Proud to Announce the jQuery Mobile Project

Mobile web development is an emerging hot topic in the web development community. As such, the jQuery Team has been hard at work on determining the strategy and direction that the jQuery Project will take. Today, we are proud to announce the jQuery Mobile Project. We’ve launched a new site at jquerymobile.com that publicly outlines our strategy, research and UI designs.

As always, we want to hear from you.  We’ve created a new Mobile jQuery forum to collect feedback from the community.  Please feel free to join in on the discussion and read more in the announcement.

The age of reason

We celebrate today Dotclear's seventh anniversary, and Dotclear Organization's first accounting year .

Dotclear only makes blogs, and it does it well

This sentence by Dotclear's father, Olivier Meunier, pronounced during delivery of the first version, has been since slightly modified and became Dotclear almost only makes blogs, and it does it well. It is true, Dotclear powers a large number of blogs, really large, and also more and more commercial or non-profit web sites, where its easy and fast tweaking is appreciated. Slowly but surely Dotclear becomes more known everyday, and we can bet it will be surprising us again.

For our favorite blog software, the age of reason has now come, and we wish to thank you all for your participation:

  • users, you are everyday more numerous to join us, and show everywhere your proudly Dotclear-powered blogs to share your ideas and knowledge
  • members of the support forum, you help patiently newcomers and share your tips
  • documentation builders, you work everyday to explain Dotclear's code, track misunderstandings and spelling mistakes
  • translators, you allow Dotclear to reach the whole world, and even soon the galaxy with a future klingon version
  • themes and plugins developers, you add everyday new functions and beautiful layouts to our libraries
  • donators, you helped us to keep our independance, and offer new services and better work

You all, please take a seat at our table, to share with us this birthday cake

Dotclear's birthday is also the Organization's

Today we close this first year's accounts, and here a is a short version of the balance that will be presented to the next general assembly:

  • members have contributed to more than 3.000 €
  • generous donators have on their side contributed to more than 2.000 €

These funds were only used to pay for our servers, no money was spend on cigars and champagne, therefore we still have a bit of cash left for the future

And now ?

Dotclear goes now to big school, and you must be impatient to know what this year will bring as new features. But it is too serious a subject for today, so please relax, have a drink, and sing with us :

Happy birthday to you
Happy birthday to you
Happy birthday to you, Dotclear
Happy birthday toooooo yoooooo !

“Thanks” – August 2010

What would you do?


From: <unreadable>
To: hello@roundcube.net
Date: Fri, Aug 6, 2010 at 10:49
Subject: Thanks

[root@local roundcubemail]# patch -p0 < roundcubemail-0.1.1_chpwd_forward.patch
patching file index.php
Hunk #1 FAILED at 389.
1 out of 1 hunk FAILED -- saving rejects to file index.php.rej
patching file program/js/app.js
Hunk #1 FAILED at 283.
Hunk #2 FAILED at 294.
Hunk #3 FAILED at 988.
3 out of 3 hunks FAILED -- saving rejects to file program/js/app.js.rej
patching file program/localization/en_US/labels.inc
Hunk #1 succeeded at 336 with fuzz 2 (offset 93 lines).
patching file program/localization/en_US/messages.inc
Hunk #1 FAILED at 79.
1 out of 1 hunk FAILED -- saving rejects to file program/localization/en_US/messages.inc.rej
patching file program/steps/settings/func.inc
Hunk #1 FAILED at 262.
1 out of 1 hunk FAILED -- saving rejects to file program/steps/settings/func.inc.rej
patching file program/steps/settings/passwd.inc
patching file program/localization/zh_CN/labels.inc
Hunk #1 succeeded at 264 with fuzz 2 (offset 87 lines).
patching file program/localization/zh_CN/messages.inc
Hunk #1 succeeded at 96 with fuzz 2 (offset 17 lines).
patching file program/steps/settings/forwards.inc
[root@local roundcubemail]# echo $?
1
[root@local roundcubemail]#

Why ? ?

Thanks !

My environment: OpenLDAP + roundcubemail-0.3.1


jQuery UI 1.8.4

The fourth maintenance release for jQuery UI 1.8 is out. This update brings bug fixes for the Droppable, Resizable, Selectable and Sortable interactions as well as the Accordion, Autocomplete, Button, Datepicker Dialog, Progressbar, Slider and Tabs widgets. jQuery UI 1.8.3 was released a few days prior to 1.8.4, but there was a problem with the build system that caused some of the files to not contain any copyright information. If you noticed the 1.8.3 release and upgraded, please upgrade to 1.8.4. For the full list of changes, see the changelog. You can download it here:

Download

File Downloads

Svn (contains final files as they are in the zip, with @VERSION replaced with 1.8.4, all themes)

Git (contains pre-build files, with @VERSION not yet replaced with 1.8.4, base theme only)

Google Ajax Libraries API (CDN)

Custom Download Builder

New Features

In this release, we’ve added four new methods to help with setting the dimensions of elements (actually, we’ve modified existing functions from jQuery core). .innerHeight(), .innerWidth(), .outerHeight(), and .outerWidth() can now be used as setters. They all accept a number as a parameter, and that number will be used to set the width or height appropriately, based on the padding, border, and margins (depending on the method).

Accordion

You can now pass multiple events to accordion’s event option. See the hover intent demo to see an example of an accordion reacting to both clicks and hovers.

Autocomplete

Two new options have been added to autocomplete: position and appendTo. The position option allows you to take advantage of the position utility to customize where the menu will be displayed. The appendTo option allows you to specify which element the menu will be appended to, defaulting to the body.

Dialog

The dialog plugin has also been updated to allow full usage of the position utility. Setting the dialog’s position with a string or array is still possible, but will be removed in a future version.

Tabs

The tabs plugin has been updated to allow accessing tabs by href in addition to index. The enable, disable, select, load, and remove methods all accept the href of a tab.

Changelog

See the 1.8.4 Upgrade Guide for a list of changes that may affect you when upgrading from 1.8.2. For full details on what’s included in this release see the 1.8.4 Changelog.

Thanks

Thanks to all who helped with this release, specifically: adw, afcapel, afmenez, ajcrews, ajpiano, Alberto Fernández Capel, ALLPRO, Ascold, AzaToth, bamccaig, banacan, Ben Blank, Ben Hollis, bostanio, botio, brazilianjoe, Carl Fürstenberg, charlesboyung, chromial, chungwu, Cloudream, david.long03, davidcroda, DayBay, dcramer, Diego, dmuir, dsdsico, dwreck, eduardo, ehynds, erikrose, eXtreme, floepi, francois, gavimobile, ggp, gwk, hhillen, hiszpan, Holger, Holger Rüprich, ilyasahmad, IYS, james, jawsper, jdsharp, jghermsen, joern.zaefferer, johnk_c4b, Jon Palmer, jquery-dev, JustinMacCarthy, kaito, keturn, Kevin Dalman, kingjeffrey, klaus.hartl, kobrigo, lambacck, LynXor, mathewpeterson, mgurley, mijobe, Mikko Rantanen, mnoland, mofle, mormegil, mvermilion, nbid, Nick_Craver, nmaves, nminale, paul, Pavel, redjag, RedNinja, remoteportal, Rich2k, Richard D. Worth, rtimmermans, Rwhitbeck, sam.enspiral, Samuel Cormier-Iijima, sarahinthelakes, sciyoshi, Scott González, scottjehl, Sebmaster, serhii, sleyhane, smiller.health, spudly, swago, talmdal, theojapa, Tiago Freire, triblondon, tt0shk0, tzkuei, usd2, vanboom, venky, wouter, ZeekDaGeek, Ziling Zhao.

Bad Behavior 2.1.7

Bad Behavior version 2.1.7 has been released. It is a development release intended for testing and verification of new functionality and should not normally be used on production sites.

Please note: The 2.0 series of Bad Behavior is receiving limited updates, including unblocks, bug fixes and security fixes only. Future development is taking place in the 2.1 development tree.

Who should upgrade?

All development users should upgrade to ensure that web pages are indexed properly in the Bing search engine.

What’s new?

New in this release (since 2.1.6):

  • Changes in the way Microsoft does round-trip DNS identification for its search engine IP addresses caused msnbot, the search engine crawler for Bing, to be intermittently blocked. This issue has been resolved. (This issue does not affect the 2.0 series, which uses a different method of identification.)
  • Minor changes have been made to the way requests are handled when the web site uses the CloudFlare reverse proxy service. More changes may come in the near future; the ultimate intent is to be able to support any server behind any reverse proxy.

What’s coming?

In the next few releases I will be rolling out a significant number of blocks intended to catch a wide variety of malicious robots. These include content scrapers, referrer spammers, automated cracking tools and more. Each of these is going through an extensive review prior to being released, to ensure that legitimate requests are not blocked.

Download

Download the latest development release of Bad Behavior now!

Support

I can only spend time on improving Bad Behavior when incoming donations cover the cost of my time. Otherwise I have to engage in paying work to keep food on my table.

I happen to like giving spammers a hard time, and it’s frustrating that I don’t get to spend enough time on it. You can help me make Bad Behavior even better by setting up a recurring contribution, or making your most generous one-time contribution for any amount.

Thank you again for supporting Bad Behavior development!

Bad Behavior 2.1.6

Bad Behavior version 2.1.6 has been released. It is a development release intended for testing and verification of new functionality and should not normally be used on production sites.

Please note: The 2.0 series of Bad Behavior is receiving limited updates, including unblocks, bug fixes and security fixes only. Future development is taking place in the 2.1 development tree.

Who should upgrade?

Users of the CloudFlare reverse proxy service should upgrade to ensure that legitimate requests are not blocked.

What’s new?

New in this release (since 2.1.5):

  • A logic error in the CloudFlare detection code was causing legitimate requests to be intermittently blocked. This issue should be fixed.

What’s coming?

In the next few releases I will be rolling out a significant number of blocks intended to catch a wide variety of malicious robots. These include content scrapers, referrer spammers, automated cracking tools and more. Each of these is going through an extensive review prior to being released, to ensure that legitimate requests are not blocked.

Download

Download the latest development release of Bad Behavior now!

Support

I can only spend time on improving Bad Behavior when incoming donations cover the cost of my time. Otherwise I have to engage in paying work to keep food on my table.

I happen to like giving spammers a hard time, and it’s frustrating that I don’t get to spend enough time on it. You can help me make Bad Behavior even better by setting up a recurring contribution, or making your most generous one-time contribution for any amount.

Thank you again for supporting Bad Behavior development!

Version 0.4 (stable) released

After the big new features in 0.4-beta this release now completes the unfinished work and fixes bugs related to the new threaded message listing and address groups features. We also cleaned up the user interface and tried to make all UI elements more consistent.