drupal
Site Development Workflow: Keep it in Code | Lullabot
Almost a year ago now Development Seed had an article on some of the tools they were developing in order to address a very real, very important problem—that of the whole development to staging to live development process. Up until these tools were available, this process consisted of an archaic—and quite frankly, pain in the butt—method of either duplicating the clicks and changes you made through the Drupal UI in your various environments, or putting all of your changes that needed to be made to the database into update hooks that did very specialized queries, set variables, installed or uninstalled modules etc, etc. This came with a heavy price tag of testing your migration path over and over, resetting your database, and testing again. Oops! Small mistake there... change the code, reset the database, run it again, wash, rinse and repeat. These tools attempt to change all that and now that they're maturing, they've become a godsend for site builders and developers everywhere. Here is the workflow and process we are using at Lullabot and some of the finer points we've picked up along the way.
Comparison of rotator / slider modules | drupal.org
This page came about as a result of this post in the Duplicated Modules Hall of Shame group. The linked post lists several modules that provide either tabbed content or rotating content. I see two general use cases here:
* A device to provide access to large amounts of regular site content from one area of the page (tabbed content).
* A device to showcase featured content, often on the home page, in an eye-catching manner (rotating /sliding content).I am limiting this comparison page to the latter use case. My own module, Quick Tabs, was included in the original list linked to above, but as it does not provide any real rotator or slideshow type functionality, I am leaving it out here. It is open to discussion whether the ideal eventual outcome of any consolidation between the best features of the best of the modules would be a package that includes both types of feature.
editablefields | drupal.org
This module allows CCK fields to be edited on a node's display (e.g. at node/123), not just on the node edit pages (e.g. node/123/edit). It also works within views etc. Anywhere a 'formatter' can be selected, you can select editable (or click to edit).
Feedback 2.0 | drupal.org
Feedback 2 allows users and visitors of a Drupal site to quickly send feedback messages about the currently displayed page, using a fixed positioned and ajaxified feedback form. This helps site administrators in quality assurance of their pages, contents and theme.
Because the form is submitted via AJAX, a user will not be redirected to another page and can continue visiting/using the site after posting feedback.
All feedback messages are listed and grouped by status in an administrative feedback log. Each feedback message can be marked as 'done'. Privileged users are able to see existing feedback messages for the currently displayed page to prevent submitting duplicate feedbacks for already known issues (f.e. during site building). Since feedback messages are additionally stored with a 'masked' path (similar to dynamic menu item arguments in D6, i.e. user/%/edit), existing feedback messages for similar pages can be displayed (except node/% paths).
FileField Sources | drupal.org
FileField Sources is an extension to the FileField module. The FileField module lets you upload files from your computer through a CCK field. The FileField Sources module expands on this ability by allowing you to select new or existing files through additional means, including:
* Re-use files by an auto-complete textfield
* Transfer files from a remote server (cURL required)
* Select existing files through the IMCE file browserAlthough FileField Sources provides several built-in sources, it can be extended by any module through an API for creating new sources. Users can toggle between any of the available methods for selecting a file.
This module is in early, early development. It should be safe to use but may have unexpected behavior or may not be able to reference files correctly. FileField ultimately prevents any invalid use of files.
How to delete nodes by type and clean up sequences | drupal.org
<?php
$node_types = array(
'xxxxxx', //update this string with the type of node you want to delete
'xxxxxx', //update this string with the type of node you want to delete and add any more lines you might need
);
$sql = 'SELECT nid FROM {node} WHERE type IN ('. implode(', ', array_fill(0, count($node_types), "'%s'")). ')';
$result = db_query($sql, $node_types);
while ($row = db_fetch_object($result)) {
node_delete($row->nid);
}
db_query("UPDATE sequences SET id = (SELECT MAX(nid) FROM {node}) WHERE name = '{node}_nid'");
db_query("UPDATE sequences SET id = (SELECT MAX(vid) FROM {node_revisions}) WHERE name = '{node}_revisions_vid'");
?>
Blueprint: A CSS Framework | Spend your time innovating, not replicating
Blueprint is a CSS framework, which aims to cut down on your development time. It gives you a solid foundation to build your project on top of, with an easy-to-use grid, sensible typography, useful plugins, and even a stylesheet for printing.
Tags sizes not shown when used with taxonomy redirect | drupal.org
I have a somewhat odd error, which means that whenever I have a tag cloud which is redirected with the taxonomy_redirect module, all tags are rendered with the class "level0"
I can follow the code all the way through, and the level shows correctly in the term object. But whenever it is put through the theming function
$output .= l($term->name, taxonomy_term_path($term), array('attributes' => array('class' => "tagadelic level$term->weight", 'rel' => 'tag'))) ." \n";it suddenly turns to zero. For the tag clouds which are not redirected it works fine.
I have also found a workaround, so changing the line from the above to:
$weight = $term->weight;
$output .= l($term->name, taxonomy_term_path($term), array('attributes' => array('class' => "tagadelic level$weight", 'rel' => 'tag'))) ." \n";makes it render correctly. I am not sure this is the right way to fix it, nor am I exactly sure why it fails. It might be the php implementation? If anyone can come up with an explanation I would love to hear it.
/Edlund
Broken arguments : Taxonomy term, Vocabulary ID, Node add form and Node edit | drupal.org
If you are attempting to display a view which uses taxonomy term arguments in a panel layout, you can bypass the panel term id context issue.
1. Instead adding a term ID context to your panel, add a node ID context. (if you don't choose a context you will get a 'page not found error' and if you choose term ID you will get the ' accessed denied issue')
2. Add your view pane under the 'content' tab as per usual. But don't edit any fields relating to context or arguments.
3. Now edit your actual view. Open the settings for your view argument.
4. Under "Action to take if view argument is not present", select 'provide default argument'.
5. Under "Default argument type", select 'PHP Code'.
6. Under "PHP argument code" type: return arg(2); (or whatever number argument your after) and save your view