Planet Drupal

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

Acquia: Acquia, Investors and Teaming Up to Build Greatness

Fri, 10/31/2014 - 16:30
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 evenpIn the summer of 2007, I received an email from Michael Skok of Northbridge Venture Partners, who I had known for 12 years at that time. I had recently exited Mercury Interactive after its acquisition by HP. He suggested that I meet with a entrepreneur around a project he was looking at. When I met with Jay Batson, and short thereafter with Dries Buytaert, I was intrigued. It was Michael's vision about the possibilities however that really grabbed my attention. The three asked me later that year to join the yet unnamed company as its founding CEO./p/div /div /div span property=dc:title content=Acquia, Investors and Teaming Up to Build Greatness class=rdf-meta/span

Lullabot: The Front-end Rapport

Fri, 10/31/2014 - 15:42
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpIn this episode Kyle is joined by a few members of Lullabot's front-end army./p/div/div/div ul class=field field-name-field-show-notes field-type-link-field field-label-hidden li a href=https://tinyletter.com/front-end-rapportThe Front End Rapport/a /li li a href=https://www.lullabot.com/who-we-are/carwin-youngCarwin Young/a /li li a href=https://www.lullabot.com/who-we-are/sean-langeSean Lange/a /li /ul

Drupal Bits at Web-Dev: Intro to Codit Crons - Cron Jobs made easy.

Fri, 10/31/2014 - 13:47
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpThis is a video introduction to the Drupal module Codit: Crons. /p iframe width=700 height=525 src=//www.youtube.com/embed/o0V7CTIXJZY frameborder=0 allowfullscreen/iframepa href=https://www.drupal.org/project/codit_crons target=_blankCodit: Crons/a uses the a href=https://www.drupal.org/project/codit target=_blankCodit/a framework to make the development of multiple cron jobs easy. nbsp;In most cases it ends up being both more flexible, and safer than custom coding hook_cron() in a custom module or Feature for a site./p h2Why should I consider using Codit: Crons?/h2 diva href=http://web-dev.wirt.us/info/drupal-7/intro-codit-crons-cron-jobs-made-easyContinue reading Codit: Crons Introduction/a div /div/div/divul class=links inlineli class=node-readmore firsta href=/info/drupal-7/intro-codit-crons-cron-jobs-made-easy rel=tag title=Intro to Codit Crons - Cron Jobs made easy.Read morespan class=element-invisible about Intro to Codit Crons - Cron Jobs made easy./span/a/li li class=comment_forbidden last/li /ul

ThinkShout: It's a Good Time to Go to BADCamp

Fri, 10/31/2014 - 13:00
pIt’s that time of year again! And boy, are we excited... BADCamp is around the corner and we’ve already got our bags packed for San Francisco. BADCamp is one of our favorite Drupal Camps out there because it’s close to home, attendance is free, and it offers a handful of great Drupal trainings for all skill levels. And, of course, there’s the a href=https://2014.badcamp.net/event/non-profit-summitNonprofit Summit/a that takes place on Thursday, November 6./p pWe’ve been hard at work helping coordinate this summit and we’re thrilled with the day that’s come together. /p pWe’ve lined up speakers from the Sierra Club, Kiva, and the Electronic Frontier Foundation, who will share their experience and insights into leveraging Drupal to further their mission. You’ll also be able to join a variety of discussion-style breakout sessions, led by Drupal experts and nonprofit tech leaders. Looking for a topic that’s not on the schedule? Lead a discussion of your own during the open breakout sessions! /p pWe’ve got a jampacked schedule in addition to the Nonprofit Summit day. On Saturday and Sunday, you can find ThinkShout at strongbooth #4/strong - stop by and say hi - we’d love to chat with our fellow BADCampers. Several members of our team will be speaking - check out the schedule below for a full breakdown of our presentations./p pstrongSaturday, Nov. 8/strong/p pstronga href=https://2014.badcamp.net/session/maps-made-easyquot;Maps Made Easyquot;/a - Gabe Carleton-Barnes (@uncle_gcb)/strong/p pRoom: Rainbow Road/p pTime: 10:00am-11:00am/p pMaps are all over the web these days, and they can be extremely effective tools for finding and sharing information. Embedding a simple Google Map is easy, but what about building something that is more integrated with your content? It turns out you can build awesome integrated maps in Drupal almost entirely with point-and-click tools: all you need is the Open Source a href=http://leafletjs.com/Leaflet/a library, Views, and a few other Contrib Modules. In this session we#39;ll show you how by interactively building a site with a map from a bare Drupal 7 install./p pParticipants will choose what type of mappable content to create, and will be asked to add content using their own devices to build a rich demonstration of the map#39;s capabilities./p pAs we assemble the required modules and configure our site, we will discuss the roles played by each module without a bunch of geospatial techno-babble. By the end of the session, we will have an interactive map displaying content that is easy for any site user to input using address data. If there is sufficient time, we will discuss how to customize the map#39;s quot;tilesquot;, add plugins, use proximity filtration, and other potential features for your map!/p pstronga href=https://2014.badcamp.net/session/responding-responsive-designers-guide-adaptingquot;Responding to Responsive - A Designer’s Guide to Adaptingquot;/a - Josh Riggs (@joshriggs)/strong/p pRoom: Warp Zone/p pTime: 10:00am-10:30am/p pThere’s no denying that a designer’s role is changing. Responsive Design has made the whole process much more complex. Designers are now expected to be equal parts artist and coder, and to use HTML, CSS amp; Javascript as their palette. I’ve met that challenge, and I‘ve spent the last few years working on several large, responsive Drupal sites. This talk will include a candid, real-world look at my personal evolving design process, as well as lessons from my own personal journey as a designer./p pTopics include:/p ul lipA thorough walkthrough of responsive design deliverables: Content Strategy, HTMLWireframes, Style Tiles, amp; Style Mocks. Examples will be shown./p/li lipManaging the expectations of Clients, Users and Developers/p/li lipKeeping the focus on User Experience/p/li lipReal world successes and failures/p/li lipA fight to the death between Photoshop amp; In-Browser design/p/li lipCreating a better iterative process/p/li lipBridging the gap between design and front-end development/p/li lipEmbracing the concept of Kaizen (continuous improvement) as a designer/p/li /ul pstronga href=https://2014.badcamp.net/session/responsive-image-loading-picture-modulequot;Responsive Image Loading with the Picture Modulequot;/a- Cooper Stimson (@cooperstimson)/strong/p pRoom: Warp Zone/p pTime: 5:30pm-6:00pm/p pResponsive Web Design (RWD) is increasingly vital in the contemporary web landscape, where your content can be displayed on a phone, a laptop, an 84-inch 4k monitor, a refrigerator, or even a watch. In this session you will learn how to leverage the Picture module (and its dependency, the Breakpoints module) to achieve responsive image loading in Drupal 7./p pstrongThe Picture Module/strong/p pThere is no RWD solution for images in Drupal 7 core. Luckily, a responsive image handling module called Picture will be included in Drupal 8 core, and has already been backported to Drupal 7. Picture uses the new HTML5 a href=http://www.w3.org/html/wg/drafts/html/master/embedded-content.html#the-picture-elementpicture element/a./p pThis session will cover:/p ul lipInstallation and configuration of the Picture, Media, Chaos Tools Suite, and Breakpoint modules/p/li lipCreating breakpoints and breakpoint groups/p/li lipConfiguring picture mappings/p/li lipSetting up file type display settings/p/li lipApplying these options to an example content type/p/li lipBasic introduction to the picture element and media queries/p/li /ul pImage loading is particularly important for RWD; loading an image size inappropriate to screen resolution is problematic whether you#39;re stretching a 100x100 thumbnail over a massive screen, or sending a ten megapixel background to a QVGA phone. In the former case you#39;re making a pixelated mess, and in the latter case you#39;re eating up both your own bandwidth and your user#39;s data plan on a resolution they can#39;t use - nobody wins./p pstrongBenefits for Your Site/strong/p pThere are many reasons to responsively load images on your site. A few highlights are:/p ul lipConsistent user experience across platforms/p/li lipSingle URL per page/p ul liNo need to code up a separate mobile version/li liSEO optimization -- Don#39;t split your pageview count between multiple URLs/li liImproved shareability/li /ul/li lipMassive pageload benefits on mobile/p/li /ul pstrongTarget Audience/strong/p pThis session is aimed at beginning level Drupalers who haven#39;t used the Picture module before./p pIt’s completely a href=https://2014.badcamp.net/event/non-profit-summitfree to register/a, just sign up on the a href=https://2014.badcamp.net/BADCamp website/a./p pSee you in San Francisco!/p

Code Karate: Drupal 7 Publication Date Module

Fri, 10/31/2014 - 12:38
div class=field field-name-field-episode-number field-type-number-integer field-label-abovediv class=field-labelEpisode Number:nbsp;/divdiv class=field-itemsdiv class=field-item even176/div/div/divdiv class=field field-name-field-ddod-video field-type-file field-label-hiddendiv class=field-itemsdiv class=field-item evenimg src=http://codekarate.com/sites/default/files/styles/large/public/media-youtube/Y3KviHKfSlI.jpg?itok=eAQGPh9e alt=Drupal 7 Publication Date Module - Daily Dose of Drupal episode 176 //div/div/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpIn this video we look at the a href=https://www.drupal.org/project/publication_date rel=nofollowPublication Date/a module. This module allows content creators to use the date in which the content on their website is published and NOT just when it is created. In other words, if you create a post a week prior to publishing it, this module will use the date in which the post goes to published. Again, this is a simple module but can be extremely helpful if you post a lot of content or have a habit of writing content days or weeks prior to publishing./p /div/div/divdiv class=field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-abovediv class=field-labelTags:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/category/tags/drupalDrupal/a/divdiv class=field-item odda href=/category/tags/drupal/core-concepts/fieldsFields/a/divdiv class=field-item evena href=/category/tags/drupal/contrib/viewsViews/a/divdiv class=field-item odda href=/category/tags/drupal/drupal-7Drupal 7/a/divdiv class=field-item evena href=/category/tags/drupal-planetDrupal Planet/a/div/div/div

Mediacurrent: Why You Should Speak at Tech Conferences

Thu, 10/30/2014 - 21:50
img typeof=foaf:Image src=http://www.mediacurrent.com/sites/default/files/styles/thumb_blog_spotlight/public/publicspeaking.png?itok=xtdDUUlw width=200 height=152 / pThe first time I spoke at a tech conference was about five years ago at the University of Southern California (USC), in Los Angeles. It was at an annual conference called Code Camp whose audience is mostly Microsoft developers. I didn’t know what to expect in that kind of setting. I selected a topic I was fairly comfortable with, Designing with a href=node/390 target=_blankCSS3/a. Not only was the topic well received but it quickly became the most popular session in the conference with over 140 attendees interested in it. Now I was really freaking out./p

Chromatic: Easily Upgrade Your Image Fields for Retina!

Thu, 10/30/2014 - 20:28
div class=field field-name-body field-type-text-with-summary field-label-hidden pDrupal makes it so easy to add image fields to your content types. a href=https://www.drupal.org/community-initiatives/drupal-core/fields target=_blankFields in core for the win!/a With image styles in core, its as easy as ever to create multiple image sizes for display in various contexts (thumbnails, full, etc.). But what about providing hi-resolution versions of your rasterized images for retina displays? Out of the box, you don’t really have a lot of good options. You could simply upload high resolution versions and force your users, regardless of display type to download massive file versions, but that’s not exactly the best for performance. You could use some custom field theming and roll your own implementation of the code class=prettyprintlt;picturegt;/code element, but a href=http://caniuse.com/#search=picture target=_blankbrowser support/a is basically null at this point. That won’t do. You could a href=http://blog.cloudfour.com/how-apple-com-will-serve-retina-images-to-new-ipads/ target=_blankdo what Apple does/a and force the browser to download 1x versions of your images then use javascript to detect high resolution displays and then force the browser to download all of the high resolution versions…I think you see my point./p pWhat if you could create hi-resolution versions of these images without a ton of added filesize overhead? What if you could do this all within Drupal? No special coding, no uploading of multiple versions, no special field templates or unnecessary javascript. Just a basic Drupal image field with a special image style defined./p h4Here’s how you do it:/h4 olliCreate your image field. (In most cases, you’ve probably already got this.) a href=http://blog-media.chromaticsites.com.s3.amazonaws.com/retina-image-fields/01-adding-image-field.png class=externalimg src=http://blog-media.chromaticsites.com.s3.amazonaws.com/retina-image-fields/01-adding-image-field.png alt=Adding an image field via the Drupal field's interface //a/li liDownload and install the a href=https://www.drupal.org/project/hires_images target=_blankHiRes Images module/a emThis module allows you to create an image style at 2x the desired pixel dimensions. If your desired maximum image width is 720 css pixels, your output image would be saved at 1440px./em/li liDownload and install the a href=https://www.drupal.org/project/image_style_quality target=_blankImage Style Quality module/a emThis nifty module allows you to define specific image qualities on a per image style basis instead of using Drupal’s global image quality setting./em a href=(external)http://blog-media.chromaticsites.com.s3.amazonaws.com/retina-image-fields/02-drush-enable-modules.png class=externalimg src=http://blog-media.chromaticsites.com.s3.amazonaws.com/retina-image-fields/02-drush-enable-modules.png alt=Display of drush commands //a/li liAdd a new image style (or alter an existing)/li liAdd your normal image style presets, like scale, crop etc. If you’re scaling, set your scale to be 2x your desired maximum output in pixels. So if you want an output of 720, set your scale to 1440px./li liAdd the “Hi-Res (x2)” effect. This will output you’re image element at half the scale amount above. So we get a max of 720px./li liAdd the “Quality” effect and set it to something like 60%. This may take some experimenting to find a balance between image quality and file size. In my example, I went with 60% compression. This yielded an image that was still really sharp and a reasonable file size. a href=http://blog-media.chromaticsites.com.s3.amazonaws.com/retina-image-fields/03-final-image-style.png class=externalimg src=http://blog-media.chromaticsites.com.s3.amazonaws.com/retina-image-fields/03-final-image-style.png alt=Final image style with high resolution filter and image quality reduction //a/li liSet your display mode to use this new (or altered) image style. a href=http://blog-media.chromaticsites.com.s3.amazonaws.com/retina-image-fields/04-configure-display.png class=externalimg src=http://blog-media.chromaticsites.com.s3.amazonaws.com/retina-image-fields/04-configure-display.png alt=Configuring the image field to use the recently created image style with the Manage Display interface //a/li liEnjoy your beautiful, high resolution, performant image fields!/li /olpHard to believe this works right? You’d think your retina version would look really crappy with that much compression, but it doesn’t. In fact, in some cases it will look just as sharp and be smaller than a 1x counterpart. See my screenshots below for proof:/p h4Side-by-side comparison:/h4 pa href=http://blog-media.chromaticsites.com.s3.amazonaws.com/retina-image-fields/05-side-by-side.png class=externalimg src=http://blog-media.chromaticsites.com.s3.amazonaws.com/retina-image-fields/05-side-by-side.png alt=Side by side comparison screenshot target=_blank //a/p h4Network panel output:/h4 p a href=http://blog-media.chromaticsites.com.s3.amazonaws.com/retina-image-fields/06-network-comparison.png class=externalimg src=http://blog-media.chromaticsites.com.s3.amazonaws.com/retina-image-fields/06-network-comparison.png alt=Developer tools network panel screenshot //a/p pSo we end up with a high resolution version of our uploaded image that is actually smaller than the original version at 720px! Looks great on retina devices and doesn’t badly penalize users of standard definition displays. WIN!/p pFor a detailed explanation of this technique in broader terms, see a href=http://blog.netvlies.nl/design-interactie/retina-revolution/ target=_blankRetina Revolution/a by Daan Jobsis/p /div

Midwestern Mac, LLC: How to set complex string variables with Drush vset

Thu, 10/30/2014 - 19:26
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpI recently ran into an issue where codedrush vset/code was not setting a string variable (in this case, a time period that would be used in codestrtotime()/code) correctly:/p p/pdiv class=codeblockcode# Didn't work:br /$ drush vset custom_past_time '-1 day'br /Unknown options: --0, --w, --e, --k.  See `drush help variable-set`      [error]br /for available options. To suppress this error, add the optionbr /--strict=0./code/div pUsing the code--strict=0/code option resulted in the variable being set to a value of code1/code./p pAfter scratching my head a bit, trying different ways of escaping the string value, using single and double quotes, etc., I finally realized I could just use codevariable_set()/code with drush's codephp-eval/code command (shortcut codeev/code):/p/div/div/div

Jonathan Brown: Update on Drupal / Bitcoin Payment Protocol (BIP 70) integration

Thu, 10/30/2014 - 18:03
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpa href=https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki target=_blankBIP 70/a describes a high-level payment system for Bitcoin. It uses a href=https://en.wikipedia.org/wiki/Protocol_Buffers target=_blankProtocol Buffers/a and a href=https://en.wikipedia.org/wiki/X.509 target=_blankX.509/a certificates for the following major improvements:/p ulliHuman-readable payment destinations instead of Bitcoin addresses/li liResistance from man-in-the-middle attacks/li liPayment received messages sent back to the wallet/li liRefund addresses/li /ulpimg src=http://jonathanpatrick.me/bip70-images/protocol-sequence.png width=766 height=482 //p pI a href=https://github.com/bluedroplet/bitcoin-payment-protoc-php target=_blankcompiled/a the a href=https://github.com/bitcoin/bips/blob/master/bip-0070/paymentrequest.proto target=_blankBIP 70 Protocol Buffers definition file/a into PHP using a href=https://github.com/drslump/Protobuf-PHP target=_blankProtobufPHP/a./p pI have implemented most of BIP 70 in the a href=https://www.drupal.org/project/cointools target=_blankCoin Tools/a Drupal project. It contains a new Bitcoin payment entity class that contains all the specified fields in its base table. Bundles can be created to add additional fields to payments./p pPayments can currently be created through an admin interface, although this would typically happen in an automated process on a real website./p pWhen viewing an unfulfilled payment in the admin interface the QR code for the payment will be present. It decodes to a a href=https://github.com/bitcoin/bips/blob/master/bip-0072.mediawiki target=_blankbackward-compatible payment protocol URI/a./p pimg src=http://jonathanpatrick.me/bip70-images/drupal-before.png width=617 height=674 /br /img src=http://jonathanpatrick.me/bip70-images/android-before.png width=270 height=480 style=margin-right: 20px; /img src=http://jonathanpatrick.me/bip70-images/android-after.png width=270 height=480 /br /img src=http://jonathanpatrick.me/bip70-images/drupal-after.png width=617 height=674 //p pCurrently the module is unable to detect Bitcoin payments not sent using the payment protocol, i.e. the payment is sent to the address but the website is not notified. This will be quite easy to implement though./p pFor payments made using the new protocol, Coin Tools is able to complete the transaction and has been tested with both the original a href=https://en.bitcoin.it/wiki/Bitcoin-Qt target=_blankQT client/a and a href=https://play.google.com/store/apps/details?id=de.schildbach.wallet target=_blankAndreas Schildbach's Android Wallet/a. Interestingly Andreas's wallet does not display the status message returned by the merchant./p pThe specification does not seem to have any method for the merchant to inform the app that the payment was not satisfactory, other than setting the human readable status message (the wallet would not know there was a problem), or returning an HTTP error code (resulting in unpleasant error message for customer)./p pCoin Tools will check the transactions provided by the wallet are sending enough bitcoins to the payment address. It then broadcasts the transactions via bitcoind. Currently Coin Tools is relying on bitcoind rejecting transactions that have not been signed correctly. This assumption needs to be verified./p pWhen the payment protocol QR code is displayed, Coin Tools enables a small Javascript program to poll the website to determine if the payment has been made, reloading the page once this has happened. Ideally this would be implemented as a long-running AJAX request./p pThe X.509 certificate part of the payment protocol specification has not yet been implemented in Coin Tools. This is a critical component./p pThe implementation of the payment protocol in Coin Tools only permits a single Bitcoin address per payment. The specification does support having more than one and in theory this could be used to increase payment anonymity by each address only being spent into by a single output in a single transaction. In practise this is not so effective as all the transactions would be broadcast simultaneously./p pCoin Tools will also store a single refund address provided by the wallet making the payment. The wallet actually provides payment scripts, but Coin Tools will determine if the script is a standard payment and extract the address. Multiple refund addresses are also supported by the standard, but Coin Tools will only store one./p pAccording to the specification the wallet can allow the customer to provide a note to the vendor. Coin Tools will store this note, however I do not know of any wallets that support this feature./p pThe HTTP responses for PaymentRequest and Payment need to be implemented as Symfony response handlers. Currently they are implemented in a simplistic manner setting their own HTTP headers and and calling exit()./p pIt is currently only possible to make payments from the admin interface. A template needs to be provided so the payments can be made from elsewhere on a website, e.g. integration with Drupal Commerce./p pFor a standard ecommerce website that wants to accept bitcoins it may make more sense to use a provider such as BitPay or Coinbase. Accepting payments natively on a website means that a hacker could steal funds. One solution to this problem would be to use a href=https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki target=_blankHierarchical Deterministic Wallets/a so that private keys are only stored on backend systems./p pFor a project that is doing something more interesting than just accepting Bitcoin as a payment method and is already running bitcoind, it may be advantageous to have a native implementation on BIP 70 on the website rather than relying on a third-party provider./p pNo tests have yet been written for Coin Tools. It is essential that Payment and PaymentRequest routes are fully tested including the edge cases defined in the specification./p pA few limitations of Drupal 8 have been encountered during the creation of this functionality. In Drupal 8 it is now possible to have fields in entity base tables. This is really great, but unfortunately when these fields are present in a view it is a href=https://www.drupal.org/node/2342045 target=_blanknot possible to use their formatters/a. I discussed this with Daniel Wehner at Amsterdam and he didn't seem very optimistic about this being able to be fixed so some sort of workaround will need to be found as this functionality is critical to the module./p pDate field is now in D8 core, but unfortunately it a href=https://www.drupal.org/node/2366213 target=_blankstores the date as a varchar/a in the database. This means that it is not possible to sort or filter on date - a major limitation. If core is not changed to use database-native date storage Coin Tools will have to use another date field./p pThe Payment Protocol functionality needs to be backported to Drupal 7 Coin Tools and integrated with a href=https://www.drupal.org/project/payment target=_blankPayment/a / a href=https://www.drupal.org/project/commerce target=_blankCommerce/a./p /div/div/div

S1L: Selling Organic Groups with Drupal Commerce License OG

Thu, 10/30/2014 - 17:58
div class=field field-name-field-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item evenimg src=http://s1l.org/sites/default/files/styles/blog_full/public/field/image/blog_post/commerce-selling-access-to-organic-groups-with-commerce-license.jpg?itok=EFTMbM3q width=940 height=380 alt= //div/div/divdiv class=field field-name-body field-type-text-long field-label-hiddendiv class=field-itemsdiv class=field-item evenpspan style=font-size: 0.923em; line-height: 1.5em;Selling Organic Groups with Drupal Commerce just got way more powerful/spanspan style=font-size: 0.923em; line-height: 1.5em;. Actually it did so a while ago when /spana href=https://www.drupal.org/project/commerce_license style=font-size: 0.923em; line-height: 1.5em;Commerce License/aspan style=font-size: 0.923em; line-height: 1.5em; and /spana href=https://www.drupal.org/project/commerce_license_og style=font-size: 0.923em; line-height: 1.5em;Commerce License OG/aspan style=font-size: 0.923em; line-height: 1.5em; where created./span/p pAbout 18 months ago I wrote about how you could a href=http://s1l.org/selling-access-organic-groups-drupal-commercesell access to Organic Groups with Drupal Commerce with a configuration of fields and Rules/a./p pWith Commerce License and Commerce License OG selling access to Organic Groups you have a setup that is ias easy to setup/i than the 'old' field+Rules way (if not easier) and you'll have great new functionality for revoking membership access./p h2Step by Step instructions/h2 pYou can find the step-by-step instruction on how to sell your Organic groups with Drupal Commerce based on Commerce Licenses at a href=https://www.drupal.org/node/2366023https://www.drupal.org/node/2366023/a. Just follow the 8 easy steps and you'll have it setup in no-time./p h2How does it work?/h2 pBasically you'll be selling licenses to your Organic Group (content). These licenses can expire, or be forever. You can configure them the way you see fit. The license determines if a user has access to the Organic Group or not./p pa href=https://www.drupal.org/project/commerce_licenseCommerce License/a is a framework for selling access to local or remote resources./p pRead more about Commerce Licenses at a href=https://www.drupal.org/node/2039687https://www.drupal.org/node/2039687/a under Basic Concepts -gt; License./p h2Show me/h2 pIf you follow the 8 steps in the instruction at a href=https://www.drupal.org/node/2366023 style=font-size: 15px; line-height: 22.152000427246094px;https://www.drupal.org/node/2366023/a you'll see that you can easily configure the products like this:/p pimg alt=Organic Groups License setup in a Drupal Commerce product height=801 width=667 style=margin-left: 10px; margin-right: 10px; width: 667px; height: 801px; border-width: 2px; border-style: solid; class=media-element file-default src=http://s1l.org/sites/default/files/drupal-commerce-product-og-license-setup.png //p pand users on the site will be given licenses like this/p pimg alt=Organic Group Licenses list height=494 width=791 style=width: 791px; height: 494px; border-width: 2px; border-style: solid; margin-left: 10px; margin-right: 10px; class=media-element file-default src=http://s1l.org/sites/default/files/drupal-commerce-licenses-og-license-list.png //p p /p h2From Dev to Stable/h2 pcommerce_license_og module is currently in dev state. It works fine for the most common usecase: users buying access to your site. However make sure it works the way you want it before you decide go 'all in' implementing this on a production site./p pCurrently there seems to be an issue with granting anonymous users access to Organic Groups (a href=https://www.drupal.org/node/2366155https://www.drupal.org/node/2366155/a). /p pPlease add your input to a href=https://www.drupal.org/project/issues/commerce_license_oghttps://www.drupal.org/project/issues/commerce_license_og/a to help developing this module to a stable release./p /div/div/div span class=field-label Category: /span div class=field field-name-field-blog-category field-type-taxonomy-term-reference field-label-inline inline a href=/taxonomy/term/1Drupal Planet/a /div div class=field field-name-field-blog-category field-type-taxonomy-term-reference field-label-inline inline a href=/taxonomy/term/3Drupal Commerce/a /div div class=field field-name-field-blog-category field-type-taxonomy-term-reference field-label-inline inline a href=/blog-category/drupal-organic-groupsDrupal Organic Groups/a /div

Drupal Association News: Thank You, Drupal Association Supporting Partners

Thu, 10/30/2014 - 17:43
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpimg alt=Supporting Partner badge class=left src=https://www.drupal.org/sites/all/modules/drupalorg/drupalorg/images/association_sup_partner_badge.svg style=width: 217px; height: 217px; /At the Drupal Association, we believe it’s good to pause and be grateful from time to time. So, today, we’d like to express gratitude for our unbelievably fantastic Supporting Partners./p pWithout contributions from partners like a href=http://exove.com target=_blankExove/a, a href=http://www.duoconsulting.com/ target=_blankDuo Consulting/a, a href=http://chapterthree.com/ target=_blankChapter Three/a, a href=http://lullabot.com target=_blankLullabot/a, a href=http://www.chromaticsites.com/ target=_blankChromatic/a, a href=https://chillco.com/ target=_blankThe Cherry Hill Company/a, a href=http://www.elevatedthird.com/ target=_blankElevated Third/a, and a href=http://www.technocrat.com.au/ target=_blankTechnocrat/a, we wouldn’t be able to do what we love: serve the Drupal community and help make Drupal great. Our partners are helping us fund improvements to Drupal.org./p pOur partners are making several key intiatives for Drupal.org possible, including:/p ulli Better account creation and login/li li Organization and user profile improvements/li li Responsive redesign of Drupal.org/li li Issue workflow and Git improvements/li li Make Drupal.org search usable/li li Improved tools to find and select projects/li li Groups migration to Drupal 7/li /ulpIn addition to major projects, Supporting Partner contributions make the ongoing work to sustain and maintain Drupal.org happen:/p ulli We performed user research to guide our work on new features and improvements;/li li We are starting work on a comprehensive content strategy for Drupal.org;/li li We’ve bought and installed new server hardware to improve performance and responsiveness;/li li We are improving development environments to make development for Drupal.org faster and more efficient;/li li We have faster testbot instances for Drupal 8 development and contribution sprints;/li li We implemented content delivery networks (CDN) for Drupal.org and downloads;/li li We are improving behavior driven development (BDD) tests to ensure Drupal.org deployments are successful and error free, and many more./li /ulpThis is only a small portion of the many improvements we’ve been able to make with the help of our Supporting Partners. From helping us make Drupal.org better to making it easier than ever to give back, the Drupal Association’s many wonderful Supporting Partners are some of the heroes of the Drupal project./p /div/div/div

Drupal Watchdog: RESTfulness and Web Services

Thu, 10/30/2014 - 17:34
div class=field field--article-edit-printtype field-type-list-text field-label-hidden field--rss Feature /div div class=field field--article-body field-type-text-long field-label-hidden field--rss pimg src=http://cdn1.drupalwatchdog.com/sites/default/files/images/web/4.1-RESTfulness.jpg alt= class=img-responsive img-thumbnail width=33% align=right /One of the most anticipated features in Drupal 8 is the integration of RESTful Web Services in Drupal core. Drupal devs are looking forward to being able to do things with core which they couldn't before, such as:/p ulliOffering their site’s data up in an API for others to use and contribute to; /liliBuilding better user interactions by adding and updating content in place instead of a full page submission; /liliDeveloping iPhone and Android apps that can serve and manage content hosted in a Drupal site. /li/ulp But what are RESTful Web Services? In this article, I will walk you through the different conceptions of what is RESTful and explain how the new modules in Drupal core address these different concepts./p h3A Quick History of REST/h3 p Many developers have become aware of REST due to the rising popularity of APIs. These APIs enable developers to build on top of services such as Twitter and Netflix, and many of these APIs call themselves RESTful. Yet these APIs often work in extremely different ways. This is because there are many definitions of what it means to be RESTful, some more orthodox and others more popular.br / The term REST was coined by Roy Fielding, one of the people working on one of the earliest Web standards, HTTP. He coined the term as a description of the general architecture of the Web and systems like it. Since the time he laid out the constraints of a RESTful system in his thesis, some parts have caught hold in developer communities, while others have only found small – but vocal – communities of advocates./p blockquotep For a good explanation of the different levels of RESTful-ness, see a href=http://wdog.it/4/1/maturityMartin Fowler’s explanation of the Richardson Maturity Model/a. /p/blockquote h3What is RESTful?/h3 p So what are the requirements for RESTfulness?/p /div

LightSky: Drupal Press Shouldn't be Bad

Thu, 10/30/2014 - 17:09
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpThis has been an interesting couple of weeks for Drupal, and that platform as a whole has received a lot of press.  With the release of Drupal 7.32, a major (I use this term lightly) security vulnerability was corrected.  Drupal then announced this week that, despite there being no significant evidence of a large number of sites attacked, any site that wasn't patched within a 7 hours of the patch release should consider itself compromised.  Hosts were reporting automated attacks beginning only hours after the patch announcement.  The vulnerability was unprecedented for the Drupal community, but really it shows why Drupal is great, and isn't a black mark on Drupal in our eyes./p pFirst lets look at the announcement by the Drupal Security Team this week, where they say that sites were beginning to be attacked within hours of the patch announcement.  The biggest thing to take from this announcement is the words Drupal Security Team.  Yep, Drupal has one.  I did a search this morning using the following criteria lt;popular CMSgt; security team, and I found the results quite interesting.  When I added Drupal as the popular CMS I got a page full of Drupal Security team information, policies and procedures.  For every other CMS I tried, I got nothing about a team of security people, but a lot of information stating that they are secure and if you find a problem here is how to report it.  Drupal focuses on security, and the Security Team at Drupal is a prime example of how important this really is to the Drupal community./p pThe second thing to take away from this is that the patch really notified the world that there was a vulnerability, and there is no way to stop this from happening.  We didn't have any mass attacks on Drupal sites prior to this release, and the damage here after the release seems to be primarily related to those who chose not to apply the updates as they were instructed to.  This really emphasizes the importance of applying available updates.  Sites where the update was applied quickly likely did not experience any negative effects of the vulnerability, and if they did it was very limited.  Updates to Drupal are certainly optional, but they are necessary to avoid headaches down the road, and this is proof of exactly why.  /p pSo don't be discouraged by all of the bad looking press related to this.  I still stand by the idea that Drupal is the most secure platform available, but it is only as secure as you allow it to be.  If you aren't applying the updates as they are available, you are likely putting your self at risk to have your site compromised.  The big difference I see between Drupal and the other CMS options is that Drupal works diligently to fix module and core vulnerabilities as a habit.  Many others aren't as diligent./p h3 For more tips like these, a href=http://www.lightsky.com/lightsky-socialfollow us/a on social media or subscribe for free to our a href=http://www.lightsky.com/rssRSS feed/a and a href=http://eepurl.com/dx_ljnewsletter/a. You can also a href=http://www.lightsky.com/simple-contact-formcontact us/a directly or a href=http://www.lightsky.com/request-consultationrequest a consultation/a. /h3 /div/div/div

Four Kitchens: Testing Drupal with CasperJS

Thu, 10/30/2014 - 11:05
div class=field-body pIn our last post we used CasperJS to rapidly test the user interface of a website. Now we will build on these skills and add a familiar element into the mix: Drupal. Like any framework, Drupal offers many predictable, standard behaviors which we can take advantage of. Using this predictability, we can easily test many behaviors including logged-in activity such as postingnbsp;content./p /div div class=field-blog-categories-term-tree a href=/topics/testing typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Testing/a /div div class=field-blog-categories-term-tree a href=/topics/javascript typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=JavaScript/a /div div class=field-blog-categories-term-tree a href=/topics/drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal/a /div

Bluespark Labs: Follow the readiness of the top 100 modules for Drupal 8 with our automatically updated tool

Thu, 10/30/2014 - 08:42
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpWith the first Drupal 8 beta having been released at Drupalcon Amsterdam, we thought this would be a good time to take a look at the top 100 projects on drupal.org to see just how far along the line the process of preparing for Drupal 8 is. However, given that there's a lot of progress to be made and I don't feel like manually updating a long list of modules, I decided to make a small a href=http://www.bluespark.com/status-top-100-contributed-modules-drupal-8tool/a to get the status of these modules and keep the data up to date./p pa href=http://www.bluespark.com/status-top-100-contributed-modules-drupal-8 title=Automatically updated status of the top 100 contributed Drupal modules for Drupal 8 (by Bluespark)img class=centered src=http://www.bluespark.com/files/resources/top-100-drupal-module-status-screenshot_0.png //a/p pThis turned out to be a fun little project, and slightly more involved than I anticipated at first. (Isn't it always the case!) However, at its heart it's a bone-simple Drupal project - one content type for the Drupal projects (and their metadata) we're interested in, and a few views to show them as a table and calculate simple statistics. The work of updating the metadata from drupal.org is handled in 85 lines of code, using a href=https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_cron/7hook_cron/a to add each project to a a href=https://api.drupal.org/api/drupal/modules!system!system.queue.inc/group/queue/7Queue/a to be processed. The queue callback borrows code from the a href=https://api.drupal.org/api/drupal/modules%21update%21update.module/7update module/a and simply gets release data, parses it, and updates the metadata on the project nodes. In the end, the most work was doing the research to determine which projects are already in core, and adding notes about where to find D8 upgrade issues and so on./p pSo, how did it all turn out? Using the current top 100 projects based on the a href=http://drupal.org/project/usageusage/a statistics on drupal.org, our tool tells us that as of today, out of the 100 most popular projects:/p ullidiv class=view view-projects-in-d8 view-id-projects_in_d8 view-display-id-default view-dom-id-4d961d66ccc322d128c8e2c09b19e5b1 div class=view-header 20 projects are in core. /div div class=view-content div class=views-row views-row-1 views-row-odd views-row-first div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-2 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-3 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-4 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-5 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-6 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-7 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-8 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-9 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-10 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-11 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-12 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-13 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-14 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-15 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-16 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-17 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-18 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-19 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-20 views-row-even views-row-last div class=views-field views-field-title span class=field-content /span /div /div /div /div/li lidiv class=view view-d8-projects-released view-id-d8_projects_released view-display-id-default view-dom-id-89a1eff1813424268aa76a639de54fd7 div class=view-header 5 projects have an available non-development release. /div div class=view-content div class=views-row views-row-1 views-row-odd views-row-first div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-2 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-3 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-4 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-5 views-row-odd views-row-last div class=views-field views-field-title span class=field-content /span /div /div /div /div/li lidiv class=view view-d8-projects-in-dev view-id-d8_projects_in_dev view-display-id-default view-dom-id-c0262f8a52b9911a8287ed596376bbb1 div class=view-header 28 projects have an available development release. /div div class=view-content div class=views-row views-row-1 views-row-odd views-row-first div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-2 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-3 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-4 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-5 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-6 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-7 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-8 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-9 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-10 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-11 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-12 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-13 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-14 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-15 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-16 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-17 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-18 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-19 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-20 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-21 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-22 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-23 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-24 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-25 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-26 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-27 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-28 views-row-even views-row-last div class=views-field views-field-title span class=field-content /span /div /div /div /div/li lidiv class=view view-d8-projects-no-release view-id-d8_projects_no_release view-display-id-default view-dom-id-0aefa73dcb44f09860196e5c790ee2a6 div class=view-header 47 projects have no available D8 release. /div div class=view-content div class=views-row views-row-1 views-row-odd views-row-first div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-2 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-3 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-4 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-5 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-6 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-7 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-8 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-9 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-10 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-11 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-12 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-13 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-14 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-15 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-16 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-17 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-18 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-19 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-20 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-21 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-22 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-23 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-24 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-25 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-26 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-27 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-28 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-29 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-30 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-31 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-32 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-33 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-34 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-35 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-36 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-37 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-38 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-39 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-40 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-41 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-42 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-43 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-44 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-45 views-row-odd div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-46 views-row-even div class=views-field views-field-title span class=field-content /span /div /div div class=views-row views-row-47 views-row-odd views-row-last div class=views-field views-field-title span class=field-content /span /div /div /div /div/li /ulpThanks for reading, and be sure to keep an eye on the a href=http://www.bluespark.com/status-top-100-contributed-modules-drupal-8status page/a to see how the most used contrib modules are coming along!/p /div/div/divdiv class=field field-name-field-blog-tags field-type-taxonomy-term-reference field-label-abovediv class=field-labelTags:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/blog/drupal-planetDrupal Planet/a/divdiv class=field-item odda href=/blog/drupal-8Drupal 8/a/div/div/divdiv class=field field-name-field-resources field-type-file field-label-abovediv class=field-labelResources:nbsp;/divdiv class=field-itemsdiv class=field-item evenspan class=fileimg class=file-icon alt= title=image/png src=/modules/file/icons/image-x-generic.png / a href=http://www.bluespark.com/files/resources/top-100-drupal-module-status-screenshot_0.png type=image/png; length=60741top-100-drupal-module-status-screenshot.png/a/span/div/div/div

Open Source Training: How to Check Your Drupal Site Security

Thu, 10/30/2014 - 07:11
!-- Start ScreenSteps Content -- div class=LessonContent div class=LessonSummary pimg style=float: right; src=https://www.ostraining.com/images/drupal/autoupdate-or-die.jpg alt=autoupdate or die /If you weren't able to update your Drupal site within a few hours on October 15th, you may be worried about your site./p pEven under normal conditions, it's almost never possible to prove that a site is 100% safe. But by checking your site, you can either give yourself some additional peace of mind or you can confirm that you were hacked./pimg src=http://feeds.feedburner.com/~r/ostrainingdrupal/~4/ptjSREvD9mw height=1 width=1/

PreviousNext: Drupal 7.32 critical update: Our Response

Thu, 10/30/2014 - 06:30
pWith the Drupal Security team's release of a a title=Drupal Security team PSA regarding 7.32 core update href=https://www.drupal.org/PSA-2014-003 target=_blankpublic service announcement/a, the infamous security update known as 'SA-005' is back in the news. Even though it's old news, we've been fielding a new round of questions, so we thought we'd try to clear up some of the confusion./p span property=dc:title content=Drupal 7.32 critical update: Our Response class=rdf-meta/span

Modules Unraveled: 124 Creating Drupal Configuration in Code Using CINC with Scott Reynen - Modules Unraveled Podcast

Thu, 10/30/2014 - 06:00
div class=field field--name-field-image field--type-image field--label-hiddendiv class=field__itemsdiv class=field__item evenimg typeof=foaf:Image src=http://modulesunraveled.com/sites/default/files/styles/podcast_default/public/podcast/image/ScottReynen.png?itok=xaQqp1U3 width=350 height=350 alt=Photo of Scott Reynen //div/div/divspan class=submitted-byPublished: Thu, 10/30/14/spandiv class=field field--name-field-podcast-file field--type-file field--label-hiddendiv class=field__itemsdiv class=field__item evendiv class=mediaelement-audioaudio src=http://traffic.libsyn.com/modulesunraveled/124_Creating_Drupal_Configuration_in_Code_Using_CINC_with_Scott_Reynen_-_Modules_Unraveled_Podcast.mp3 class=mediaelement-formatter-identifier-1414652215-0 controls=controls /audiodiv class=mediaelement-download-linka href=http://traffic.libsyn.com/modulesunraveled/124_Creating_Drupal_Configuration_in_Code_Using_CINC_with_Scott_Reynen_-_Modules_Unraveled_Podcast.mp3Download this episode/a/div/div/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:encodedh2CINC/h2 ulliWhat is CINC?/li liHow is it different from Features or Configuration Management?/li liIs it something you use on an ongoing basis? Or is it just for the initial site setup?/li liWhat types of configuration can you manage with CINC?/li liWhat if you already have a content type created, and you want to add a field to the content type? ulliHow does that affect existing content, and new content./li /ul/li liWhat about the reverse? Can you remove a field? ulliWhat happens to the data that is already in the database?/li /ul/li liCan you undo configuration that you’ve created with CINC?/li liHow do you prevent site admins from disabling the module and deleting their content types?/li liCINC YAML/li liCINC amp; Features/li liCINC amp; Drupal 8 Config API/li licinc.io/li liSheet2Module/li liHow do you see CINC working in a headless Drupal setting?/li /ulh2Use Cases/h2 ulliCreate dozens of fields quickly./li liAdd a field to a content type after an existing field./li liUpdate configuration only if it still matches the default settings./li liHow do you use this in a dev/staging/production/li liHave you noticed any improved feedback, improvements to your workflow while using CINC?/li liIf people want to jump in and help development or work on new features what should they do?/li /ul/div/div/divdiv class=field field--name-field-items-mentioned field--type-link-field field--label-abovediv class=field__labelEpisode Links:nbsp;/divdiv class=field__itemsdiv class=field__item evena href=https://www.drupal.org/u/sreynen rel=nofollow target=_blankScott on drupal.org/a/divdiv class=field__item odda href=http://twitter.com/scottr rel=nofollow target=_blankScott on Twitter/a/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/configuration typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Configuration/a/divdiv class=field__item odda href=/planet-drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=planet-drupal/a/div/div/div

BlackMesh: Looking at DrupalCon Amsterdam Sprints, Upcoming sprints for you to attend

Thu, 10/30/2014 - 05:00
span class=submitted-by/spandiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encoded p By:br / Tim Erickson, a href=https://www.drupal.org/u/stpaultimstpaultim/a, a href=https://twitter.com/stpaultim@stpaultim/a from a href=http://www.triplo.co/Triplo/abr / Alina, a href=https://www.drupal.org/u/alimacalimac/a, a href=https://twitter.com/czaroxiejka@czaroxiejka/abr / Cathy Theys, a href=https://www.drupal.org/u/yesctYesCT/a, a href=https://twitter.com/YesCT@YesCT/a from BlackMesh/p h2 DrupalCon Amsterdam Sprints/h2 p DrupalCon is a great place to enhance your Drupal skills, learn about the latest modules, and improve your theming techniques. Sure, there are sessions, keynotes, vendor displays, and parties... like trivia night!/p p But.. there is also the opportunity to look behind the curtain and see how the software really gets made. And, more importantly, to lend your hand in making it. For six days, three both before and after DrupalCon, there are dedicated sprint opportunities where you can hang out with other Drupalistas testing, summarizing issues, writing documentation, working on patches, or generally contributing to the development of Drupal and the Drupal community./p p We want to share some details about the DrupalCon Amsterdam Sprints (and pictures to reminisce about the good times) and mention some upcoming sprints that you can hopefully attend./p ulli a href=#sponsorsSponsors supporting the sprinters/a/li li a href=#preconPre-con Extended sprints on Saturday and Sunday/a (60 Saturday, 100 Sunday, 180 Monday) /li li a href=#duringDuring the con/a/li li a href=#mentoredFriday Sprint/a (450 people) /li li a href=#postconPost-con Extended sprints on Saturday and Sunday/a (80 Saturday, 60 Sun) /li li a href=#feedbackFeedback about the sprints/a/li li a href=#upcomingUpcoming sprints/a/li /ulh3 id=sponsors Sprint sponsors/h3 ulli a href=https://assoc.drupal.org/Drupal Association/a, a href=https://twitter.com/DrupalAssoc@DrupalAssoc/a/li li a href=https://www.acquia.com/Acquia/a (Large Scale Drupal), a href=https://twitter.com/acquia@Acquia/a/li li a href=http://www.open8.se/Open8/a, a href= https://twitter.com/open8roger@open8roger/a/li li a href=http://www.bluehost.com/Bluehost/a, a href=https://twitter.com/bluehost@Bluehost/a/li li a href=http://david.narrabilis.com/David Hernandez/a, a href=https://twitter.com/davidnarrabilis@davidnarrabilis/a/li li a href=http://www.wunderkraut.com/Wunderkraut/a, a href=https://twitter.com/Wunderkraut@Wunderkraut/a/li /ulp Our sponsors helped us have:/p ulli Space: ulli Co-working space Saturday and Sunday before the con. /li li Sprint space at the venue Monday-Thursday. /li li Big sprint space Friday. /li li Co-working space Saturday and Sunday after the con. /li /ul/li li Food and coffee all of the days. /li li Sprint supplies: task cards, stickers, markers, signs, flip charts. /li li Mentor thank you dinner. /li /ulh3 id=precon Pre-con sprints/h3 p During the weekend before DrupalCon 60 people gathered on Saturday and 100 on Sunday at a href=http://www.beursvanberlage.nl/Werk/Berlage-Meet-en-Workspace/#.VEldxovF_jIThe Berlage/a, a fantastic old castle just blocks from the central train station. On most days the Berlage serves as co-working space. For 48 hours it was home to contributors working together on Drupal core, contrib projects, distributions and Drupal.org itself. Our supportive sponsors supplied lunch and coffee on both days while contributors worked on a number of initiatives: Multilingual, Drupal 8 criticals and beta blocking issues, Headless Drupal and REST, porting contrib projects to Drupal 8, Drupal 8 Frontend United, Search, Drupal.org, Behat (Behavior Driven and javascript/frontend testing), Commerce, Panopoly, Rules, Media, Documentation, Migration, Performance, Modernizing Testbot, and more./p p a href=https://twitter.com/gaborhojtsy/status/515846617002688512img alt=Outside of the Berlage src=https://pbs.twimg.com/media/ByinvthCAAE4i1P.jpg width=332 //abr / The outside of the Berlage co-working space (castle) with the Drupal Association banner.br / (photo: a href=https://twitter.com/gaborhojtsy@gaborhojtsy/a)/p p a href=https://twitter.com/gaborhojtsy/status/515782375859822592img alt=Sprinters working inside the Berlage castle src=https://pbs.twimg.com/media/ByhtUWuCIAEmPAi.jpg width=573 //abr / Sprinters sprinting inside the cool looking Berlage.br /imarthinal, franSeva, estoyausente, YesCT, Ryan Weal/ibr / (photo: a href=https://twitter.com/gaborhojtsy@gaborhojtsy/a)/p p We had lots of rooms for groups to gather at the Berlage./p p a href=https://www.flickr.com/photos/x-foto/15366953541/in/set-72157647687448298/img alt=Field API room at the Berlage sprint. src=http://www.blackmesh.com/sites/default/files/wim.jpg width=573 //abr /ipwolanin, dawehner, wimleers, Hydra, swentel/ibr / (photo: a href=https://twitter.com/Schnitzel@Schnitzel/a)/p p a href=https://www.flickr.com/photos/x-foto/15369812372/in/set-72157647687448298/img alt=Field API room at the Berlage sprint. src=http://www.blackmesh.com/sites/default/files/yched.jpg width=573 //abr /iSutharsan, yched, Berdir/ibr / (photo: a href=https://twitter.com/Schnitzel@Schnitzel/a)/p p On Monday sprint attendance grew to 180 sprinters. We moved to the conference venue, Amsterdam RAI. Other pre-conference events taking place included trainings, the Community Summit, and the Business Summit. At this particular DrupalCon there was much excitement about the anticipated beta release of Drupal. Many people did a lot of testing to make sure that the beta would be ready./p p a href=https://www.flickr.com/photos/borisbaldinger/15368972396/in/faves-38914559@N03/img alt=Sprinters working together, talking. src=http://www.blackmesh.com/sites/default/files/gabormonday.jpg width=573 //abr / Discussing a beta blocker issue they found.br /ilauriii, sihv, Gábor Hojtsy, lanchez/ibr / (photo: a href=https://twitter.com/borisbaldinger@borisbaldinger/a) /p p a href= https://www.flickr.com/photos/borisbaldinger/15205240249/in/faves-38914559@N03/img alt=Mauzeh, Tobias and the sprint location at the venue. src=http://www.blackmesh.com/sites/default/files/mauzeh.jpg width=573 //abr / Lots of people sprinting and testing the beta candidate, with support from experienced core contributors walking around and helping.br /itstoeckler, mauzeh/ibr / (photo: a href=https://twitter.com/borisbaldinger@borisbaldinger/a) /p h3 id=during During the con/h3 p Sprinting continued during the conference, Tuesday through Thursday. And, to prepare for Friday's mentored sprint, the core mentoring team scheduled a series of 8 BOFs (‘Birds of a Feather’ or informal sessions). Preparations included mentor orientation, setting up local environments, and reading, updating, and tagging issues in the Drupal issue queue. Mentoring BoFs were open to all conference participants./p p a href=https://www.flickr.com/photos/27243356@N03/15447027725 title=Untitled by stpaultim, on Flickrimg alt=Mentors sitting in a BoF room src=https://farm3.staticflickr.com/2945/15447027725_8153195ec6.jpg width=573 //abr / Mentor Trainingbr /iYesCT, sqndr, -, -, lazysoundsystem, neoxavier, Mac_Weber, patrickd, roderik, jmolivas, marcvangend, -, realityloop, rteijeiro/ibr / (photo: a href=https://www.flickr.com/photos/27243356@N03/#10;stpaultim/a)/p p To promote contribution sprints, mentors volunteered at the mentoring booth in the exhibition hall during all three days of DrupalCon. Conference attendees who visited the booth learned about the Friday sprints. Mentors also recruited additional mentors, and encouraged everyone to get involved in contributing to Drupal./p p a href=https://www.flickr.com/photos/27243356@N03/15260257609 title=Untitled by stpaultim, on Flickrimg alt=The mentor booth with lots of colorful signs src=https://farm4.staticflickr.com/3936/15260257609_7a23333a56.jpg width=573 //abr / The mentor booth with lots of signage, and welcoming people.br /imradcliffe, kgoel/ibr / (photo: a href=https://www.flickr.com/photos/27243356@N03/#10;stpaultim /a)/p p At the booth, conference attendees were able to pick up our new a href=https://www.drupal.org/sprint-task-cardscontributor role task cards/a and a href=https://www.drupal.org/node/2269681#comment-8980351stickers/a which outlined some of the various ways that people can contribute to Drupal and provided them with a sticker as recognition for the specific roles that they already play./p p a href=https://twitter.com/HornCologne/status/516499699369795584img alt=picture of the cards and stickers src=https://pbs.twimg.com/media/Byr5vCnIYAA32aH.jpg //abr /a href=https://www.drupal.org/sprint-task-cardsTask cards/a and a href=https://www.drupal.org/node/2269681#comment-8980351stickers/abr / (photo: a href=https://twitter.com/HornCologne/status/516499699369795584@HornCologne/a) /p h3 id=mentored Mentored Sprint/h3 p In Amsterdam, 450 people showed up to contribute to Drupal on Friday./p p a href=https://www.flickr.com/photos/steffenr/15438965225/in/faves-38914559@N03/img alt=lots of people at the Friday sprint src=http://www.blackmesh.com/sites/default/files/lotsofpeople.jpg width=573 //abr / (photo: a href=https://twitter.com/_SteffenR_SteffenR/a)/p p People gathered in groups to work on issues together./p p a href=https://www.flickr.com/photos/peterlozano/15446121105/in/faves-38914559@N03/img alt=A group around a table. src=http://www.blackmesh.com/sites/default/files/fridaygroup.jpg width=573 //abr /i-, -, -, -, -/ibr / (photo: a href=http://twitter.com/peterlozano@peterlozano/a)/p p For many people the highlight of the week is the large “mentored” sprint on Friday. 180 of the 450 participated in our a href=https://amsterdam2014.drupal.org/first-time-sprinter-workshopFirst-time sprinter workshop/a designed to help Drupal users and developers better understand the community, the issue queues, and contribution. The workshop helped people install the tools they would use as contributors. Another 100 were ready to start work right away with our 50 mentors. Throughout the day people from the first-time sprinter workshop transitioned to contributing with other sprinters and mentors. Sprinters and mentors helped people identify issues that had tasks that aligned with their specific skills and experience./p p a href=https://www.flickr.com/photos/27243356@N03/15260435768 title=Untitled by stpaultim, on Flickrimg alt=The dark workshop room with presentation screen, filled with people. src=https://farm3.staticflickr.com/2950/15260435768_41b49a587d.jpg width=573 //abr / The workshop room.br / (photo: a href=https://www.flickr.com/photos/27243356@N03/#10;stpaultim/a)/p p a href=https://www.flickr.com/photos/27243356@N03/15443880101 title=Untitled by stpaultim, on Flickrimg alt=Mentors checking in with tables full of sprinters. src=https://farm4.staticflickr.com/3928/15443880101_76904681ec.jpg width=573 //abr / Mentors (in orange shirts): irachel_norfolk, roderik/ibr / (photo: a href=https://www.flickr.com/photos/27243356@N03/#10;stpaultim/a)/p p a href=https://www.flickr.com/photos/27243356@N03/15447075335 title=Untitled by stpaultim, on Flickrimg alt=Mentored Core Sprint room sign, modified with marker to have a list of good and not good novice tasks. src=https://farm4.staticflickr.com/3935/15447075335_1a363227ec.jpg width=332 //abr / Hand written signs were everywhere!br / (photo: a href=https://www.flickr.com/photos/27243356@N03/#10;stpaultim/a)/p p a href=https://twitter.com/Crell/status/518058663152746496img src=https://pbs.twimg.com/media/BzCDm33IAAEnwjy.jpg //abr / A group picture of some of the mentors.br /imradcliffe, Aimee Degnan, alimac, kgoel, rteijero, Deciphered, emma.maria, mon_franco, patrickd, 8thom, -, lauriii, marcvangend, ceng, Ryan Weal, YesCT, realityloop, -, lazysoundsystem, roderik, Xano, David Hernández, -, -, -, -/ibr / (photo: a href= https://twitter.com/Crell@Crell/a)/p p Near the end of the day, over 100 sprinters (both beginners and veterans) gathered to watch the work of first time contributors get committed (added) to Drupal core. Angie Byron (webchick) walked the audience through the process of evaluating, testing, and then committing a patch to Drupal core./p p a href=https://www.flickr.com/photos/peterlozano/15259312079 title=Untitled by Pedro Lozano, on Flickrimg alt=webchick celebrating and showing her screen on the overhead. Contributors clapping. src=https://farm3.staticflickr.com/2947/15259312079_16be17a57e.jpg width=573 //abr / Live commit by webchickbr /iwebchick, -, -, marcvangend/ibr / (photo: a href=https://www.flickr.com/photos/peterlozano/Pedro Lozano/a)/p h3 id=postcon Extended sprints on Saturday and Sunday/h3 p On Saturday after DrupalCon 80 dedicated contributors moved back to the Berlage to continue the work on Drupal core. 60 people came to contribute on Sunday. During these final days of extended sprints, Drupal beginners and newcomers had the chance to exercise their newly acquired skills while working together with some of the smartest and most experienced Drupal contributors in the world. The value of the skills exchanges and personal relationships that come from working in this kind of environment is cannot be underestimated. While there is an abundance of activity during Friday’s DrupalCon contribution sprints, the atmosphere during extended sprints is a bit more relaxed. Attending the pre and post-con sprints gives sprinters time to dive deep into issues and tie up loose ends. After a number of hallway and after-session conversations, contributors working on specific Drupal 8 initiatives meet to sketch out ideas, use whiteboards or any means of note-taking to make plans for the future./p p a href=https://www.flickr.com/photos/27243356@N03/15260394149img alt=Sprinters in the front end room. src=https://farm4.staticflickr.com/3936/15260394149_a4d23a8e74.jpg width=573 //abr /iLoMo, Outi, pfrenssen, lauriii, mortendk, emma.maria, lewisnyman/ibr / (photo: a href=https://www.flickr.com/photos/27243356@N03/#10;stpaultim/a)/p p a href=https://www.flickr.com/photos/27243356@N03/15424094686img alt=Berlage first room filled with people at all the tables, some high tables. src=https://farm6.staticflickr.com/5599/15424094686_456b23be92.jpg width=573 //abr /iAimee Degnan, Schnitzel, dixon, -, Xano, alimac, boris, Gábor Hojtsy, realityloop, YesCT, justafish, eatings, fgm, penyaskito, pcambra, -/ibr / (photo: a href=https://www.flickr.com/photos/27243356@N03/#10;stpaultim/a)/p p a href=https://www.flickr.com/photos/27243356@N03/15260382619img alt=Drupal.org sprint room at the Berlage. src=https://farm6.staticflickr.com/5597/15260382619_ed0f76781e.jpg width=573 //abr /i-, jthorson, opdavies, drumm, RuthieF, -, -, killes, dasrecht/ibr / (photo: a href=https://www.flickr.com/photos/27243356@N03/#10;stpaultim/a)/p h3 id=feedback Feedback about the sprints/h3 ulli a href=http://www.adamevertsson.se/en/articles/sprinting-first-timeSprinting for the First Time/a - Blog post by a href=https://twitter.com/AdamEvertssonAdamEvertsson/a/li li a href=http://www.triquanta.nl/blog/rookie-drupal-core-contributor-one-dayFrom Rookie to Drupal Core Contributor in One Day/a - Blog post by a href=https://twitter.com/dmsmidt@dmsmidt/a/li li a href=http://www.triquanta.nl/blog/drupalcon-amsterdam-2014DrupalCon Amsterdam, 2014/a - Blog post by a href=https://twitter.com/valvalg@valvalg/a/li li em“Mentoring at a href=https://twitter.com/hashtag/DrupalCon?src=hash#DrupalCon/a sprints is the most rewarding and enjoyable part of the week :) lt;3 a href=https://twitter.com/drupalmentoring@drupalmentoring/a a href=https://twitter.com/hashtag/DrupalSprint?src=hash#DrupalSprint/a/em - a href=https://twitter.com/emma_maria88/status/518042124059967488Original Tweet/a from a href=https://twitter.com/emma_maria88@emma_maria88/a/li li em“One hour at the a href=https://twitter.com/hashtag/DrupalCon?src=hash#DrupalCon/a code sprint and I've already submitted my first patch. It is going to be a good week.”/em - a href=https://twitter.com/skwashd/status/515889587965952000Original Tweet/a from a href=https://twitter.com/skwashd@skwashd/a/li li a href=https://medium.com/integral-vision/hi-im-george-im-your-mentor-9b821079badcHi, I'm George! I'm your mentor!/a - Blog post by Thamas (a href=https://twitter.com/eccegostudio@eccegostudio/a) /li /ulp Please contact me to get your DrupalCon Amsterdam sprint related blog added to the list here./p h3 id=upcoming Upcoming sprints/h3 ulli a href=https://2014.badcamp.net/BADCamp/a (a href=https://groups.drupal.org/node/447118sprint details/a November 5 - 10 2014) /li li a href=https://groups.drupal.org/node/447258Global Sprint Weekend/a January 17, 18 2015 /li li a href=https://latinamerica2015.drupal.orgDrupalCon Latin America in Bogota/a (a href=https://groups.drupal.org/node/447308sprint details/a Feb 8 - 13 2015) /li li lots of camps, check a href=http://druplical.comdruplical.com/a (The drupal event location visualization tool.) /li li a href=http://devdays.drupalcamp.frDrupal Dev Days/a April 2015 /li li DrupalCon North America in a href=https://losangeles2015.drupal.org/Los Angeles/a (sprint May 9 - 17 2015) /li li DrupalCon Europe in a href=http://barcelona2015.drupal.org/Barcelona/a (sprint Sept 19 - 27 2015) /li /ulp Plan your travel for the next event so you can sprint with us too!/p h3 Corrections/h3 p If there are corrections, for example of names of people in the pictures, please let me know. -Cathy, a href=http://twitter.com/YesCT@YesCT/a, or a href=http://drupal.org/u/yesctDrupal.org contact form/a./p /div/div/divdiv class=field field-name-field-tags field-type-taxonomy-term-reference field-label-hiddendiv 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/sprints typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Sprints/a/divdiv class=field-item evena href=/tags/drupalcon typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=DrupalCon/a/divdiv class=field-item odda href=/tags/drupal-planet typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal Planet/a/div/div/divdiv class=field field-name-field-blog-images field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item evenimg typeof=foaf:Image src=http://www.blackmesh.com/sites/default/files/lotsofpeople.jpg width=640 height=424 alt=Lots of people at the Friday sprint title=Friday sprint //div/div/div

Gizra.com: RESTful Discovery - Who knows about your API?

Wed, 10/29/2014 - 23:00
pAs extremely pedantic developers we take documenting our APIs very seriously. It#39;s not rare to see a good patch rejected in code review just because the PHPdocs weren#39;t clear enough, or a code@param/code wasn#39;t declared properly./p pIn fact, I often explain to junior devs that the most important part of a function is its signature, and the PHPdocs. The body of the function is just quot;implementation detailsquot;. How it communicates its meaning to the person reading it is the vital part./p pBut where does this whole pedantic mindset got when we open up our web-services?br I would argue that at least 95% of the developers who expose their web-service simply enable RESTws without any modifications. And here#39;s what a developer implementing your web-service will see when visiting code/node.json/code:/p pa href=http://www.gizra.com/content/restful-discovery/Continue reading…/a/p