Drupal Feeds
Development Seed: Aegir 1.0 Release on Drupal 7 in Early 2011
Last week at DrupalCon Copenhagen Antoine Beaupre and I shared our plans for the 1.0 release of the Aegir hosting system. After the 0.4 release that we are currently working on, the project will start working towards a final 1.0 build, rather than head towards 0.5.
Our goal for Aegir has been to implement a hosting system with a stable documented API that provides a solid foundation for integration of other services. Once we hit the 0.4 release, we will have the infrastructure in place to support this. With our key goal met, we've begun determining our must have features for a 1.0 release.
Grayside.org: Node Form Dominos via Node Reference and Prepopulate
I like Prepopulate. I like to have that pseudo-RESTful way of preloading a form to minimize the amount of work a user has to do to get to the point of submitting a form. But I also like clean URLs. This post reviews in detail a technique to use a single prepopulated nodereference field to prepopulate a bunch of other fields based on that reference. Since Prepopulate’s recent 2.0 release, it because a whole lot more difficult to use the Form API to work magic on what it provides.
I use this in conjunction with nodereference to tailor node forms for their relationship with the referenced node.
CivicActions: Drupal 7 - Faster Than Ever
CivicActions has been working with Google's “Make the Web Faster” project team to make some (last minute) improvements that make Drupal 7 faster.
Advantage Labs: New Pay alpha release available
Yesterday afternoon we made a new Alpha release of Pay for Drupal available. What is Pay you might ask? At its core Pay is a modular API for accepting, processing and tracking payments. If you want to be able to accept payments on your Drupal site for simple transactions with out "Add to cart" or complicated checkout procedures then Pay is for you! To learn more about Pay, take a look at our blog post last week and check out the project page.
As part of the Pay API we provide a set of base classes which can be extended to provide payment forms or payment methods and gateways. Out of the box we're currently shipping with support for Authorize.Net and PayFlowPro payment gateways. While at DrupalCon Copenhagen I began adding support for PayPal Website Payments Pro and Standard. While still under development some of this work is now available for testing in the latest alpha.
Katherine Bailey: Quicktabs module: some updates and an attempt at a roadmap
Mogdesign: Free Drupal Infographics PDF + t-shirt
Have you ever wonder how many Drupal websites are there? What about Drupal modules and themes? Ever wanted to know how has Drupal evolved since it was created?
Find out all you ever wanted to know about Drupal, but were afraid to ask.
Take a look at this fast overview of basic facts about Drupal, print out a card and use it as a handy resource to promote the awesome features of this powerful CMS. You can even download a version for t-shirt and become the coolest geek on your next meetup or Drupalcamp.
Questions covered:
Localize.drupal.org: "This is all nice, but how do I get stuff out?"
This is the question I got at many events where I presented about localize.drupal.org. We've just rolled out support for suggestion exports for translators about a month ago to make quality control and management easier, but that does not help people much who are just looking to download what's available.
I've also announced about three months ago that translation downloads were becoming stable and continually generated in a nice pace. However, the usability of those downloads left a lot to be desired. When looking at project pages on the site, you were shown a bland list of links to major Drupal versions the project was compatible with which all led to a long list of filenames on an FTP browser frontend. Also, some files being months old looked shocking given I've told you the downloads are now stable and up to date.
Hagen Graf: Fields in registration form
Since a few months I try to have a closer look at Drupal 7. After the release of Alpha 6 I decided to start a clients project based on Drupal 7. Two weeks ago we discovered a more or less strange problem.
In Drupal 7, as far as I knew, the profiles module will disappear or integrated in the new field api.
So I thought it would be a good idea to create the user fields as "fields" not as "profile fields". That worked perfect. It was possible to see the fields in the user edit dialog and in the user profile. It was also possible to access the fields via the views module.
But ... what is with the registration dialog? Read more
I Can Localize: Translation Analytics - A Reporting Tool
The next major addition to Translation Management will be the addition of a reporting tool.
This reporting tool will answer questions like these:
- How are translations progressing?
- Who's the French translator, responsible for the delays?
- Which urgent documents are still not translated?
- Are all marketing documents for product X translated?
- How much work did we send to translation service Y in June?
To answer these questions, and more, we're setting up a Translation Analytics tool, which would work very similarly to the famous Google tool for Website Analytics.
The idea is that you can define special taxonomy for documents, like urgency, budget code, project, etc. The Translation Analytics will identify these fields and create database entries for them.
You will be able to drill down through the translation statistics and create reports that give you the information you're looking for.
Lullabot: Drupal Voices 160: Moshe Weitzman on Page Rendering in Drupal 7
Moshe Weitzman talks about the new Page rendering flow and hook_page_alter() functionality in Drupal 7, which allows a more control over what appears on each page load. This will enable one-off customizations to the page loads in a much easier way. He talks about how Drupal 7 themes can now implement alter hooks, and how the page render arrays use the same approach as forms and nodes. Weitzman suggest that if you're new to the concept of render arrays to check out either the Pro Drupal Development book or some of the other training resources such as a workshop or other training videos.
Growing Venture Solutions: Drupalcamp Atlanta and best practices for event websites in Drupal
Drupalcamp Atlanta recently launched their new site for the 2010 Camp. I reviewed some of their features and found it to be a solid site. As the GVS team increases our focus on selling events with Drupal, I wanted to hear more about the backend of the site. So, I got in touch with Brent Ratliff who was the lead developer on the site, to find out how the site was built.
DrupalCon Chicago 2011: Now Seeking Trainers for DrupalCon Chicago
It’s by sharing knowledge with others that the Drupal community continues to grow and flourish. In that spirit, DrupalCon Chicago will be offering pre-conference training courses and workshops to attendees interested in gaining additional hands-on knowledge on a variety of topics related to Web and Drupal development. We are looking for talented, professional trainers who can share their knowledge at pre-conference training courses and workshops.
These courses will take place on March 7, 2011, before the main conference begins and will be held in the classroom facilities of the University of Chicago’s Gleacher Center, located steps from the conference venue. We are looking for sessions and workshops that touch on all aspects of Web development, from Drupal site-building, module development, user experience design, and beyond.
EchoDitto Tech Blog: Tutorial: How to Group Fields in Views With a Div or Span Tag
This is a howto for wrapping a div around a few of your view fields (and not others). This is useful, for instance, for being able to group all one's content so that it floats left but does not float around an image.
EDIT: This technique is a good intro to views templates, however, an easier way exists which seems a little hackish, but would work for many use cases. Thanks to Sr. or Sra. Anonymous.
Just use one "Global:Custom" field with a single div tag in it. See screenshot. It will span from that element until the last field in the view row. You can insert another "Global:Custom" field which can be nested inside the previous. However, I do not see a way to use this to create two sibling field groupings, so this post is still useful for learning about views templating and will give you you complete control over your markup.
Carry on.
First, create a template for your view.
EmmaJane: New Ebook: Code-Free Layout with Skinr, Fusion and Panels
Earlier this year I delivered a series of talks and workshops on how to use "advanced" modules to create Drupal layouts without ever having to crack open a PHP file. The slides from my CMS Expo talk "Advanced Design for Drupal" were uploaded to SlideShare. Now, for the first time ever, the notes from this talk (which became a three-week workshop) are available for sale.
Lullabot: Drupal Voices 159: John Albin Wilkins on Drupal 7 Theming
John Albin Wilkins (aka JohnAlbin) talks about some of the new extensions to the theming system that are new in Drupal 7 including render elements, hook_page_alter(), show, hide, theme_get_suggestions(), and improvements to theme_links(). He also talks about the theme administration page overhaul, how it's now a lot easier to create "mega-menus" dropdown panels when hovering over the primary navigation, as well as another presentation that Palantir gave on previewing Drupal 7.
John Albin Wilkins: A complete idiot’s guide to git-svn-migrate, 3 steps to batch convert Subversion to Git
If you read my previous post about converting Subversion repositories to git, you’ll know that to do a proper Subversion-to-Git transformation on a batch of repositories is going to take some time (what with all that command line typing). I had 142 legacy project Subversion repositories lying around I wanted converted to Git and, since I’m lazy, I pulled on my bash boots and wrote me a script to do the work!
With the git-svn-migrate scripts I wrote, you can batch convert all of your Subversion repositories in just 3 steps. And I’ve GPLed them and put them on GitHub if you’d like to collaborate and improve them; see the git-svn-migrate project page.
git-svn-migrate: a reverse glue factory
Matthew Saunders: Drupalcon CPH - Sharpen your Axe
Richard Jones of iKos gave a presentation on simplifying and streamlining the development of Drupal sites. His team observed that they were creating the same basic sites over and over again. To this end, rather than starting from scratch each and every time, the team created basic sites to start from and rapidly built out the basic site for a client in several weeks. This allows the client to start entering data early in the process - which means come theming time, you are working against real client data. This is a plus when you are trying to achieve the results your client is seeking. In the iKos model, design comes last and is somewhat subject to the functionality that has been developed.
iKos set the the goal to reduce Drupal development time by 80% - to radically reduced the repeated effort that the company engaged project after project. They created a model of a site "startpoint" that begins each new client effort.
Dale McGladdery: Creating and Updating Nodes Programmatically in Drupal 7
The steps for programmatically creating a node are:
- Create a PHP object representing the node data
- Save the object using the node_save() function
While the mechanics are simple, there is an important responsibility involved. The Drupal work flow does data validation before calling the node_save() function; node_save() does no validation. By calling node_save() directly your code takes the responsibility for providing valid data.
Drupal 7 ChangesA quick note for those of you familiar with Drupal 6. You'll notice two changes in Drupal 7:
Body Field Is No Longer Special
In Drupal 6 the body field was special. Specifically, it had a different data structure than other fields and it always existed, even if it wasn't used. With Drupal 7 the body field is a standard field provided by core and is truly optional.
Language
Language specification is required for the node and some fields.
Basic Node CreationThe following code assumes an unchanged Drupal 7 Standard installation and will create a Drupal 7 article node.
Appnovation Technologies: Nodequeue and Views Combination.
Sometimes it is really hard to show only the needed nodes in the needed order using views only.
Here are some examples when you need to give a Content Manager (CM) some control over the nodes that will be displayed by the view:
- you need to promote on the front page some content Item (for ex., some new Game) and want the CM to be able to change it through the UI any time he pleased
- you need to show the newest Games in the block (sorted by some date), but you need to give the CM ability to override this list and show a couple of Games of their choice at the top of the list (following by rest of the newest Games sorted by a date)
- you need to show a list of Items of some Type, but to make sure that some of the Items (from some "black list") will never be included into this list.
The Nodequeue and Views modules will be a very useful combination here.
Metal Toad: What's in a framework, experiences from Rails and Drupal
I've now been working professionally in Drupal for a year and have learned a lot about it; I have some patches into contrib but I've not really done much with core other than some simpletests I was too shy to commit at Drupalcon and some comments trying to help people out on d.o. Prior to my stint as Drupal programmer I was a hardcore Ruby on Rails developer for about 4 years. Over the last two years in particular I've learned a lot about frameworks and I'd like to share an observation about which framework feels right to me for which situations and why.
