12 Nov 2011

feeddrupal.org aggregator

Drupal core announcements: Core's directory structure reorganized

As of 2011-11-01, most files in Drupal core live in a 'core' subdirectory. We did this to make it easier to tell what's core vs. site-specific code (e.g. to discourage people from installing modules into the 'modules' subdirectory in the webroot) and to make it easier to upgrade to newer versions. See #22336: Move all core Drupal files under a /core folder to improve usability and upgrades for the full story and/or the API change record: Most Drupal core files now live in a "core" subdirectory.

One of the only drawbacks of this change is that bug fix patches for Drupal 7 no longer apply to Drupal 8 without being rerolled. However, generally it's easy re-roll a patch in this situation. xjm wrote up detailed instructions for re-rolling patches here: http://xjm.drupalgardens.com/blog/rerolling-drupal-8-core-patches

A more simple (but less effective in some cases) way to re-roll was written up by scor over at comment #306 of the original issue.

Please don't reopen the original issue with follow-up suggestions or bug reports -- those belong in new issues.

Core

12 Nov 2011 8:39am GMT

11 Nov 2011

feeddrupal.org aggregator

Morbus Iff: Achievements 7.x-1.4: Using print render($a) and render arrays

The Drupal Achievements module offers the ability to create achievements and badges similar to systems seen on Xbox 360, Playstation 3, Foursquare, Gowalla, GetGlue, and more. For a Drupal site, this could mean commenting a certain number of times, starting a forum topic, visiting the site every day of the week, or anything else that can be tracked and coded. The recently released 7.x-1.4 update focuses on changes that make theming easier.

In my first post about #theme_wrappers, we fixed up bad HTML in #prefix and #suffix to give themers an easier time. This post, about render arrays, is no different. In fact, most of the tweaks in Achievements 7.x-1.4 are not very obvious, or even useful, to module developers. It's only when you sit down with a themer who wants to change the entire look and feel that you realize your carefully-coded "looks good in Garland!" output is not as useful as you think.

Why render arrays are better

You've probably read about render arrays in the Drupal Developer's Handbook already, but the documentation doesn't really give a developer a decent reason why they should use them. It also doesn't talk about $content or splitting your variables into "data" and "presentation". I'll cover both below.

First, let's look at the wrong approach:

    $build['image'] = theme('image', array('path' => array('misc/druplicon.png')));

If this was passed to a theme file, the themer would simply print $image; and be done with it. The themer could even link the image if they wanted, but they wouldn't be able to add any classes or attributes to the image, since calling theme() directly always returns rendered HTML. Here's what the above looks like as a render array:

    $build['image'] = array(
      '#theme' => 'image',
      '#path' => 'misc/druplicon.png',
    );

To get this to display in the theme, we'd use print render($image); instead. In this case, the theme is telling Drupal to render the HTML, not your module. Why is this important? Ignoring the nebulous "I CAN'T ADD CSS CLASSES, SNIFF!" themer lament, consider the following small tweak to our original bad example:

    $image = theme('image', array('path' => array('misc/druplicon.png')));
    $build['image'] = l($image, 'node', array('html' => TRUE));

Here, we've simply added a link to our dummy image and the themer gets the fully rendered HTML to print out. Everything is toasty... unless the client or theme doesn't want or need the image to be linked. The themer now has no choice: they either have to use a regular expression to strip out the unwanted link or they have to recreate the $image variable in his own, well, image. Not only is that fragile (it's essentially copying module code to the theme and that code might change in a future version), but it also mixes too much logic with too little presentation. If the image's path isn't available to the theme as its own variable (it isn't, in the above example), the themer will still have to parse your rendered HTML to find the image's path first. Yuck.

Let's convert the above to a render array:

    $build['image'] = array(
      '#theme' => 'image_formatter',
      '#item' => array(
        'uri' => 'misc/druplicon.png',
      ),
      '#path' => array(
        'path' => 'node',
        'options' => array('html' => TRUE),
      ),
    );

Now, if the themer wants to remove the link, they can listen in a theme override, a preprocess, or even the dreaded hook_page_alter() and simply unset($variables['image']['#path'])'. No more link, without duplicating any upstream code or recreating things themselves. This is a real-life example, by the way - I just finished an optional submodule of Achievements which removes all links to the default leaderboards. I couldn't have easily done that if I used either of the link approaches below:

    $build['achievement_title'] = l($title, 'path/to/achievement');
    $build['achievement_title']['#markup'] = l($title, 'path/to/achievement');

But with the following render array:

    $build['achievement_title'] = array(
      '#type' => 'link',
      '#title' => $title,
      '#href' => 'path/to/achievemnt',
    );

I can make those links linkless:

  unset($variables['achievement_title']['#type']);
  $variables['achievement_title']['#markup'] = $variables['achievement_title']['#title'];

Data, presentation, and $content['a'] not $a

This doesn't mean that every single variable you pass to the theme should be a render array: there's clearly a difference between variables that represent data (an image path, the $node or $user object, a Unix timestamp, etc.) and variables that are meant for presentation (the linked image, the node's filtered teaser, a human-readable date, etc.).

There's a move afoot to more clearly indicate these two types by using a $content variable as a container for all the supplied render arrays. Drupal core does this in some places (node.tpl.php, for one), but not all, and it's slowly becoming a preferred practice in the theming world. Another benefit is the ability to use print render($content);, which says "render everything I haven't already rendered", allowing themes to display things that they, or the parent module, might not know about (new data added by a third party module in a preprocess, etc.). I've yet to implement this in Achievements, but I'll likely get there for the next release.

11 Nov 2011 6:57pm GMT

Trellon.com: Looking ahead to Drupalcon Denver

With each week that DrupalCon Denver is coming nearer, the excitement in the community grows. At Trellon, we're not immune to that excitement, and we're proud to be a Platinum sponsor of Drupalcon Denver. We're looking forward to seeing members of the Drupal community there, both old friends and new. We're excited about the opportunity that Drupalcons give us not only to learn more about the direction of Drupal, but to help shape it. We're eager to learn what new and exciting things people around the world have been doing with Drupal.

read more

11 Nov 2011 6:00pm GMT

Phase2 Technology: Final Days to Vote for DrupalCon Denver Sessions!

With the official close to the DrupalCon Denver session process on Monday, we have entered the final days of voting. Now, I believe the final tally for proposed was 565, and our team was happy to be a part of that. So take a moment this weekend and peruse the fine selection of submissions (by track) from the team here at Phase2.

11 Nov 2011 3:54pm GMT

Alan Palazzolo: OpenLayers Facelift

In the current D7 development branch of the Drupal OpenLayers module there are some really great interface and styling updates that will make maps a lot more exciting and more intuitive to use.

Before

OpenLayers | openlayers-6

After

Clone map geojson | openlayers7

The images above are screenshots (click to expand) of the default maps that currently come with the stable version of the OpenLayers module and library (before) and then new styling for default maps in the development branch (after). Let's go through the changes:

  1. New image set based on MapBox's image set and filled in by ndagire. This is huge! The default image set that comes with the OpenLayers module is pretty ugly; see for yourself.
  2. New default feature styles. This was a no brainer once we got new images. It is much better than that orange color.
  3. Provided markers come with the modules, a combination of ndagire's images and a couple markers I made, the module now comes with some markers out of the box. Besides this being visually exciting, I think it will help people grok the module more easily.
  4. New popup provided by Harris Rashid which goes very well with the new image set.
  5. New map styling to compliment the image set. A little CSS can go a long way.
  6. New Mapquest tiles by default. mikl helped get this tile set into the module core. And though it was tough to let go of the OpenStreetMap default tileset, the MapQuest tiles are actually based off the OpenStreetMap data, don't require a third-party library, are free, and look so much better!
  7. Wrap dateline (not numbered) is when the tiles repeat themselves as they go past the International Date Line which means as you pan east or west, it keeps going. This is a bit nerdy, but it means that the map fills up the area completely and looks much better.

So, all in all, an amazing improvement to what was a mediocre visual experience out of the box. I am really taken back by the contributions of the community to make this happen. And considering that I have talked twice about Making Beautiful Maps in Drupal both here and here, it was about time this became more of a reality.

Map Previews

I have also been adding some interface improvements to the OpenLayers UI module that comes with the main core module. If you look at the After image above, you'll notice it says "Preview". The map building interface now has a preview button so that you can see the map before you even save it (data and all). This is really great, as before you had to save the map, then go to the display page (done with the Views module), just to see if it worked. I can't believe I hadn't done this earlier.

Style Previews

When listing styles in the OpenLayers UI, you will now see a marker preview for the styles with icons, and a little map thumbnail for vector based styling. The icon preview was done by Pol at the OpenLayers Sprint at DrupalCon London. The map thumbnails are actually little OpenLayers maps that show a random place with the style on top.

When editing styles, there is also a larger map to preview the style. This is a larger map, but same principle as the list. This also contains crosshairs so that you can see how the style is centered on the feature it is representing.

Layer Previews

Coming soon. This is not implemented yet, and a bit harder to accomplish as often layers require maps to be certain ways. But I think we can still have this doable for the majority of layers.

Testing

All this work and more is currently in the development branch. There are some known bugs. Any help testing out would be greatly appreciated. Please put any bugs into the issue queue. I am hoping to have some time over Thanksgiving to follow through with this sprint and get out another release (probably the final alpha).

Topics:
drupalopenlayersmappingdrupal-planet

11 Nov 2011 12:52pm GMT

Dave Hall Consulting: Drupal in the Enterprise (aka Vote for my DrupalCon Session)

TL; DR: [spam]Please vote for my DrupalCon Denver proposal on Drupal workflows in the enterprise.[/spam]

For the last few months I've been working for Technocrat on a new Drupal based site for the Insurance Australia Group's Direct Insurance brands. The current sites are using Autonomy Teamsite.

The basics of the build are relatively straight forward, around 1000 nodes, a bunch of views and a bit of glue to hold it all together. Where things get complicated is the workflow. The Financial services sector in Australia is subject to strict control of representations being made about products. The workflow system needs to ensure IAG complies with these requirements.

During the evaluation we found that generally Drupal workflows are based around publishing a single piece of content on the production site. In the IAG case a collection of nodes need to be published as a piece of work, along with a new block. These changes need to be reviewed by stakeholders and then deployed. This led us to build a job based workflow system.

We are using the Features module to handle all configuration, deploy for entities and some additional tools, including Symfony, Jenkins and drush to hold it all together.

I've proposed the session for Drupal Downunder in January and will refine the session based on feedback from there in preparation for Denver. If you want to learn more about Drupal Workflows in the Enterprise, please vote for my session.

11 Nov 2011 12:22pm GMT

Drupal 8 Initiatives: Configuration Management Initiative - Bi-weekly IRC meeting

Start:
2011-11-15 20:00 - 21:00 UTC
Online meeting (eg. IRC meeting)
Organizers:
heyrocker

After a month of chaos, I am returning to holding the bi-weekly IRC meetings for the configuration management initiative. These meetings are held in the #drupal-cmi channel on Freenode. For more information about getting on IRC please see

http://drupal.org/irc

Some topics for discussion

If you have any other topics to discuss, please leave them in the comments.

Note that this meeting is an hour later than we have previously been holding the meetings. This translates to

US West Coast
12:00 Tue, Nov 15 2011

US Central
14:00 Tue, Nov 15 2011

US East Coast
15:00 Tue, Nov 15 2011

UTC / GMT, Universal / Greenwich Time
20:00 Tue, Nov 15 2011

Europe
21:00 Tue, Nov 15 2011

India
01:30 Wed, Nov 16 2011

Japan
05:00 Wed, Nov 16 2011

Australia
07:00 Wed, Nov 16 2011

Drupal 8 Initiatives

11 Nov 2011 10:59am GMT

Angie Byron: Hit-list for top Drupal 7 module stabilization

Back in September, http://drupalcontribstatus.com/ was launched to track the porting status of the top 60 contributed projects to Drupal 7. Since then, we've whittled the list down to just 20 projects remaining, as well as tons of progress on the rest! YEAH!

I contacted each of the maintainer(s) of those remaining projects and have come up with a list of next steps for each. Your help is needed if we want to get that graph up to 100% by year's end. (Just in time for Drupal 7's first birthday! :))

As a general rule, help is needed in the following areas:

  • Issue queue triage (Difficulty: Novice): Going through the issue queues of these modules and doing things like closing duplicate reports, verifying that bug reports are valid, and so on. None of this is particularly difficult work, but time that maintainers have to spend doing it is time they can NOT spend porting their modules to Drupal 7.
  • Reviewing patches (Difficulty: Intermediate): Going through the issues in the queue marked "needs review" and making sure patches still apply, then testing to make sure that they still work, then reporting on the results of your testing are all critical things that really help save maintainers time, and ensure that any actionable issues are escalated to their attention.
  • Experience in various core sub-systems (Difficulty: Intermediate to Advanced): If you know how to write automated tests, are familiar with how the render API works, can answer questions about the new Field API or File API, there are several issues identified that could use YOUR help! Note that you don't necessarily need to be in MAINTAINERS.txt to provide this help, either; if you've already started building Drupal 7 sites and modules, you likely know enough to be helpful!
  • Co-maintainership (Difficulty: Intermediate) Many of these projects are seeking co-maintainers. If you or your business/customers depend on any of these modules, investing solid time in the issue queue to help review and roll patches for issues in need would be of tremendous benefit, and would help position yourself to ask for commit rights so that you can ensure these modules stay solid going forward.
  • JavaScript knowledge! (Difficulty: Intermediate to Advanced) Seriously. We are, generally speaking, a bunch of PHP nerds. If you know JavaScript, you can be helpful on a number of different (and important) fronts.

So, without further ado, here are some specifics on how you can help Drupal 7, and the maintainers whose code you rely on!


Administration Menu

Maintainer: sun
Current status: 7.x-3.0-rc1
List of blocker issues: http://drupal.org/project/issues/search/admin_menu?status[]=Open&issue_t... (18 active issues)

Didn't get a response from this maintainer, but the list of blocker issues appears to be valid. While some seem to require a pretty deep understanding of menu system innards, others up for the taking are JavaScript-oriented or dealing with integration with other modules such as Views or Shortcut. Several issues have proposed solutions already, but need review.


Advanced Help

Maintainer: dmitrig01
Current status: 7.x-1.0-beta1 (2011-Jan-17)
List of blocker issues: http://drupal.org/project/issues/search/advanced_help?status[]=Open&issu... (0 active issues)

Dmitri thinks there aren't really blockers for a 1.0 release, so is going to take a look this weekend. Yay! :D


Better Formats

Maintainer: dragonwize
Current status: 7.x-1.x-dev (2011-Sep-16)
List of blocker issues: http://drupal.org/project/issues/search/better_formats?status[]=Open&iss... (4 active issues)

The list of blocker issues above is valid. Most relate to entity and field API. Alan is planning to put some solid work into this module over the next couple of weeks, as he needs it for a D7 project of his own. So any helpers in the issue queue should see quick response times!


Calendar

Maintainer: KarenS and arlinsandbulte
Current status: 7.x-3.0-alpha1 (2011-Aug-01)
List of blocker issues: http://drupal.org/project/issues/search/calendar?status[]=Open&issue_tag... (0 active issues)

This module is primarily blocked on stable releases of Date and Views. In the meantime, issue queue triage help would be appreciated. If you rely on this module, co-maintainers are very welcome!


CAPTCHA

Maintainers: wundo and soxofaan
Current status: 7.x-1.0-alpha3 (2011-Apr-27)
List of blocker issues: http://drupal.org/project/issues/search/captcha?status[]=Open&issue_tags... (5 active issues)

Did not hear back from these maintainers, but the list of stable release blockers includes several form-related issues. If you have experience with Drupal's form API, you may be able to help! CAPTCHA module is also currently seeking co-maintainers.


Contemplate

Maintainers: jrglasgow, dgtlmoon
Current status: 7.x-1.0-rc3 (2011-Sep-19)
List of blocker issues: http://drupal.org/project/issues/search/contemplate?issue_tags=D7+stable... (3 active issues)

Contemplate's biggest blocker is the new Render API in Drupal 7. http://drupal.org/node/1285558 describes the issue, with an analysis by zigazou:

Drupal 7 generates HTML code at the very last moment instead of what was done in Drupal 6 and earlier → Render arrays in Drupal 7
A ready to render array can be generated from the $node object via the node_view function → Drupal API : node_view
Should Contemplate give you a render array (instead of the $node object) in which you could create/modify/delete elements letting the rendering to the theme ?
Or is it up to you to render each elements via node_view and render in the template, thus generating HTML ?
Could Contemplate rely on token or dedicated data structure instead of internal Drupal structure ?

If anyone can provide insight on these questions, the module maintainers would love you to pieces. :) Without help, this module may be forced to become deprecated in Drupal 7. :(


Chaos tool suite (ctools)

Maintainer: merlinofchaos
Co-maintainers: EclipseGc, neclimdul
Current status: 7.x-1.0-rc1
List of blocker issues: N/A

Immediate needs are issue queue triage. http://drupal.org/project/issues/ctools?version=691544 has about 150 issues in it. Needs folks to go through and identify issues which are either:
a) Low-hanging fruit / Quick fixes
b) Really nasty things that ought to be cleared up before a 1.0 release
Earl has a spreadsheet at https://docs.google.com/spreadsheet/ccc?key=0At8yUf1kZmCldC01RUxwUnFsczR... where he's tracking things that need his immediate attention. Hint: The fewer issues in here, the faster it comes out, so please be picky about what things you escalate. :)
Beyond that, Earl doesn't think there are any release blocker issues, and he should be able to get a release out by year's end. Yay!


Date

Maintainer: KarenS and arlinsandbulte
Current status: 7.x-3.0-alpha1 (2011-Aug-01)
List of blocker issues: http://drupal.org/project/issues/search/date?status[]=Open&issue_tags=D7...

This module needs help on several fronts, including:

  • General issue queue triage to weed out duplicate/invalid issues would be of tremendous help.
  • Automated tests for various Date widget/formatter interactions. Spending time here will help greatly to speed up managing other issues.
  • More thorough reviews. Please, when reviewing, don't just test whether it works for your particular situation but also that it works with all types of date fields and widgets. Automated tests should help with this, but in the meantime testing can also be done manually.
  • Several UX-related issues, some of which need someone with JavaScript chops.
  • Date tokens are blocked on one of the remaining issues in the Token module queue. Helping to get Token ported will help Date module! :)
  • There are a number of issues around translations that need attention by someone who understands the translation system.

Embedded Media Field

Maintainer: aaron
Current status: N/A; no D7 release
List of blocker issues: http://drupal.org/project/issues/search/emfield?issue_tags=D7+stable+rel... (N/A active issues)

Didn't hear back from this maintainer, but the latest word from Aaron is that he would like to port this module to Drupal 7, although others are focusing their attention on a migration path from emfield to Media module.

In any event, http://drupal.org/project/media (now at its second release candidate) may be worth a look if you need this capability for Drupal 7.


Features

Maintainer: febbraro, hefox, tim.plunkett
Current status: 7.x-1.0-beta4 (2011-Sep-20)
List of blocker issues: http://drupal.org/project/issues/search/features?status[]=Open&issue_tag... (6 active issues)

Didn't hear back from this maintainer on this one, but half of the issues in the blocker issues queue are marked needs review, so testing on those would be extremely helpful.


Lightbox 2

Maintainer: stella, yukare
Current status: 7.x-1.0-beta1 (2011-Oct-16)
List of blocker issues: http://drupal.org/project/issues/search/lightbox2?status[]=Open&issue_ta... (TBD active issues)

Didn't hear back from this maintainer, presumably because of https://twitter.com/#!/snpower/status/132432976398131200 :) Congratulations!

However, if I had to guess, I'd say issue queue triage would be your best shot at getting a release of this out sooner. And if you're savvy with JavaScript, this might be a great project for you to sink your teeth into.


Nodewords

(Note: Renamed to Meta tags in Drupal 7.)
Maintainer: Dave Reid
Current status: 7.x-1.0-alpha3 (2011-Sep-30)
List of blocker issues: http://drupal.org/project/issues/search/metatag?status[]=Open&issue_tags... (7 active issues)

For the most part, major development efforts for Meta tags is now complete, and Dave is now onto code clean-up and stabilization.

There's one remaining architectural issue which could use hashing out. Meta tags currently puts its information in the $content array so that it can be cached. However, that only works if themes are using print render($content), which it seems many custom conversions from Drupal 6 are not. If you have thoughts on this, or otherwise have performance / Render API experience, please talk to Dave. He's looking for validation on the approach.


Panels

Maintainer: merlinofchaos
Current status: 7.x-3.0-alpha3 (2011-Mar-17)
List of blocker issues: http://drupal.org/project/issues/search/panels?status[]=Open&issue_tags=... (1 active issue)

A stable release of Panels is blocked on a stable CTools release, so helping with issues in the CTools issue queue will help Panels.

The biggest thing Panels needs at the moment is issue queue triage, to try and sort through the issues there, close invalid issues, and of the valid issues, determine whether or not they're Panels bugs or actually CTools bugs. If the issue queue gets cleaned up, that'll greatly help Earl to determine what, if any, of the outlier bugs are blockers once CTools 1.0 comes out.


Path redirect

(Note: Renamed to Redirect in Drupal 7.)
Maintainer: Dave Reid
Current status: 7.x-1.0-beta3 (2011-May-06)
List of blocker issues: http://drupal.org/project/issues/search/redirect?status[]=Open&issue_tag... (4 active issues)

Major development on Redirect module is pretty much done. Woohoo! However, there are still a few issues remaining issues in the blocker queue that need reviews from folks, particularly the Path redirect -> Redirect upgrade path issue.


Printer, e-mail and PDF versions

Maintainer: jcnventura
Current status: 7.x-1.0-beta1 (2011-Oct-17)
List of blocker issues: http://drupal.org/project/issues/search/simplenews?status[]=Open&issue_t... (N/A active issues)

This module's in pretty good shape, with a few, mostly minor to-dos. Reviews and testing would be helpful on patches in the queue.

One problem that could use help is the print_node.tpl.php template file isn't getting picked up for some reason, so print_preprocess_print_node. This is probably something easy, so if you're familiar with writing theme hooks and theme suggestions in Drupal 7, João could use some assistance!


Simplenews

Maintainer: Sutharsan, Simon Georges, miro_dietiker
Current status: 7.x-1.0-alpha1 (2011-Sep-17)
List of blocker issues: http://drupal.org/project/issues/search/simplenews?status[]=Open&issue_t... (5 active issues)

This module needs help in the following areas:
* Technical review of automated tests at http://drupal.org/node/1164578
* Some help with UI issues http://drupal.org/node/805114 & http://drupal.org/node/208016
* Testing of the upgrade path from D6 to D7
* Assistance with getting the theming right: http://drupal.org/node/700308
* In general, more active issue queue engagement (testing + contributing) by folks who depend on this module. The maintainers get frustrated when they put things out there and get crickets in return. :(


Token

Maintainer: Dave Reid
Current status: 7.x-1.0-beta7 (2011-Oct-28)
List of blocker issues: http://drupal.org/project/issues/search/token?status[]=Open&issue_tags=D... (6 active issues)

List of release blockers is valid. Here's what's needed:
- Support for nested tokens is a hot-button issue that blocks many contributed modules.
- If you are JavaScript-inclined, the upstream https://github.com/ludo/jquery-treetable library needs accessibility and performance improvements.
- Automated tests for basic token support would help ensure a healthy base from which to fix other issues.

Please help! This module unfortunately blocks others in the list. :(


Ubercart

Maintainers: TR, Island Usurper, longwave
Current status: 7.x-3.0-rc2 (2011-Oct-07)
List of blocker issues: http://drupal.org/project/issues/search/ubercart?status[]=Open&issue_tag... (0 active issues)

The good news is, no more release blocking bugs in Ubercart! The bad news is, a stable release is blocked waiting on a stable release of Views. :(

Note that a possible alternative to this module in Drupal 7 is http://drupal.org/project/commerce.


Views

Maintainers: merlinofchaos, dereine
Current status: 7.x-3.0-rc1 (2011-Jun-17)
List of blocker issues: http://drupal.org/project/issues/search/views?status[]=Open&issue_tags=D... and http://drupal.org/project/issues/search/views?issue_tags=override-problem (5 + 7 active issues)

Daniel "dereine" Wehner is leading maintainership efforts on Views currently. Currently, the best place to help out is in helping out with issues from the two lists of blocking issues above. Those remaining issues largely center on problems with the views override system.

If that sounds terrifying to you but you still want to help, the Views Bug Squad is always looking for hands. Members of the Views Bug Squad are Drupal contributors who have committed to spending a few hours a week doing basic triage the Views issue queue. Find out more at http://drupal.org/node/940718!


Views Bulk Operations

Maintainer: infojunkie, bojanz
Current status: 7.x-3.0-beta3 (2011-Oct-14)
List of blocker issues: http://drupal.org/project/issues/search/views_bulk_operations?status[]=O...
(2 active issues)

Rewrite fields.action.inc is the primary blocker for this module. Bojan is about 50% done, and hopes to post it for review within the next few days. Then, the best thing the community can do is provide feedback, so that we can figure out the best way it should look and work. Bojan has some availability in November, so now's the time if you'd like to help drive this module home!


XML Sitemap

Maintainer: Dave Reid and earnie
Current status: 7.x-2.0-beta3 (2011-Jun-20)
List of blocker issues: http://drupal.org/project/issues/search/xmlsitemap?status[]=Open&issue_t...
(TBD active issues)

This module primarily needs two things:
1) An active co-maintianer; Dave is currently single-handedly maintaining about 5 of the top 60 modules, and this is one he wouldn't mind having off his plate.
2) Lots and lots of issue queue triage. Because this module is so popular, there are tons of duplicate/invalid issues and Dave could really use some help weeding them down, to help get a clear sense of what's there in terms of release-blockers.

That's a wrap!

Whew! Hopefully you found something in that list that either you or someone you know can help crank on. If not, there's always the full list of all D7 stable release blockers for your hacking and triaging pleasure! If you're headed to a DrupalCamp over the next few weeks, consider holding a sprint to hack on these important issues.

Thanks in advance for your support!

(PS: Also thanks to Donna "KatteKrab" Benjamin for her help in formatting this formidable document!)

Tags:
drupal
drupal 7
#d7cx
acquia

11 Nov 2011 8:27am GMT

Commerce Guys: Creating orders with the Drupal Commerce API

As a flexible e-commerce framework, Drupal Commerce allows you to customize the checkout process on your site to suit your desired user experience. This is usually determined by what you're selling. A checkout process for physical items will likely include shipping and tax calculations, which often require information to be supplied by the customer.

Not every site is so complex, though. Event registration, donation collection, and bill payment sites don't always need shipping or tax calculation and probably won't even require a traditional shopping cart. It's quite likely that the checkout process, if it can be called such, is just a single page payment form that is embedded into another interface or accessed directly through a single form submission (such as a "Donate now" or "Buy it now" button).

I was discussing just such a scenario with a friend in IRC today when I realized that it would be helpful to share a necessary point of integration for site developers that want a simple checkout process like the one described above. Read on for a quick run down of the process and the code example that brings it all together.

read more

11 Nov 2011 6:33am GMT

Morten.dk: Dogme11.11.11 -a Vow of frontend Chastity

Sometimes it happens that a talk about "all thats wrong" fires up my mind - Tonight was one of those nights. I sat down, dropped the sleep & plotted out a very rough draft for a Dogme Ruleset. Its been discussed numerous times over the last 3 years in quite dark corners, between those called themers in the Drupalsphere that there needed to be somekind of manifest.

read more

11 Nov 2011 12:45am GMT

10 Nov 2011

feeddrupal.org aggregator

ImageX Media: ImageX Media Proposals for DrupalCon Denver

The time to propose sessions for DrupalCon Denver has officially closed. The good folks here at ImageX have put together a list of sessions we proposed. Check them out below and if they are interesting to you, scurry over to the Drupalcon site and cast your vote! Voting closes November 14th!

ImageX Media DrupalCon Denver

Heads Up 7 Up - Migration to Drupal 7

Presenters: Benjamin Koether & Shea McKinney
There are some amazing new features in Drupal 7 and you want to get your hands on them. New modules are coming out for it every day. How do you identify if your current Drupal website can or should be migrated to Drupal 7? This presentation will take you though the questions you should be asking as well as show you some of the tools and tricks of the trade to migrate your Drupal 6 site into Drupal 7. After migrating over 180 websites in a massive multi-site setup we have a good understanding on this process and have some words of wisdom to share with you.

Overcoming the Departmental Site Challenge: How to Unify Your University or College Web Platform with Drupal 7

Presenters: Benjamin Koether & Jennifer Hols & Kristin Boden-MacKay
Abstract: Co-presentation by Portland State University and ImageX Media discussing best practices for using Drupal at your EDU, and an in-depth case study on how Drupal 7 is being used to manage over 190 department sites (and growing!) at Portland State University (PSU).

Managing the hundreds of websites a large university needs is no simple task. Fortunately, Drupal 7 is up to the challenge. In this presentation you'll hear some of the challenges our Drupal firm and PSU faced in migrating over 190 university department sites for PSU, and all the things we learned along the way. We will also show how the latest version of Drupal is the perfect solution for these challenges.

The session includes how PSU used Drupal to achieve consistent branding, allow for customizations per department (while still maintaining and ensuring branding guidelines were kept in tact), syndication of content across multiple sites, robust access control, and create one-click installs to save time.

We'll also discuss our experience migrating nearly 200 sites from D6 to D7, using Drupal distributions vs. custom development and separate site vs. multi-site implementations.

Developing Information Architecture with Non-Technical Stakeholders

Presenters: Vanessa Turke
This session will demonstrate that facilitating conversations with cross-functional client groups can not only be a terrific resource for the development of a solid Drupal information architecture, but can also result in educating and empowering future site users to leverage the strengths of Drupal more effectively.

The presentation will focus on practical techniques and tools for working directly with the very people who will be responsible creating content and administering the site. Content writers, HR people, marketing departments and faculty members could all be examples of the types of internal or external clients who may be consulted with during the planning process. We will discuss some of the common stumbling blocks of working with laypeople and how to address them - outlining a step-by-step client-friendly process of developing site architecture using conversations around content creation workflow and end user needs.

Doing more using LESS

Presenters: Trent Stromkins
Abstract: LESS is a dynamic stylesheet language that can make your theming work easier, faster, and of course, better. We start with a basic introduction into using LESS CSS as a base. Add in the power that can be had with using LESS in your development process. Mix in some sweet tricks, including CSS3 covered bits. Bake in some dynamic grid building, and layout customization, and you have a very powerful base css that can be used for the base for all your themes.

Drupal On a Dime

Presenters: Benjamin Koether & Jennifer Hols
You already know Drupal is capable of doing almost anything… for a price. But what about those looking to leverage Drupal on a tight budget and timeline? Is it possible to build a kick-butt site on a dime and deploy it at warp speed without sacrificing quality? (i.e. "Can I have my cake and eat it too?")

Marketing and Selling Drupal - A Lively Panel Discussion

Presenters: Glenn Hilton, Mike Caccavano & Dave Terry
Drupal is at an inflection point. While the recent adoption trends have been positive, the content management system (CMS) space is becoming more competitive. The proprietary CMSs are starting to take notice and the FUD (Fear, Uncertainty, Doubt) campaigns against Drupal have just begun. In this panel discussion, we will explore and recommend ways to better position, sell, and market Drupal. We will share actual success stories from the trenches of how large, enterprise-level Drupal deals were won (and lost).

TWiT Does Drupal: This Week in Tech Case Study

Presenters: Glenn Hilton & Leo Laporte
Abstract: A case study on how the TWiT Network is using Drupal to build communities around their media broadcast networks.

The TWiT.tv Network has over 40 hours of tech programming a week with approximately 5 million downloads per month. Leo Laporte, and 'The Tech Guy' show is broadcasted by Premiere to 170 radio stations worldwide with over 1 million listeners every week. The TWiT team asked ImageX to revamp their online network of sites to help strengthen their communities, grow their social presence and provide a vast searchable database of tech resources.

Leo Laporte himself will join us to help share the story of TWiT and how Drupal's enabled them to transform their online presence. The session will also delve into some of the features and functionality created and how the rest of the community can benefit from it.

Remember guys, cast your votes before November 14th!

10 Nov 2011 11:50pm GMT

Evolving Web: Content Translation in Drupal 7

Multilingual websites are complicated, due to the wide variety of ways to convey multilingual content to users. Each multilingual website seems to come with a different set of requirements for how content translation is handled. In this post, I'll take a look at approaches to translating content in Drupal 7 and the new possibilities that the Entity Translation module provides.

Tags:
Multilingual
Entity Translation
Content Translation
i18n
Drupal 7
Drupal Planet

10 Nov 2011 11:23pm GMT

CivicActions: DrupalCon Denver Session Voting Open

DrupalCon Denver 2012 - Bronze Sponsor We are excited to present a wide range of session proposals for the upcoming DrupalCon Denver. If you take a look at the proposals our team members you will see that there is a little something for everyone, from very technical sessions, to sessions on using Drupal for Mobile applications, nonprofit and nongovernmental organizations using Drupal, and how to use Agile not only to run your projects but also to run your organization.

These sessions are born out of our experience and expertise on these topics, as well as our passion to share what we know with the community.

Take a few minutes to look over the proposals and cast your vote. We hope to see you at DrupalCon Denver, and empower you and your organization with one of these excellent sessions.

read more

10 Nov 2011 9:15pm GMT

10jumps Blog: Install and configure Drush on Mac OSX

Drush is a powerful shell for Drupal. It can many developer tasks really easy to manage from the command line. If you are installing it on Mac OSX, there might be a step or two which you have to perform for Drush to work correctly.

If you have pear or wget on your machine, then the process would be straightforward as described on the Drush site. However, if you are manually downloading the Drush then:

1. Download and untar the Drush in a directory outside your Drupal.

read more

10 Nov 2011 8:01pm GMT

Appnovation Technologies: Komodo Abbreviations

Komodo Abbreviations

One thing that makes my life easier is using Komodo abbreviations to cut back on the amount of typing I have to do. Abbreviations are a special kind of snippet, in a nutshell, a snippet inserts a block of text at the cursor position in the current buffer. Additionally, a snippet can contain tabstops. These are placeholders for text to be supplied at snippet-insertion time. Each tabstop is numbered, and can appear multiple times, so when you supply text for tabstop #1, for example, all instances of tabstop 1 in the inserted block get replaced.

read more

10 Nov 2011 7:04pm GMT

Morbus Iff: Achievements 7.x-1.4: Using #theme_wrappers

The Drupal Achievements module offers the ability to create achievements and badges similar to systems seen on Xbox 360, Playstation 3, Foursquare, Gowalla, GetGlue, and more. For a Drupal site, this could mean commenting a certain number of times, starting a forum topic, visiting the site every day of the week, or anything else that can be tracked and coded. The recently released 7.x-1.4 update focuses on changes that make theming easier.

One of those changes was implementing #theme_wrappers. Like many other modules, Achievements has various HTML displays that are essentially containers of things: a group of unlocked achievements, a group of categorized achievements, etc. For stronger theming, one usually wraps those in an extra <div> so that CSS folks can control the container's display. In the past, I've usually accomplished this with:

    $build['achievements'] = array(
      '#prefix' => '<div class="achievement-groups">',
      '#suffix' => '</div>',
    );

Simliar code to the above exists in Drupal core (book.module, field.module, etc.) so I never gave it a second thought. However, for a themer, the above is problematic because there's no way to tweak that HTML without dipping into a hook_page_alter() and rewriting or munging the #prefix entirely. Since I've been away from Drupal theming for so long, I never knew there was a stronger alternative by using #theme_wrappers. Not surprisingly, Drupal core uses this pattern alongside the "bad" #prefix version, so a good contender for a "Novice" patch would likely be "Replace all uses of #prefix divs with #theme_wrappers".

Like other theme functions and files, #theme_wrappers requires a hook_theme() definition:

    function achievements_theme() {
      return array(
        'achievement_groups_wrapper' => array(
          'render element'  => 'element',
        ),
      );
    }

In this case, we'll use a regular ol' theme function for the callback:

    /**
     * Default theme for the wrapper around a user's achievements page.
     *  
     * @param $variables
     *   An associative array containing:
     *   - element: A render containing the user's achievements page.
     */
    function theme_achievement_groups_wrapper($variables) {
      return '<div id="achievement-groups">' . $variables['element']['#children'] . '';
    }

And finally, we can tweak the above $build render array to use it:

    $build['achievements'] = array(
      '#theme_wrappers' => array('achievement_groups_wrapper'),
    );

In this case, the resultant HTML will be exactly the same, but now a themer can more easily override it just by defining THEMENAME_achievement_groups_wrapper(). This is a far cheaper method (mentally and performant-wise) than having to futz with hook_page_alter().

10 Nov 2011 7:02pm GMT