Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 28 min ago

Get Pantheon Blog: Headless Websites - Headless Drupal Options

Thu, 07/08/2014 - 19:44

This past week at Drupal Costa Rica, I had a nice conversation with Todd Ross Neinkerk of Four Kitchens, who was there presenting on the notion of de-coupling content management and content display (here's video of a similar talk he did in Austin). I also spoke with Jesus Olivias who recently did a great Spanish-language podcast with Omar Aguierre on the topic, and he was kind enough to give me his two cents.

Headless Drupal is officially now "a thing". It's all happening. If you're curious why this is exciting people, see my previous blog post on the topic: what's the big deal with headless websites? In this blog post I will dig into the technologies at your disposal for exploring Headless Drupal today.


Headless Drupal Now!

For those looking to develop Headless Drupal websites right now, you can totally do it with version 7. Even though there's excitement about the upcoming Drupal 8 release — and I'll detail the action below — you don't need to wait to get started with these techniques. Drupal 7 still has a long life ahead of it, and with the right contrib modules it is usable for anyone looking to build headless websites today.

The most well-known interface for Drupal 7 and an alternate front-end is the Services module, which has a very Drupal-ish manner (e.g. hook_services_alter()) of exposing various interfaces. It comes with built-in REST and XML-RPC interfaces, and allows you to expose, nodes, users, taxonomies and other core data fairly easily behind custom endpoints (API paths). You can also use it as a basis for specifying your own custom services.

There's also the restWS module, which exposes any Drupal entity on its existing URL based on headers. This module is the basis for Drupal 8's REST module, which we'll discuss more later.

Finally there's a really interesting package from the developers at Gizra, the Restful module, which is also entity-centric, but takes a different philosophical approach. Rather than exposing Drupal's internals, it allows developers to define what data they specifically want sent in response to a request. It also allows the exposure of some entity types and not others (e.g. the "Article" nodes, but not "Pages"). This module is definitely more developer-centric, but they have some nice blog posts about how they use it with AngularJS that will help you get up to speed.

The Future of Headless Drupal in Version 8

The future of Headless Drupal opens up significantly with version 8. Core includes both a REST interface module and a brand new routing system built on the Symphony2 HTTP kernel. This provides a lot of opportunity for headless implementations both for beginning and more advanced developers.

The REST module is a souped-up version of what you got from RestWS in Drupal 7. Your core entities are all eligible for exposure, using the JSON+HAL format by default. This gives consumers of entity data the ability to follow "links" to other data sources — for instance you can pull the definition of a content type from any node.

Making Drupal's native entity data model accessible to other apps via REST takes only a few clicks. Views — also in core for Drupal 8 — natively supports "REST export" as a type of display. You can configure your way to a robust REST API into your content without installing a single extra module.

For those looking for more specific or nuanced functionality, the core HTTP routing framework is one of the most exciting pieces. It's a general upgrade for how all Drupal modules handle requests, replacing the legendary hook_menu() with a fully-featured HTTP server. You can set up custom routes, define controllers for callbacks, and manage responses based on headers, status codes, and all the other things one cares about once you make the mental leap from "serving pages" to "talking HTTP" in your application.

For developers with experience building server-side applications in Python, Ruby on Rails, or Node, this is a welcome change. It opens the door to much more sophisticated implementations with Drupal — powering the backend for complex mobile applications, serving as a lightweight integration point for different kinds of data, even acting as a pure API to external application developers.

Much More To Come

There's still more to come. A big part of the equation is what's on the other side: now that we know how to build a headless backend in Drupal, what's the client? There are many exciting answers, which I'll address in another post, ideally with code samples for AngularJS, Backbone, and others.

There's also exciting movement in the headless direction in WordPress, where the WP-API project aims to have a native REST/JSON server bundled into the 4.1 or 4.2 releases later this/next year. I'll be doing a dive into the potential for those implementations soon as well.

Are you building headless applications? Do you have tips tricks or techniques to share? Let me know and let's spread the word!

Blog Categories: EngineeringRelated posts: Headless Websites: What's the big deal?WP REST API - A Superficial Review
Categories: Elsewhere

tanay.co.in: FBIp - A lightweight module to automate form-submission based IP banning in Drupal

Thu, 07/08/2014 - 18:34

Drupal has a nice Internal tool to block IP addresses. It is available in core with no additional modules required. It can be accessed via Configuration -> People -> IP Address Blocking.

But it is practically useless without any automation to control spammers as it requires each IP to be manually submitted by the admin.

And there are the suite of modules available for Drupal. Ranging from captcha to mollom. And all of these target preventing form submission. While they do a good job in preventing the spammer from submitting forms on your site, the spam bots are still able to access your site/form.

And most of the times, there are some really dumb spam boths that do not bother whether they have been successful in the spam attempt. They do not realise that the same and they keep attempting to submit the same form repeatedly. While cpatcha, mollom, honeypot etc on your site are discarding these form submissions from bots, your site’s resources are being utilised to generate this form and show it again to the bots thousands of times.

And the worst part is that many of these form pages are not really cached allowing capcha etc to function properly. This makes the condition ever worse.

Have you ever wished there was a small module that just blocks a spammer completely after he either submits / attempts to submit a form a dozen times  times on your site?

So FBIP is here now!

https://www.drupal.org/project/fbip

  • It keeps a track of form submissions and if some user crosses a threshold that you specify, the user’s IP will be automatically blocked!

  • It is Leightweight. It does not add any additional tables to your site. It makes use of the Flood Control API available in the core of Drupal to keep a track of submissions per user.

  • You can choose between tracking either all forms on your site. Or specific form ids.

  • You can whitelist some IPs that you do not want to be tracked (Like your site administrators)

  • You can also choose to reset the IP bans at each cron run, if you wish to not to block any user permanently!

Beware Spammer, FBI(p) is watching you!

 
Categories: Elsewhere

Advomatic: Design for Drupal 2014

Thu, 07/08/2014 - 18:15
My new (awesome!) coworker Sarah recapped her experiences at DrupalCampWI the other day, so I will follow suit with my thoughts from my new favorite tech camp, Design4Drupal, held in Boston last weekend. This camp is an intimate gathering for front-end developer and designers all experiencing the same pain points working with Drupal and on websites in general. On the surface, that meant things were a little less geeky and a lot more stylish, and digging deeper, there were many substantial, tangible lessons to take home.  


Home base was this magical Ghery building, the Stata Center, on the MIT campus.

The organizers of D4D made a conscious effort to gear the first day more toward business, and I relished the opportunity to think more about client communication.    I attended a great session on getting better client feedback, and you can read my favorite client communication tips here.   Another gem of the day was a detailed explanation of copyright and creative commons, and robust list of places to get open source fonts and stock imagery.    


Capped off Friday by dinner & drinks with the lovely women of DevCollab and Pixels&Pulp. Above is Cuchi Cuchi. This is without a doubt how I would decorate my house if I lived alone.

I started Day Two started a little bleary-eyed, but we jumped right into all the discussions I'd been itching to have, particularly about workflow.   The workflow for front-end development has skyrocketed in complexity over the last few years, and we front-end devs are welcoming anything we can do to improve the hand off from design to development and to streamline our work. You can read more about taking some of the headaches out of front-end work here.    The Responsive Javascript session was a good reminder to pause every time you think about jumping into writing some responsive Javascript. First, stop, and ask if it can be done better with CSS. Most likely, CSS will trump Javascript every time in terms of performance, accessibility and potential QA rabbit-holes.   And check out window.matchMedia() -- it's a simple way to check if you have hit different breakpoints. (Be sure to grab the polyfill for IE9 and below.)   Last, but not least, was the discussion on streamlining development and testing. We got an overview of Google's Web Starter Kit and all of it's goodies, like live reloading, synchronized browser testing, and a built-in, living style guide. And there was an audible gasp (from me) when they showed what browsersync.io could do; all devices on the network could look at the same local site, and when you scrolled down on one device THEY WOULD ALL SCROLL DOWN. Stunning.   The presentation was interesting, and the dev environment really parallels the dev environment we have home-brewed for ourselves here at Advomatic with a combination of Compass/Sass, Grunt, LiveReload, xip.io, and KSS. I quickly learned that there aren't many other shops doing this yet, so we couldn't talk the nitty gritty details (like gnarly compile times). So that conversation is to be continued.   I can't wait to hear next year how others are using these tools to improve their workflow.  


I ended my weekend drinking the best lemonade I will probably ever have, at Baraka Cafe just down the street from where I was staying. Photo credit: Nathan Cooke

Categories: Elsewhere

Drupal Association News: From Poverty to Prosperity: How Drupal is Improving Lives in South Los Angeles

Thu, 07/08/2014 - 15:30

For many people all over the world, Drupal is a fun hobby or even a means to a career. But for some young men in South Los Angeles, it’s more than that: it’s a ticket to a better life.

Teens Exploring Technology is the brainchild of Oscar Menjivar, a social entrepreneur, programmer, and Drupal user. The program serves young men who are at risk of recruitment by gangs in Los Angeles’ southern neighborhoods by bringing them off the streets and educating them on community, leadership, academics, and technology.

Each year, thirty or more high-school boys are selected to participate in the program. Through it, they are introduced to computers and computing, and attend weekly classes held by the program and hosted in one of the classrooms at the University of Southern California (USC). Classes are instructed by volunteers who donate their time and expertise to the program, teaching the boys to improve their lives and their community through technological innovation.

“Currently, we partner with USC but we are starting to look at other universities for expansion” said Menjivar. “Our program is in demand and we need to expand. Right now, we’re building relationships with other universities, so in the next few years we’ll probably be meeting at USC and another university in the area."

The program, which is completely free for its students, has already made waves in its local community. Numerous alumni of Teens Exploring Technology are currently studying Computer Science and Information Systems at schools such as Stanford, Syracuse, USC, University of California Los Angeles (UCLA), and elsewhere; the projects that these students completed while participating in Teens Exploring Technology, meanwhile, are still doing good in their communities.

“Last year, one of the groups developed a Drupal website called South LA Run,” said Menjivar. "It’s an interactive map that displays safe places where people in south central LA can run. The site allows users to make accounts, and create and share routes with each other. Our students collected data and research from the community in South LA, then used it to build the site, which launched last summer.

"The project perfectly embodied our mission to help the kids recognize some of the problems in their communities, identify ways they can solve these problems, and give them the resources to solve those problems with technology,” Menjivar added.

Fighting poverty with technology

The program, which has won a Google Rise award, was inspired by Menjivar’s past.

"I grew up in South Los Angeles in the ‘90s and went to one of the worst high schools in the city,” said Menjivar. “They promised me a technology magnet program, but at the time we had nothing but typing classes. The lack of resources at my school made it harder for me to focus on bigger goals in life, like college.”

From a young age, Menjivar had been interested in computing and computer science. "I wanted to do computer science and learn how to code, and [my upbringing] was a huge barrier for me to overcome. Luckily, I had a good friend in college who took me under his wing.” Now, Menjivar is paying the favor forward by giving young men in rough neighborhoods the same help that he once received.

“Seven or eight years ago, I went back to my old high school and spoke to sixty kids. I asked if they knew what a website was, or knew what HTML was, and out of these kids only 5 of them knew what that meant. That was what opened my eyes,” he said. “I thought, there’s something that we need to do about this.”

For most young men who live in the inner cities, survival can be difficult. Many are recruited by gangs, or turn to crime to keep money coming in. "The biggest problem that I encountered with myself was that, in the '90s I had a lot of friends who… one ended up shot, another ended up in jail, and most didn’t go to college,” said Menjivar. "I was lucky because I had good mentors, but most of my friends didn’t have the same opportunity."

Now, Teens Exploring Technology is serving the neighborhood that Menjivar himself grew up in. The program focuses on educating young at-risk men about technology, inspiring them to use technology for social good, and instilling high-integrity values in the process. But Menjivar doesn’t want to stop there.

"The overall vision for what we’re doing is to develop leaders and change makers who can improve world through technology,” Menjivar said. “We want our students to go and use technology for good, and develop solutions for their communities. Our main focus is always on addressing problems in our students’ community, specifically how can we use technology to transform the lives of kids.”

Doing good with Drupal

In the Teens Exploring Technology program, the participants are introduced to a wide range of technologies— and Drupal is by far the most popular.

“We decided to use Drupal because it gives the kids a chance to learn on the spot and not have to wait for something to be pushed out,” Menjivar said. “They can practice their coding skills, and if they make a mistake they can redo it again easily in Drupal. The flexibility of it, the modules that the kids can play with, and the themes that Drupal can do all make it very popular. With kids, you have to be able to give them a choice for how to customize their website and make it their own, and Drupal does that really well.

“Last year, we had 8 different web apps and I would say 4 of them were Drupal-based. The other ones were Wordpress, Android, iPhone, and Shortstack, which is a Facebook app. This year we’re throwing in Unity, so the kids will be able to build games.

“Every year we experiment a lot but Drupal always stays at the core of what we do,” said Menjivar.

How Teens Exploring Technology is changing South Los Angeles

The pilot program for Teens Exploring Technology began five years ago.

“At first, we did recruiting,” said Menjivar. “We went out into the community and approached kids about participating in the program that first year, but it’s all word of mouth now. The kids call themselves TxTrs, and they really spread the word. It happens often that, in schools, an 8th or 9th grader will come to a current student and say 'I want to do this, how do I do this.’

“In the community, we feel that people are starting to recognize potential with technology. We had 150 applications this past year, and even though we were only able to pick 45 participants, we’ve created a database of kids who didn’t get in and their parents. We reach out to give them information whenever we can, and pretty soon we’ll have an open space that we’re opening up so that everyone can come, build with technology, and take workshops on different tools,” Menjivar added.

Helping at-risk young men build better lives for themselves and for their communities is at the heart of what Menjivar does— but he doesn’t plan to stop just with Teens Exploring Technology. Currently, the Teens Exploring Technology team is working to expand the program so that everyone in South Los Angeles has an opportunity to learn and grow.

“We’re about to open the first ever hacker/tech space in South LA where people in the community — not just boys but everyone else, girls, older people -- can come and learn how to develop and learn to make web apps,” Menjivar said. "We’re excited about it. We’ll be helping people learn about CSS, HTML, Javascript, and other different platforms. It's a huge step for us because we’ll be able to do summer programs with the boys in Teens Exploring Technology,” Menjivar added, “and then take those concepts over to our Hackerspace and encourage the community to initiate change through technology."

Menjivar’s vision for the Hackerspace isn’t one of a formal classroom, but rather a safe space for knowledge-sharing where people can help each other out-- or, in his words, “We want a ‘learn by doing’ space.”

“We want to build an organic community of technology culture so people can come in and do peer to peer teaching,” Menjivar said. “We want it to be a place where you can come hang out and have fun while learning to build online products. We aim to build culture of knowledge using the latest dev tools.”

“I find that the best way to build knowledge is together, instead of just doing workshops all the time,” Menjivar added.

“When we began setting the place up, picture a big mess right in the middle of the room: chairs everywhere and stucco and paint all over the place,” said Menjivar. “People came in and asked us what we were doing, and when we told them they could come and learn to develop, they got excited. In fact, as soon as we announced the Hackerspace to the community, we had tons of people coming in and asking how they could get involved.

“The community in South LA has a lot of talent, but it just isn’t being nurtured and fostered. So that’s what we want to do,” said Menjivar.

Getting Involved

Alumni of the Teens Exploring Technology program give back to the program by donating their expertise and recruiting for the community— but the program’s expansion means that more help is needed.

“Right now, we’ve got a summer leadership academy going on for boys who are between 14 and 17 years old,” said Menjivar. “We put the kids in production and development groups, and then everyone picks a different role: product developer, project manager, and so on. The boys go through process of identifying a problem and then using the technology to solve that problem, and to make this happen, we need mentors.

“Finding volunteers with exceptional skills is critical. We don’t just want people to volunteer, we want them to build relationships. Our volunteers become role models to the kids, become people they can look up to. Finding volunteers who can commit an hour to the program, and who are willing to stay in touch with the kids afterwards, can be a challenge.”

Beyond the need for more volunteers, resources are tight with the program. “getting funding is a challenge, especially since it’s a completely free program for the students,” said Menjivar. “Many of the boys we serve are from low income families, families whose annual income is about $15,000. In order for us to serve more students and provide new opportunities, we need to increase our income. This year we were invited to a startup weekend but we didn’t have transportation so going was difficult. Funding is definitely a challenge.”

“One of the questions we ask ourselves a lot is, how do we use this program to continue helping the Drupal community grow, and how do we get the Drupal community more involved in the future? One thing that would help would be sponsorship from companies for the program and for its volunteers.

“Our summer volunteers put in 20-25 hours a week helping the boys, and do so for no pay. Right now we’re looking for people or companies who can sponsor those volunteers, and maybe even give them a stipend,” said Menjivar.

"Currently, the culture of creating technology doesn’t exist in South L.A., so we’re building that technical dream and people are recognizing that. We’ve become the place where, if you want to learn to build or create, you go to Teens Exploring Technology or you go to Hackerspace. It’s a small space but I’m looking forward to seeing what comes out of it,” said Menjivar.

"Above all, the emphasis for me is our pillars of community, leadership, academics, and technology, because that’s what we anchor ourselves around. We want to help our kids understand how those pillars change the world, and really understand the technology that will make a difference in their lives and the lives of others as they become a developer."

For more information on the program, or to get involved, please contact the Teens Exploring Technology team, or reach out to Oscar Menjivar via Twitter at @urbantxt.

Categories: Elsewhere

Forum One: The Road to Drupalaton

Thu, 07/08/2014 - 15:07

We arrived in beautiful Budapest on Tuesday night already excited for Drupalaton, Hungary’s premier annual Drupal event which takes place at the town of Keszthely on Lake Balaton (from which the event gets its name).

Yesterday morning we met up with our friends at the Cheppers office, and loaded our bags into the cars to caravan down. Cheppers is one of the major sponsors for Drupalaton, and a good example of the new breed of Drupal shops coming out of Eastern Europe. Incidentally they also happen to be a fantastic road trip crew.

On the way down we talked about what we all hoped to get out of the big Drupal event. Personally I’m looking forward to a couple of uninterrupted days of contributing to Drupal 8. In a regular work week it’s hard to get this much time for contribution all at once, and it will be great to feel like I’m making a dent in the issue queue. Adam Juran, one of our Interface Engineers, talked about the friends we’d get to see and the “community track” of discussing code over a beer, which seems particularly appealing given the dearth of local lakeside restaurants. We’re seriously considering extending that idea by hosting an unofficial Forum One code sprint on the beach!

Drupalaton promises to be a fantastic conference. These local Drupal events are one of the few places where you can rub shoulders with well-known contributors and local first-timers all at once. Most of these European Drupal camps are fairly intimate gatherings of only about a hundred participants, which means that everyone eats, codes, and hangs out in just one or two big groups. Not to mention, these events are much lower pressure than the larger Drupalcons for everyone involved. People are often running through their presentations for the first time, and very few of them have other project or marketing work to distract them. This means that everyone is there for the same reasons: to code, to learn, and to have fun!

Sure to be one of the highlights of the event program is my three-hour workshop: Coder vs. Themer: Ultimate Grudge Smackdown Fight to the Death! with my colleague Adam Juran. Adam, using only the theme layer, and I, using only the module layer, will compete and invite our audience to do the same to determine who is able to build the better Drupal website: Coder or Themer?! We’ve had a lot of fun with this session in the past and it’s sure to be a popular one among the Drupalaton crowd.

This conference will also include well known Drupal contributors like Morten DK, Wim Leers, Dan Wehner, Reuben Teijieroand of course Gabor Hojtsy. Big names in the community like Stephanie El Hajj and Steve Purkiss will be there too, alongside some of our favorite local Drupal organizers like Lauri Eskola and Zsofi Major. A lot of these people are old friends for us – but whom we often only see on the Drupal.org issue queues – so it’s a special treat to hang out in person, even if we essentially have the same conversations. As for the people we don’t yet know: it will be great to code, session, and enjoy some tasty Hungarian Palinka with them as well!

Drupalaton will also feature some of the best of the local Hungarian community, in a beautiful lakeside setting. At Forum One we talk a lot about the value of local engagement with open source products like Drupal, and it’s very rewarding to be a part of that core value in action. Hungarian Drupalists are some of the most talented – not to mention friendly! – in the European community. We’ll definitely post more when the con gets started!

Categories: Elsewhere

Code Karate: Embed Panel Node View in code

Thu, 07/08/2014 - 03:48
There are times when you want to programmatically embed a node display in a block or panel pane.
Categories: Elsewhere

Drupal core announcements: This Month in Drupal Documentation

Thu, 07/08/2014 - 01:08

Here's an update from the Documentation Working Group (DocWG) on what has been happening in Drupal Documentation in the last month or so. Sorry... because this is posted in the Core group as well as Documentation, comments are disabled.

If you have comments or suggestions, please see the DocWG home page for how to contact us. Thanks!

Thanks for contributing!

Since July 1st (our previous TMIDD post), 260 contributors have made 800 total Drupal.org documentation page revisions, including 5 people that made more than 20 edits (gisle, lolandese, YesCT, adellefrank, and mparker17) -- thanks everyone!

In addition, there were many many commits to Drupal Core and contributed projects that improved documentation -- these are hard to count, because many commits combine code and documentation -- but they are greatly appreciated too!

Documentation Priorities

The Current documentation priorities page is always a good place to look to figure out what to work on, and has been updated recently.

If you're new to contributing to documentation, these projects may seem a bit overwhelming -- so why not try out a New contributor task to get started?

Upcoming Events Report from the Working Group
  • We finally finished our deliberations, and decided on our priorities for documentation-related software/infrastructure. These priorities were submitted to the Software Working Group, and are also listed on https://www.drupal.org/governance/docwg-goals. Ideas we considered but decided were not priorities for the next year are listed on https://www.drupal.org/node/2258139.
  • We are preparing for the sprints at DrupalCon Amsterdam (29 Sept.-3 Oct.) by updating and prioritising documentation issues. We'll be using documentation issue tag "docsprint" to tag issues that we think will be good for sprints, over the next two months especially.
  • After an initial period of setting ourselves up, we are now happy to open up the monthly meeting of the Documentation Working Group to anyone who would like to attend. Please contact Boris (batigolix) if you want to join the meeting and send hit the email address you use for Google, since we meet in Google Hangout.
Categories: Elsewhere

Janez Urevc: Drupal 8 from my media perspective - update #1

Wed, 06/08/2014 - 23:15

Media team is very active. Purpose of this post is to provide the progress update to the rest of the community that might not be aware of everything that is going on in this field. I am planning to publish this posts on a regular basis. We'll see how it goes :).

Media sprint in Zurich

We had a very productive sprint about a week ago in Zurich were we've worked on various core and contrib issues (see below of details). Sprint was organized by MD-Systems. They did their best to bring everyone togehter and made sure that we felt comfortable and welocome. Thank you so much (special thanks go to @miro_dieteker and @Berdir)!

Core

In Zurich @blueminds fixed [#2078473] Use entity access API for checking access to private files.

We are currently focusing on few issues:

Categories: Elsewhere

Acquia: Don’t wait, update your codebase now!

Wed, 06/08/2014 - 20:34

TL;DR: a security update for Drupal 7 and Drupal 6 was just released. All sites are affected and sites that are not updated immediately may experience Denial of Service (DoS) attacks leading to unexpected downtime.

Update: This vulnerability was covered on Mashable and one of the reporters published a detailed full disclosure of the vulnerability.

Categories: Elsewhere

agoradesign: Beware of evil pathauto patterns!

Wed, 06/08/2014 - 19:38

Recently, a very mysterious problem has cost us quite a lot of time and some headache too. Before I explain, what happened, I want to mention, that it happened on a Drupal 7 Site on a MS SQL Server database. According to an issue on drupal.org, that I will mention later, it may also occur with PostegreSQL, but most likely not with MySQL. But I also have a general advice regarding pathauto patterns and best practices.

Categories: Elsewhere

Drupal.org frontpage posts for the Drupal planet: Drupal 7.31 and 6.33 released

Wed, 06/08/2014 - 19:35

Drupal 7.31 and Drupal 6.33, maintenance releases which contain fixes for security vulnerabilities, are now available for download. See the Drupal 7.31 and Drupal 6.33 release notes for further information.

Download Drupal 7.31
Download Drupal 6.33

Upgrading your existing Drupal 7 and 6 sites is strongly recommended. There are no new features or non-security-related bug fixes in these releases. For more information about the Drupal 7.x release series, consult the Drupal 7.0 release announcement. More information on the Drupal 6.x release series can be found in the Drupal 6.0 release announcement.

Security information

We have a security announcement mailing list and a history of all security advisories, as well as an RSS feed with the most recent security advisories. We strongly advise Drupal administrators to sign up for the list.

Drupal 7 and 6 include the built-in Update Status module (renamed to Update Manager in Drupal 7), which informs you about important updates to your modules and themes.

Bug reports

Both Drupal 7.x and 6.x are being maintained, so given enough bug fixes (not just bug reports) more maintenance releases will be made available, according to our monthly release cycle.

Changelog

Drupal 7.31 is a security release only. For more details, see the 7.31 release notes. A complete list of all bug fixes in the stable 7.x branch can be found in the git commit log.

Drupal 6.33 is a security release only. For more details, see the 6.33 release notes. A complete list of all bug fixes in the stable 6.x branch can be found in the git commit log.

Security vulnerabilities

Drupal 7.31 and 6.33 were released in response to the discovery of security vulnerabilities. Details can be found in the official security advisory:

To fix the security problem, please upgrade to either Drupal 7.31 or Drupal 6.33.

Update notes

See the 7.31 and 6.33 release notes for details on important changes in this release.

Known issues

None.

Front page news: Planet DrupalDrupal version: Drupal 6.xDrupal 7.x
Categories: Elsewhere

Forum One: NVDA Screen Readers and Invisible Elements

Wed, 06/08/2014 - 17:02

Here’s an interesting bug…

It is a pretty common practice to hide from view text that is meant for visually impaired users to read via a screen reader. In Drupal, required fields will get a value that is hidden in this way via CSS in the field’s label elements. By default, this text reads “This field is required” however the text is translated, so it may vary depending on the language of the page. Visually, this text is hidden; sighted users will still see a red star character next to these fields, but it is only meant as a cue for users utilizing screen readers.

A common method of hiding these ‘Cur’ elements is to set the element’s width and height to 1px and use the the clip property. This method can be seen in this blog post and is briefly hit upon in this WebAIM article.

.element-invisible {

position: absolute !important;

height: 1px;

width: 1px;

overflow: hidden;

clip: rect(1px 1px 1px 1px); /* IE6, IE7 */

clip: rect(1px, 1px, 1px, 1px);

}

The Problem

I’ve come across an issue that can hamper accessibility. Users employing the NVDA Screen Reader with Firefox and using the screen reader viewer will see elements styled like this with the spaces removed, e.g., “Thisfieldisrequired.” This does not appear to be an issue in Chrome, and I have not tested in other browsers. The screen reader view renders as:


The Solution

It seems that this spacing is caused by how Firefox is interpreting the width property. Using a larger width here seems to resolve the issue, and a good threshold for this seems to be 9px. I tried it with 8, but oddly, that width leaves some words still missing spaces while correcting others. This may cause some layout issues, however. (I spend more of my time in back-end development, so I am not a CSS expert by any means.) Here is the result of changing the element’s width to 9px:

 

 

Thus, it seems changing the pixel size of these invisible elements could be one small step towards improving accessibility of this screen reader in Firefox.

Categories: Elsewhere

Promet Source: <p dir="ltr" style="line-height:1

Wed, 06/08/2014 - 16:28

 

Categories: Elsewhere

Acquia: Drupal 8's new theming layer – Joël Pittet and Scott Reeves

Wed, 06/08/2014 - 16:09

Drupal 8 theming layer co-maintainers Joël Pittet and Scott Reeves sat down with me at NYC Camp 2014 at United Nations Headquarters in New York City to talk about how Twig and the new theming layer in Drupal 8 empowers front- and back-end developers, convergence and contribution in PHP, and more.

Categories: Elsewhere

Amazee Labs: How to write Sass within Chromes DevTools using Workspaces and Auto-reload

Wed, 06/08/2014 - 13:48
How to write Sass within Chromes DevTools using Workspaces and Auto-reload

There is this feature in Chromes’ DevTools that allows you to directly edit your local Sass files without ever leaving your beloved browser. Even better, it will refresh your CSS files as soon as Compass has compiled them for you (kinda like Guard!). And to go even further, it will show you where the CSS definitions really come from (the original Sass files), instead of that generated gibberish.

Intro

So to start, you'll obviously have to be working with Sass/Compass for this to work (pardon the pun!). I won’t go into detail on how to install these lovely things as this could take up an entire post itself. So if you know how to install Sass/Compass on your machine or have a handy co-worker you can annoy (preferably a sys-monkey admin) you’re good to go.

With Sass and Compass there are as always issues if you're not working with certain specific versions. The most reliable combination that worked for me was this one:

  • Susy 1.0.9
  • Ruby 1.9.3
  • Sass 3.3.0.alpha.134 (i suppose Sass 3.3.x will work fine too)
  • Compass 0.12.4.sourcemaps
The thing about source maps

For Compass you need an entirely different version from the one that you probably have, its called “compass-sourcemap”.

In order to get that juicy source map action you'll have to open up your shell and type in the following:

sudo gem install compass-sourcemaps --pre

This will install a compass version with source map, in the future source map will (hopefully) be included in the regular compass versions.

So what is compass-sourcemap exactly you ask? Well first of it’s super fantastic, even if you don't want to have all the workspace/auto-reload mayhem you should take a look at it.

For example, on a casual day while you’re working with that sassy generated CSS, the inspector can’t really tell you where the real definitions are coming from. It only shows you the line within the generated CSS file. This is where source maps comes in, it generates an additional .map file for every .css file and tells your browser where the CSS definition is coming from. There are 4 things you'll have to do after you've installed all the necessary tools:

  1. Enable “CSS source maps” in the General Chrome DevTools Settings under “Sources”
  2. Enable it in your config.rb file, just add the following line (make sure its not already there)
    • sass_options = {:sourcemap => true}
  3. In the shell, run your compass just like you always have
    • compass watch
  4. Enjoy it!
Prepare your Drupal

Disable the “Aggregate and Compress CSS files.” option in your Drupal 7 Installation in “YOURSITE/admin/config/development/performance”.

Next up: download and enable this small module: https://github.com/AmazeeLabs/cache_buster

This will remove that pesky query behind your .css files, normally this would be a bad thing and you should never use this on a production site. However, for Chrome to properly track your local files it needs to have a permanent link to them, in other words a path that doesn't change. I got the code from an issue queue (i think…) on drupal.org but i can’t remember which one, I simply put it inside a module for easy handling. So credits go to the unknown contributor, thank you very much (and sorry)!

Before:

After:

Prepare your Chrome

Go back to your general DevTools settings and enable “Auto-reload generated CSS”, its right below the source maps option:

After that open up your local project with Chrome and navigate to “Sources” in DevTools. You should see something that looks a little like this:

What you’re gonna do next is adding your local site as a workspace inside Chrome, this will remain in there until you manually remove it. I like to take the entire theme folder; you could also add the entire site, that’s all up to you. If you've picked the folder you want, right click and pick “Add folder to workspace”. Navigate to the exact same folder on your local machine and select it.

At this point Chrome will ask you for writing permissions, just oblige and never think of it again. I mean it’s Google; what could possibly go wrong, amiright?

You should now see a new folder at the bottom of the sources tab inside your DevTools, it’s named after the folder you've just picked. Navigate to where the main .css file is (or any other .scss file), right click and select “Map to Network Resource”

Chrome will now bring up a selection of files from your site, match it to your local file.

And finally Chrome will ask you if it’s okay to reload DevTools; you are totally fine with that so pick “ok” - and you're done!

You can open any .scss files from your workspace or use the inspector to directly open a file and make all the changes you want. You can save using your standard cmd+s and even open files using cmd+o. Everything will be saved just as if it was done within a proper IDE, except its Chrome!

But there’s one more thing

If you right-click on any of your .scss files you can select “Local Modifications”; this will bring up a general “History” of all your changes and you can even revert them!

 

Categories: Elsewhere

KYbest: Exporting image field defaults in D7

Wed, 06/08/2014 - 11:32

We all love image fields' defaults: it's so easy to have a hero image for a product or a colleague's profile even when the editor does not provide one, with all the niceties such as displaying it with various image styles in a list, in the teaser or on the actual page. We all love Features module as it allows us to export Drupal 7 content types with all its settings.

Categories: Elsewhere

Modules Unraveled: 114 What PHPStorm brings to Drupal Developers with Maarten Balliauw - Modules Unraveled Podcast

Wed, 06/08/2014 - 07:00
Published: Wed, 08/06/14Download this episodePHPStorm
  • I’ve recently started using Sublime Text, how would you compare PHPStorm to other text editors?
  • What is an “IDE”?
  • What are some of stand out features of PHPStorm?
  • Where can people find out more about how to use the features of PHPStorm?
  • What is the pricing structure?

PHPStorm and Drupal
* What integrations does PHPStorm have with Drupal 7, right now?
* What will PhpStorm do for Drupal 8?

Questions from Twitter
  • Marc Drummond
    Really enjoy using @phpstorm. Always interested in learning how to get more out of my use of it.
Episode Links: Maarten on TwitterMaarten on GitHubMaarten’s blogPHPStorm WebsitePHPStorm TutorialsPhpStorm hands-onTags: DevelopmentEditorsplanet-drupal
Categories: Elsewhere

Drupal Association News: What the Association Board Does, and Why You Should Run!

Wed, 06/08/2014 - 05:39

One of the things that sets the Drupal community apart from other open source projects is our big, amazing, and very diverse community. The Association board is structured to help represent our community with two community elected seats. After a an update to our bylaws this May, we now elect one board member per year to a two-year term. These seats are open to all community members, and we need you to fill them! Our next election will be held in early 2015, and we need your help finding great candidates.

As we shared in the 2013 election wrap up presentation at the DrupalCon Prague public board meeting, we have a couple of challenges when it comes to public elections. The first is fielding a diverse candidate pool. We had some great candidates, but very few women, people of color, or candidates from outside the US. In our next election, we'd like to see more diversity in the candidate pool. Secondly, we have very low turn out for the elections. Anyone with a Drupal.org user account created before nominations open and with at least one login in the last year can vote. Yet, we had just 668 votes in the last election - not even a full percent! 

So now we're on a mission to make sure that the community understands the role of the board in the Drupal Project, the work that the board undertakes, and what it takes to serve on the board yourself. On Tuesday, 5 August, we held a webcast that outlines what the board does, how the elections work, and how to run. You can watch the whole thing here, and check out some of the key points, below.

  What does the Board Do?

Association board members, like all board members for US-based organizations, have three legal obligations: duty of care, duty of loyalty, and duty of obedience. In addition to these legal obligations, there is a lot of practical work that the board undertakes. These generally fall under the fiduciary responsibilities of the board and include:

  • Overseeing Financial Performance
  • Setting Strategy
  • Setingt and Reviewing Legal Policies
  • Fundraisng
  • Managing the Executive Director

To accomplish all this, the board meets each month for two hours, and comes together for the two-day retreats, usually scheduled to coincide with the North American and European Cons as well as one January or early February meeting. As a board member, you can expect to spend a minimum of five hours a month.

How do Nominations and Elections Work?

The first elections were held in 2012 after a lengthy community discussion was held to determine the specifics of who should be able to run, how voting would work, and who would be eligible to vote (among other details). The planning discussion that surfaced most of these issues is a great background read. The result is a nomination and voting process that is still in use today. 

Nominations are only accepted as self-nominations in our elections. You may not nominate another person. We accept those nominations during a short (two to three week) window, and after much outreach into the community. To nominate yourself, you need only complete a short form that asks for information such as your bio, your interest in running, what makes you a good candidate, as well as a photo and contact information.

For voting, we use the Instant Run Off method. The method of voting ensures that whoever wins is supported by a majority of voters. Voters rank candidates according to their preferences, and do not have to rank every candidate to complete their votes. Voting will be open for a week to two weeks, and any individual with a Drupal.org account before nominations open and who has logged in at least once in the prior year may vote.

Oh, and in case you're wondering, we use the Election Module to make this all happen.

Who Can Run? How do I Run? What do I do?

Anyone can run for the board, and we welcome all candidates. However, we do want to point out that serving on the board is very different than many of the other opportunities to contribute to the Drupal community. The board works at a strategic level, not a tactical one, and is often thinking one to three years out at a time. We want new board members to find ways to contribute and have a voice as quickly as possible, so we recommend that you have (or that you find) experience with any of the following types of areas:

  • Other board experience
  • Reading financial documents
  • Drupal community committee experience
  • Strategic planning
  • Policy development

However, I want to stress that NONE of these are REQUIRED to run for or serve on the board. There are many great and free resources at BoardSource and the Bridgespan Group about board service and board skills. And because elections are not for six months, you have plenty of time to get some reading under your belt!

All completed candidate self-nomination forms are published at the end of the nomination period. We call this phase "Meet the Candidates" and community members will be able to ask questions of you on your candidate profile page. Additionally, we will set up several webcasts for candidates to address community questions live, in a variety of time zones. 

When are the next elections?

In prior years, we held elections in the fall. This was difficult because it meant that most of the recruitment and meet the candidate work was done in August, when many humans in the northern hemisphere are on vacation. We've switched to a beginning of the year format which allows us to elect and ratify a candidate with plenty of time to get the onboarded and prepped to attend the DrupalCon North America retreat. Here is the schedule for the next election:

  • Community Discussion (August/September 2014)
  • Technical Setup (December/Jan)
  • Nominations (February 1-20)
  • Meet the Candidates (Feb 21 - March 6)
  • Voting (March 9 - 20)
  • Ratification & Communication (March 25)

Have more questions? Never fear! We are always happy to answer them. Leave them in the comments or send me an email.

Categories: Elsewhere

Symphony Blog: FAQ Field vs FAQ module in Drupal

Wed, 06/08/2014 - 05:20

We had been always using FAQ module to create Frequently Asked Questions for any of our projects. But on our latest theme, BizReview, we switch to a new module, FAQ Field.

FAQ is a classic module, it is there since Drupal 6. So when we have to build a FAQ section, using this module is a no brainer. This is the FAQ module in action on our Velocity theme.

 

read more

Categories: Elsewhere

Pages