You can use drush to synchronize databases and files directories from production servers to your local development setup. This blog post show an easy way to setup these aliases and adds three new commands to do drush synchronization.
When having development servers that clients needs to access, but you don't what search engines to index one solution is to protect the server with HTTP authorization implemented using PHP. This post while explain how to do just this on an Aegir hosting solution.
I have been working with OpenLayers 2.x in Drupal 7 where I needed polygons, loaded from a KML file, to link to Drupal pages when clicked. I ended up create a module that adds a new behaviour to the layer containing the polygons.
When using panels together with views panes, which have exposed filters, it happens that parts of the URI is append in the URI each time you submit the form. This can be fixed by altering the views exposed form action variable.
The users browser don't cache static content, if your web-server don't sets the right expire or max-age headers. Drupal sets these headers for static content in the .htaccess file that comes with Drupal, if you have the expire Apache extension enabled.
In Drupal you can log message to the database, which is the standard way to log system events. On high traffic sites this can be come a bottleneck for the database server, so an alternative is to send the log message to the systems logging service.
I had big problems synchronizing MySQL database form the staging and production servers to my laptop. It could take up to 15 minutes for an simple site... now it only takes around 35 seconds.
When using the context in-line editor to allow editors to add blocks (nodespotbox) to regions you can lock regions, so editors can't drag & drop blocks into locked regions.
This post explains how to install the aegir queue runner, so that the tasks will be executed as once.
This post explains how to use panels preprocess function to create template suggestions for panes in Drupal 7.