drupal.org - aggregated feeds in category Drupal Planet
Updated: 2 hours 22 min ago
Mon, 05/06/2013 - 09:16
div class=section field field-name-field-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item odda href=/drupal-7-responsive-blog-portfolio-theme-court class=colorbox-loadimg data-src=http://www.webomelette.com/sites/default/files/styles/tb-wall-double-style/public/field/image/logo.png src=http://www.webomelette.com/sites/default/files/tb_wall_lazyload_images/500x500.png width=500 height=500 alt= //a/div/div/divdiv class=section field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item oddpLately I’ve been quite busy working on my first Drupal 7 theme that is getting ready to launch. The idea stemmed from my perception that there are not enough responsive themes out there for Drupal./p
/div/div/div
Mon, 05/06/2013 - 07:00
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpThe following blog post was written by Donna Benjamin of Kattekrab.net, and is also read by Donna Benjamin. You can find the original article which contains all of the links mentioned in the post, at a href=http://kattekrab.net/twigs-bones-themes-stoneskattekrab.net/twigs-bones-themes-stones/a. Enjoy!/p/div/div/divspan class=submitted-by/span!--
THIS FILE IS NOT USED AND IS HERE AS A STARTING POINT FOR CUSTOMIZATION ONLY.
See http://api.drupal.org/api/function/theme_field/7 for details.
After copying this file to your theme's folder and customizing it, remove this
HTML comment.
--
div class=field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfix
div class=field-labelTags:nbsp;/div
div class=field-items
div style=display:inline; class=field-item even rel=dc:subject
a href=/tags/audioblog typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Audioblog/a, /div
div style=display:inline; class=field-item odd rel=dc:subject
a href=/planet-drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=planet-drupal/a /div
/div
/div
Mon, 05/06/2013 - 05:15
blockquotepYou can either get on the Drupal 8 bus now, or get run over by it later./p/blockquote
pIt's true. Drupal 8 is coming, and it will be big. Not just lines of code (that too), but big in the sense that Drupal 8 changes more of Drupal than any major release in the last 10 years. The adoption of so many 3rd party components (from Symfony and otherwise) is only part of that picture. That offers challenges for many, but also enormous opportunity. Drupal 8 will allow Drupal to expand into new types of application and new markets, which is a great thing for those who make their living off of Drupal. But where do you get started with learning about Drupal 8?/p
pAt a href=http://portland2013.drupal.org/DrupalCon Portland/a, that's where!/p
pThere are many sessions slated for Portland at both DrupalCon and at a href=//portland2013.live.symfony.com/Symfony Live/a that deal with Drupal 8, either directly or indirectly. Below is my recommended hitlist for Portland for those wanting to get the lowdown on Drupal 8./p
pWhat, you're not already signed up? There's still time! Go register for either a href=http://portland2013.drupal.org/registerDrupalCon/a or a href=http://portland2013.live.symfony.com/registration/Symfony Live/a, and be sure to get a Combo Ticket so that you are able to attend both conferences as well as Web Visions! (The combo ticket is the same price either way.)/p
pa href=http://www.garfieldtech.com/blog/drupal-8-portland target=_blankread more/a/p
Sun, 05/05/2013 - 12:52
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpHi! Welcome to the very first Audioblog sponsored by Modules Unraveled. This is Brian Lewis, and if you're listening to this, it probably means that you prefer to digest your content audibly, rather than reading long blog posts. Well, I'm the same way, and I kept coming across blog posts that I wouldn't normally read, but something about them would catch my eye, and I'd dive in. Almost without fail, I'd come away glad I did decide to read the post. The problem is, I don't have time to read everything that I think looks interesting. But I do have a lot of time to listen to things in my car./p/div/div/divspan class=submitted-by/span!--
THIS FILE IS NOT USED AND IS HERE AS A STARTING POINT FOR CUSTOMIZATION ONLY.
See http://api.drupal.org/api/function/theme_field/7 for details.
After copying this file to your theme's folder and customizing it, remove this
HTML comment.
--
div class=field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfix
div class=field-labelTags:nbsp;/div
div class=field-items
div style=display:inline; class=field-item even rel=dc:subject
a href=/tags/audioblog typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Audioblog/a, /div
div style=display:inline; class=field-item odd rel=dc:subject
a href=/planet-drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=planet-drupal/a /div
/div
/div
Fri, 05/03/2013 - 23:42
div class=field field-name-field-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item even rel=og:image rdfs:seeAlso resource=http://cweagans.net/sites/cweagans.net/files/styles/medium/public/field/image/instant_phpstorm_starter.jpg?itok=_K2b0ak0a href=/blog/2013/5/3/instant-phpstorm-starter-review-and-giveawayimg typeof=foaf:Image src=http://cweagans.net/sites/cweagans.net/files/styles/medium/public/field/image/instant_phpstorm_starter.jpg?itok=_K2b0ak0 width=178 height=220 alt=Instant PhpStorm Starter //a/div/div/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpThere are a myriad of books about pretty much every open-source editor/IDE on the market today, but it seems like most people try to avoid writing about commercial IDEs. There has long been a need for a good book about commercial IDEs, and a href=http://www.jetbrains.com/phpstorm/PhpStorm/a in particular. Today, I have been invited to review Włodzimierz Gajda's new book, a href=http://link.packtpub.com/gjzS8HemInstant PhpStorm Starter/em/a./p/div/div/div
Fri, 05/03/2013 - 21:18
h3span style=font-size: small;As a 1/4 Mexican, I feel gifted with a birthday on /spana href=http://en.wikipedia.org/wiki/Cinco_de_Mayo style=font-size: 12px;span style=font-size: small;Cinco de Mayo/span/a/h3pspan style=font-size: small;(for you gringos, that's May 5th)/span/ppspan style=font-size: small;Even better to share a photo of a href=http://drupal.orgDrupal/a creator and curator a href=http://buytaert.netDries Buytaert/a in a sombrero (while a student at a href=http://en.wikipedia.org/wiki/University_of_GhentGhent University/a, where Drupal originated)/span/ppimg alt=Dries Buytaert in a sombrero rel=lightbox src=http://netsperience.org/sites/default/files/resize/images/DriesSombero-500x400.png style=border-width: 0px; border-style: solid; width: 500px; height: 400px; width=500 height=400 //ppspan style=font-size: small;photo via /spanspan style=font-size: small;a href=http://groups.drupal.org/user/13263Forest Mars/a/span/ph2span style=font-size:14px;Try my vegetarian recipes:/span/h2h3span style=font-size:14px;a href=http://netsperience.org/content/happy-lunar-new-year-with-burritosspan style=font-family: Arial, Verdana, 'Trebuchet MS'; line-height: 17px; color: rgb(255, 0, 0);Bean burritos/spanspan style=color: rgb(51, 51, 102); font-family: Arial, Verdana, 'Trebuchet MS'; line-height: 17px;nbsp;ynbsp;/spanspan style=font-family: Arial, Verdana, 'Trebuchet MS'; line-height: 17px; color: rgb(255, 102, 0);arroz con frijoles/span/a/span/h3h3 style=margin-top: 0px; margin-bottom: 0.5em; color: rgb(0, 0, 0); font-size: 18px; font-family: Arial, Verdana, 'Trebuchet MS';span style=font-size:14px;a href=http://netsperience.org/content/blog/pro-bowl-guacamole style=text-decoration: none; color: rgb(0, 102, 153); title=Pro Bowl Guacamolespan style=color: rgb(0, 128, 0);Pro Bowl Guacamole/span/a/span/h3h3span style=font-size:10px;This remains the 10th most popular post on my blog, up from 8709 views a year ago to 15,037 now/span/h3!--pemstrongUnfortunately I will not be at the 5/5 Drupal meetup hosted by Zivtech, my friends are throwing a surprise party and I am obliged in advance to be there/strong/em/ppspan style=color: rgb(128, 0, 128);span style=font-size: medium;emsome birthday greetings/em/span/span/ppa href=https://www.xing.com/profile/Decibel_Placesimg alt=Happy Birthday DECIBEL from Xing rel=lightbox src=http://netsperience.org/sites/default/files/images/Xing-HB-DECIBEL.jpg height=224 width=256 border=0 //a/ppimg alt=feliz aniversario from Mom rel=lightbox src=http://netsperience.org/sites/default/files/resize/images/feliz-aniversario-500x247.jpg height=247 width=500 //p--
Fri, 05/03/2013 - 19:11
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenp id=highlightWe tested Views in Drupal 8 at a href=http://drupal.org/node/1833926BADCamp 2012/a and this uncovered a large number of usability issues. Since then we have been hard at work resolving them./p
pWe resolved over a href=http://drupal.org/project/issues/search/drupal?status%5B%5D=2amp;status%5B%5D=7amp;component%5B%5D=views_ui.moduleamp;issue_tags=Usability20/a identified usability issues. Most of the issues revolve around the following fundamental issues:/p
ulliWhat can views do? People are overwhelmed by the plethora of options and often don't quickly find the right approach./li
liHandler listings are overwhelming, and this causes people to miss the right handler./li
liPeople occasionally miss the save button, making them move off the page before saving./li
liOn the detail level a lot of copywriting is overly descriptive, this makes people miss important help text./li
/ulh2Major/h2
pWe have a number of major issues that we encountered. Most of these revolve around workflow and scan ability of listing pages:/p
ullia href=http://drupal.org/node/1832862Users feel overwhelmed by handler listings/a/li
lia href=http://drupal.org/node/1831894Users miss save button and can't distinguish editable and preview areas/a/li
lia href=http://drupal.org/node/1836390Add “place block in region’ to the Views wizard to help workflow/a/li
/ulh2Moderate/h2
pThese issues will distract but not keep people from using the Views interface:/p
ullia href=http://drupal.org/node/1836384The views UI should display All Displays option only when there are more 1 displays./a/li
lia href=http://drupal.org/node/1836392In the Views UI, the interaction pattern of “All displays”/ “Override this display” is confusing/a/li
lia href=http://drupal.org/node/1831080Remove the More area from the bottom of handler configuration/a/li
lia href=http://drupal.org/node/1831674Create a label should be off by default, with an opt-in for style plugins/a/li
/ulh2Normal/h2
pFinally, we have dozens of minor issues that often require little coding but have quite an impact on making individual forms better:br /a href=http://drupal.org/node/1962606Edit + Field Views (table, grid, etc.)/abr /a href=http://drupal.org/node/1832858Revamp descriptions of items in handler listings/abr /a href=http://drupal.org/node/1921748Views UI gives no indication that you are editing a disabled view/abr /a href=http://drupal.org/node/1957214Title setting in views UI does not indicate when the title might be overridden/abr /a href=http://drupal.org/node/1836384 The views UI should display All Displays option only when there are more 1 displays./abr /a href=http://drupal.org/node/1957276 title= needs workLet users set the block instance title for Views blocks in the Block UI/abr /a href=http://drupal.org/node/1957346 title= needs workAdd some settings on the block display to allow overrides on the block instance configuration/abr /a href=http://drupal.org/node/1956134 title= needs reviewProvide helpful editing links on admin/structure/block for different blocks (menu, views etc.)/a/p
pWe have been working hard at solving many of these issues starting with the copywriting. However we are currently running up against a few issues that will need some serious help in the PHP department. /p
pYou can track views issues by following the tags a href=http://drupal.org/project/issues/search/drupal?status%5B%5D=Openamp;issue_tags_op=andamp;issue_tags=VDC%2C+UsabilityUsability + VDC/a./p
pWe look forward strongto your help/strong, feel free to drop by #durpal-usability or #drupal-vdc if you have any questions./p
/div/div/div
Fri, 05/03/2013 - 18:44
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpGuest blogger Robb Neumann and trainer Steve Denver Dataman Kessler share their observations on March's Global Training Day in Denver, Colorado. Don't miss the link to Steve's free training resources toward the end of the post!/p
/div/div/divdiv class=field field-name-taxonomy-vocabulary-4 field-type-taxonomy-term-reference field-label-abovediv class=field-labelPersonal blog tags:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/taxonomy/term/593Drupal Global Training Day/a/divdiv class=field-item odda href=/taxonomy/term/708guest blog/a/div/div/div
Fri, 05/03/2013 - 15:57
h3 class=category Knowledge/h3div class=form-item form-type-item
labelLanguage /label
English
/div
div class=field field-name-titleh1a href=/en/blog/steps-reproduce-really-do-help-issue-summariesSteps to reproduce really do help in issue summaries/a/h1/divspan class=author Cathy Theys/spanspan class=published 05/03/2013 - 15:57/spandiv class=field field-name-field-teaserpI was working with new contributors tonight. They had worked on 2-4 issues before. They wanted to test a patch in dealing with a Drupal 8 multilingual issue. Sure, testing d8mi issues is a bit more tricky than regular core issues. Because a module usually needs to be enabled first, like Language or Content translation. But I think the lessons learned from this experience apply to any core issue./p
h3Steps to reproduce in a comment are nice. Putting them in the issue summary is even better./h3
pThis a href=http://drupal.org/node/1920876issue/a had Steps to reproduce in comment 3 out of 25, which is really great. Some issues do not have any steps to reproduce.
Even though this issue had Steps to reproduce, I saw these two contributors spend 15 minutes wondering how to get to the settings page that needed testing. And then they wondered how to get the translation bits to show there. Once I pointed out the comment that had the steps, they were on their way. One did the testing... and the other updated the issue summary and put the Steps to reproduce right there bin the issue summary/b. They wanted to make sure that the next person to come across the issue had an easier time testing than they did./p
/div
Fri, 05/03/2013 - 12:55
div class=field field-name-field-main-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item evenimg hspace=10 align=right width=190 height=190 src=http://www.lullabot.com/sites/default/files/styles/190x190_rounded/public/entry_image/podcasts_drupalizeme.jpg?itok=pOth1QOm alt= //div/div/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpIn this episode, we have a href=http://www.lullabot.com/who-we-are/greg-dunlapGreg Dunlap/a (a href=http://drupal.org/user/128537heyrocker/a) join Addi to talk about being a Drupal 8 initiative lead, not from the perspective of the software, but as someone who needs to pay rent. We talk about Greg's efforts to raise funding for his work as the Drupal 8 Configuration Management Initiative (CMI) lead, why he needed to go knocking on doors, and what that means going forward. What is money's role in a sustainable future for Drupal core development?/p
/div/div/div
ul class=field field-name-field-show-notes field-type-link-field field-label-hidden
li
a href=http://drupalize.me/series/working-entities-drupal-7Working with Entities in Drupal 7 Series/a /li
li
a href=http://portland2013.drupal.org/node/3678PSD to Theme Workshop at Portland/a /li
li
a href=http://artifactconf.comArtifact Conference/a /li
li
a href=http://drupal.org/user/128537/contactGreg's Drupal.org Contact Form/a /li
li
a href=https://twitter.com/heyrockerGreg's Twitter Feed/a /li
/ul
h2 class=subtitleSustainable Drupal core development requires money/h2
Fri, 05/03/2013 - 08:20
div class=field field-name-body field-type-text-with-summary field-label-hidden
div class=field-items
div property=content:encoded class=field-item evenpMany people have asked how COD, otherwise known as the Conference Organizing Distribution, is going. Currently its a community supported project, with lots of great new features going into the 7.x branch!/p
pThis weekend, Acquia was at Linuxfest Northwest (LFNW, a href=http://www.linuxfestnorthwest.orghttp://www.linuxfestnorthwest.org/a), a regional conference of about 1500 open source enthusiasts, and COD was running behind the scenes to help make the fest run as smoothly as possible./p/div
/div
/div
span property=dc:title content=The State of COD class=rdf-meta/span
Fri, 05/03/2013 - 06:43
div class=field field-name-field-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item even rel=og:image rdfs:seeAlso resource=http://flink.com.au/sites/default/files/styles/large/public/field/image/shrimp.jpgimg typeof=foaf:Image src=http://flink.com.au/sites/default/files/styles/large/public/field/image/shrimp.jpg width=400 height=255 alt= //div/div/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedblockquotepemI woke up this morning and all my shrimps was dead and gone. Someone's been fishing in my pond…/em -- Robert Johnson/p/blockquote
pA few days ago I woke up to the latest version of D8 core, only to find that everything in my freshly ported fully operational D8 module was broken. While getting to the root course, I couldn't help grumbling the above words by the late great bluesman in his wonderful strongDead Shrimp Blues/strong. Replace shrimps by hooks and think of that someone as the D8 core team and you have a wonderful analogy./p
pOne by one the hard-working core team are killing off our trusted hooks, replacing them by equivalent Symfony classes and their magic annotations. Your implementations won't be called any more. Say sayonara to your hooks. /p
pIt's all for the greater good, of course.br /
But initially the mind boggled./p
pTo get a grip and make my module work again, I went back to basics. I wrote a emminimum/em code base to programmatically create a field with associated widget and formatter. It has become my field+widget starter pack when implementing fields in D8./p
pThe commented code is attached as a fully functional module and we posted it to a href=http://drupal.org/node/1985716drupal.org/a, as well. /p
pAt the time of writing, hooks still required to create the basics of a field are:/p
ullicodehook_field_schema()/code implementation in the /modules/emmodulename/em.install file/li
licodehook_field_info()/code and codehook_field_is_empty()/code implementations in the /modules/emmodulename/em.module file/li
/ulpAll the widget and formatter hooks have been retired. Here's what you'll have to add to re-instate the D7 functionality provided by your widget and formatter hook implementations.br /
In the em/modules/em directory you need to create the following files, each holding a class and its essential annotations./p
ulliemmodulename/em/lib/Drupal/emmodulename/em/Type/emModuleName/emItem.php/li
liemmodulename/em/lib/Drupal/emmodulename/em/Plugin/field/widget/emModuleName/emDefaultWidget.php/li
liemmodulename/em/lib/Drupal/emmodulename/em/Plugin/field/formatter/emModuleName/emDefaultFormatter.php/li
/ulpTips to avoid the strongDead Hook Blues/strong:br /
o Don't have superfluous trailing comma's in your annotations -- the effect is calamitous.br /
o Implement codehook_field_is_empty()/code correctly or you may find that submitted form values don't save!br /
o Once you've mastered the starter pack, have a look at the source of core's strongTelephone/strong and strongLink/strong modules for a step up in complexity and in becoming a D8 pro!/p
/div/div/divdiv class=field field-name-field-file-under field-type-taxonomy-term-reference field-label-above
h3 class=field-labelFile under:nbsp;/h3
span class=field-items
a href=/file-under/planet-drupal typeof=skos:Concept property=rdfs:label skos:prefLabelPlanet Drupal/a /span
/div
div class=field field-name-field-attachment field-type-file field-label-aboveh3 class=field-labelAttachmentnbsp;/h3div class=field-itemsdiv class=field-item evenspan class=fileimg class=file-icon alt= title=application/x-gtar src=/modules/file/icons/application-octet-stream.png / a href=http://flink.com.au/sites/default/files/geostore.tgz type=application/x-gtar; length=2268geostore.tgz/a/span/div/div/div
Fri, 05/03/2013 - 03:27
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpWe are as excited as everyone about heading to Portland in a few short weeks. I'm convinced it is going to be one of the most significant DrupalCons yet./p
pHowever, I was a bit disappointed when I learned that so many of our favorite tools have no session coverage at all. These aren't some niche modules, either. These modules have been used in almost all of our projects in the last few years./p
h3Search API, Apache Solr, or search at all!/h3
pAt first, I searched for a href=http://portland2013.drupal.org/program/sessions/accepted?keys=searchsearch api/a on the DrupalCon Portland website hoping to find a session or two on the most powerful module system since Views. Nothing accepted. /p
pspanI thought there was not even one proposed session on Search API after using their seach page for the proposed sessions, but then I found a href=http://portland2013.drupal.org/session/beginners-guide-solr-search-search-apiBeginners Guide to Solr Search and Search API/a and a href=http://portland2013.drupal.org/session/solr-and-search-api-get-better-results-nowSolr and Search API: Get Better Results Now/a via other means. There might be a href=https://twitter.com/jonpugh/status/330140930038452224something wrong with their search pages./a /span/p
pspanspanThere are at least /spana href=http://portland2013.drupal.org/program/sessions/proposed?keys=solr8 sessions I found that have something to do with Apache Solr/aspan that were rejected./span/span/p
pspanThen, with a bad feeling about it, I searched for a href=http://portland2013.drupal.org/program/sessions/accepted?field_experience_value=Allamp;field_track_value=Allamp;keys=searchsearch/a. Only /spanstrong2/strongspan accepted sessions even mention the word search: one is called Case Studies and Optimizing Content and the other is about the Multilingual system. The only accepted session that mentions /spana href=http://portland2013.drupal.org/program/sessions/accepted?keys=solrsolr/aspan was a mapping session!/span/p
pspanThere is literally not one official session that focuses on the topic of search! This is almost mind-boggling, since for years, search has been one of Drupal's strong points./span/p
pBy the way, in case you were wondering, a href=http://drupal.org/project/search_apisearch_api/a has 17,358 reported installs. a href=http://drupal.org/project/apachesolrapachesolr/a has 12,675. /p
h3Migrate/h3
pThe next big shocker was a search for the word migrate. We have used migrate.module for almost every project we've worked on for the last few years, and find it indispensible tool in moving data into Drupal./p
pMigrate.module has 18,220 reported installs, and was used and sponsored by some of the biggest Drupal sites in the world, like MarthaStewart, Examiner, and the Economist./p
pa href=http://portland2013.drupal.org/program/sessions/accepted?amp;keys=migrateThere isn't one accepted session that mentions the word migrate/a. Three sessions mention the word migration, one of them is about moving to Drupal 8, and there is no mention of the migrate.module in any of them. There was only one session that I could find that specifically mentioned migrate module, a href=http://portland2013.drupal.org/session/managing-big-data-drupalManaging Big Data with Drupal/a./p
h3Aegir/h3
pa href=http://portland2013.drupal.org/program/sessions/proposed?field_experience_value=Allamp;field_track_value=Allamp;keys=aegir target=_blankThere were three sessions proposed/a on our favorite Drupal hosting management too, Aegir. a href=http://portland2013.drupal.org/program/sessions/accepted?field_experience_value=Allamp;field_track_value=Allamp;keys=aegirNone were accepted./a (One does mention aegir in passing./p
pThere are no good statistics on reported installs for aegir, because a href=http://drupal.org/project/hostmasterhostmaster/a doesn't enable update.module by default which is required to report statistics back to drupal.org. There have, however, been 9,165 downloads since they started counting downloads./p
pAegir is the only tool of its kind in the Drupal universe. It's popularity is growing all the time. It's a shame that it has gotten so little coverage, at the upcoming DrupalCon and ones in the past./p
h3MongoDB/h3
pa href=http://portland2013.drupal.org/program/sessions/proposed?field_experience_value=Allamp;field_track_value=Allamp;keys=mongodb target=_blank8 proposed sessions/a with something to do with MongoDB. a href=http://portland2013.drupal.org/program/sessions/accepted?field_experience_value=Allamp;field_track_value=Allamp;keys=mongodb target=_blank0 accepted./a /p
h3Making Lemonade/h3
pspanI can't speak to the selection process, and I know it is an incredible challenge to sort through the hundreds and hundreds of submissions the Drupal Association gets for DrupalCon. /span/p
pAt least now I know what BOF's I am going to propose. So if you are going to DrupalCon and are interested in these systems, keep an eye out for the BOF schedule./p
pWe will make sure that these topics get covered, somewhere!/p
/div/div/divdiv class=field field-name-field-tags field-type-taxonomy-term-reference field-label-abovediv class=field-labelTags:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/tags/planet-drupalPlanet Drupal/a/divdiv class=field-item odda href=/tags/drupalconDrupalCon/a/div/div/div
Thu, 05/02/2013 - 22:21
pFor those of you attending Drupalcon this month - you have good taste! Show exactly how good it is by joining us for a special event to benefit the trust of Aaron Winborn, a long time Drupal contributor who has been fighting ALS for some time now./p
pa href=http://www.trellon.com/content/blog/drupal-do-gooders-event-benefit-aaron-winborn-may-20-portland target=_blankread more/a/p
Thu, 05/02/2013 - 21:40
img src=http://www.mediacurrent.com/sites/default/files/imagecache/thumb_blog_spotlight/webinar2.jpg alt= title= class=imagecache imagecache-thumb_blog_spotlight imagecache-default imagecache-thumb_blog_spotlight_default width=200 height=150 / pThe Omega Drupal 7 Base Theme is a highly configurable HTML5/960 grid base theme that uses built-in media queries to make the site responsive. Each zone, or group of regions, can be configured for content-driven layouts that reformat depending on the device’s screen size./p
pMediacurrent recently partnered with a href=http://www.acquia.com/ target=_blankAcquia/a to record this webinar. In it Kendall explains the theory behind Omega's mobile-first approach, helping achieve best results whether on desktop, tablet or smartphone./p
pTopics covered:/p
Thu, 05/02/2013 - 21:07
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpThank you for attending my webinar - a href=http://www.appnovation.com/webinars/live_webinar_building_rich_internet_apps_drupal_html5 target=_blankBuilding Rich Internet Apps with Drupal amp; HTML5/a. I really appreciate the support and the amount of interest in this topic that you guys have shown! This blog post is dedicated to answering the questions that were asked during the webinar; unfortunately I couldn't get to all the questions but please feel free to leave any more in the comments and perhaps there will be a Part 2 of this Qamp;A./ph3Q1: What type of applications would you recommend to develop using these technologies together?/h3pApplications like the one I’ve shown in the demo are the perfect example. And for good reason, I have shown a reader app, not because I want to promote Kobo, but to demonstrate the effectiveness of HTML5, CSS3, and JavaScript (which is what Sproutcore is about) in creating a web-app. A reader app ties in with the concept of Hybrid Model perfectly. The Kobo server not only serves data for this HTML5 Reader app but for their native iOS, and Android app, which follows our model – the server-side is separated from the client-side./ppFacebook apps are good candidates to use these technologies. Facebook gives you a Canvas to work with, which essentially loads your website into an iframe, however, performance is not that great when working with traditional-style websites. For every page request, Facebook has to load the webpage first, and then show it to the user. Facebook is acting as a middle-man. So if you can eliminate the need for Facebook to fetch pages then your app will perform so much better./ppIn a nutshell, if you foresee that your application is going to have a content repository with workflows and needs to be highly interactive then a JavaScript HTML5 UI coupled with Drupal is best choice./ph3Q2: How could we introduce and streamline this hybrid model into a development environment?/h3pAs mentioned before the Hybrid Model demands a deeper consideration in deciding on how to separate business logics or requirements for client-side and server-side. It‘s architecture that is not too well adopted for websites, but for web applications it’s second nature. To start off, Business Analyst will need to gather as many requirements as possible so that the Solution Architect or Lead Developer can draw the line between what business requirements can be accomplished on client-side and what on server-side. Once that is established, we should focus our attention to designing the JSON REST API. Front-end and Back-end developers must agree upon the API before any work can begin. In this case, both front-end and back-end can work in parallel./ph3Q3: What do we do with the themes and templates on Drupal and is the UI going to be on the same server or somewhere else?/h3pSince external users are not interacting with Drupal directly, we don’t need Drupal to do any themes and templates. Now our JavaScript HTML5 UI is external to Drupal, meaning it is not a Drupal theme. We may view the UI as a standalone app that talks to Drupal. So the UI doesn’t need to be living on the same server, in fact, performance-wise, the UI would ideally be hosted somewhere like on a CDN (Content Delivery Network). However, it can be on the same server with Drupal just not within the Drupal directory./ph3Q4: Can you please define assets briefly?/h3pIn our context, “assets” refer to anything that enriches the UI, or adds “life” to it. These are, but not limited to: images, video and audio files, Flash (SWF) objects, CSS, and JavaScripts./ph3Q5: This might get answered later on... but I thought one of the great strengths of Drupal was its theming! If Drupal becomes SaaS, where is the theming motor going to come from?/h3pI agree that one of the great strengths of Drupal, besides content managing, is the theming/template engine. When we drop that part from Drupal and attach our external UI crafted from the HTML5 and JavaScript, the template motor is coming from the JavaScript framework that we are using. I highly recommend using a strong framework such as Backbone.JS, Sproutcore, or Ext JS. For the theme, you may want to combine the templates with a CSS framework like Compass and/or Foundation 4./ph3Q6: It seems like thickening the client is a good choice for sites that are frequently used. What are some best practices for sites that may be visited infrequently and aren't likely to create app interest in users/viewers?/h3pAs you’ve termed it “thickening” the client is good for sites that are frequently used, but that’s not all. Websites that want to respond well to users, say, the user clicks a button or a menu pops up or the page would flip and content is already there, and with no wait time between the interactions, thickening the client is a reasonable thing to do./ppNow for sites that are infrequently visited, the best practices for deciding whether or not to go the web-app route:/polliIf your current websites are mainly displaying static content, don’t require a lot of user interaction and it’s fine to have users waiting for page load, then stick with traditional websites./liliBenchmark your website; find out what is your general audience. Some users have no problem with plain-old websites, but some users love fancy and quick-n-snappy UI in websites./liliIf you foresee or plan for your current website to have increased functionalities and it’s going to become like an application, this is the great opportunity to “thicken” the client./li/olpspan style=font-size: 1.231em; font-weight: bold; line-height: 1.538em; /span/ppspan style=font-size: 1.231em; line-height: 1.538em;Q7: What happened to don't store state in the browser? Is this old-fashioned advice that's not needed anymore?/span/ppThe statement, “don’t store state” in the browser, is typically referring to the stateless model that the World Wide Web and the HTTP protocol is based upon. Because state is not preserved in the underlying protocol, it would make sense to not have the browser remember the state. Now that we are moving toward web-apps and HTML5 is meant to accelerate the process, stateless design is becoming outdated. If you look closely at the HTML5 features list, we have Local Storage, WebSQL, IndexedDB, and Application Cache, these essentially break the stateless design pattern. Now, let’s take a step back and look at how we implement a website before HTML5, we use cookies/sessions and URL to allow the browser to be state-full. In a sense, we’ve already broken the stateless design pattern. One thing to remember is that the HTTP protocol is always stateless, so we are always communicating in a stateless world. What we’ve done is altered how the app behaves but not the communication./ph3Q8: Drupal seems to be using Backbone.JS how does this compare with Sproutcore?/h3pIn a nutshell, Sproutcore and Backbone work in the same way. Sproutcore is heavily on the client-side MVC structure while Backbone is a bit more relaxed. Backbone is super light weight in comparison to Sproutcore. One reason that Sproutcore is more suited for web-app is the Statechart feature which only not organizes views but also drives the application. Statecharts can be seen as the Finite State Machine in Computer Science. Backbone.JS and Underscore.JS are being added to core because they need to provide the foundation for the inline editing feature in the coming release of Drupal 8, and because Drupal 8 is headed toward SaaS, Backbone.JS would really benefit Drupal./ph3Q9: Is there a recommended IDE for Sproutcore?/h3pAny IDE that can keep track of JavaScript functions and files is great. Sublime Text 2 is a good choice because you will run into cases where you must search through files to look for function names. I personally use Komodo just because I do PHP and JavaScript./ph3Q10: How much PHP programming is involved in your Hybrid Solution based on Drupal? Can you implement serverside business logic in JavaScript? Can Sproutcore be used server-side?/h3pPHP programming would be the same amount as it is when creating your own modules. It really depends on the business logics you planned to implement on the server. However, if all the business logics can be achieved with contributed modules, then no code writing is needed./ppImplementing server-side business logic in JavaScript is not a good idea because of security issues. Keep in mind that JavaScript is not safe; anyone can download the script and look at it. So it is not wise to implement server-side logic there. So in the Hybrid Model, I advised that the client-side only implement that logic which is closely related to display, for that reason./ppCan Sproutcore be used on server-side? No. Sproutcore is for the client, if you want server-side JS, use Node.JS instead./ph3Q11: How can you access the MySQL DB in Drupal? Do you need PHP to do so or can JavaScript on the server be used for this?/h3pDrupal database abstraction layer provides the API to read/write to the MySQL DB. Your JavaScript client will call to the JSON REST services Drupal provides to get data, and Drupal using the DB abstraction layer will handle getting data from the DB./ph3Q12: What is the preferred IDE for PHP/Drupal?/h3pI use Komodo personally./ph3Q13: Using the hybrid model, how does one configure the Drupal appearance / theme aspects? What are the ways in which I have to tailor Drupal so that it acts as a content repository and not a UI driver?/h3pIn the Hybrid Model, we have dropped the appearance/theme portion in Drupal for external users, meaning visitors will interact with the JavaScript HTML5 UI instead, and only administers would log into Drupal directly. Essentially, if you do a fresh install of Drupal it is already a content repository. The remaining piece is to provide a JSON REST API for the UI to connect to Drupal. Say, we have 'example.com/' pointing to your UI, and 'admin.example.com/' is your Drupal instance, you can create a landing page to allow Admin to login./ph3Q14: What type of app is good for HTML5 only?/h3pThis is a very open-ended question as any app can benefit from HTML5. There's not really an app that is only good for HTML5. So if your app utilized at least 2 or 3 HTML5 components then it is a good app for HTML5. Games, for example, use the Canvas component and WebGL (on Chrome) to render graphics. Reader applications, like Kobo, use Local Storage, Application Cache, History, and IndexedDB./ph3Q15: Do I have to develop the web-app from start to finish in Drupal to be able to use all of the Drupal features or can I just incorporate it into my existing website?/h3pHonestly, it is best to design the web-app from start to finish in Drupal and in JavaScript UI, because it’s much better to layout where client-side and server-side business logic would belong in the beginning. But you can start anywhere in between, all you have to do is build that JSON API and make sure that API hooks into all the Drupal features you need, so when the UI calls, everything is there./ph3Q16: Also, Is it a must to use PHP MVC or framework to be able to use it?/h3pNo, the Hybrid Model is really an architectural layout to structure your application. You don’t need to limit yourself to MVC frameworks on server-side and client-side. In fact, Drupal is not a MVC framework, it is still a PAC, and yet I recommend using Drupal for server-side./ph3Q17: If a web-app/website has some interactive content as well as some more static content, can Drupal serve up static pages while the client-side JS serves up dynamic content? (a hybrid-hybrid model?)/h3pYes. You can do that, as long as you have set aside which URL points to the web-app and Drupal, they can work simultaneously. For example, Drupal site only serves static node pages, and all your Views are outputting JSON instead. Calling those Views will split out JSON and not the actual page./ph3Q18: It looks like SproutCore uses Ruby and RubyGems somehow - can you please explain how that fits with JavaScript?/h3pSproutcore is JavaScript. Sproutcore uses Ruby and RubyGems to build and compile your JavaScripts into an app package./ph3Q19: How would you benefit from Drupal-HTML5-CSS3-JS vs.Node.JS-HTML5-CSS3-JS? i.e. What is the benefit of doing server side Drupal versus 100% JS using Node.JS?/h3pDrupal gives you the benefits of having a CMS, and Node.JS doesn’t. It only gives you the structure to build an application. The question is why build a CMS yourself when you already have it, and all you really need to do is add the JSON REST API component. There is no real benefit in the underlying technology, in terms of, mixture of PHP with JS and pure 100% JS. Even if you implement 100% JS on both sides, you still need to build REST component for the client and server to communicate./ppThanks for reading along; I hope this Qamp;A has proved helpful! /p/div/div/divdiv class=field field-name-field-blog-tags field-type-taxonomy-term-reference field-label-abovediv class=field-labelBlog Tags:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/content-tags/html5 typeof=skos:Concept property=rdfs:label skos:prefLabelhtml5/a/divdiv class=field-item odda href=/content-tags/drupal-0 typeof=skos:Concept property=rdfs:label skos:prefLabeldrupal/a/divdiv class=field-item evena href=/content-tags/drupal-6 typeof=skos:Concept property=rdfs:label skos:prefLabelDrupal 6/a/divdiv class=field-item odda href=/content-tags/drupal-7 typeof=skos:Concept property=rdfs:label skos:prefLabelDrupal 7/a/divdiv class=field-item evena href=/content_tags/services typeof=skos:Concept property=rdfs:label skos:prefLabelservices/a/divdiv class=field-item odda href=/content-tags/views typeof=skos:Concept property=rdfs:label skos:prefLabelViews/a/divdiv class=field-item evena href=/content-tags/json typeof=skos:Concept property=rdfs:label skos:prefLabeljson/a/divdiv class=field-item odda href=/content_tags/rest_api typeof=skos:Concept property=rdfs:label skos:prefLabelrest api/a/divdiv class=field-item evena href=/content-tags/rest typeof=skos:Concept property=rdfs:label skos:prefLabelrest/a/divdiv class=field-item odda href=/content-tags/sproutcore typeof=skos:Concept property=rdfs:label skos:prefLabelsproutcore/a/divdiv class=field-item evena href=/content_tags/backbonejs typeof=skos:Concept property=rdfs:label skos:prefLabelbackbone.js/a/divdiv class=field-item odda href=/content-tags/architecture typeof=skos:Concept property=rdfs:label skos:prefLabelarchitecture/a/divdiv class=field-item evena href=/content_tags/back_end typeof=skos:Concept property=rdfs:label skos:prefLabelback-end/a/divdiv class=field-item odda href=/content_tags/front_end typeof=skos:Concept property=rdfs:label skos:prefLabelfront-end/a/divdiv class=field-item evena href=/content-tags/development typeof=skos:Concept property=rdfs:label skos:prefLabeldevelopment/a/divdiv class=field-item odda href=/content_tags/maintenance typeof=skos:Concept property=rdfs:label skos:prefLabelmaintenance/a/divdiv class=field-item evena href=/content_tags/cost typeof=skos:Concept property=rdfs:label skos:prefLabelcost/a/div/div/divdiv class=field field-name-field-section field-type-taxonomy-term-reference field-label-abovediv class=field-labelSection:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/section/cross-platform typeof=skos:Concept property=rdfs:label skos:prefLabelCross-Platform/a/divdiv class=field-item odda href=/section/drupal typeof=skos:Concept property=rdfs:label skos:prefLabelDrupal/a/divdiv class=field-item evena href=/section/html5 typeof=skos:Concept property=rdfs:label skos:prefLabelHTML5/a/divdiv class=field-item odda href=/taxonomy/term/3 typeof=skos:Concept property=rdfs:label skos:prefLabelMobile Applications/a/divdiv class=field-item evena href=/section/android typeof=skos:Concept property=rdfs:label skos:prefLabelAndroid/a/divdiv class=field-item odda href=/section/blackberry typeof=skos:Concept property=rdfs:label skos:prefLabelBlackBerry/a/divdiv class=field-item evena href=/section/ios typeof=skos:Concept property=rdfs:label skos:prefLabeliOS/a/divdiv class=field-item odda href=/section/ipad typeof=skos:Concept property=rdfs:label skos:prefLabeliPad/a/divdiv class=field-item evena href=/section/iphone typeof=skos:Concept property=rdfs:label skos:prefLabeliPhone/a/divdiv class=field-item odda href=/section/window-mobile typeof=skos:Concept property=rdfs:label skos:prefLabelWindow Mobile/a/divdiv class=field-item evena href=/section/mobility-solutions typeof=skos:Concept property=rdfs:label skos:prefLabelMobility Solutions/a/divdiv class=field-item odda href=/section/phonegap typeof=skos:Concept property=rdfs:label skos:prefLabelPhoneGap/a/divdiv class=field-item evena href=/section/sproutcore typeof=skos:Concept property=rdfs:label skos:prefLabelSproutCore/a/div/div/div
Thu, 05/02/2013 - 18:38
div class=field field-name-body field-type-text-with-summary field-label-hidden
div class=field-items
div property=content:encoded class=field-item evenpShannon Vettes is the a href=http://commerceguys.com/users/shannonPartner Manager at Commerce Guys/a in Paris; the company leading the way in making Drupal the platform of choice for eCommerce. Among other things, she has the rewarding job of coordinating adding modules and services to the a href=https://marketplace.commerceguys.com/Commerce Marketplace/a and getting integrators involved in the platform, too./p
/div
/div
/div
div class=field field-name-field-podcast-file field-type-file field-label-hidden
div class=field-items
div class=field-item evenspan class=fileimg class=file-icon alt= title=audio/mpeg src=/modules/file/icons/audio-x-generic.png / a href=https://www.acquia.com/sites/default/files/podcasts/shannon_final.mp3 type=audio/mpeg; length=14753740shannon_final.mp3/a/span/div
/div
/div
span property=dc:title content=Project Management: quot;The Fortune Teller Must Diequot; meet Shannon Vettes class=rdf-meta/span
Thu, 05/02/2013 - 17:38
img typeof=foaf:Image src=http://getlevelten.com/sites/default/files/styles/600x300/public/content/blog/images/twitter-blog.png?itok=NsU37oP5 width=600 height=300 alt= /
h3Twitter recently re-launched their blog and they chose Drupal over WordPress/h3
pI've been telling people for years that if you just want a blog, WordPress is a great option. a href=https://blog.twitter.com/company target=_blankTwitter's decision to use Drupal as a blog/a makes me wonder a bit. Why would a company with their development and technical expertise choose a href=http://getlevelten.com/blog/kyle-taylor/wordpress-vs-drupal-users-edition target=_blankDrupal vs WordPress/a if they're just building a blog? ... a href=/blog/chris-sloan/twitter-chooses-drupal-again-time-gasp-their-blog class=more-linkRead more/a/p
Thu, 05/02/2013 - 17:36
div class=control-group form-type-item form-item
label class=control-labelLanguage /label
div class=controls English
/div/div
div id=comment-wrapper/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encoded pAt a first glance configuring and managing menus in Drupal 7 looks pretty straightforward. When requirements get a bit more subtle and demanding, often a situation arises where the core Drupal menu functionality is not enough to handle the task at hand. We have identified some frequently encountered troublesome situations and in this post I will share the standard solutions we use to solve them. We all know how powerful Drupal is thanks to the community behind, the a href=/blog/drupal-building-and-contributing-modulecontributed modules/a and the hooks system. The rest of this article is just a proof of that statement./ph3Menu position/h3pIn almost every case where the project is something beyond a simple brochure site, there is a requirement that nodes of certain content types should appear in specific positions in the menu system. The simplest solution, which is adding all of that content individually under the specified menu items works well for small number of nodes. But imagine hundreds or thousands of blog posts added as menu items under the Blog item in the Main Menu. You will have both performance and usability issues. We need some other way to manipulate the active trail. To our rescue comes the a href=http://drupal.org/project/menu_positionmenu_position/a module which gives us the possibility to create rules that will dynamically add the current page into the menu system at the requested spots. Those rules could affect the main and secondary links of the theme, the breadcrumb trail, menu blocks provided by core's Menu module and also menu blocks provided by the a href=#menu_blockMenu Block/a module./ppimg alt=Drupal Menu position src=http://drupal.org/files/images/menu_position_0.png //ppBefore going into details about the Menu Block, I want to mention something noted at the Menu position's module page:br /Currently, the Menu position module provides content type, pages, taxonomy, vocabulary and language plug-ins that allows conditions to be added to rules. Additionally, this module also provides a simple API for rule conditions plug-ins so module developers can develop their own logic for adding dynamic menu positioning./ppAs with most Drupal things, there is also another way to achieve all of the above, and that is to use the Context module conditions and reactions. It is a bit more complex to set things up but it has the added benefit that your settings will be exportable in Features, which is always a good thing for larger projects./ph3 id=menu_blockMenu block/h3pimg alt=Drupal Menu Block src=http://drupal.org/files/images/menu-block-admin.png //ppWe all know how to use the Main and Secondary menu links feature in our a href=http://wearepropeople.comDrupal themes/a. But most probably at some point you have wondered “how do I display any menu items deeper than that? As the maintainer puts it, he was shocked of the fact that the Menu block module didn’t exist before he wrote it. What this module does is providing configurable blocks of menu trees starting with any level of any menu, and displaying the child menu items to a configurable depth. It is harder to explain what exactly the module does than actually trying it out so I encourage you to go ahead and enable it. We use it in almost any site where the navigation was planned to be truthfully user friendly from the beginning. After installing the module you can go to your blocks administration page and create a new Menu block. Use the Main menu for the source and configure it to show levels 2+. Create some menu items and place the block in one of the sidebars. Go ahead and play with the settings, it will become very natural in a few minutes. This module is simple, yet powerful tool!/ph3Menu path autocomplete/h3pThis module answers the search of our clients and site editors for a simplified ways to create menu items with correct links. Let’s face it - we are developers and most of us like to work with strings like node/42, but most of our users are not very happy with this paths./ppimg alt=Menu path autocomplete src=http://drupal.org/files/images/mpac.png //ppThe Menu path autocomplete (drush dl mpac) changes the text input field for menu path to an autocomplete field while you are adding a menu item. While entering characters into this field you will get a list of all matching node titles (and - if path is enabled - all matching URL aliases). Selecting one item will translate it to the correct internal link. Simple solution, bringing lots of value along./ph3Menu attributes/h3pYet another simple but empowering tool helping us bend Drupal menus to our will (and the needs of the front end department). Usually with complex designs and user interface functionalities there are requirements for certain menu items to have a specific id, some class or another, or any other html attributes. The Menu attributes allows us to add and change the following attributes for each individual menu item:/pulliid/liliname/lilitarget/lilirel/liliclass/lilistyle/liliaccesskey/li/ulh3Access to menu items/h3pThe next two situations I want to mention are those where access to menu items is concerned. It turns out that sometimes when we want to hide certain menu items or show others to our visitors, the Drupal roles and permissions system can’t handle the task easily./ppFrom the Menu item visibility module page: citeThis module exposes configurable and extendable visibility settings for menu links. For example, if you want to create a 'My account' link that points to /user, both anonymous and registered users have access to the /user path, so both will see the link, even if anonymous users do not technically have an account. Using this module will allow you to only have your 'My account' link visible to registered users, and hide it from anonymous users./cite You can see a screenshot of the a href=http://drupal.org/files/images/1309375059796.pngsettings page/a - the module uses the same User Interface which is used for block visibility settings - familiarity and ease of use for our editors./ph3Finally, some code for dessert/h3pSometimes we want to link a PDF or another file directly in one of our menu items. You can try to upload a file in your files directory, usually sites/default/files and try saving a menu item linking to that file. Validation will fail and you’ll get something similar to the following message from Drupal:/ppciteThe path 'sites/default/files/HelloDrupal.pdf' is either invalid or you do not have access to it./cite/ppWhy does this happen? Because Drupal’s menu system is made in a way that it checks hook_menu implementations in the system to see if there exists such an internal path and if you have access to it. The solution is a simple module implementing the hook_menu() in the following way:/ppcodelt;!--?php /** * Implementation of hook_menu(). */ function my_module_menu() { // Define a router item for the files directory. $items[ file_directory_path() ] = array( 'page callback' =--gt;'drupal_not_found', 'access callback' =gt; TRUE, 'type' =gt; MENU_CALLBACK, ); return $items; } /code/ppNote that this doesn't break anything - if you request a non-existing file you’ll still get a 404 page./ppHave you encountered the problems I described above? Do you have better solutions, or maybe some other menu troubles you want to share? Please let us know what you think in the comments section./p /div/div/divdiv class=field field-name-field-tags field-type-taxonomy-term-reference field-label-abovediv class=field-labelTags:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/tags/drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal/a/divdiv class=field-item odda href=/tags/development typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Development/a/div/div/divdiv class=field field-name-field-service-category field-type-taxonomy-term-reference field-label-abovediv class=field-labelService category:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/services/technology typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Technology/a/div/div/divdiv class=field field-name-field-drupal-planet field-type-taxonomy-term-reference field-label-abovediv class=field-labelCheck this option to include this post in Planet Drupal aggregator:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/drupal/planet typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=planet/a/div/div/div
Thu, 05/02/2013 - 12:10
div class=section field field-name-field-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item odda href=/7-modules-responsive-drupal class=colorbox-loadimg data-src=http://www.webomelette.com/sites/default/files/styles/tb-wall-double-style/public/field/image/2086639404_fcca0abbb4_z.jpg src=http://www.webomelette.com/sites/default/files/tb_wall_lazyload_images/500x334.png width=500 height=334 alt=drupal responsive modules //a/div/div/divdiv class=section field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item oddpIn this article, I want to show you 7 modules that can play a role in making your Drupal 7 website responsive, or at least more mobile friendly. With more and more people using handheld devices that vary considerably in size, it is important to pay attention to their needs./p
/div/div/div