Planet Drupal

Syndicate content
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 59 min 17 sec ago

Symphony Blog: FAQ Field vs FAQ module in Drupal

Wed, 08/06/2014 - 04:20
div class=field field-type-text field-field-introtext div class=field-items div class=field-item odd pWe had been always using a href=https://drupal.org/project/faqFAQ module/a to create Frequently Asked Questions for any of our projects. But on our latest theme, a href=/drupal-theme/bizreviewBizReview/a, we switch to a new module, a href=https://www.drupal.org/project/faqfieldFAQ Field/a./p /div /div /div pstrongFAQ/strong 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 a href=http://demo.symphonythemes.com/drupal7/velocity/faq-pageVelocity/a theme./p p class=rtecentera href=http://demo.symphonythemes.com/drupal7/velocity/faq-pageimg alt=Velocity FAQ section scr=/system/files/images/blog/velocity_faq-page.jpg src=/system/files/images/blog/velocity_faq-page.jpg //a/p pnbsp;/p pa href=http://www.symphonythemes.com/drupal-blog/faq-field-vs-faq-module-drupal target=_blankread more/a/p

Advomatic: Takeaways, besides cheese, from DrupalCamp Wisconsin

Tue, 08/05/2014 - 22:57
pEverybody knows that Wisconsin is home of a href=https://www.noahsarkwaterpark.comAmerica#39;s largest water park/a, the a href=http://www.iwantthenews.com/main.asp?SectionID=9amp;SubSectionID=11amp;ArticleID=14251 worldrsquo;s largest barber pole/a, the a href=http://www.roadsideamerica.com/story/2255worldrsquo;s largest penny/a, and the a href=http://www.roadsideamerica.com/story/2444worldrsquo;s largest talking cow/a. Another thing to know is that Wisconsin is also home to a very active Drupal community and July#39;s excellent a href=http://drupalcampwi.com/​DrupalCamp/a!/p pItrsquo;s been a few years since my last Drupal conference, so DrupalCamp was a great opportunity to catch up on new best practices and get a little reassurance that Drupal 8 isnrsquo;t something I should fear as a developer./p pHere are the highlights from a few sessions I attended:/p h5Using Drupal for Government and Open Data Projects/h5 pGovernment sites pose unique challenges, and a href=https://www.drupal.org/user/13085Sheldon Rampton/a explained how Drupal can be leveraged to accommodate for these issues if you plan well. Sheldon focused on hosting, architecture, standards, process and project management, and I definitely appreciated him referring to developers as ldquo;the talentrdquo; instead of ldquo;the resources.rdquo;/p pYou can see his slides a href=http://www.drupalcampwi.com/sites/default/files/uploads/slides/drupal_best_practices_for_government.pdfhere/a./p pIn a related talk, a href=https://www.drupal.org/user/443462Janette Day/a gave us an overview of DKAN, a Drupal platform for handling open data. Using Drupal for open data projects makes sense - open data should be open source, and Drupal allows non-technical users to manage content. Drupal can also help an organization modernize antiquated systems and escape from expensive software licenses./p pYou can check out my notes a href=https://gist.github.com/sarahg/Da54092d0d059c76cc6b0here/a./p h5Other Cool Projects/h5 pa href=https://www.drupal.org/u/dsnopekDavid Snopek/a gave us a run-down of Drupal distributions with a focus on Panopoly, which adheres to UX principles that really streamline the content-creating experience. I havenrsquo;t used Panopoly on a project myself, but Irsquo;d absolutely give it (or some of its components) a spin next time Irsquo;m tasked with hooking up a WYSIWYG or making in-place editing more client-friendly./p pa href=https://docs.google.com/a/advomatic.com/presentation/d/1uiypKtLHjFvRhdoFeNZnRXylQiqoyxcZ4_K_c97sDKI/edit#slide=id.g2b8866dc6_00Here are the slides./a/p pAnd if yoursquo;ve ever run into trouble on your site with managing dependencies among your modules, go check out a href=https://www.drupal.org/user/1013988Jim Rath #39;s/a a href=https://www.drupal.org/sandbox/elephant.jim/2293323module dependency grapher/a. Using a custom Drush command, the dependency analyzer will inspect your modules and generate a chart which illustrates the dependencies between them./p pYou can check out everything else from DrupalCampnbsp;that I bookmarked up at a href=https://pinboard.in/search/u:hey_germano?query=drupalcampWI2014https://pinboard.in/search/u:hey_germano?query=drupalcampWI2014/a/p

Forum One: Routing in Drupal 8 (a Capital Camp Session)

Tue, 08/05/2014 - 21:54
pLast week, our team a title=Double the Fun: DC Drupalists Unite! href=http://forumone.com/insights/double-the-fun-dc-drupalists-unite/participated in the first Capital Camp and Gov Days/a, graciously hosted at the National Institutes of Health in Bethesda, Maryland. It was a great event and we would like to thank the organizers and volunteers for making it such a success!/p pOn the second day of the conference, a title=William Hurley href=http://forumone.com/staff/william-hurley/William Hurley/a and I presented a session on a href=http://2014.capitalcampandgovdays.com/capital-camp-and-gov-days/sessions/routing-drupal-8Routing in Drupal 8/a, reviewing what changes are being made in Drupal 8 and why these changes were necessary. One of the major variations in the new system compared to Drupal 7 is the alteration of the routing process. In Drupal, a route is a mapping between URL paths, their corresponding pages and access callbacks. In Drupal 7, these routes are defined by the hook menu, using a 1:1 path to route. Drupal 8 has done away with hook menus altogether, and we now have the ability to map one path to multiple routes./p div id=attachment_3725 style=width: 710px class=wp-caption alignnoneimg class=wp-image-3725 size-large src=http://forumone.com/wp-content/uploads/2014/08/Drupal-8-Routing-1-700x288.png alt=Drupal 8 Routing 1 width=700 height=288 /p class=wp-caption-textA visual diagram of a basic routing setup./p/div pWhen a request is made through your browser or mobile device, the routing is used to determine the active controller, and then you receive the appropriate response./p pSo why the change in Drupal 8? The hook menu was far too complex to fully comprehend what it was doing at any given point, and it was extremely challenging to perform advanced tasks using it./p pWithout delving into code specifics, in Drupal 8 we’re able to have a function inside a method, inside a class, rather than in one file (because everything in Drupal 8 exists in classes and methods). This means simpler routing while still maintaining functionality./p pIn Drupal 7, a hook menu would like something like this:/p pa class=image-link href=http://forumone.com/wp-content/uploads/2014/08/D7-Hook.pngimg class=alignnone wp-image-3732 size-full src=http://forumone.com/wp-content/uploads/2014/08/D7-Hook.png alt=D7 Hook width=438 height=449 //a/p pWith Drupal 8, we have cleaner code and a simpler system with routing:/p pa class=image-link href=http://forumone.com/wp-content/uploads/2014/08/D8-Menu.pngimg class=alignnone wp-image-3733 size-full src=http://forumone.com/wp-content/uploads/2014/08/D8-Menu.png alt=D8 Menu width=627 height=374 //a/p pFor those who were unable to attend, check out our slides below for more on the topic./p piframe style=border: 1px solid #CCC; border-width: 1px; margin-bottom: 5px; max-width: 100%; src=//www.slideshare.net/slideshow/embed_code/37587123 width=427 height=356 frameborder=0 marginwidth=0 marginheight=0 scrolling=no allowfullscreen=allowfullscreen /iframe/p pIn addition to presenting, I also had the chance to work on some Drupal 8 issues in Forum One’s Coder Lounge. It was a valuable opportunity to mentor local developers, meet other Drupal enthusiasts, and even reconnect with some friends I#8217;d met at last month#8217;s a title=Drupal 8 Code Sprint at the Jersey Shore href=http://forumone.com/insights/drupal-8-code-sprint-jersey-shore/Jersey Shore code sprint/a who made the trek to CapitalCamp to take part in our Drupal core sprints. As Drupal 8 inches closer to beta release, I#8217;m proud to be part of a team that is actively contributing to the Drupal community./p

2bits: High Performance Drupal with Apache MPM Worker Threaded Server and PHP-FPM

Tue, 08/05/2014 - 16:00
In a previous article from over 5 years ago, we advocated the use of Apache MPM Worker Threaded Server with fcgid over Apache#039;s mod_php. That was for serveral reasons, including faster handling of static files by Apache threaded server, and lower memory utilization since PHP is not embedded in every Apache process. However, there were some drawbacks, mainly that APC opcache cache is not shared, and each process has to have its own copy. pa href=http://2bits.com/articles/high-performance-drupal-with-apache-mpm-worker-threaded-server-and-php-fpm.html target=_blankread more/a/p

Stanford Web Services Blog: Troubleshooting the Field Group 7.x-1.4 Update

Tue, 08/05/2014 - 15:11
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedp class=summaryIn July, 2014, the Field Group module was updated from 7.x-1.1 to 7.x-1.1 on a href=https://sites.stanford.eduStanford Sites/a. This update has the potential to cause issues with CSS, as certain types of markup were removed from the HTML output of the page./p h2Background/h2 pThe a href=https://drupal.org/project/field_groupField Group/a module allows site builders to group fields together on the back-end edit form of entities (e.g., nodes, BEANs), and on the front-end display of those entities. The latter is what was affected./p/div/div/div

Drupalize.Me: Drupalize.Me Free Icon Package

Tue, 08/05/2014 - 15:00
div class=field field-name-body field-type-text-with-summary field-label-hidden text-content text-secondarydiv class=field-itemsdiv class=field-item evenpAre you finding yourself searching for some new icons to use on your latest project? Drupalize.Me loves helping out the Drupal community, and people in general, so for this post I thought it would be fitting to provide you with a carefully designed free icon set./p /div/div/divdiv id=comment-wrapper-nid-1734/div

Acquia: The Last-Ditch Fix - Programmatically changing a Drupal 7 view

Tue, 08/05/2014 - 14:48
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 evenp Originally posted on a href=http://yellowpencil.com/blog/last-ditch-fix-programmatically-changing-drupal-7-viewYellow Pencil's/a blog. Follow a href=https://twitter.com/kimbeaudin@kimbeaudin/a on Twitter/p/div /div /div span property=dc:title content=The Last-Ditch Fix - Programmatically changing a Drupal 7 view class=rdf-meta/span

precessionmedia: How To Create A Custom Rules Action

Tue, 08/05/2014 - 13:35
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpThis post should give a quick example on how to write the code to create your own custom actions for Drupals' Rules module. Writing your own plugins for rules (events, conditions or actions) can give you enormous benefits later, when you start to reuse them throughout the site or even port them on other Drupal sites./p pWe will be creating an action, which will provide a hashed string. In order to create this string we need to pass some parameters to php's hash function like a source string, a list with possible algorithms to choose and an output length. These parameters will be configurable through Rules' backend. So let's dive in./p pFirst you need to a href=https://www.drupal.org/node/1074362 target=_blankcreate a basic custom module/a in your Drupal installation. The one I have in my custom environment is called my_module./p pYou don't need anything special in your my_module.info or my_module.module files, but there has to be a file called my_module.rules.inc, which will hold the code for your rules' action. Create it and add following code to it:/p div class=geshifilterpre class=php geshifilter-php style=font-family:monospace;span style=color: #000000; font-weight: bold;lt;?php/span nbsp; span style=color: #009933; font-style: italic;/** * Implement hook_rules_action_info(). *//span span style=color: #000000; font-weight: bold;function/span my_module_rules_action_infospan style=color: #009900;#40;/spanspan style=color: #009900;#41;/span span style=color: #009900;#123;/span span style=color: #b1b100;return/span a href=http://www.php.net/arrayspan style=color: #990000;array/span/aspan style=color: #009900;#40;/span span style=color: #0000ff;'my_module_rules_action_create_hashed_string'/span span style=color: #339933;=gt;/span a href=http://www.php.net/arrayspan style=color: #990000;array/span/aspan style=color: #009900;#40;/span span style=color: #0000ff;'label'/span span style=color: #339933;=gt;/span tspan style=color: #009900;#40;/spanspan style=color: #0000ff;'Create hashed string'/spanspan style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #0000ff;'group'/span span style=color: #339933;=gt;/span tspan style=color: #009900;#40;/spanspan style=color: #0000ff;'Custom'/spanspan style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #0000ff;'parameter'/span span style=color: #339933;=gt;/span a href=http://www.php.net/arrayspan style=color: #990000;array/span/aspan style=color: #009900;#40;/span span style=color: #0000ff;'string'/span span style=color: #339933;=gt;/span a href=http://www.php.net/arrayspan style=color: #990000;array/span/aspan style=color: #009900;#40;/span span style=color: #0000ff;'type'/span span style=color: #339933;=gt;/span span style=color: #0000ff;'text'/spanspan style=color: #339933;,/span span style=color: #0000ff;'label'/span span style=color: #339933;=gt;/span tspan style=color: #009900;#40;/spanspan style=color: #0000ff;'String to be hashed'/spanspan style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #0000ff;'description'/span span style=color: #339933;=gt;/span tspan style=color: #009900;#40;/spanspan style=color: #0000ff;'Enter a value for a string that will be hashed using the md5 hash-algorithm.'/spanspan style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #0000ff;'length'/span span style=color: #339933;=gt;/span a href=http://www.php.net/arrayspan style=color: #990000;array/span/aspan style=color: #009900;#40;/span span style=color: #0000ff;'type'/span span style=color: #339933;=gt;/span span style=color: #0000ff;'integer'/spanspan style=color: #339933;,/span span style=color: #0000ff;'label'/span span style=color: #339933;=gt;/span tspan style=color: #009900;#40;/spanspan style=color: #0000ff;'The length of the returned string'/spanspan style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #0000ff;'description'/span span style=color: #339933;=gt;/span tspan style=color: #009900;#40;/spanspan style=color: #0000ff;'Enter a number for the length of the hashed string that will be created.'/spanspan style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #0000ff;'algorithm'/span span style=color: #339933;=gt;/span a href=http://www.php.net/arrayspan style=color: #990000;array/span/aspan style=color: #009900;#40;/span span style=color: #0000ff;'type'/span span style=color: #339933;=gt;/span span style=color: #0000ff;'text'/spanspan style=color: #339933;,/span span style=color: #0000ff;'label'/span span style=color: #339933;=gt;/span tspan style=color: #009900;#40;/spanspan style=color: #0000ff;'Algorithm'/spanspan style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #0000ff;'description'/span span style=color: #339933;=gt;/span tspan style=color: #009900;#40;/spanspan style=color: #0000ff;'Select a hash algorithm.'/spanspan style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #0000ff;'options list'/span span style=color: #339933;=gt;/span span style=color: #0000ff;'my_module_algorithm_options'/spanspan style=color: #339933;,/span span style=color: #0000ff;'restriction'/span span style=color: #339933;=gt;/span span style=color: #0000ff;'input'/spanspan style=color: #339933;,/span span style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #0000ff;'provides'/span span style=color: #339933;=gt;/span a href=http://www.php.net/arrayspan style=color: #990000;array/span/aspan style=color: #009900;#40;/span span style=color: #0000ff;'hashed_string'/span span style=color: #339933;=gt;/span a href=http://www.php.net/arrayspan style=color: #990000;array/span/aspan style=color: #009900;#40;/span span style=color: #0000ff;'type'/span span style=color: #339933;=gt;/span span style=color: #0000ff;'text'/spanspan style=color: #339933;,/span span style=color: #0000ff;'label'/span span style=color: #339933;=gt;/span tspan style=color: #009900;#40;/spanspan style=color: #0000ff;'Hashed string'/spanspan style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #009900;#41;/spanspan style=color: #339933;;/span span style=color: #009900;#125;/span nbsp; span style=color: #666666; font-style: italic;// A helper function to provide us with a list of algorithms/span span style=color: #000000; font-weight: bold;function/span my_module_algorithm_optionsspan style=color: #009900;#40;/spanspan style=color: #009900;#41;/span span style=color: #009900;#123;/span span style=color: #000088;$bundles/span span style=color: #339933;=/span a href=http://www.php.net/arrayspan style=color: #990000;array/span/aspan style=color: #009900;#40;/spanspan style=color: #009900;#41;/spanspan style=color: #339933;;/span nbsp; span style=color: #000088;$bundles/spanspan style=color: #009900;#91;/spanspan style=color: #0000ff;'md4'/spanspan style=color: #009900;#93;/span span style=color: #339933;=/span tspan style=color: #009900;#40;/spanspan style=color: #0000ff;'md4'/spanspan style=color: #009900;#41;/spanspan style=color: #339933;;/span span style=color: #000088;$bundles/spanspan style=color: #009900;#91;/spanspan style=color: #0000ff;'md5'/spanspan style=color: #009900;#93;/span span style=color: #339933;=/span tspan style=color: #009900;#40;/spanspan style=color: #0000ff;'md5'/spanspan style=color: #009900;#41;/spanspan style=color: #339933;;/span nbsp; span style=color: #b1b100;return/span span style=color: #000088;$bundles/spanspan style=color: #339933;;/span span style=color: #009900;#125;/span nbsp; span style=color: #666666; font-style: italic;// This callback creates the hashed string by using the parameters provided through rules' UI/span span style=color: #000000; font-weight: bold;function/span my_module_rules_action_create_hashed_stringspan style=color: #009900;#40;/spanspan style=color: #000088;$string/spanspan style=color: #339933;,/span span style=color: #000088;$length/spanspan style=color: #339933;,/span span style=color: #000088;$algorithm/spanspan style=color: #009900;#41;/span span style=color: #009900;#123;/span span style=color: #b1b100;if/span span style=color: #009900;#40;/spanspan style=color: #000088;$length/span span style=color: #339933;lt;=/span span style=color: #cc66cc;0/spanspan style=color: #009900;#41;/span span style=color: #009900;#123;/span span style=color: #666666; font-style: italic;// For anything below or equal zero lets return the default value./span span style=color: #000088;$string/span span style=color: #339933;=/span a href=http://www.php.net/hashspan style=color: #990000;hash/span/aspan style=color: #009900;#40;/spanspan style=color: #0000ff;'md5'/spanspan style=color: #339933;,/span span style=color: #000088;$string/spanspan style=color: #009900;#41;/spanspan style=color: #339933;;/span span style=color: #009900;#125;/span span style=color: #b1b100;else/span span style=color: #009900;#123;/span span style=color: #000088;$string/span span style=color: #339933;=/span a href=http://www.php.net/substrspan style=color: #990000;substr/span/aspan style=color: #009900;#40;/spana href=http://www.php.net/hashspan style=color: #990000;hash/span/aspan style=color: #009900;#40;/spanspan style=color: #000088;$algorithm/spanspan style=color: #339933;,/span span style=color: #000088;$string/spanspan style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #cc66cc;0/spanspan style=color: #339933;,/span span style=color: #000088;$length/spanspan style=color: #009900;#41;/spanspan style=color: #339933;;/span span style=color: #009900;#125;/span nbsp; span style=color: #b1b100;return/span a href=http://www.php.net/arrayspan style=color: #990000;array/span/aspan style=color: #009900;#40;/span span style=color: #0000ff;'hashed_string'/span span style=color: #339933;=gt;/span span style=color: #000088;$string/spanspan style=color: #339933;,/span span style=color: #009900;#41;/spanspan style=color: #339933;;/span span style=color: #009900;#125;/span/pre/div pHere we implement initially hook_rules_action_info and add our own action to it. Our action is an associative array keyed with the name of the callback that will return our value (in this case a hashed string). Inside it we give our action a label and put it in a group (Custom). The next part of this array is an associative array itself, keyed with parameter. Inside it we describe our 3 parameters, which will be passed to the action callback. Note that the algorithm parameter has an entry with the key options list which points to a helper function (my_module_algorithm_options) to keep the code more lean./p pThe last part of the array is another associative array keyed with provides. This key tells Rules what the machine name of the provided variable is, among with giving it some additional data like type or label. You can use this provided variable in latter actions of your rule now!/p pThe last part of the code is the action callback. Only thing to note here is that we return the whole string returned by the hash-function, when the value of $length is below or equal to 0./p pClear your cache in order for Drupal to register the code you added and the new action should appear now:/p pimg src=http://precessionmedia.com/sites/default/files/pictures/custom_action_form.jpg width=620 height=673 alt=custom_action_form.jpg //p pIn order to see it's working I've added a Show a message on the site-action which shows the provided hashed string when we're looking at a node page:/p pimg src=http://precessionmedia.com/sites/default/files/pictures/show_hashed_string_message.jpg width=620 height=340 alt=show_hashed_string_message.jpg //p pThat's it with this simple example! Please leave a comment if there is anything more that comes to mind. Thanks!/p /div/div/divdiv class=field field-name-submitted-author field-type-ds field-label-hiddendiv class=field-itemsdiv class=field-item evenpBy dimitar on 05.08.2014/p /div/div/divdiv class=field field-name-service-links-displays-group field-type-ds field-label-abovediv class=field-labelShare this:nbsp;/divdiv class=field-itemsdiv class=field-item evendiv class=service-linksa href=http://twitter.com/share?url=http%3A//tinyurl.com/mwxhaxpamp;text=How%20To%20Create%20A%20Custom%20Rules%20Action%20by%20precessionmedia.com title=Share this on Twitter class=service-links-twitter rel=nofollow target=_blankimg typeof=foaf:Image data-src=http://precessionmedia.com/sites/all/modules/service_links/images/twitter.png src=/sites/all/modules/lazyloader/image_placeholder.gif alt=Twitter logo /noscriptimg typeof=foaf:Image src=http://precessionmedia.com/sites/all/modules/service_links/images/twitter.png alt=Twitter logo //noscript/a a href=http://www.facebook.com/sharer.php?u=http%3A//tinyurl.com/mwxhaxpamp;t=How%20To%20Create%20A%20Custom%20Rules%20Action%20by%20precessionmedia.com title=Share on Facebook class=service-links-facebook rel=nofollow target=_blankimg typeof=foaf:Image data-src=http://precessionmedia.com/sites/all/modules/service_links/images/facebook.png src=/sites/all/modules/lazyloader/image_placeholder.gif alt=Facebook logo /noscriptimg typeof=foaf:Image src=http://precessionmedia.com/sites/all/modules/service_links/images/facebook.png alt=Facebook logo //noscript/a/div/div/div/div

Janez Urevc: Progress of Entity embed module in GSoC 2014

Tue, 08/05/2014 - 11:20
div class=field field-name-body field-type-text-with-summary field-label-hidden view-mode-rssdiv class=field-itemsdiv class=field-item even property=content:encodedp iframe allowfullscreen= frameborder=0 height=360 src=//www.youtube.com/embed/T26oz9H-VBY width=640/iframe/p pIf you want to try the module and/or contribute please visit the a href=http://drupal.org/project/entity_embedproject page/a. You are also invited to a href=https://groups.drupal.org/node/436453check original post on groups.drupal.org/a./p /div/div/div

Cheppers blog: 7 +1 steps to plan a successful Drupal website

Tue, 08/05/2014 - 10:00
div class=field field-name-field-front-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item even rel=schema:image resource=http://cheppers.com/sites/default/files/styles/blog_promoted-image/public/plan_drupal_website.jpg?itok=_gbm7x4Ja href=/blog/7-1-steps-to-plan-a-successful-drupal-websiteimg typeof=foaf:Image src=http://cheppers.com/sites/default/files/styles/blog_promoted-image/public/plan_drupal_website.jpg?itok=_gbm7x4J width=350 height=210 alt=Plan Drupal website title=Plan Drupal website //a/div/div/divdiv class=field field-name-field-lead field-type-text-long field-label-hiddendiv class=field-itemsdiv class=field-item even property=schema:headlinepAccording to our experience the most usual approach for clients with web development needs is to contact multiple agencies with more or less vague ideas - asking for quotes, and then selecting a choice based on price. This approach is doomed to fail for two reasons:/p ulliWithout a precise specification of requirements, agencies will have to base their quotes entirely on guesses./li liThe client is missing out on the value that the agency could have added if they were involved in the discovery and planning as well./li /ul/div/div/divspan rel=schema:url resource=/blog/7-1-steps-to-plan-a-successful-drupal-website class=rdf-meta/spanspan property=schema:name content=7 +1 steps to plan a successful Drupal website class=rdf-meta/span

Károly Négyesi: Drupal 8 progress from my / MongoDB perspective: update #28

Mon, 08/04/2014 - 23:13
pThe a href=https://www.drupal.org/node/2302617standard mechanism for backend-aware service overrides/a is in and these services are already a href=https://www.drupal.org/node/2306071tagged/a. We have agreed on how to a href=https://www.drupal.org/node/2314577transfer/a data from one backend to another and my a href=https://www.drupal.org/node/1857558/git-instructions/transfer/nonmaintainersandbox/a contains the first codegetTransferIterator/code implementation for config with more to follow. There's a small amendment in the works that makes the old backend a href=https://www.drupal.org/node/2314819available/a too./p pMore a href=https://www.drupal.org/node/2312093field/a a href=https://www.drupal.org/node/2154435renames/a are in the works. That's why I am not focusing on the MongoDB drivers just yet. Let's wait for beta. The drivers in a state where we can do some meaningful testing (which lead to making sure a href=https://drupal.org/node/2229011tests are modifiable/a before) and so we can make sure everything will work for us but writing the entity drivers themselves at this point is a waste of time -- let's wait for a (more) stable API. The transfer work started because MongoDB needed to solve taking over config storage and while we had it solved, there is really nothing MongoDB specific so I am pushing for core inclusion./p pI didn't mention a href=drupal.org/project/config_develconfig devel/a in this series -- although I did previously on this blog -- I firmly believe this will be used widely and lead to a more joyous CMI experience. Reminder: everyone using CMI is what makes the Drupal on MongoDB only feasible in the first place. /p

Drupal core announcements: Drupal Core Updates for Aug 4, 2014

Mon, 08/04/2014 - 21:51
h2 id=newWhat's new with Drupal 8?/h2 pIt's been an exciting two weeks as a href=http://twig.sensiolabs.org/doc/tags/autoescape.htmlTwig Autoescaping/a was a href=https://www.drupal.org/node/1825952turned on by default/a, the a href=http://drupal.org/node/2256521menu links system was completely revamped/a, entity caching was finally added to core, and we a href=https://groups.drupal.org/node/434068switched Drupal 8 version numbers/a to a href=http://semver.org/Semantic Versioning/a!/p pThe switch to semantic versioning means that if you have a clone of Drupal 8 core, you shouldn't patch the code8.x/code branch anymore: use code8.0.x/code instead. To switch branches, simply run codegit fetch origin amp;amp; git checkout -t origin/8.0.x/code. a href=https://groups.drupal.org/node/436178See jhodgdon's announcement to the Core group for more information/a./p pThe valiant efforts of the 15-person team at the a href=http://jerseyshoredrupal.github.io/Drupal 8 Code Sprint at the Jersey Shore/a saw 30 issues move forward, 12 of which have already been committed. For more information, read a href=http://forumone.com/insights/drupal-8-code-sprint-jersey-shore/this recap of the event/a by a href=https://www.drupal.org/u/kgoelKalpana Goel/a of a href=http://forumone.com/Forum One/a./p pFinally, thank you to all the contributors who helped us fix 378 Drupal 8 issues in July, 101 more than in June! The fast turnaround in the RTBC queue from our awesome core maintainers has been really motivating — as of right now the RTBC queue is totally empty, meaning that every RTBC issue has either received committer feedback or been committed. (Also noteworthy, a href=https://www.drupal.org/u/alexpottAlex Pott/a of a href=http://chapterthree.com/Chapter Three/a committed a remarkable 70% of July's many commits. Wow!)/p h2 id=releaseWhere's Drupal 8 at in terms of release?/h2 pIn the past week, we've fixed 9 critical issues and 22 major issues, and opened 4 criticals and 35 majors. That puts us overall at a href=https://drupal.org/project/issues/search/drupal?status%5B%5D=1amp;status%5B%5D=13amp;status%5B%5D=8amp;status%5B%5D=14amp;status%5B%5D=4amp;priorities%5B%5D=400amp;categories%5B%5D=1amp;categories%5B%5D=2amp;version%5B%5D=8.xamp;issue_tags_op=%3D104 release-blocking critical issues/a and a href=https://drupal.org/project/issues/search/drupal?status%5B%5D=1amp;status%5B%5D=13amp;status%5B%5D=8amp;status%5B%5D=14amp;status%5B%5D=15amp;status%5B%5D=4amp;priorities%5B%5D=300amp;categories%5B%5D=1amp;categories%5B%5D=2amp;version%5B%5D=8.xamp;issue_tags_op=%3D656 major issues/a./p pOnly a href=https://drupal.org/project/issues/search/drupal?status%5B%5D=1amp;status%5B%5D=13amp;status%5B%5D=8amp;status%5B%5D=14amp;status%5B%5D=4amp;version%5B%5D=8.xamp;issue_tags_op=%3Damp;issue_tags=beta+blocker3 of 173 beta blockers/a remain before we can a href=http://buytaert.net/the-next-step-for-drupal-8-is-a-betarelease a Drupal 8 beta/a. Drupal 8will soon be in beta, so now is the time to take a close look at the remaining a href=https://www.drupal.org/project/issues/drupal?priorities=400amp;version=8.0.x-devcritical issues/a and a href=https://www.drupal.org/project/issues/search/drupal?project_issue_followers=amp;status%5B%5D=1amp;status%5B%5D=13amp;status%5B%5D=8amp;status%5B%5D=14amp;status%5B%5D=4amp;version%5B%5D=8.0.x-devamp;issue_tags_op=%3Damp;issue_tags=beta+deadlinebeta deadline issues/a. In each issue, help clarify:/p ol liIf it's critical or major, why?/li liWhat would be the implications of not fixing the issue?/li liWhat would be the implications of fixing the issue between betas? (Code changed for modules, upgrade path, etc.)/li liWhat would be the implications of fixing the issue after the first release candidate?/li liWhat is the next step to make progress? What are the remaining tasks?/li /ol h2 id=helpWhere can I help?/h2 h3 id=topTop criticals to hit this week/h3 pEach week, we check with core maintainers and contributors for the extra critical criticals that are blocking other work. These issues are often tough problems with a long history. If you're familiar with the problem-space of one of these issues and have the time to dig in, help drive it forward by reviewing, improving, and testing its patch, and by making sure the issue's summary is up to date and any API changes are documented with a a href=https://groups.drupal.org/node/402688draft change record/a, we could use your help!/p ul lia href=https://www.drupal.org/node/1934152Issue #1934152/a: emFigure out if we want global config overrides to stick (settings.php overrides don't work on all pages)/em aims to determine if it would be more secure/sane to apply global configuration overrides hard-coded into settings.php even when they wouldn't normally (for example, when editing/previewing a the configuration of a view in the Views UI, where request/URL don't apply because they're intended for the edit page, not the view itself), or whether it would be better to provide a 2-tiered override system (one for global overrides and one for soft request/URL overrides)./li lia href=https://www.drupal.org/node/2313159Issue #2313159/a: em[meta] Make multilingual views work/em is a collection of problems related to making multi-lingual views in Drupal 8. A number of the sub-issues are Major, a href=https://www.drupal.org/node/45111meaning they have significant repercussions but do not render the whole system unusable/a./li /ul h3More ways to help/h3 ul lia href=https://www.drupal.org/node/2189661Issue #2189661/a: emReplace $form_state['redirect_route'] with setRedirect()/em aims to make the Form API more consistent with the rest of core, but the patch is out-of-date and needs to be re-rolled./li liPick a a href=https://www.drupal.org/project/issues/drupal?priorities=400amp;version=8.0.x-devcritical issue/a or a href=https://www.drupal.org/project/issues/search/drupal?project_issue_followers=amp;status%5B%5D=1amp;status%5B%5D=13amp;status%5B%5D=8amp;status%5B%5D=14amp;status%5B%5D=4amp;version%5B%5D=8.0.x-devamp;issue_tags_op=%3Damp;issue_tags=beta+deadlinebeta deadline issue/a, take the time to thoroughly read the issue (including doing some background reading if necessary to understand the problem space), and then a href=https://www.drupal.org/contributor-tasks/write-issue-summaryupdate the issue summary/a for the issue. Include a summary of the current status and remaining tasks for the issue, and identify any API changes the issue would introduce. Consider whether the change would require a change record or updates to existing change records. Consider what the implications of not resolving the issue would be, or of resolving it after the first beta or after release./li liWe also need help a href=https://www.drupal.org/node/1908570writing help text for core modules/a like Entity, Contextual Links, Field UI, Image, Taxonomy and Toolbar. This is an easy way to learn the Drupal Core contribution process and start contributing to Drupal Core./li liHelp a href=https://groups.drupal.org/node/433803brainstorm how to improve core's Contact module/a for Drupal 8.1 and beyond./li /ul pAs always, if you're new to contributing to core, check out a href=https://drupal.org/core-mentoringCore contribution mentoring hours/a. Twice per week, you can log into IRC and helpful Drupal core mentors will get you set up with answers to any of your questions, plus provide some useful issues to work on./p pYou can also help by a href=https://www.gittip.com/DrupalCoreGittipTeam/sponsoring Drupal core development/a. /p h2 id=commitsNotable Commits/h2 pThe best of codegit log --since quot;2014-07-16quot; --pretty=oneline/code (180 commits in total):/p ul lia href=http://drupal.org/node/1825952Issue 1825952/a by Fabianx, joelpittet, bdragon, heddn, chx, xjm, pwolanin, mikey_p, ti2m, bfr, dags, cilefen, scor, mgifford: Turn on twig autoescape by defaultbr / Now, every string printed from a twig template (i.e.: between code{{/code and code}}/code) is automatically run through String::checkPlain(). This makes it hard for themers and module developers to accidentally introduce XSS attack vectors in their code, which is a big win for security.br / If you notice a double-escaping issue, please update a href=https://www.drupal.org/node/2297711Issue #2297711/a: [meta] Fix double-escaping due to Twig autoescape.br / A follow-up issue was also committed: a href=https://www.drupal.org/node/2289999Issue #2289999/a by dawehner, Cottser | Fabianx: emAdd an easy way to create HTML on the fly without having to create a theme function / template./em. This makes it easier to generate tiny chunks of HTML where full Twig files would not be useful./li lia href=http://drupal.org/node/2256521Issue 2256521/a by pwolanin, dawehner, Wim Leers, effulgentsia, joelpittet, larowlan, xjm, YesCT, kgoel, victoru, berdir, likin, plach, alexpott: [META] New plan, Phase 2: Implement menu links as plugins, including static admin links and views, and custom links with menu_link_content entity, all managed via menu_ui module.br / This critical beta-blocker completely revamped the menu link system on the back-end (the UI for managing menus and menu links remains largely the same). It added a common interface for menu links, to hide implementation details and let different storage methods work together in the same menu tree, condensed the crufty, confusing code that loads and renders menu trees down to just three methods, decoupled breadcrumbs and menu links, and broke down the code into multiple services to allow different behavior to be customized with a minimal amount of code./li lia href=http://drupal.org/node/597236Issue 597236/a by Berdir, catch, msonnabaum, Xano, Wim Leers, jhedstrom, amateescu, corvus_ch, swentel, moshe weitzman, Gábor Hojtsy, riccardoR, a href=mailto:killes@www.drop.orgkilles@www.drop.org/a, et al: Add entity caching to core.br / This issue, which has been around in various forms for about 10 years, increases overall peformance by caching entities so they don't have to be rebuilt every page request. Initial performance testing showed a performance increase of about 15%, although this varies based on the number of loaded entities./li lia href=http://drupal.org/node/1986418Issue 1986418/a by tompagabor, LewisNyman, idflood, jamesquinton, lauriii, emma.maria, danmuzyka, rteijeiro, scronide, frankbaele, Coornail, ekl1773, oresh, philipz | Bojhan: Update textfield amp; textarea style./li lia href=http://drupal.org/node/733054Issue 733054/a by jhodgdon, mkalkbrenner, amitgoyal, ndewhurst: Fixed Watchdog logging of all searches is performance hit; need ability to turn it off./li lia href=http://drupal.org/node/1288442Issue 1288442/a by jhodgdon | Wolfflow: Added search index status to the Status Report page./li lia href=http://drupal.org/node/2062043Issue 2062043/a by eelkeblok, longwave, rhm50, InternetDevels, alvar0hurtad0, Xano: Replace user_access() calls with $account-gt;hasPermission() in core files./li lia href=http://drupal.org/node/2293773Issue 2293773/a by Gábor Hojtsy, alexpott, effulgentsia, penyaskito, hussainweb: Fixed Field allowed values use dots in key names - not allowed in config./li lia href=http://drupal.org/node/2247049Issue 2247049/a by sqndr, herom, LewisNyman: Redesign password strength indicator so it's less fragile./li lia href=http://drupal.org/node/2225353Issue 2225353/a by tim.plunkett: Convert $form_state to an object and provide methods like setError()./li /ul pYou can also always check the a href=https://drupal.org/list-changesChange records for Drupal core/a for the full list of Drupal 8 API changes from Drupal 7./p h2 id=planetDrupal 8 Around the Interwebs/h2 pIf you want to keep up with the changes in Drupal 8, but you'd rather absorb yourself in articles than dig through diffs, here are some notable blog posts to read:/p ul lia href=https://www.drupal.org/u/lizzie-hodgsonLizzie Hodgson/a explains user personas, why they're important, and a href=http://deeson-online.co.uk/blog/deeson-online-create-drupal-8-personashow Deeson Online's content strategists came up with and contributed personas/a to the Drupal 8 landing page on Drupal.org based on Dries' keynote in Prague./li lia href=https://twitter.com/VirDurVirginia Durikova/a of a href=http://mogdesign.euMogdesign/a discusses a href=http://mogdesign.eu/blog/d8rules-as-a-proof-that-drupal-community-is-a-living-cellthe importance of the #d8rules Drupalfund project and analyzes why it was so successful/a./li lia href=https://www.drupal.org/user/370574Kim Pepper/a of a href=http://www.previousnext.com.auPreviousNext/a wrote a a href=http://www.previousnext.com.au/blog/using-drupal-8-condition-plugins-apitutorial on how to use Drupal 8 Condition Plugins API/a./li lia href=https://www.drupal.org/user/205582Thomas Seidl/a wrote a href=http://drunkenmonkey.at/blog/search-api-d8-update-part-3a tutorial on how to create your own Drupal 8 service/a./li lia href=https://www.drupal.org/user/1322066Keenan Holloway/a of a href=http://forumone.com/Forum One/a shares a href=http://forumone.com/insights/getting-started-with-drupal-8-code/a presentation on how to get set up for Drupal 8 development/a./li lia href=https://www.drupal.org/u/pedrorochaPedro Rocha/a of a href=http://singleview.com.br/SingleView/a blogged about a href=http://pedrorocha.net/en/2014-07/lets-get-ready-to-rumble-playing-with-drupal-8-and-bootstraphis experience using the popular Bootstrap framework to theme a Drupal 8 site/a./li lia href=https://www.drupal.org/user/341792/Kyle Hofmeyer/a of a href=http://drupalize.meDrupalize.Me/a lists a href=http://drupalize.me/blog/201407/drupal-8-has-all-hotness-so-can-drupal-7some Drupal 7 modules that provide Drupal 8 features/a./li lia href=https://www.drupal.org/u/alexpottAlex Pott/a of a href=http://chapterthree.com/Chapter Three/a writes about a href=http://chapterthree.com//blog/reviewing-code-phpstormreviewing Drupal 8 patches with PHPStorm/a./li /ul h2 id=eventsDrupal 8 in Real Life/h2 pAugust will have many events for you to meet other Drupal contributors and collaborate on the issues you're passionate about! Some notable ones are:/p ul listrongAug 7-10/strong: a href=http://2014.tcdrupal.org/Twin Cities DrupalCamp/a in strongMinnesota, USA/strong will have a sprint room for all four days and has a a href=https://docs.google.com/spreadsheet/ccc?key=0AtDYnjV5l0uydGFjekZSM1ROR040eldUeEU4OU1JNFEamp;usp=drive_web#gid=0sprint sign-up/a. a href=https://twitter.com/TCDrupal@TCDrupal/a/li listrongAug 7-10/strong: a href=http://2014.drupalaton.hu/Drupalaton/a at strongLake Balaton, Hungary/strong has Drupal 8 sessions and sprints. a href=https://twitter.com/drupalaton@drupalaton/a/li listrongAug 9/strong: a href=https://groups.drupal.org/node/434973Vacation Code Sprint/a in strongWrocław, Poland/strong will be meeting to work together on Drupal 8 at the a href=http://ratioweb.pl/RatioWeb/a offices./li listrongAug 16-17/strong: a href=https://groups.drupal.org/node/434038Drupal Sprint Weekend/a in strongLondon, England/strong will have new-contributor, core and contrib sprints./li listrongAug 22/strong: a href=http://www.drupalact.org.au/events/drupalgov-canberra-2014DrupalGov/a in strongCanberra, Australia/strong features everything relating to Drupal and the Australian Government, including Drupal 8 sessions./li listrongAug 23/strong: a href=https://groups.drupal.org/node/429468Drupal 8 core sprint/a in strongHelsinki, Finland/strong will focus on Drupal.fi and Drupal 8 Core./li /ul h2 id=wrapWhew! That's a wrap!/h2 pDo you follow a href=https://drupal.org/planetDrupal Planet/a with devotion, or keep a close eye on the a href=http://www.drupical.com/Drupal event calendar/a, or codegit pull origin 8.0.x/code every morning without fail before your coffee? We're looking for more contributors to help compile these posts. You could either take a few hours once every six weeks or so to put together a whole post, or help with one section more regularly. a href=https://drupal.org/user/65776/contactContact xjm/a if you'd like to help communicate all the interesting happenings in Drupal 8!/p

Friendly Machine: Headless Drupal? It Just Might Be a Bigger Deal than Twig

Mon, 08/04/2014 - 21:21
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpIf you're a frontend developer or designer that has grumbled about the challenges of Drupal theming, you no doubt applauded the announcement that the a href=https://www.ostraining.com/blog/drupal/twig/Twig/a template framework was being added to Drupal 8./p pIt's a big upgrade, no question. If you're like me, however, you may prefer a completely custom frontend crafted out of HTML, CSS and JavaScript. You may have looked at the cool stuff AngularJS or Backbone is capable of and wondered how you could bridge the gap with Drupal to enjoy that sort of freedom./p pFortunately, there are some folks that are already doing exactly that and sharing the results of their work. It's something called a href=https://groups.drupal.org/headless-drupalheadless Drupal/a and it's an approach that uses Drupal as a backend content repository and REST server./p !--break-- pA REST server makes it possible for other applications to read and update data. The typical case is that Drupal is used to store and manage content and it then provides that data to your app built with Angular, Backbone, Ember, or whatever.  If that's not entirely clear, don't worry. The links below will help sort it out./p h2Headless Drupal Resources/h2 pstronga href=https://github.com/davidhwang/horsemanHeadless Drupal Manifesto/a/strong - This is great place to start. It succinctly answers the question of why anyone would want to do this sort of thing./p pstronga href=https://groups.drupal.org/headless-drupalHeadless Drupal Group/a/strong - A group on Drupal.org devoted to sharing ideas, discussion and experiments around the topic of headless Drupal./p pstronga href=https://austin2014.drupal.org/session/build-drupal-free-theme-8s-rest-api-and-javascriptBuild a Drupal-free theme with 8's REST API and JavaScript/a/strong - A presentation from DrupalCon Austin on building an AngularJS site that uses Drupal for the backend./p pstronga href=http://www.gizra.com/content/restful-angular-forms/Headless Drupal, One form at a time/a/strong - This is a great post from Amitai Burstein that demonstrates some of what this approach has to offer for the creation of frontend user interfaces./p pstronga href=http://www.gizra.com/content/headless-drupal-inline-edit/Headless Drupal - Inline edit/a/strong - Another good one from Amitai./p pstronga href=https://austin2014.drupal.org/session/here%E2%80%99s-drupal-tonight-tonight-show-jimmy-fallonHere’s Drupal - Tonight on the Tonight Show with Jimmy Fallon/a/strong - A case study of headless Drupal in action on a very high profile site./p pIf you know of some other resources, please share them in the comments below. I'd love to check them out./p /div/div/div

Nikro: Moldcamp 2014 - a late review

Mon, 08/04/2014 - 16:00
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://nikro.me/sites/default/files/styles/medium/public/field/image/cover_0.jpgimg typeof=foaf:Image src=http://nikro.me/sites/default/files/styles/medium/public/field/image/cover_0.jpg width=220 height=146 alt=Moldcamp 2014 title=Moldcamp 2014 //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:encodedpI know, it's been a while since the event took place (17th-18th of May), I was pretty busy and had a lot of stuff to do meanwhile, so I finally found a couple of hours to make a small review./p /div/div/divsection class=field field-name-field-tags field-type-taxonomy-term-reference field-label-inline clearfix clearfix h2 class=field-labelTags:nbsp;/h2 ul class=field-items li class=field-item even rel=dc:subject a href=/tags/drupal-moldova-association typeof=skos:Concept property=rdfs:label skos:prefLabelDrupal Moldova Association/a /li li class=field-item odd rel=dc:subject a href=/tags/planet typeof=skos:Concept property=rdfs:label skos:prefLabelPlanet/a /li li class=field-item even rel=dc:subject a href=/tags/drupalcamp typeof=skos:Concept property=rdfs:label skos:prefLabelDrupalCamp/a /li /ul /section

Microserve: Coding in the Cloud

Mon, 08/04/2014 - 10:39
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://www.microserveltd.co.uk/sites/default/files/styles/large/public/field/image/codio_0.jpg?itok=IhPAnYLTimg typeof=foaf:Image src=http://www.microserveltd.co.uk/sites/default/files/styles/large/public/field/image/codio_0.jpg?itok=IhPAnYLT width=420 height=240 alt=Codio: a cloud IDE //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:encoded pAn old timer like myself couldn't help but be filled with trepidation when it was revealed I'd be acting as the company guinea pig to give cloud based development a viability road test on my latest project./p pNo matter how cool I played it, the momentary panic at the thought of working without the tried and tested 'REAL' software apps installed on my macbook, must have been visible on my face./p h2You'll have to pry my favourite text editor out of my cold dead hands!/h2 pI've been used to the same comfy workflow for the last few years./p pA local environment comprising of the same trusty text editor/IDE, a LAMP stack running on MAMP and code versioning using GIT. There was just something about 'cloud based coding' that didn't seem to ring true./p h2Pause For Thought/h2 pThen when i really thought about it, I began to examine just how much of my professional and personal life had already drifted into the cloud and in most cases for the better./p pThanks to Google, Dropbox and Apple amongst others, my email, calendars, notepads, files, photos, videos and documents have for the most part been in the cloud for ages. Do I miss opening up MS Word to write a letter? No./p pThen I thought about how much easier life as a Drupal developer had become since adopting tools like Drush, Git and more recently, the Pantheon platform. (in essence 'cloud' based tools themselves.) So, thinking about it, cutting the last few remaining ties to local, machine specific workflow seemed less of an imposition and more like the next natural step in the evolution of web development./p h2Where to start?/h2 pAfter a bit of googling 'cloud based IDE', you'll see there's already quite a few choices. Most seem to follow a similar basic subscription paradigm (one or a number of free public projects and a paid for plan for private/production projects.)/p pIn most cases they provide a fully functioning text/code editor with text highlighting support, basic options for uploading, renaming and deleting files, a cloud based LAMP stack, some kind of terminal or command line and a selection of optional 'plugin' tools./p h2Roadtest/h2 pI've been testing Codio: a href=https://codio.com/https://codio.com//a/p pThe site I've been working on is a Drupal 7 site that arrived with us, half built./p pCodio handled the import of the existing database and files without much hassle and pulled in the code base via Git./p pI was able to install drush as a Codio ‘part' (plugin) and was installing essential modules via Codio's command line terminal in no time./p pThere's a nice file tree in the left pane and the editor itself is a real pleasure to use./p pI was impressed to find text highlighting support for SASS/LESS out of the box and it had decent poke at autocomplete of attributes./p pThere's a handy tab in the main menu which opens your project 'box' in a new tab or window and on a decent sized screen, it's pretty easy to get a nice comfortable layout with your code in one window and the running site in another./p pOne of the best things about Codio is that all changes to code are instant, with no saving or incremental Git commits needed. You only need to refresh your site to see it update./p pOnce you've done a tranche of work you're happy with, you can commit as you normally would, either using the in-built terminal or the GUI menus./p h2Conclusion/h2 pBy the end of day one I had been totally sold. The feeling of freedom was, well.. liberating. The next day I had to set up a new mac to use at work, and usually this process eats up half a day of downloading latest versions of software, configuring, chasing licences etc. In this case I literally just turned on the new laptop, installed my browser of choice, logged into Codio and I was away!/p pOf course, with everything, there are some niggles. The most obvious downside to cloud based development is, that when your connection is spotty or you suffer an outage, you're immediately incapacitated. A few days in and the Codio servers themselves had a few hours of intermediate drop outs. You can imagine how frustrating this might be if you were riding up close to a deadline./p pBut on the whole the good far outweighed the bad and I'm sure that service and reliability is only going to improve as web based coding becomes the norm... Which i'm now convinced it will before too long./p h2Pros and Cons of Web Based Development/h2 h3Pros/h3 ulliCode anywhere that has a connection/li liCollaborate more easily with other developers/li liNo local apps needed other than a browser/li liPlatform agnostic (Makes things like Chromebooks slightly more viable as a stripped down development machine)/li liLess chance of incompatible files being shared between collaborators/li liFewer problems for code team Sysadmins./li /ulh3Cons/h3 ulliReliant on reliable internet connection and host server/li liBasic file, folder housekeeping can be a bit laborious./li /ulp*I should point out that my experiences are with Codio IDE, but there are many other alternatives available. Cloud 9 seems to be proving very popular for instance.br /You can find a rundown of some of the most popular here:br /a href=http://www.hongkiat.com/blog/cloud-ide-developers/http://www.hongkiat.com/blog/cloud-ide-developers//a/p /div/div/div

Drupal core announcements: Fixing double-escape bugs

Sun, 08/03/2014 - 08:18
pSince Twig autoescape is on, there are a href=https://www.drupal.org/node/2289999double escape bugs/a. If you can fix them by refactoring code into Twig templates, that's great. If not then wait for a href=https://www.drupal.org/node/2289999an easy way to create HTML on the fly without having to create a theme function / template/a. It's already RTBC, it's a matter of days to find its way in. Regarding codeSafeMarkup::set/code calls, there is an issue to a href=https://www.drupal.org/node/2297703refactor and remove/a the ones we needed to add to get tests pass and so adding more is not acceptable (the reason for writing this announcement are the quick fix issues I need to whack trying to fix double escape by adding more of these)./p

Károly Négyesi: OOP developer experience: snap to grid

Sun, 08/03/2014 - 06:47
pAfter writing my first Drupal 8 a href=http://drupal4hu.com/node/400contrib module/a I have a new appreciation. Let me try to explain. It is certainly possible to write a letter on an empty sheet of paper but achieving tidy results is quite a lot easier if it's a lined sheet. In Drupal 7, the code flow in general is calling a function, getting an array, manipulating the array and passing it to another function. Pretty much anything goes. In Drupal 8, you are handed an object and the object has methods. Instead of trying to figure out which possible function are you continuing with, it is one of the methods. When passing on data, the receiving method (hopefully) has a helpful type hint which tells you what to pass in. Often even the argument name will be helpful too./p pIt's exactly like having a lined paper: you still need to know how to produce legible handwriting but at least you have a guide. Another apt metaphor is lining up shapes in a drawing program. Yes, it's possible by hand and there's more freedom doing it but for most it's easier to just use the snap to grid feature./p pThis blog post was inspired by codeConfigDevelAutoImportSubscriber/code having a code$this-gt;configManager/code object. That I need a config manager I have copied from a core file doing similar things. So, I wanted to create an entity -- I already know doing that requires calling the codecreate/code method of the relevant storage controller. But how do you get one? Well, codeConfigManagerInterface/code only has 10 methods and only 1 looks even remotely relevant: codegetEntityManager/code. So now I have a codeEntityManagerInterface/code object. Look, a codegetStorage/code method./p pdiv class=codeblockcodespan style=color: #000000span style=color: #0000BBlt;?phpbr /$entity_type_id /spanspan style=color: #007700= /spanspan style=color: #0000BB$this/spanspan style=color: #007700-gt;/spanspan style=color: #0000BBconfigManager/spanspan style=color: #007700-gt;/spanspan style=color: #0000BBgetEntityTypeIdByName/spanspan style=color: #007700(/spanspan style=color: #0000BB$config_name/spanspan style=color: #007700);br //spanspan style=color: #0000BB$entity_storage /spanspan style=color: #007700= /spanspan style=color: #0000BB$this/spanspan style=color: #007700-gt;/spanspan style=color: #0000BBconfigManager/spanspan style=color: #007700-gt;/spanspan style=color: #0000BBgetEntityManager/spanspan style=color: #007700()-gt;/spanspan style=color: #0000BBgetStorage/spanspan style=color: #007700(/spanspan style=color: #0000BB$entity_type_id/spanspan style=color: #007700);br //spanspan style=color: #0000BB$entity /spanspan style=color: #007700= /spanspan style=color: #0000BB$entity_storage/spanspan style=color: #007700-gt;/spanspan style=color: #0000BBcreate/spanspan style=color: #007700(/spanspan style=color: #0000BB$data/spanspan style=color: #007700);br //spanspan style=color: #0000BB?gt;/span/span/code/div/p pWe could call this autocomplete driven development cos the autocomplete in your IDE pretty much drives you forward. Oh yeah: trying to develope D8 without an IDE is not something I'd recommend./p

cs_shadow: Entity Embed module demo

Sat, 08/02/2014 - 21:49
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpMidterm evaluations for GSoC are over and I've released a short demo for the entity embed module: a href=https://www.youtube.com/watch?v=T26oz9H-VBYIntroducing Entity Embed module for Drupal 8/a. This screencast explains the basic idea behind the module and its usage.br / It's also time for the status update of what I've been doing for past couple of weeks. Apart from making the demo, a significant amount of work has been done since my last blog post. Some important issues that were solved over past couple of weeks include a much better test coverage, adding a preview of entity in CKEditor, adding support for alignment of embeds, and some code cleanup. Also, travis-ci is now enabled for the github repo so it has become far much easier to run tests on new pull requests and commits.br / Check out the video and if you have any issues, feel free to open a ticket on the a href=https://www.drupal.org/project/issues/search/entity_embedentity embed issue queue on d.o/a or a href=http://chandansingh.net/contactcontact me directly/a./p /div/div/divdiv class=sharethis-buttonsdiv class=sharethis-wrapperspan st_url=http://chandansingh.net/blog/entity-embed-module-demo st_title=Entity Embed module demo class=st_twitter_hcount displayText=twitter/span span st_url=http://chandansingh.net/blog/entity-embed-module-demo st_title=Entity Embed module demo class=st_facebook_hcount displayText=facebook/span span st_url=http://chandansingh.net/blog/entity-embed-module-demo st_title=Entity Embed module demo class=st_linkedin_hcount displayText=linkedin/span span st_url=http://chandansingh.net/blog/entity-embed-module-demo st_title=Entity Embed module demo class=st_googleplus_hcount displayText=googleplus/span /div/div div class=field field-name-field-tags field-type-taxonomy-term-reference field-label-inline clearfixdiv class=field-labelTags:nbsp;/divdiv class=field-itemsdiv class=field-item even rel=dc:subjecta href=/tags/drupal-planet typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal Planet/a/divdiv class=field-item odd rel=dc:subjecta href=/tags/google-summer-code typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Google Summer of Code/a/div/div/div

Cruiskeen Consulting: The Joys of Configuration!

Sat, 08/02/2014 - 19:25
div class=field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss view-mode-rssdiv class=field-itemsdiv class=field-item evenpAt the moment we're working on a fairly BIG Drupal 6-Drupal 7 migration for the a title=Twin Cities Daily Planet href=http://tcdailyplanet.net target=_blankTwin Cities Daily Planet. /a/p pAs part of that I am attempting to get the rather unwieldy site completely under code and configuration management.  The code part is well understood (well, at least by others) and semi working for us, so I'm not going to talk about the issues of getting sites under control of git - lots of others have written about that.  I am going to talk about the configuration management part./p pI have always been more than a little disheartened by the use of Features to control all those icky parts of the site that are held in the database rather than code.  For one thing, that's not really what Features was intended to do - it was intended to pile up a single hunk of site functionality and turn it into a feature.  This I can dig, but from a general site administration viewpoint it is a pretty awkward tool.   So I was really excited to realize that this whole configuration issue is being seriously worked on in Drupal 8, and that all of those messy things in the database will now get written out into flat config files that can actually be code managed.  I was even MORE excited to see a few  months back that there is now a a title=Configuration module on d.o. href=https://drupal.org/project/configuration target=_blankconfiguration module/a for Drupal 7. This looked to me like it was strongexactly/strong what the Doctor. ordered.   But as often happens, the drug seems to have some side effects./p p/div/div/divdiv class=field field-name-taxonomy-vocabulary-8 field-type-taxonomy-term-reference field-label-hidden view-mode-rss view-mode-rssul class=field-itemsli class=field-item evena href=/taxonomy/term/75Drupal/a/lili class=field-item odda href=/taxonomy/term/189Planet Drupal/a/li/ul/div