Planet Drupal

Syndicate content - aggregated feeds in category Planet Drupal
Updated: 35 min 44 sec ago

Mediacurrent: Top Drupal Marketing Automation Modules

Mon, 09/15/2014 - 18:19
img typeof=foaf:Image src= width=200 height=152 alt=Top Marketing Automation Drupal Modules title=Top Marketing Automation Drupal Modules / pA a href= lead management process/a requires B2B marketing professionals to respond to each prospect within the buying process. However, as your business grows, understanding and responding relevantly to a buyer’s interest is almost impossible to do manually. To ensure that your marketing efforts are targeting customers and prospects with the right messages at the right time, integrating a marketing automation platform into your Drupal website is key. /p

Dries Buytaert: Reflections on Drupal in China

Mon, 09/15/2014 - 16:14
div class=field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-abovediv class=field-labelTopic:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/tag/drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal/a/div/div/divdiv class=field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-abovediv class=field-labelLocation:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/tag/china typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=China/a/div/div/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpI just spent the past week in China, and I thought I'd share a few reflections on the state of Drupal in China./p pFirst, let me set the stage. There are 1.35 billion people living in China; that is almost 20 percent of the world's population. Based on current trends, China's economy will overtake the US within the next few years. At that point, the US economy will no longer be the largest economy in the world. China's rapid urbanization is what has led to the country's impressive economic growth over the past couple of decades and it doesn't look like it is going to stop anytime soon. To put that in perspective: China currently produces and uses 60 percent of the world's cement./p pIn terms of Drupal, the first thing I learned is that Drupal sounds like the pig is running (Zhu Pao) in Chinese. Contrary to a pig's rather negative reputation in the West, many Chinese developers find that cute. A pig is a more honorable sign in Chinese astrology and culture. Phew!/p pIn terms of adoption, it feels like the Drupal community in China is about 8 to 10 years behind compared to North America or Europe. That isn't a surprise, as Open Source software is a more recent phenomenon in China than it is in North America or Europe./p pSpecifically, there are about 5 Drupal companies in Shanghai (population of 21 million people), 3 Drupal companies in Beijing (population of 23 million people) and 5 Drupal companies in Hong Kong (population of 7 million people). The largest Drupal companies in China have about 5 Drupal developers on staff. Four of the 5 Shanghai companies are subsidiaries from European Drupal companies. The exception is a href=http://www.ciandt.comCiT/a, which has 40 Drupal developers in China. CiT is a global systems integrator with several thousand employees worldwide, so unlike the other companies I met, they are not a pure Drupal play. Another point of reference is that the largest Drupal event in China attracted 200 to 300 attendees./p div class=figure a href= src= alt=Drupal meetup tianjin style=border: 1px solid #ccc; padding: 4px;//a /div pGiven that China has 4 times the population of the US, or 2 times the population of Europe, what are we missing? In talking to different people, it appears the biggest barrier to adoption is language. The problem is that Chinese Drupal documentation is limited; translation efforts exist but are slow. The little documentation that is translated is often outdated and spread out over different websites. Less than 20 percent of the Chinese Drupal developers have an account on, simply because they are not fluent enough in the English language. Most Drupal developers hang out on QQ, an instant messaging tool comparable to Skype or IRC. I saw QQ channels dedicated to Drupal with a couple thousand of Drupal developers./p pThere is no prominent Chinese content management system; most people appear to be building their websites from scratch. This gap could provide a big opportunity for Drupal. China's urbanization equals growth -- and lots of it. Like the rest of the economy, Drupal and Open Source could be catching up fast, and it might not take long before some of the world's biggest Drupal projects are delivered from China./p pSupporting Drupal's global growth is important so I'd love to improve Drupal's translation efforts and a href= Drupal more inclusive and more diverse/a. Drupal 8's improved multilingual capabilities should help a lot, but we also have to improve the tools and processes on to help the community maintain multi-lingual documentation. Discussing this with both the a href= Association/a and different members of our community, it's clear that we have a lot of good ideas on what we could do but lack both the funding and resources to make it happen faster./p div class=figure a href= src= alt=Drupal meetup tianjin style=border: 1px solid #ccc; padding: 4px;//a /div pSpecial thanks to a href= Liu/a (Delivery Manager @ CiT), a href= Wang/a (CEO @ INsReady Inc.) and a href= Yau/a. All the Drupal people I met were welcoming, fun and are working hard./p /div/div/div

Acquia: Custom Distributions on Acquia Cloud: Part 1 -- Drush Make

Mon, 09/15/2014 - 15:54
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 evenpEvery developer has a slightly different approach to building their Drupal sites. I’ve tried just about every approach, and they all have their merits, but my favorite is Drush Make. Before joining Acquia, I didn’t realize Acquia Cloud supported Drush Make, but I was delighted to discover that a href= target=_blankI was wrong/a. Assuming I’m not the only person who had missed this fact, I wanted to spend a little time highlighting where this exists and how I’m using it./p/div /div /div span property=dc:title content=Custom Distributions on Acquia Cloud: Part 1 -- Drush Make class=rdf-meta/span

Jonathan Brown: Drupal Bitcoin

Mon, 09/15/2014 - 15:46
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpAlmost everything we do on the web will work better with autonomous blockchain technologies such as a href= target=_blankBitcoin/a amp; a href= target=_blankethereum/a because they allow systems to be built with unbreakable rules. Unlike Facebook, Twitter, Airbnb, Uber, PayPal or eBay, no executive authority can step in and say the rules don't apply to you./p pOf all the blockchain technologies, Bitcoin is currently the most high profile. It is a massive area of growth in the startup eco-system./p pa href= target=_blankDrupal 8/a is going to be a fantastic platform for building startups, but we need to make sure that it is also a fantastic platform for blockchain startups./p pI've started by creating a Drupal 7 amp; 8 project called a href= Tools/a. It provides various components that would be useful for building a Bitcoin web product. Many of the altcoins are very similar to Bitcoin so the project could easily be extended to accommodate them./p pI've also created a a href= target=_blankBlockchain BoF/a at a href= target=_blankDrupalCon Amsterdam/a on the Tuesday at 10:45./p h1Coin Tools base module/h1 pContains the following field types:/p ulliAddress/li liAmount/li liTransaction/li /ulh2Widgets/h2 pimg height=148 src= width=342 //p h2Formatters/h2 pimg height=280 src= width=222 //p h1Coin Tools Daemon/h1 ullifacilitates configuration and access to bitcoind service/li litriggers a hook when a Bitcoin transaction is detected/li liprovides a full UI for browsing transactions and sending and receiving bitcoin/li /ulpimg height=119 src= width=269 //p pimg height=399 src= width=633 //p pimg height=399 src= width=633 //p pimg height=386 src= width=633 //p pimg height=379 src= width=633 //p pI am currently working on a full implementation of a href= target=_blankBIP 70/a which provides a much improved payment experience for the customer. Then I will add integration with a href= target=_blankPayment/a / a href= target=_blankCommerce/a. This means it will be possible to receive payments in Commerce without using a third party payment processor./p h1Coins Tools Fiat/h1 ulliobtains bitcoin exchange rates from a href= target=_blankBitcoinAverage/a (which I consider to be the gold standard), falling back to a href= target=_blankBitPay BBB/a/li lifacilitates rendering of fiat amounts/li liuser can select preferred fiat currency/li licurrent bitcoin value block/li /ulpimg height=352 src= width=633 //p pimg height=47 src= width=240 //p pIf you would like help developing your Bitcoin startup on Drupal, please a href= target=_blankget in touch/a./p /div/div/div

Makina Corpus: A Drupal front-end theme with Bootstrap, LESS and Gulp

Mon, 09/15/2014 - 14:45
More and more articles with these words are appearing right now: here's our approach for a front-end theme complying with Web good practices.

DrupalCon Amsterdam: DrupalCon for Designers

Mon, 09/15/2014 - 11:54
div class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item evenpUnlike DrupalCon Austin, there is no separate UX track at DrupalCon Amsterdam. Ruben and I had to balance both design and development into one track. It was challenging, but it forced us to be really careful about every decision remade./p pWe really wanted there to be an overlap between sessions, frontend development and design are closer than ever in the workplace, so we wanted to reflect that in our session line up./p pHere are a few sessions we think complement each other really well./p h3a href= target=_blankThe State of the Frontend/a/h3 pNot sure what to learn or where to start in frontend development? Let David and Brian guide you through the landscape, introducing new tools and techniques. /p pWe've also planned this session as an introduction to the entire track, pointing signposts towards other sessions in that track that can fill in more in-depth knowledge about particular subjects. I would encourage everyone with an interest in frontend development to attend the session if only to better understand which sessions in the frontend track are right for them./p pWe also have a few session that compliment and feed in to each other. Here are a few sessions we think work really well together./p h3a href= target=_blankBecause it's about the interactions. (Better UX through prototyping)/a amp; a href= target=_blankAxure Prototyping for Drupal/a/h3 pHow do we shift from an old design process to a new one while keeping our clients and team members happy? Roy Scholten, UX co-maintainer for Drupal Core, walks us through why prototyping is a better way to design and how to introduce this into your work life./p pThen, in Axure Prototyping for Drupal, Dani Nordin takes us on a deep dive of a href= target=_blankAxure/a, a prototyping tool you can use without coding. I've been using it recently on a client project and I've been impressed with the way it introduces some concepts of frontend development without asking you to write code./p h3a href= target=_blankThe Future of HTML and CSS/a/h3 pAs a designer, knowing the limits and capabilities of your medium is important, also it means you can call your developers out when they hit you with “That's not possible” which is fun. If you're interested in seeing where web browsers are heading and finding new tricks to add to your repertoire, Preston's talk on The Future of HTML and CSS should be a treat./p h3a href= target=_blankGetting a CLUE at the Command Line/a/h3 pAs a designer/front-end dev, I've never had a formal education on the command line, it's always been something I've picked up as I've needed it. It used to scare me. This is me using the command line a few years ago:br /img src= //p pI'm so happy Emma Jane is talking on the command line in Getting a CLUE at the Command Line in the same vein as her a href= target=_blankintroduction to Git/a at DrupalCon Prague last year. The command line is an immensely powerful and productive tool and I'm looking forward to picking up a few tips./p h3a href= target=_blankOpen Source Design/a/h3 pSomething I've struggled with, both in my day job and as the maintainer of Drupal's admin theme is how do we bring successful design together with Open Source. I'm really happy that a href= target=_blankJan-C. Borchardt/a, agreed to speak at DrupalCon and share his knowledge and experience with us. Jan is a big supporter of usability and design in free and open source software, with projects including A guide to a href= target=_blankUsability in Free Software/a, a href= target=_blankOwnCloud/a, a href=,owncloud,openstreetmap,jamendo,cloud9,plos target=_blankLibre Projects/a, and the brilliant a href= target=_blankTerms of Service; Didn't Read/a. /p pIt's really important for Drupal for us to gain insight from people outside the community and learn from other projects. Thanks again Jan for agreeing to speak! I can't wait!/p p--br / Lewis Nyman (a href= target=_blankLewisNyman/a)br / DrupalCon Amsterdam Frontend Track Chair/p /div/div/div

MariqueCalcus: Drush

Mon, 09/15/2014 - 09:30
pstrongDru/strong(pal)strongsh/strong(ell) is an essential tool if you are working with Drupal intensively. If you don't know it yet, Drush is command line shell and scripting interface for Drupal. It helps you to quickly perform various administation and maintenance tasks using only a terminal. If you are not convinced, you should probably a href= target=_blankinstall it/a and give it a try. You won't regret it. It's awesome and will save you headaches, time and again more time. If you are using Drush, you must have been using the command drush cc all like a million time. I have. But Drush can do much more./p a href=''Read More.../a

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

Mon, 09/15/2014 - 00:47
pPerhaps the most important development is the final naming of what was field/field instance in Drupal 7: in Drupal 8 these are configuration entities. The machine names are field_storage_config and field_config. There has been several renames but we have settled on these finally (although the field_config rename is not yet in). It does reflect the most important difference between them: field storage contains everything pertaining to the storage of the field. The things that do not change the storage of it go into the instance. However, some confusion might come from already existing Drupal 8 documentation and other materials where field_config was the name for what ended up as field_storage_config./p pIn other rename news, entity storage/list/form/render controllers are now handlers. This probably decreases confusion as controllers are used by the router system to deliver the page content./p pMigrate now tracks the whether a migration has been run or not. Previously we were guessing from the id mappings -- but if a source returned zero rows we couldn't really say whether the migration ran or not. Now we could clarify for real what are hard dependencies and what are optional. In the Drupal 6 migration, there are few optional ones which is just as it should be./p pThere's a Views migration in the works. As expected it's really complicated with lots of moving parts but it's coming along nicely./p pOnly book storage needs entity field query conversion after the epic comment query conversion issue finally got resolved./p pOne of the child issues of the last beta blocker removes the special casing for SQL storage -- hurray! Instead of requesting the schema of entity tables during module install (and other places) and then creating the tables there are now events on entity type create, update and delete. This makes it possible to create mongodb indexes cleanly./p

d7One: Step by step guide to installing Commerce from scratch

Sun, 09/14/2014 - 20:50
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenThe following guide was used in a presentation at DrupalCamp Montreal 2014. The presentation focused on how to install Drupal Commerce from scratch. h3FIRST FLOOR/h3 ol start=101lia href= target=_blank liInstall required modules ullispan style=color: rgb(0, 128, 0);drush dl ctools views entity rules addressfield commerce/span/li lispan style=color: rgb(0, 128, 0);drush en ctools views entity rules addressfield commerce -y/span/li /ul/li/ol/div/div/divdiv class=field field-name-field-addthis field-type-addthis field-label-hiddendiv class=field-itemsdiv class=field-item evena class=addthis_button addthis:title=Step by step guide to installing Commerce from scratch - d7One addthis:url= src= alt=Share page with AddThis / /a /div/div/divdiv class=field field-name-field-tags field-type-taxonomy-term-reference field-label-inline clearfixh3 class=field-labelTags: /h3ul class=links inlineli class=taxonomy-term-reference-0a href=/en/tags/commerceCommerce/a/lili class=taxonomy-term-reference-1a href=/en/tags/guideguide/a/lili class=taxonomy-term-reference-2a href=/en/tags/drupalcamp-montreal-2014DrupalCamp Montreal 2014/a/li/ul/div

Steve Purkiss: Case Study - NickJr. Colour CMS API - Feedback sought!

Sun, 09/14/2014 - 20:00
div class=field field-name-ds-user-picture field-type-ds field-label-hiddendiv class=field-itemsdiv class=field-item evena href=/member/steve-purkissimg typeof=foaf:Image src= alt=Steve Purkiss#039;s picture title=Steve Purkiss#039;s picture //a/div/div/divdiv class=field field-name-post-date field-type-ds field-label-hiddendiv class=field-itemsdiv class=field-item evenSunday, 14th September 2014/div/div/divdiv class=field field-name-title field-type-ds field-label-hiddendiv class=field-itemsdiv class=field-item even property=dc:titleh1Case Study - NickJr. Colour CMS amp; API - Feedback sought!/h1/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:encodedpIt's been an embarrassing amount of time since I last blogged or did anything to my site so I've started to create some content, but before I submit it as a case study on Drupal's site I'd love to have some feedback, it's been years since I wrote case studies so a little rusty. Is it of interest? Does it help? Does it answer the right questions? Are there any questions you'd like me to answer?/p h2 img alt=NickJr. Colour CMS Home Screen src= //h2 h2 Brief overview/h2 pViacom’s Nick Jr. is a digital television channel aimed younger children, home to popular shows including Dora the Explorer, Angelina Ballerina, and PAW Patrol. 'Colour' is a section of the Nick Jr. website where, daily, tens of thousands of users interact with predefined line-art drawings using paint brushes and stickers. They can then, if they wish to, send pictures they create to their friends via email. The mostly Flash-based front-end currently connects to a legacy back-end system which is being replaced with Drupal./p h2 Completed Drupal site or project URL/h2 pa href=!/colour!/colour/a/p h2 Why Drupal was chosen/h2 pDrupal's core and contributed modules along with customisable web administration interface provided all the functionality required out-of-the-box and is already used widely throughout the organisation./p h2 Describe the project (goals, requirements and outcome)/h2 h3 Project Goals/h3 pThe goal of this project was to provide a bespoke back-end CMS based on Drupal to replace the legacy system, along with introducing new functionality enabling Send to Gallery and Pic of the Week features. The CMS needed to as simple as possible for content managers to use, and the whole system had to be able to cope with the tens of thousands of users using the API on a daily basis./p h3 Deliverables/h3 pThe site was to be delivered as a Drupal install profile so it can be adapted and re-used – an initial step towards creating internal Nickelodeon-specific distributions of Drupal, further lowering costs and time-to-market for future projects with similar requirements. Purkiss built a similar system a few months prior for Universal Artists uView Augmented Reality App and have extensive experience integrating Drupal with 3rd party services so were ideally placed to deliver this type of Drupal project./p h3 Theme/h3 pFirst we set up the install profile with Shiny, the administration theme which comes with Drupal Commerce Kickstart, to be the main theme to the site. Shiny is a great theme for this kind of system where there's really only one main display the content managers interact with – it's easy on the eye with good typography and spacing./p h3 Legacy Migration/h3 pWe then re-created what functionality was required from the legacy system using Drupal Services – the calls for saving images, retrieving images for a show, etc. There was a major difference here as the legacy system stored all the data in flat XML files with no user data linked. Drupal is a relational database system so we have user accounts, content types and taxonomies – this proved to be an exercise in both education of the client as to the benefits of hooking into the Drupal API, along with re-architecting of the current content model and workflow./p h3 Features/h3 pWe used a Features-based approach to development with each of these features, along with the install profile, having their own private Git code repository in the cloud in order for issue tracking and maintenance to be easier./p pThe features we delivered were as follows:/p ulli strongContent Types/strong ulli emNickJr Colour Image/em – stores the user’s image along with a Canvas ID which refers to the line art used, a taxonomy field to link to the associated show, and two flags – one to show if the user has sent the image in to Nickelodeon for consideration to be included in the showcase, and one to denote whether it is in the associated show’s showcase./li /ul/li li strongFields/strong ulli emUser Profile Fields/em – extra profile fields to store the user’s name and age./li /ul/li li strongRules/strong ulli emRedirect after login/em – redirects to the front page view after logging in./li li emPic of the Week/em – Views Bulk Operations Component – one rule to set and one to unset an image as Pic of Week/li li Showcase – one to set and one to unset an image as to be in a Show's Showcaseimg alt=NickJr. Colour CMS Views Bulk Operations src= //li /ul/li li strongServices/strong ulli emNickJr. Colour API/em – the Services settings for the custom API endpoints./li /ul/li li strongTaxonomy/strong ulli emShows Taxonomy/em – with Pic of the Week field/li /ul/li li strongVariables/strong ulli emAlways harmonize views filters/em – Allows views to use both contextual and exposed filters for views/li /ul/li li strongViews/strong ulli emFront Page/em – Displays all images, defaults to only show images Sent to Nick/li li emShowcase/em – Displays images in showcase, all if no show_id sent through/li li emUser Profile/em – Displays users images on their profile page/li /ul/li /ulh3 Schedule/h3 pProject timescale and budget was for an incredibly tight 10 days which we delivered in, however were subsequently hired for a further 7 days to re-factor the API and provide a few final additions to the administration interface./p pOut-of-the-box, Drupal Services module provide a standard set of API calls so you can do things like create a user, a node, etc. so all the functionality required was there however required a number of calls to the API to achieve the desired workflow. It was decided to spend extra time creating custom API endpoints which would hide this functionality, reduce the number of API calls required, and make it easier for future users of the API./p pThe downside to this approach is the technical debt introduced when diverting away from the * infrastructure of support, i.e. core and contributed modules. In this instance the code was simply wrapping existing API calls and the client has access to technical resources so the decision was to take on the technical debt in order to produce a more tailored outcome./p h3 Outcome/h3 pWe used the extra time to create a RESTful API which abstracted away from Drupal Services out-of-the-box API endpoints along with coding an auto account creation system to link up user data from the front-end without users having to enter their email address, a requirement of Drupal’s user account creation. We documented the API using Drupal’s inbuilt help module and passed the system over to the client, helping them through building the system from the Drush make file./p h3 Summary/h3 pThe resulting system is a clean, simple-to-use CMS with RESTful API handling thousands of users on a daily basis. Content managers have a separate role with very restricted access so can only do what they need to do on the system./p pWe really enjoyed delivering this project, however alert anyone thinking of building similar to allow extra time, especially if it is their first Drupal experience - no matter how good specifications are, issues usually arise in one form or another. Also often once people do start using Drupal and see the possibilities available, requirements change and it is good to allow for those to be taken into account./p h3 About Purkiss/h3 pPurkiss helps organisations onboard Drupal through consultancy, development, training and support. For more information about Purkiss services please visit a href=http://purkiss.com h2 Modules/Themes/Distributions/h2 pboolean_formatterbr / corsbr / evabr / featuresbr / filter_harmonizerbr / mimemailbr / rulesbr / servicesbr / shinybr / smtpbr / strongarmbr / views_bulk_operationsbr / views/p h2 Why these modules/theme/distribution were chosen/h2 ulli strongboolean_formatter/strong – makes the user interface a little nicer by providing icons for boolean fields such as ticks and crosses/li li strongCORS/strong – required for connecting to the front-end/li li strongEVA/strong - we used an Entity Views Attachment to display users pictures on their profiles/li li strongfeatures/strong - features allows you to export configuration settings to code/li li strongfilter_harmonizer/strong - Views Filter Harmonizer fixes an issue when using multiple filters on views/li li strongmimemail/strong - used to send images via email/li li strongrules/strong - as described above, used for redirecting user on login and for custom views bulk operations/li li strongservices/strong - used for the RESTful API/li li strongshiny/strong - an administration theme we are using for the entire site/li li strongsmtp/strong - for sending email/li li strongstrongarm/strong - for storing variables in features/li li strongviews_bulk_operations/strong - to enable easy workflow, such as adding an image to a showcase/li li strongviews/strong - so we can display the data we want easily/li /ulh2 Community contributions/h2 pAs the API is specific to the client and used mostly existing functionality we had no code to contribute. The only custom code was for automatic account creation and there are existing modules which provide similar functionality which we used the code from but is too specific to this install to re-use externally./p pThis is however the second time we’ve been asked for this sort of system, and with the growth of mobile apps we are currently working out whether it would be possible to create a distribution which will help get most of the way there - at least have relevant modules and perhaps an example scenario based on the simple image requirements for this project./p /div/div/divdiv class=field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline inlinediv class=field-labeltags:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/tags/case-studies typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=case studies/a/divdiv class=field-item odda href=/tags/drupal-planet typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal Planet/a/divdiv class=field-item evena href=/tags/planet-drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Planet Drupal/a/div/div/div

Drupal Toolbox: Consolidating Content Fields in Drupal

Sat, 09/13/2014 - 03:16
span class=field field-node--title field-name-title field-type-string field-label-hidden data-quickedit-field-id=node/3/title/en/rssConsolidating Content Fields in Drupal/span

Drupal Toolbox: Migrating from Tumblr to Drupal

Fri, 09/12/2014 - 22:50
span class=field field-node--title field-name-title field-type-string field-label-hidden data-quickedit-field-id=node/2/title/en/rssMigrating from Tumblr to Drupal/span

Deeson Online: PHP 5.5 Generators and Drupal

Fri, 09/12/2014 - 16:00
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpPHP 5.5 introduces a href= functions/a.  Generator functions return an object that can be iterated over - often to be used with a foreach loop, for example:/p div class=geshifilterpre class=php geshifilter-php style=font-family:monospace;span style=color: #000000; font-weight: bold;function/span gen_one_to_threespan style=color: #009900;#40;/spanspan style=color: #009900;#41;/span span style=color: #009900;#123;/span span style=color: #b1b100;for/span span style=color: #009900;#40;/spanspan style=color: #000088;$i/span span style=color: #339933;=/span span style=color: #cc66cc;1/spanspan style=color: #339933;;/span span style=color: #000088;$i/span span style=color: #339933;lt;=/span span style=color: #cc66cc;3/spanspan style=color: #339933;;/span span style=color: #000088;$i/spanspan style=color: #339933;++/spanspan style=color: #009900;#41;/span span style=color: #009900;#123;/span span style=color: #666666; font-style: italic;// Note that $i is preserved between yields./span yield span style=color: #000088;$i/spanspan style=color: #339933;;/span span style=color: #009900;#125;/span span style=color: #009900;#125;/span nbsp; span style=color: #000088;$generator/span span style=color: #339933;=/span gen_one_to_threespan style=color: #009900;#40;/spanspan style=color: #009900;#41;/spanspan style=color: #339933;;/span span style=color: #b1b100;foreach/span span style=color: #009900;#40;/spanspan style=color: #000088;$generator/span span style=color: #b1b100;as/span span style=color: #000088;$value/spanspan style=color: #009900;#41;/span span style=color: #009900;#123;/span span style=color: #b1b100;echo/span span style=color: #0000ff;quot;span style=color: #006699; font-weight: bold;$value/spanspan style=color: #000099; font-weight: bold;\n/spanquot;/spanspan style=color: #339933;;/span span style=color: #009900;#125;/span/pre/div pWhich will output:/pdiv1/divdiv2/divdiv3/divp(Example taken from calls the generator function when it needs values - when the generator yields a value the state of the generator is saved, so it can then be resumed when the next value is required. This can lead to significant performance boosts over creating an array which only exists to be looped over as less memory is needed./ppThere is more detail on a href= how can this apply to Drupal …/h2pA render array might look like.../p div class=geshifilterpre class=php geshifilter-php style=font-family:monospace;span style=color: #000088;$wrapper/span span style=color: #339933;=/span a href= 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;'container'/spanspan style=color: #339933;,/span span style=color: #0000ff;'#attributes'/span span style=color: #339933;=gt;/span a href= style=color: #990000;array/span/aspan style=color: #009900;#40;/span span style=color: #0000ff;'class'/span span style=color: #339933;=gt;/span a href= style=color: #990000;array/span/aspan style=color: #009900;#40;/spanspan style=color: #0000ff;'class'/spanspan style=color: #009900;#41;/spanspan style=color: #339933;,/span span style=color: #009900;#41;/spanspan style=color: #339933;,/span ‘itemspan style=color: #339933;-/spanone’ span style=color: #339933;=/span a href= style=color: #990000;array/span/a span style=color: #009900;#40;/span … span style=color: #009900;#41;/spanspan style=color: #339933;;/span ‘itemspan style=color: #339933;-/spantwo’ span style=color: #339933;=/span a href= style=color: #990000;array/span/a span style=color: #009900;#40;/span … span style=color: #009900;#41;/spanspan style=color: #339933;;/span ‘itemspan style=color: #339933;-/spanthree’ span style=color: #339933;=/span a href= style=color: #990000;array/span/a span style=color: #009900;#40;/span … span style=color: #009900;#41;/spanspan style=color: #339933;;/span span style=color: #009900;#41;/spanspan style=color: #339933;;/span/pre/div pThe a href= function returns an array which contains the array keys of the children array elements. This breaks from the standard PHP foreach pattern where you perform operations directly on the value created by the foreach loops - I don’t think this is ideal - I had to look twice to see what was happening the first time I saw it./p pUsing generators, you can use a more typical php pattern - the following is equivalent to the above./p div class=geshifilterpre class=php geshifilter-php style=font-family:monospace;span style=color: #b1b100;foreach/spanspan style=color: #009900;#40;/spanelement_children_generatorspan style=color: #009900;#40;/spanspan style=color: #000088;$variables/spanspan style=color: #009900;#41;/span span style=color: #b1b100;as/span span style=color: #000088;$key/span span style=color: #339933;=gt;/span span style=color: #339933;amp;/spanspan style=color: #000088;$element/spanspan style=color: #009900;#41;/span span style=color: #009900;#123;/span span style=color: #339933;.../span span style=color: #000088;$element/spanspan style=color: #009900;#91;/span‘span style=color: #666666; font-style: italic;#example’] = ‘example’; /span dpmspan style=color: #009900;#40;/spanspan style=color: #000088;$element/spanspan style=color: #009900;#41;/spanspan style=color: #339933;;/span span style=color: #339933;.../span span style=color: #009900;#125;/span/pre/div p As well as being a more typical PHP pattern, referencing the element within the loop is cleaner./ppThere are downsides to this approach too. A developer familiar with Drupal may have to look twice to see what is going on with the yield keyword. Obviously this can’t go into Drupal 7 Core (which supports php 5.2.5+), and I wouldn’t recommend it for Contrib either for the same reason. /p pHowever since PHP 5.3 and below is EOL I think this pattern is well worth adopting in your own projects with low risk./p/div/div/divdiv class=field field-name-node-link field-type-ds field-label-hiddendiv class=field-itemsdiv class=field-item evena href=/labs/php-55-generators-and-drupalRead more/a/div/div/divdiv class=field field-name-title field-type-ds field-label-hiddendiv class=field-itemsdiv class=field-item even property=dc:titleh2PHP 5.5 Generators and Drupal/h2/div/div/divdiv class=field field-name-meta field-type-ds field-label-hiddendiv class=field-itemsdiv class=field-item evenBy a href=/category/author/chrisChris/a | 12th September 2014/div/div/div

DrupalCon Amsterdam: Training spotlight: Introduction to Headless Drupal

Fri, 09/12/2014 - 14:47
div class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item evenpWe know Drupal is an amazing platform for making websites. But did you know it’s also a world-class content API that can easily be integrated with a other technologies?/p pIn a href= target=_blankIntroduction to Headless Drupal/a you'll write your first Node.js application(s) and learn how to integrate Node.js's real-time wizardry into Drupal's content management magic./p h3Meet the Trainers from Four Kitchens/h3 pMatt Grill (a href= Engineer at Four Kitchensbr / Matt taught himself HTML in 1996 while making a fansite for The Simpsons, even though he’s never actually watched the show. Matt’s interests in technology range from Arduino to automation and deployment. Matt currently maintains Is It Shaking?, a Node.js powered app for tracking and analysing earthquakes worldwide, a href= target=_blankIs It Shaking?/a. He has been working with JavaScript for nearly 10 years. /p pMichal Minecki (a href= Director of Technology at Four Kitchensbr / Mike Minecki has been building websites since 1999, and has been working with Node.js and Drupal for about a year. He has worked on a href=, a responsive web game that mimics the experience of playing with magnetic poetry on the web. He has taught Node.js in Austin and San Francisco, and has been speaking at events around the country about how to integrate Node.js and Drupal./p h3Attend this Drupal Training/h3 pThis training will be held on Monday, 29 September from 09:00-17:00 at the Amsterdam RAI during DrupalCon Amsterdam. The cost of attending this training is €400 and includes training materials, meals and coffee breaks. /p pMany of our training courses, including Introduction to Headless Drupal, are nearing capacity and we will not have waitlists, so if you are planning to attend, we strongly recommend you register this week. /p pa href= target=_blank class=button-linkRegister today/a/p /div/div/div

Code Karate: Drupal 7 Entity Registration Module

Fri, 09/12/2014 - 13:57
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 even167/div/div/divdiv class=field field-name-field-ddod-video field-type-file field-label-hiddendiv class=field-itemsdiv class=field-item evenimg src= alt=Drupal 7 Node Class Module - Daily Dose of Drupal Episode 166 //div/div/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpThe Drupal 7 a href= rel=nofollowEntity Registration Module/a makes it easy to host sign-ups or registration forms directly on your Drupal 7 website. This solution works great for event, conference, webinar, or training signup forms./p pIn this lesson you will learn:/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/drupal-7Drupal 7/a/divdiv class=field-item evena href=/category/tags/drupal-planetDrupal Planet/a/div/div/div

Drupal Watchdog: Cooking Up Sites With Open Outreach

Thu, 09/11/2014 - 19:25
div class=field field--article-edit-printtype field-type-list-text field-label-hidden field--rss Article /div div class=field field--article-body field-type-text-long field-label-hidden field--rss pimg src= alt=Spices title=Spices class=left-border img-responsive /Drupal distributions can be a huge leg up in building a website, especially for those with little technical knowledge. The “ingredients” (modules) you need are already assembled, leaving you with just the task of stirring it up, and perhaps adding your own personalizing flavors. The Open Outreach distribution is specifically designed for nonprofit and grassroots groups. It comes with a wide range of apps — bundles of modules and configurations that are geared to the needs of groups, such as contact management or mapping. It also includes a number of helper features, such as a text editor, commenting, and social media handling./p pFor more detailed instructions on how to work with Open Outreach, see the a href= user documentation/a./p pBelow you’ll find some recipes for whipping up a specific kind of Open Outreach site, giving you the apps you need: to enable; required configuration; suggested themes for the look and feel of your site; and tips on customizations to take your site further. Happy site building!/p h3Environmental group focused on mining impacts/h3 pYou’re a board member of this small but enthusiastic group. You’ve been tasked with creating a website that will serve as the public face, but more importantly also track membership contacts as well as your contacts with other groups, government bodies, and industry. /p /div

Lullabot: Finding related content faster with Apache Solr

Thu, 09/11/2014 - 19:00
pWe recently fixed a performance issue at the a href= taget=_blankMSNBC/a project: the bMore Like This/b list of content related to the current page was stressing our database servers with slow, complicated MySQL queries. Here is a screenshot of the block in question:/p pimg alt=Original More Like This Block src= class=fancy //p

Drupal Association News: Drupalaton 2014 in Hungary, at the largest lake in Central Europe

Thu, 09/11/2014 - 17:22
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpimg class=left src= style=width: 240px; height: 160px; /emThis post originally ran on a href= Creativity/a, and has been reprinted with permission./em/p pWow my Hungarian friends - you have done it again! Two weeks ago, I spent a long weekend at a href=, a Drupal camp in Hungary with the difference that it also served as a short relaxing break. It was the perfect combination of a holiday and work with the beautiful surroundings of Central Europe’s largest lake a href= pI was very excited to return to the country after the amazing a href= Developer Days in Szeged/a event that I went to in March. It was also filled with meeting amazing people from all around the world, learning and sharing knowledge and connecting with so many inspiring people./p pAt both events the thing that really stood out for me was the great hospitality shown by the Hungarians I met there. I have really been humbled by how friendly and hospitable they have been, and all of the time they put into making the event so amazing for all the attendees./p pThis was the fifth year that large Drupal events have been taking place in the country, but the second where the language hasn’t been exclusively in Hungarian. Last year’s event brought people from Romania, Serbia and other neighbouring countries but this year we had a much more international event with people from Austria, Belgium, Finland, Germany, Spain, amp; the UK in attendance./p blockquote class=twitter-tweet lang=en xml:lang=enpPatchy, the sprint whale. Unofficial a href= mascot with a href= a href= a href= a href= p — Bryn Vertesi (@brynvertesi) a href= 9, 2014/a/p/blockquote script async= src=// charset=utf-8/scripth2 The team that made it happen/h2 pa href=ás ‘York’ Pintér/a, was the main organiser and lives in the area of the camp, a href=ófi Major/a co-ordinated many aspects of the event including community outreach over social media amp; sponsorship management, a href=án Csáki/a, helped to create the website and other support, a href=álint Fekete/a, made some amazing design work (in particular the innovative scroll on the website where the boat moves across the page which I spent far too long playing with!)./p pAlso on the team were a href=ábor Hojtsy/a, (Drupal 8 multilingual initiative lead) helping with event-marketing, a href=án 'PP' Palócz/a who helped with finances (and helped me learning some basic Hungarian phrases) and last but not least a href=ás ‘TeeCee’ Szügyi/a, the photographer who documented the great event./p h2 Some numbers/h2 pIn the recent newsletter to all attendees from the organisers the following statistics were disclosed./p blockquotepWe are really proud of the following numbers, so let us share with you:br / Our 79 attendees came from 13 countries from all over the world, and only a bit more than half of them were from Hungary. This lucky number is significant for us, as Drupalaton started as a local Drupalcamp, and now we can proudly say that we are on the big Drupalmap :)/p ulli You spent more than 1420 minutes (almost 24 hours) on 8 workshops with learning./li li The sprinters worked on 70+ issues during the 4 days. This a great number, you can find more thoughts about it in a href=ábor Hojtsy's blog post/a./li li During the 4 days you consumed 134 pcs of Túró Rudis, 132 ps of Marzipan ladybugs, 260 cans of beer, 60 kilograms of different fruits and  7 kilograms of nuts./li /ul/blockquote pNext year/p pIf any of that sounds good you should attend next year, 6-9 August 2015, I'm very excited about returning. Even the founder of Drupal, a href= Buytaert/a, regrets not attending! Maybe he will join us too next year, that would be awesome!/p blockquote class=twitter-tweet lang=en xml:lang=enpPhotos from Drupalaton: a href= Wish I could have been there!/p p — Dries Buytaert (@Dries) a href= 11, 2014/a/p/blockquote script async= src=// charset=utf-8/scriptpCheck out the pictures from Flickr below, or on a href=;mode=photosTwitter/a and the a href=;type=3Facebook page/a!/p pobject height=300 width=400param name=flashvars value=offsite=trueamp;lang=en-usamp;page_show_url=%2Fgroups%2F2704663%40N23%2Fpool%2Fshow%2Famp;page_show_back_url=%2Fgroups%2F2704663%40N23%2Fpool%2Famp;group_id=2704663@N23amp;jump_to=amp;start_index= /param name=movie value= /param name=allowFullScreen value=true /embed allowfullscreen=true flashvars=offsite=trueamp;lang=en-usamp;page_show_url=%2Fgroups%2F2704663%40N23%2Fpool%2Fshow%2Famp;page_show_back_url=%2Fgroups%2F2704663%40N23%2Fpool%2Famp;group_id=2704663@N23amp;jump_to=amp;start_index= height=300 src= type=application/x-shockwave-flash width=400/embed/object/p /div/div/div

Drupal 8 Rules: #d8rules updates, BoF sprints at DrupalCon Amsterdam

Thu, 09/11/2014 - 13:05
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpHello everyone!/p pDrupalCon Amsterdam is coming close and we are working hard to get Milestone 1 for porting the Rules module to Drupal 8 done. Here's an outline where you can join fago, klausi, nico and many others for updates on the initiative, discussions and hands-on during the sprints!/p pimg alt=#d8rules at DrupalCon Amsterdam height=250 width=600 class=media-element file-default src= title= //p h2Drupal 8 Contrib Module Update (shared session)/h2 pemTuesday · 14:15 - 15:15, Room: Auditorium (Wunderkraut)br //ema href= //em/p pA quick, 12-minutes update on the status of Rules for Drupal 8 together with Webform (quicksketch), Display Suite (by aspilicious), Media (by daveried/slashrsm), Search API (by drunken monkey), Commerce (by bojanz), Redirect, Global Redirect, Token, Pathauto (by berdir), Panels (by japerry) amp; Simplenews (by miro_dietiker/ifux)./p h2#d8rules initiative meeting (BoF)/h2 pemThursday 13:00 - 14:00, Room: Emerald Lounge Ebr //ema href= //em/p pLet's get into a deeper discussion about the #d8rules initiative in this birds-of-a-feather session. We'll inform you about the current state of funding amp; development and prepare you well for the sprints on Friday./p h2#d8rules sprints/h2 pemFriday 9:00 - 18:00, Coder lounge in the venuebr //ema href= //em/p pSprinting at DrupalCon is emTHE/em way to learn about contributing to Drupal in general. With our training experience from DrupalCamp Alpe-Adria and Drupalaton we know that working on Rules 8.x is a great way to get started with the new programming paradigmes of Drupal 8. Join fago, klausi to a href= actions/a, a href= integrations for Drupal 8 core/a and get a href= 1 done/a in general./p p#d8rules sprints are focused mainly on Friday, but we will also be around for extended sprints prior and after the conference. Check out the information about a href= the sprints at and around DrupalCon Amsterdam by gabor/a. And please don't forget: thank you for helping us estimate the number of people attending and a href=;usp=drive_web#gid=0sign-up using the sprints spreadsheet/a./p pimg alt=sprints height=2585 width=8335 class=media-element file-default src= title= /br /em#d8rules trainings amp; sprints at DrupalCamp Alpe-Adria, Slovenia, May 2014/em/p pWe are looking forward meeting everyone there. As always, you can find us on irc: #drupal-rules and don't forget to use the twitter hashtag #d8rules./p pdasjo on behalf of the a href= team/a/p /div/div/div

InternetDevels: Thanks for the great time at Lviv Euro DrupalCamp 2014!

Thu, 09/11/2014 - 08:55
div class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item evenp/pp/ppFour months of preparation. Three golden sponsors. Two days. One Lviv Euro Drupal Camp 2014./ppLadies and gentleman, we can proudly announce — we did it! Our camp became the biggest Drupal-evet taking place in Ukrane this year, which got together the most cheerful and friendly drupalers. We hope, that all those 150 people have got a huge pile of positive emotions and impressions. But let’s get in details inch by inch :)./p a href= more/a/div/div/div