Drupal Planet

Syndicate content
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 7 hours 44 min ago

Mediacurrent: Friday 5: 5 Quick Ways to Check Your Site#039;s Health

Fri, 07/08/2016 - 11:39am
img typeof=foaf:Image src=http://www.mediacurrent.com/sites/default/files/styles/thumb_blog_spotlight/public/friday-5-ep-12-stuart.png?itok=FTFu8MST width=200 height=188 / pTGIF and welcome back to another exciting episode of The Mediacurrent Friday 5!/p
Categories: Drupal Feeds

Jeff Geerling's Blog: Getting Emoji and multibyte characters on your Drupal 7 site with 7.50

Fri, 07/08/2016 - 10:43am
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpAlmost exactly a year ago, I wrote a blog post titled a href=http://www.jeffgeerling.com/blogs/jeff-geerling/solving-emoji-problem-drupal-7Solving the Emoji/character encoding problem in Drupal 7/a./p pSince writing that post, Drupal 7 bugfixes and improvements have started to pick up steam as (a) many members of the community who were focused on launching Drupal 8 had time to take a breather and fix up some long-standing Drupal 7 bugs and improvements that hadn't yet been backported, and (b) there are a href=https://groups.drupal.org/node/512271two new D7 core maintainers/a. One of the patches I've been applying to many sites and hoping would get pulled into core for a long time was a href=https://www.drupal.org/node/2761183adding support for full UTF-8/a, which allows the entry of emojis, Asian symbols, and mathematical symbols that would break Drupal 7 sites running on MySQL previously./p pMy old blog post had a few steps that you could follow to make your Drupal 7 site 'mostly' support UTF-8, but there were some rough edges. Now that support is in core, the process for converting your existing site's database is more straightforward:/p /div/div/div
Categories: Drupal Feeds

Zivtech: How to Grow Your Own Team

Fri, 07/08/2016 - 8:00am
div class=field-body emLack of available talent is a common refrain of business owners. Give up on looking and complaining! Learn how to create a sustainable business. br /br / Growing your own means hiring smart, motivated people with all the right soft skills and investing in them for the long haul. In return, they'll reward you with loyalty, teach your newer staff, and work in unison with a cohesive vision. /em h3br / Where is the Talent?/h3 It’s not realistic to imagine that you live in a world where there are people that you can just hire for a decent price who already have all the skills you need. Just come in, hit the ground running, and make you a bunch of money. You wouldn't have any problems with them, and you wouldn't have to do much for them other than feed them some pizza and pay them.br /br / So when managers can't find those people, they get upset, and they say, There's not enough talent. People are not getting educated properly. We don't have the right people and the right programs out there. br /br / The world is full of talent! No, they haven't learned the specific skills that you need, but there are so many intelligent people out there who would thrive with a little help.br /br /div class=asset-wrapper asset aid-187 asset-image editor contenteditable=false data-asset-cid=1467919063232 div class=content div class=field-asset-imageimg alt= height=551 src=/sites/default/files/styles/asset_image_full/public/assets/images/Elements%20of%20Job%20Happiness.png?itok=T0fa05Gb width=684 //div div class=field-asset-image-copyright /div div class=field-asset-image-description /div /div /div h3br / What Are You Farming?/h3 When I started working in software development, I saw myself as someone who made websites. That was my output: I was making websites, or I was making code. Over the years now I see that my product is people. I'm selling their time, expertise, knowledge, and human capacity. br /br / In web development, who cares about the code when you have the coder? It's like the egg and the chicken. You have to take care of the chicken, and not each little egg, because the chickens just keep making more. br /br / Being a great website maker isn’t really that valuable. What is really valuable is being able to grow more people who can do the work. Then you really scale up. You're only going to do so well as a solo practitioner. If you're able to grow more and more skilled people, not only is your business doing better, but you start to realize that the task of training people is more important than building websites.br /br /br /ema href=https://www.zivtech.com/growyourownDownload/a the full Grow Your Own white paper for free./embr / /div nav role=navigation class=links-inline/nav
Categories: Drupal Feeds

OSTraining: How to Display PDFs on a Drupal Site

Fri, 07/08/2016 - 7:10am
div class=ost-intro-imageimg src=https://www.ostraining.com/images/drupal/drupal-google-pdf-embed.jpg alt=Adding PDFs to Drupal width=200 height=134 //div pAn OSTraining member asked us about attaching PDFs to a Drupal site./p pIt is possible to use the default File field and allow people to download the PDF. However, this member wanted visitors to read the PDF directly on the site./p
Categories: Drupal Feeds

Drop Guard: Why we don’t (continuously) update our Drupal websites

Fri, 07/08/2016 - 6:00am
div class=view-mode-rss ds-1col clearfix div class=field field--name-display-rss-image field--type-ds field--label-hidden field__itemimg src=http://www.drop-guard.net/blog/sites/default/files/styles/medium/public/2016-07/2016-07-08%2013_43_59-Editing%20Drawing%20Board%20_%20Piktochart%20Infographic%20Editor.png?itok=y2HkJFOp/div div class=clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__itemp /p pmeta charset=utf-8 //p pTwo weeks ago we decided to run a little survey asking Drupal folks one simple, but provocative question “a href=https://docs.google.com/forms/d/1TPzecPEV14D8nWyxp5PSWQj3MQjNnjBCCqmKntQrf_0/editWhy I don’t update my website continuously/a”. I decided to present you the results - and I can tell that some serious voices got out!/p pFirst, I want to speak highly of least 38 of 78 participants, who actually update their website continuously and seem to know exactly a href=http://www.drop-guard.net/blog/risk-ignoring-drupal-updateswhat happens if they wouldn’t do it/a./p/div div class=field field--name-field-blog-post-tags field--type-entity-reference field--label-hidden field__items div class=field__itema href=/blog/taxonomy/term/2 hreflang=enDrupal/a/div div class=field__itema href=/blog/taxonomy/term/3 hreflang=enDrupal Planet/a/div div class=field__itema href=/blog/taxonomy/term/5 hreflang=enSecurity/a/div div class=field__itema href=/blog/taxonomy/term/57 hreflang=enSurvey/a/div /div /div
Categories: Drupal Feeds

Leopathu: 6 Essential Drupal Interview Questions*

Fri, 07/08/2016 - 5:06am
1. Name and describe the five conceptual layers in a Drupal system.
Categories: Drupal Feeds

LevelTen Interactive: How to Market a Speaking Tour: Behind the Scenes of the R.O.W. Roadshow

Fri, 07/08/2016 - 12:00am
img typeof=foaf:Image src=http://getlevelten.com/sites/default/files/styles/600x300/public/content/blog/images/how_to_market_a_speaking_tour-_behind_the_scenes_of_the_row_roadshow.png?itok=RSeKY8_S width=600 height=300 alt=ROW Show / pHey, a href=http://tvtropes.org/pmwiki/pmwiki.php/Main/HeyLetsPutOnAShowlet’s put on a show/a!/p p class=rtecenterimg alt= class=image-large inline height=361 src=http://getlevelten.com/sites/default/files/styles/large/public/inline-images/piano_picture.png?itok=1ki44kBL width=480 //p pMy colleague a href=http://getlevelten.com/about-us/felipa-villegasFelipa/a and I felt like we were in a Judy Garland-Mickey Rooney movie. “Let’s put on a show!” said Tom, the CEO here at LevelTen, and we all jumped in to clear out the barn and save the orphanage....a href=/blog/jj-lonsdale/how-market-speaking-tour-behind-scenes-row-roadshow class=more-linkRead more/a/p
Categories: Drupal Feeds

Yuriy Gerasimov: Automated deployments to Acquia. Cloud API

Thu, 07/07/2016 - 11:45pm
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpWhen you set up your Continuous Integration you really would like to set your deployments automatically. If you use Acquia hosting for your website it does make a lot of sense to use all environments in your workflow. But how you can automate deployments to these environments without touching UI (copying database, files, deploying code)?/p h4The answer is in a href=https://cloudapi.acquia.comCloud API/a/h4 pbr //p pYou can call them either with drush command or curl request. We will touch the drush commands approach in this post./p pI personally was heavily involved in workflow called a href=github.com/cibox/ciboxCIBox/a that uses separate from Acquia github repo. /p pI used 'master' branch to deploy to DEV environment. But both STAGING and PRODUCTION environments are tag based./p h3DEV environment deployment/h3 pbr //p pFirst step of deployment for me was to sync the repositories./p div class=geshifilter pre class=drupal6 geshifilter-drupal6 style=font-family:monospace;cd span style=color: #66cc66;//spanspan style=color: #000000; font-weight: bold;var/spanspan style=color: #66cc66;//spangitspan style=color: #66cc66;//spanacquia git pull github master git push origin master span style=color: #808080; font-style: italic;# Sleep for 30 seconds. We expect Acquia to update the code./span a href=http://www.php.net/sleepspan style=color: #000066;sleep/span/a span style=color: #cc66cc;30/span/pre/div pLittle note: all these commands are run on CI server for me. So you will find plenty of ssh and scp to Acquia servers later./p pRepository /var/git/acquia is a clone from hosting repo but with set up remote to our own private repo. If you use hosting repo as primary you probably won't need this step./p pIn Acquia UI I have set up DEV environment to follow master branch. So code gets deployed automatically. /p pIn my CI set up, I keep copy of project's database on CI server to use it in all builds. So I deploy this db to DEV environment as next step. Workflow diagram looks like this.br /img src=http://ygerasimov.com/sites/default/files/field/image/db-workflow.png //p pCode snippet/p pre div class=geshifilterpre class=drupal6 geshifilter-drupal6 style=font-family:monospace;span style=color: #808080; font-style: italic;# Copy db to DEV server/span scp span style=color: #66cc66;//spanspan style=color: #000000; font-weight: bold;var/spanspan style=color: #66cc66;//spanwwwspan style=color: #66cc66;//spanbackupspan style=color: #66cc66;//spanDBNAME.sql.gz PROJECT.devspan style=color: #66cc66;@/spanstaging-XXXX.prod.hosting.acquia.com:span style=color: #66cc66;//spanhomespan style=color: #66cc66;//spanPROJECTspan style=color: #66cc66;//spanproddump.sql.gz span style=color: #808080; font-style: italic;# Deploy db on DEV server/span ssh -a href=http://api.drupal.org/api/function/t/6span style=color: #000066;t/span/a PROJECT.devspan style=color: #66cc66;@/spanstaging-XXXX.prod.hosting.acquia.com span style=color: #ff0000;'rm -rf /home/PROJECT/DBNAME.sql amp;amp; gunzip /home/PROJECT/proddump.sql.gz amp;amp; cd /var/www/html/PROJECT.dev/docroot amp;amp; drush sql-drop -y amp;amp; `drush sql-connect` lt; /home/PROJECT/proddump.sql'/span/pre/div /prep Remember in order to run this operation you need to set up your ssh keys so jenkins user (I use Jenkins as CI tool) can go to Acquia servers without password being requested./p pAnd the last step is run all the updates, registry rebuilds and whatever your project requires./p pre div class=geshifilterpre class=drupal6 geshifilter-drupal6 style=font-family:monospace;span style=color: #808080; font-style: italic;# Run registry rebuild and clear caches/span ssh -a href=http://api.drupal.org/api/function/t/6span style=color: #000066;t/span/a PROJECT.devspan style=color: #66cc66;@/spanstaging-XXXX.prod.hosting.acquia.com span style=color: #ff0000;'cd /var/www/html/PROJECT.dev/docroot amp;amp; drush php-eval registry_rebuild(); amp;amp; drush cc all -y'/span   span style=color: #808080; font-style: italic;# Run hook updates/span ssh -a href=http://api.drupal.org/api/function/t/6span style=color: #000066;t/span/a PROJECT.devspan style=color: #66cc66;@/spanstaging-XXXX.prod.hosting.acquia.com span style=color: #ff0000;'cd /var/www/html/PROJECT.dev/docroot amp;amp; drush -y updb'/span/pre/div /prepThese commands actually can be set up with drush aliases. But I used terminal approach as already using it for deploying database. Just consistency reasons./p pAnother part I skip here is copying files over. We don't do that. Instead we enable stage_file_proxy on DEV and STAGE environments and point them to PROD so files got copied over upon request. This saves plenty of space./p h3STAGE environment deployment/h3 pbr //p pAs staging environment uses tags we need to change our code deployment part./p pIn order to use Cloud API you need to set up special private key in Acquia UI. Please review a href=https://docs.acquia.com/cloud/api/authhttps://docs.acquia.com/cloud/api/auth/a for more details./p pAfter setting up the key, ssh to DEV server and run command 'drush ac-api-login' and provide your email and key to it. In this way you will set up all your credentials and be able to run Cloud API drush commands./p pAnd now, we can deploy the code./p pre div class=geshifilterpre class=drupal6 geshifilter-drupal6 style=font-family:monospace;ssh -a href=http://api.drupal.org/api/function/t/6span style=color: #000066;t/span/a PROJECT.devspan style=color: #66cc66;@/spanstaging-XXXX.prod.hosting.acquia.com span style=color: #ff0000;'cd /var/www/html/PROJECT.dev/docroot amp;amp; drush @PROJECT.dev ac-code-deploy test --verbose'/span   span style=color: #808080; font-style: italic;# Sleep for 30 seconds. We expect Acquia to update the code./span a href=http://www.php.net/sleepspan style=color: #000066;sleep/span/a span style=color: #cc66cc;30/span/pre/div /prep This will deploy the code from DEV environment to STAGE and adds the tag automatically. Basically it mimics the operation of dragging the code bar in Acquia UI./p pAll other steps (database deployment and cache clear) are the same as with DEV environment./p h3PROD environment deployments/h3 pbr //p pProduction deployment is going to be the same as STAGE with only difference we need to ssh to STAGE server to deploy the code. And of course we do not to deploy database anywhere./p pI am sure in your projects you might need to add some more steps. Maybe reindexing solr, or clearing varnish caches. All these can be done with drush commands./p pHow do you do deployments? Please share your experience in comments./p /div/div/divdiv class=field field-name-field-tags field-type-taxonomy-term-reference field-label-abovediv class=field-labelTags:nbsp;/divdiv class=field-itemsdiv class=field-item even rel=dc:subjecta href=/taxonomy/term/2 typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=drupal 7/a/divdiv class=field-item odd rel=dc:subjecta href=/taxonomy/term/3 typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=drupal planet/a/div/div/div
Categories: Drupal Feeds

Appnovation Technologies: Drupal 8 and the User Experience Upgrade

Thu, 07/07/2016 - 7:27pm
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encoded pa href=https://www.appnovation.com/services/drupal-development target=_blankDrupal/a and user experience can sometimes be at odds./p/div/div/divdiv class=field field-name-field-blog-header-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item evena href=/blog/drupal-8-and-user-experience-upgradeimg typeof=foaf:Image src=https://www.appnovation.com/sites/default/files/drupal8-ux.jpg width=1400 height=400 alt= //a/div/div/divdiv class=sharethis-buttonsdiv class=sharethis-wrapperspan st_url=https://www.appnovation.com/blog/drupal-8-and-user-experience-upgrade st_title=Drupal 8 and the User Experience Upgrade class=st_facebook/span span st_url=https://www.appnovation.com/blog/drupal-8-and-user-experience-upgrade st_title=Drupal 8 and the User Experience Upgrade class=st_twitter/span span st_url=https://www.appnovation.com/blog/drupal-8-and-user-experience-upgrade st_title=Drupal 8 and the User Experience Upgrade class=st_sharethis/span /div/div
Categories: Drupal Feeds

Drupal Blog: Drupal 7.50 released

Thu, 07/07/2016 - 1:28pm
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpa href=https://www.drupal.org/project/drupal/releases/7.50Drupal 7.50/a, the next release in the Drupal 7 series, is now available for download. It contains a variety of new features, improvements, and bug fixes (no security fixes)./p h2Wait... Drupal 7.50?/h2 pYes, there is a version jump compared to the previous a href=https://www.drupal.org/project/drupal/releases/7.447.44 release/a; this is to indicate that this Drupal 7 point release is a bit larger than past ones and makes a few more changes and new features available than normal./p pa href=https://www.drupal.org/upgradeUpdating/a your existing Drupal 7 sites is recommended. a href=https://www.drupal.org/node/1527558Backwards compatibility/a is still being maintained, although read on to find out about a couple of changes that might need your attention during the update./p div style=text-align: center; margin: 2em;a class=link-button href=https://ftp.drupal.org/files/projects/drupal-7.50.tar.gzspanDownload Drupal 7.50/span/a/div h2Notable changes/h2 pThere are a variety of new features, performance improvements, security-related enhancements (although no fixes for direct security vulnerabilities) and other notable changes in this release. The a href=https://www.drupal.org/project/drupal/releases/7.50release notes/a provide a comprehensive list, but here are some highlights./p h3New administer fields permission added for trusted users/h3 pThe administrative interface for adding and configuring fields has always been something that only trusted users should have access to. To make that easier, there is now a dedicated permission which is required (in addition to other existing administrative permissions) to be able to access the field UI./p pFor example, you can now assign the administer taxonomy permission (but withhold the new administer fields permission) to allow low-level administrators to manage taxonomy terms but not change the field structure. Read the a href=https://www.drupal.org/node/2483307change record/a for more information./p pimg alt=New administer fields permission src=https://www.drupal.org/files/administer-fields-permission.png //p h3Protection against clickjacking enabled by default/h3 pClickjacking is a technique a malicious site owner can use to attempt attacks on other sites, by embedding the victim's site into an iframe on their own site./p pTo stop this, Drupal will now prevent your site from being embedded in an iframe on another domain. This is the default behavior, but it can be adjusted if necessary; see the a href=https://www.drupal.org/node/2735873change record/a to find out more./p h3Support for full UTF-8 (emojis, Asian symbols, mathematical symbols) is now possible on MySQL/h3 pIf content creators on your site have been clamoring to use emojis, it's now possible on Drupal sites running MySQL (it was previously possible on PostgreSQL and SQLite). Turning this capability on requires the database to meet certain requirements, plus editing the site's settings.php file and potentially other steps, as described in the a href=https://www.drupal.org/node/2761183change record/a./p pimg alt=Emojis on a Drupal site src=https://www.drupal.org/files/emojis-in-drupal-7.50.png //p h3Improved support for recent PHP versions, including PHP 7/h3 pDrupal core's automated test suite is now fully passing on a variety of environments where there were previously some failures (PHP 5.4, 5.5, 5.6, and 7). We have also fixed several bugs affecting those versions. These PHP versions are a href=https://www.drupal.org/requirementsofficially supported by Drupal 7/a and recommended for use where possible./p pBecause PHP 7 is the newest release (and not yet used on many production sites) extra care should still be taken with it, and there are some known bugs, especially in contributed modules (see a href=https://www.drupal.org/node/2656548the discussion/a for more details). However anecdotal evidence from a variety of users suggests that Drupal 7 can be successfully used on PHP 7, both before and after the 7.50 release./p h3Improved performance (and new PHP warnings) when Drupal is trying to find a file that does not exist/h3 pWhen Drupal cannot find a file that it expects to be in the filesystem, it will no longer continually search for it on a large number of page requests (previously, this could significantly hurt your site's performance). Instead, it will record a href=https://www.drupal.org/node/2487215a PHP warning/a about the problem./p pRead the a href=https://www.drupal.org/node/2581445change record/a for more information, and make sure your production site is not configured to show warning messages like this on the screen, since it is not desirable for site visitors to see them. (In order to configure this, go to Administration → Configuration → Development → Logging and errors and set the Error messages to display option to None.)/p h3Improvements to help search engines index your site's images/CSS/JavaScript/h3 pModern search engine web crawlers read images, CSS and JavaScript (just like a regular web browser) when crawling a site, and they use this information to improve search results./p pDrupal's default code class=language-phprobots.txt/code file now includes rules to allow search engines to access more of these files than it previously allowed them to, which may help certain search engines better index your site. See the a href=https://www.drupal.org/node/2762251change record/a for additional details./p h2More information/h2 ulliYou can find the full list of changes between the previous 7.44 release and the current 7.50 release by reading the a href=https://www.drupal.org/project/drupal/releases/7.507.50 release notes/a./li liAlso see the release notes for additional update information and known issues discovered after the release./li liYou can find a complete list of all changes in the stable 7.x branch in a href=http://cgit.drupalcode.org/drupal/log/?id=refs/heads/7.xthe git commit log/a./li liTranslators should be aware of a few administrative-facing a href=https://www.drupal.org/project/issues/search?issue_tags=String+change+in+7.50translatable string changes and additions/a in this release./li /ulh3Security information/h3 ulliWe have a a href=https://www.drupal.org/securitysecurity announcement mailing list and a history of all security advisories/a, as well as an a href=https://www.drupal.org/security/rss.xmlRSS feed with the most recent security advisories/a. We strongstrongly advise Drupal administrators to a href=https://www.drupal.org/securitysign up/a/strong for the list./li liDrupal 7 includes the built-in Update Manager module, which informs you about important updates to your modules and themes./li liThere are no security fixes in this release of Drupal core./li /ulh3Future releases/h3 ulliDrupal 7 is being actively maintained, so more maintenance releases will be made available, according to our a href=https://www.drupal.org/documentation/version-info#whenmonthly release cycle/a./li liWe will consider continuing to do larger Drupal 7 releases like this one every six months or so (where the next larger release will be 7.60, in keeping with Drupal's new a href=https://www.drupal.org/core/release-cycle-overviewrelease cycle/a) if there is interest and continued contributions from the community. See the ongoing a href=https://www.drupal.org/node/2598382discussion/a for further details./li /ulh2New Drupal 7 co-mainainers/h2 pIn case you missed the news earlier, strongwe recently added a href=https://groups.drupal.org/node/512271two new Drupal 7 co-maintainers/a: a href=https://www.drupal.org/u/fabianxFabianx/a (a href=https://twitter.com/fabianfranz@fabianfranz/a) and a href=https://www.drupal.org/u/stefanr-0stefan.r/a (a href=https://twitter.com/stefan_arrr@stefan_arrr/a)/strong! Despite only having been official maintainers for the past two weeks, they put in an enormous amount of effort and skill into Drupal 7.50, which was essential in getting it out the door with all the improvements mentioned above./p h2Credits/h2 pOverall, 230 people were credited with helping to fix issues included in this release:/p pa href=/u/akoepkeakoepke/a, a href=/u/alanburkealanburke/a, a href=/u/alan-d.Alan D./a, a href=/u/alberto56alberto56/a, a href=/u/albert-volkmanAlbert Volkman/a, a href=/u/alexmorenoalexmoreno/a, a href=/u/alexpottalexpott/a, a href=/u/amonteroamontero/a, a href=/u/andypostandypost/a, a href=/u/ar-janar-jan/a, a href=/u/arosboroarosboro/a, a href=/u/askibinskiaskibinski/a, a href=/u/attiksattiks/a, a href=/u/basvredelingbasvredeling/a, a href=/u/beejeebusbeejeebus/a, a href=/u/benjybenjy/a, a href=/u/berdirBerdir/a, a href=/u/bmateusbmateus/a, a href=/u/borisson_borisson_/a, a href=/u/botrisbotris/a, a href=/u/bradjones1bradjones1/a, a href=/u/brianvbrianV/a, a href=/u/broekerbroeker/a, a href=/u/c960657c960657/a, a href=/u/carsten-müllerCarsten Müller/a, a href=/u/catchcatch/a, a href=/u/checkerchecker/a, a href=/u/chintan.vyaschintan.vyas/a, a href=/u/chirhotecchirhotec/a, a href=/u/christian-deloachChristian DeLoach/a, a href=/u/christophweberChristophWeber/a, a href=/u/chxchx/a, a href=/u/cilefencilefen/a, a href=/u/cissciss/a, a href=/u/ckngckng/a, a href=/u/colinmccabecolinmccabe/a, a href=/u/corbachocorbacho/a, a href=/u/crizcriz/a, a href=/u/cspitzlaycspitzlay/a, a href=/u/cwokycwoky/a, a href=/u/dagmardagmar/a, a href=/u/damienmckennaDamienMcKenna/a, a href=/u/damien_vancouverdamien_vancouver/a, a href=/u/darol100darol100/a, a href=/u/darren-ohDarren Oh/a, a href=/u/das-peterdas-peter/a, a href=/u/dave-reidDave Reid/a, a href=/u/davicdavic/a, a href=/u/david_garciadavid_garcia/a, a href=/u/david_rothsteinDavid_Rothstein/a, a href=/u/dawehnerdawehner/a, a href=/u/dcamdcam/a, a href=/u/dereklDerekL/a, a href=/u/donutdan4114donutdan4114/a, a href=/u/dropletdroplet/a, a href=/u/duaelfrDuaelFr/a, a href=/u/e._se._s/a, a href=/u/eesquibeleesquibel/a, a href=/u/eiriksmeiriksm/a, a href=/u/elijah-lynnElijah Lynn/a, a href=/u/emcnieceemcniece/a, a href=/u/eric_aEric_A/a, a href=/u/evanschislerEvanSchisler/a, a href=/u/extexanExTexan/a, a href=/u/fabianxFabianx/a, a href=/u/felribeirofelribeiro/a, a href=/u/fgmfgm/a, a href=/u/fietserwinfietserwin/a, a href=/u/forestgardenerforestgardener/a, a href=/u/gcardinalgcardinal/a, a href=/u/geerlingguygeerlingguy/a, a href=/u/gielfeldtgielfeldt/a, a href=/u/girish-jerkGirish-jerk/a, a href=/u/gregglesgreggles/a, a href=/u/grigoriunicolaeGrigoriuNicolae/a, a href=/u/gábor-hojtsyGábor Hojtsy/a, a href=/u/hasshass/a, a href=/u/henrik-opelHenrik Opel/a, a href=/u/heyyoheyyo/a, a href=/u/hgotohgoto/a, a href=/u/hussainwebhussainweb/a, a href=/u/idebridebr/a, a href=/u/ifrikifrik/a, a href=/u/imanol.eguskizaimanol.eguskiza/a, a href=/u/iruslanIRuslan/a, a href=/u/izaaksomizaaksom/a, a href=/u/jackbravojackbravo/a, a href=/u/jacob.embreejacob.embree/a, a href=/u/jbekkerjbekker/a, a href=/u/jbeuckmjbeuckm/a, a href=/u/jduhlsjduhls/a, a href=/u/jenlamptonjenlampton/a, a href=/u/jeroen.bjeroen.b/a, a href=/u/jhodgdonjhodgdon/a, a href=/u/jibranjibran/a, a href=/u/joachimjoachim/a, a href=/u/joegraduatejoegraduate/a, a href=/u/joelpittetjoelpittet/a, a href=/u/johnpicozzijohnpicozzi/a, a href=/u/joseph.olstadjoseph.olstad/a, a href=/u/joshtaylorjoshtaylor/a, a href=/u/josh-waihiJosh Waihi/a, a href=/u/jp.staceyjp.stacey/a, a href=/u/jsacksickjsacksick/a, a href=/u/jthorsonjthorson/a, a href=/u/jveJvE/a, a href=/u/jweowujweowu/a, a href=/u/kala4ekkala4ek/a, a href=/u/kars-tKars-T/a, a href=/u/ken-ficaraKen Ficara/a, a href=/u/kenorbkenorb/a, a href=/u/kevinquillenkevinquillen/a, a href=/u/kgautKgaut/a, a href=/u/khaledblahKhaledBlah/a, a href=/u/klausiklausi/a, a href=/u/klokieklokie/a, a href=/u/kristiaanvandeneyndekristiaanvandeneynde/a, a href=/u/kristofferwiklundkristofferwiklund/a, a href=/u/ksenzeeksenzee/a, a href=/u/k_zoltank_zoltan/a, a href=/u/leschekfmleschekfm/a, a href=/u/liam-morlandLiam Morland/a, a href=/u/loggollOggOl/a, a href=/u/lokapujyalokapujya/a, a href=/u/lowellLowell/a, a href=/u/lucastockmannlucastockmann/a, a href=/u/lukas-von-blarerLukas von Blarer/a, a href=/u/maciej.zgadzajmaciej.zgadzaj/a, a href=/u/marcelovanimarcelovani/a, a href=/u/mariagwynmariagwyn/a, a href=/u/mark-theunissenMark Theunissen/a, a href=/u/marvin_b8marvin_B8/a, a href=/u/maximpodorovmaximpodorov/a, a href=/u/mayaz17mayaz17/a, a href=/u/megachrizMegaChriz/a, a href=/u/mfbmfb/a, a href=/u/mgiffordmgifford/a, a href=/u/micaelamenaramicaelamenara/a, a href=/u/mikeytown2mikeytown2/a, a href=/u/mile23Mile23/a, a href=/u/mimranmimran/a, a href=/u/minax.deminax.de/a, a href=/u/miro_dietikermiro_dietiker/a, a href=/u/mistermopermistermoper/a, a href=/u/mixologicMixologic/a, a href=/u/mohit_agheramohit_aghera/a, a href=/u/mondrakemondrake/a, a href=/u/mpvmpv/a, a href=/u/mr.baileysmr.baileys/a, a href=/u/mustanggbMustangGB/a, a href=/u/neograph734Neograph734/a, a href=/u/nevergonenevergone/a, a href=/u/nicholas.alipaznicholas.alipaz/a, a href=/u/nicrodgersnicrodgers/a, a href=/u/nikitajainNikitaJain/a, a href=/u/nithinkolekarnithinkolekar/a, a href=/u/nod_nod_/a, a href=/u/noe_Noe_/a, a href=/u/onelittleantonelittleant/a, a href=/u/opdaviesopdavies/a, a href=/u/orbmantellorbmantell/a, a href=/u/oriol_e9goriol_e9g/a, a href=/u/parisliakosParisLiakos/a, a href=/u/pashupathi-nath-gajawadapashupathi nath gajawada/a, a href=/u/peacogPeacog/a, a href=/u/perignonPerignon/a, a href=/u/peter-bexPeter Bex/a, a href=/u/peterpoepeterpoe/a, a href=/u/pfrenssenpfrenssen/a, a href=/u/pieterdcPieterDC/a, a href=/u/pietmarcuspietmarcus/a, a href=/u/pjcdawkinspjcdawkins/a, a href=/u/pjonckierepjonckiere/a, a href=/u/poloniumPolonium/a, a href=/u/pounardpounard/a, a href=/u/presleydpresleyd/a, a href=/u/pwaterzpwaterz/a, a href=/u/pwolaninpwolanin/a, a href=/u/rafaolfrafaolf/a, a href=/u/rbmboogierbmboogie/a, a href=/u/realitylooprealityloop/a, a href=/u/rhclaytorhclayto/a, a href=/u/rocketeerbkwrocketeerbkw/a, a href=/u/rpayanmrpayanm/a, a href=/u/rupertjrupertj/a, a href=/u/sagar-ramgadeSagar Ramgade/a, a href=/u/sanduhrssanduhrs/a, a href=/u/scorscor/a, a href=/u/scottalanscottalan/a, a href=/u/scuba_flyscuba_fly/a, a href=/u/sdstylessdstyles/a, a href=/u/snehisnehi/a, a href=/u/soaratulsoaratul/a, a href=/u/socialnicheguruSocialNicheGuru/a, a href=/u/spleshkaSpleshka/a, a href=/u/stefan.rstefan.r/a, a href=/u/stovakstovak/a, a href=/u/sunsun/a, a href=/u/sutharsanSutharsan/a, a href=/u/svanousvanou/a, a href=/u/sweetchuckSweetchuck/a, a href=/u/swentelswentel/a, a href=/u/sylussylus/a, a href=/u/s_leus_leu/a, a href=/u/tadityartadityar/a, a href=/u/talhaparachatalhaparacha/a, a href=/u/tatisilvatatisilva/a, a href=/u/tbradburytbradbury/a, a href=/u/therealssjtherealssj/a, a href=/u/travelvctravelvc/a, a href=/u/traviscardenTravisCarden/a, a href=/u/travisjohnstonTravisJohnston/a, a href=/u/treyhunnertreyhunner/a, a href=/u/tsphetheantsphethean/a, a href=/u/tstoecklertstoeckler/a, a href=/u/tuchotucho/a, a href=/u/tuuttituutti/a, a href=/u/twistortwistor/a, a href=/u/twodTwoD/a, a href=/u/typhoniustyphonius/a, a href=/u/vasi1186vasi1186/a, a href=/u/wim-leersWim Leers/a, a href=/u/xanoXano/a, a href=/u/xjmxjm/a, a href=/u/yannickooyannickoo/a, a href=/u/ychedyched/a, a href=/u/yesctYesCT/a, a href=/u/zaporyliezaporylie/a, a href=/u/zerdioxZerdiox/a, and a href=/u/znerolznerol/a./p p(This list was auto-generated, so apologies if anyone was left out.)/p pYour name could be on a list like this in the future; see the a href=https://www.drupal.org/contributeWays to get involved/a page to find out how./p pThank you to everyone who helped with Drupal 7.50!/p /div/div/div
Categories: Drupal Feeds

Drupal Blog: A roadmap for making Drupal more API-first

Thu, 07/07/2016 - 9:06am
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpema href=http://buytaert.net/a-roadmap-for-making-drupal-more-api-first target=_blank rel=nofollowRepublished from buytaert.net/a/em/p pIn one of my recent blog posts, I articulated a href=http://buytaert.net/advancing-drupal-web-services target=_blank rel=nofollowa vision for the future of Drupal's web services/a, and at DrupalCon New Orleans, I announced the a href=http://buytaert.net/state-of-drupal-presentation-may-2016 target=_blank rel=nofollowAPI-first initiative for Drupal 8/a. I believe that there is considerable momentum behind driving the web services initiative. As such, I want to provide a progress report, highlight some of the key people driving the work, and map the proposed vision from the previous blog post onto a rough timeline./p pHere is a bird's-eye view of the plan for the next twelve months:/p tabletbodytrth8.2 (Q4 2016)/th th8.3 (Q2 2017)/th thBeyond 8.3 (2017+)/th /trtrtdNew REST API capabilitiesbr / Waterwheel initial release/td tdNew REST API capabilitiesbr / JSON API module/td tdGraphQL module?br / Entity graph iterator?/td /tr/tbody/tableh2New REST API capabilities/h2 pa href=https://www.drupal.org/u/wim-leers rel=nofollowWim Leers/a (Acquia) and a href=https://www.drupal.org/u/dawehner rel=nofollowDaniel Wehner/a (Chapter Three) have produced a comprehensive list of the a href=https://www.drupal.org/node/2721489 rel=nofollowtop priorities for the REST module/a. We're introducing a href=https://www.drupal.org/list-changes/drupal/published?keywords_description=RESTamp;to_branch=8.2.xamp;version=amp;created_op=%3E%3Damp;created%5Bvalue%5D=amp;created%5Bmin%5D=amp;created%5Bmax%5D= rel=nofollowsignificant REST API advancements/a in Drupal 8.2 and 8.3 in order to improve the developer experience and extend the capabilities of the REST API. We've been focused on configuration entity support, simplified REST configuration, translation and file upload support, pagination, and last but not least, support for user login, logout and registration. All this work starts to address differences between core's REST module and various contributed modules like a href=https://www.drupal.org/project/services rel=nofollowServices/a and a href=https://www.drupal.org/project/relaxed rel=nofollowRELAXed Web Services/a. More details are available in a href=http://buytaert.net/advancing-drupal-web-services target=_blank rel=nofollowmy previous blog post/a./p pMany thanks to a href=https://www.drupal.org/u/wim-leers rel=nofollowWim Leers/a (Acquia), a href=https://www.drupal.org/u/dawehner rel=nofollowDaniel Wehner/a (Chapter Three), a href=https://www.drupal.org/u/tedbow rel=nofollowTed Bowman/a (Acquia),a href=https://www.drupal.org/u/alexpott rel=nofollowAlex Pott/a (Chapter Three), and others for their work on Drupal core's REST modules. Though there is considerable momentum behind efforts in core, we could always benefit from new contributors. Please consider taking a look at the a href=https://www.drupal.org/project/issues/drupal?component=rest.module rel=nofollowREST module issue queue/a to help!/p h2Waterwheel initial release/h2 pAs I mentioned in my previous post, there has been exciting work surrounding a href=https://github.com/acquia/waterwheel target=_blank rel=nofollowWaterwheel/a, an SDK for JavaScript developers building Drupal-backed applications. If you want to build decoupled applications using a JavaScript framework (e.g. Angular, Ember, React, etc.) that use Drupal as a content repository, stay tuned for Waterwheel's initial release later this year./p pWaterwheel aims to facilitate the construction of JavaScript applications that communicate with Drupal. Waterwheel's JavaScript library allows JavaScript developers to work with Drupal without needing deep knowledge of how requests should be authenticated against Drupal, what request headers should be included, and how responses are molded into particular data structures./p pThe a href=https://www.drupal.org/project/waterwheel rel=nofollowWaterwheel Drupal module/a adds a new endpoint to Drupal's REST API allowing Waterwheel to discover entity resources and their fields. In other words, Waterwheel intelligently discovers and seamlessly integrates with the content model defined on any particular Drupal 8 site./p pA wider ecosystem around Waterwheel is starting to grow as well. a href=https://www.drupal.org/u/gabesullice rel=nofollowGabe Sullice/a, creator of the a href=https://www.drupal.org/project/entityqueryapi rel=nofollowEntity Query API module/a, has contributed an integration of Waterwheel which opens the door to features such as sorts, conditions and ranges. The Waterwheel team welcomes early adopters as well as those working on other REST modules such as JSON API and RELAXed or using native HTTP clients in JavaScript frameworks to add their own integrations to the mix./p pWaterwheel is the currently the work of a href=https://www.drupal.org/u/drpal rel=nofollowMatt Grill/a (Acquia) and a href=https://www.drupal.org/u/prestonso rel=nofollowPreston So/a (Acquia), who are developing the JavaScript library, and a href=https://www.drupal.org/u/tedbow rel=nofollowTed Bowman/a (Acquia), who is working on the Drupal module./p h2JSON API module/h2 pIn conjunction with the ongoing efforts in core REST, parallel work is under way to build a a href=https://www.drupal.org/project/jsonapi rel=nofollowJSON API module/a that embraces the JSON API specification. a href=http://jsonapi.org/ target=_blank rel=nofollowJSON API/a is a particular implementation of REST that provides conventions for resource relationships, collections, filters, pagination, and sorting, in addition to error handling and full test coverage. These conventions help developers build clients faster and encourages reuse of code./p pThanks to a href=https://www.drupal.org/u/e0ipso rel=nofollowMateu Aguiló Bosch/a, a href=https://www.drupal.org/u/ef4 rel=nofollowEd Faulkner/a and a href=https://www.drupal.org/u/gabesullice rel=nofollowGabe Sullice/a, who are spearheading the JSON API module work. The module could be ready for production use by the end of this year and included as an experimental module in core by 8.3. Contributors to JSON API are meeting weekly to discuss progress moving forward./p h2Beyond 8.3: GraphQL and entity graph iterator/h2 pWhile these other milestones are either certain or in the works, there are other projects gathering steam. Chief among these is GraphQL, which is a query language I highlighted in a href=http://buytaert.net/state-of-drupal-presentation-september-2015 target=_blank rel=nofollowmy Barcelona keynote/a and allows for clients to tailor the responses they receive based on the structure of the requests they issue./p pOne of the primary outcomes of the New Orleans web services discussion was the importance of a unified approach to iterating Drupal's entity graph; both GraphQL and JSON API require such an entity graph iterator. Though much of this is still speculative and needs greater refinement, eventually, such an entity graph iterator could enable other functionality such as editable API responses (e.g. aliases for custom field names and timestamp formatters) and a unified versioning strategy for web services. However, more help is needed to keep making progress, and in absence of additional contributors, we do not believe this will land in Drupal until after 8.3./p pThanks to a href=https://www.drupal.org/u/fubhy rel=nofollowSebastian Siemssen/a, who has been leading the effort around this work, which is currently a href=https://github.com/drupal-http-apis/type-graph target=_blank rel=nofollowavailable on GitHub/a./p h2Validating our work and getting involved/h2 pIn order to validate all of the progress we've made, we need developers everywhere to test and experiment with what we're producing. This means stretching the limits of our core REST offerings, trying out JSON API for your own Drupal-backed applications, reporting issues and bugs as you encounter them, and participating in the discussions surrounding this exciting vision. Together, we can build towards a first-class API-first Drupal./p pemSpecial thanks to a href=https://www.drupal.org/u/prestonso rel=nofollowPreston So/a for contributions to this blog post and to a href=https://www.drupal.org/u/wim-leers rel=nofollowWim Leers/a for feedback during its writing./em/p/div/div/div
Categories: Drupal Feeds

Dries Buytaert: A roadmap for making Drupal more API-first

Thu, 07/07/2016 - 9:06am
div class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item even property=content:encodedpIn one of my recent blog posts, I articulated a href=http://buytaert.net/advancing-drupal-web-servicesa vision for the future of Drupal's web services/a, and at DrupalCon New Orleans, I announced the a href=http://buytaert.net/state-of-drupal-presentation-may-2016API-first initiative for Drupal 8/a. I believe that there is considerable momentum behind driving the web services initiative. As such, I want to provide a progress report, highlight some of the key people driving the work, and map the proposed vision from the previous blog post onto a rough timeline./p pHere is a bird's-eye view of the plan for the next twelve months:/p tabletbodytrth8.2 (Q4 2016)/th th8.3 (Q2 2017)/th thBeyond 8.3 (2017+)/th /trtrtdNew REST API capabilitiesbr /Waterwheel initial release/td tdNew REST API capabilitiesbr /JSON API module/td tdGraphQL module?br /Entity graph iterator?/td /tr/tbody/tableh3New REST API capabilities/h3 pa href=https://www.drupal.org/u/wim-leersWim Leers/a (Acquia) and a href=https://www.drupal.org/u/dawehnerDaniel Wehner/a have produced a comprehensive list of the a href=https://www.drupal.org/node/2721489top priorities for the REST module/a. We're introducing a href=https://www.drupal.org/list-changes/drupal/published?keywords_description=RESTamp;to_branch=8.2.xamp;version=amp;created_op=%3E%3Damp;created%5Bvalue%5D=amp;created%5Bmin%5D=amp;created%5Bmax%5D=significant REST API advancements/a in Drupal 8.2 and 8.3 in order to improve the developer experience and extend the capabilities of the REST API. We've been focused on configuration entity support, simplified REST configuration, translation and file upload support, pagination, and last but not least, support for user login, logout and registration. All this work starts to address differences between core's REST module and various contributed modules like a href=https://www.drupal.org/project/servicesServices/a and a href=https://www.drupal.org/project/relaxedRELAXed Web Services/a. More details are available in a href=http://buytaert.net/advancing-drupal-web-servicesmy previous blog post/a./p pMany thanks to a href=https://www.drupal.org/u/wim-leersWim Leers/a (Acquia), a href=https://www.drupal.org/u/dawehnerDaniel Wehner/a, a href=https://www.drupal.org/u/tedbowTed Bowman/a (Acquia), a href=https://www.drupal.org/u/alexpottAlex Pott/a (Chapter Three), and others for their work on Drupal core's REST modules. Though there is considerable momentum behind efforts in core, we could always benefit from new contributors. Please consider taking a look at the a href=https://www.drupal.org/project/issues/drupal?component=rest.moduleREST module issue queue/a to help!/p h3Waterwheel initial release/h3 pAs I mentioned in my previous post, there has been exciting work surrounding a href=https://github.com/acquia/waterwheelWaterwheel/a, an SDK for JavaScript developers building Drupal-backed applications. If you want to build decoupled applications using a JavaScript framework (e.g. Angular, Ember, React, etc.) that use Drupal as a content repository, stay tuned for Waterwheel's initial release later this year./p pWaterwheel aims to facilitate the construction of JavaScript applications that communicate with Drupal. Waterwheel's JavaScript library allows JavaScript developers to work with Drupal without needing deep knowledge of how requests should be authenticated against Drupal, what request headers should be included, and how responses are molded into particular data structures./p pThe a href=https://www.drupal.org/project/waterwheelWaterwheel Drupal module/a adds a new endpoint to Drupal's REST API allowing Waterwheel to discover entity resources and their fields. In other words, Waterwheel intelligently discovers and seamlessly integrates with the content model defined on any particular Drupal 8 site./p pA wider ecosystem around Waterwheel is starting to grow as well. a href=https://www.drupal.org/u/gabesulliceGabe Sullice/a, creator of the a href=https://www.drupal.org/project/entityqueryapiEntity Query API module/a, has contributed an integration of Waterwheel which opens the door to features such as sorts, conditions and ranges. The Waterwheel team welcomes early adopters as well as those working on other REST modules such as JSON API and RELAXed or using native HTTP clients in JavaScript frameworks to add their own integrations to the mix./p pWaterwheel is the currently the work of a href=https://www.drupal.org/u/drpalMatt Grill/a (Acquia) and a href=https://www.drupal.org/u/prestonsoPreston So/a (Acquia), who are developing the JavaScript library, and a href=https://www.drupal.org/u/tedbowTed Bowman/a (Acquia), who is working on the Drupal module./p h3JSON API module/h3 pIn conjunction with the ongoing efforts in core REST, parallel work is underway to build a a href=https://www.drupal.org/project/jsonapiJSON API module/a which embraces the JSON API specification. a href=http://jsonapi.orgJSON API/a is a particular implementation of REST that provides conventions for resource relationships, collections, filters, pagination, and sorting, in addition to error handling and full test coverage. These conventions help developers build clients faster and encourages reuse of code./p pThanks to a href=https://www.drupal.org/u/e0ipsoMateu Aguiló Bosch/a, a href=https://www.drupal.org/u/ef4Ed Faulkner/a and a href=https://www.drupal.org/u/gabesulliceGabe Sullice/a, who are spearheading the JSON API module work. The module could be ready for production use by the end of this year and included as an experimental module in core by 8.3. Contributors to JSON API are meeting weekly to discuss progress moving forward./p h3Beyond 8.3: GraphQL and entity graph iterator/h3 pWhile these other milestones are either certain or in the works, there are other projects gathering steam. Chief among these is GraphQL, which is a query language I highlighted in a href=http://buytaert.net/state-of-drupal-presentation-september-2015my Barcelona keynote/a and allows for clients to tailor the responses they receive based on the structure of the requests they issue./p pOne of the primary outcomes of the New Orleans web services discussion was the importance of a unified approach to iterating Drupal's entity graph; both GraphQL and JSON API require such an entity graph iterator. Though much of this is still speculative and needs greater refinement, eventually, such an entity graph iterator could enable other functionality such as editable API responses (e.g. aliases for custom field names and timestamp formatters) and a unified versioning strategy for web services. However, more help is needed to keep making progress, and in absence of additional contributors, we do not believe this will land in Drupal until after 8.3./p pThanks to a href=https://www.drupal.org/u/fubhySebastian Siemssen/a, who has been leading the effort around this work, which is currently a href=https://github.com/drupal-http-apis/type-graphavailable on GitHub/a./p h3Validating our work and getting involved/h3 pIn order to validate all of the progress we've made, we need developers everywhere to test and experiment with what we're producing. This means stretching the limits of our core REST offerings, trying out JSON API for your own Drupal-backed applications, reporting issues and bugs as you encounter them, and participating in the discussions surrounding this exciting vision. Together, we can build towards a first-class API-first Drupal./p pemSpecial thanks to a href=https://www.drupal.org/u/prestonsoPreston So/a for contributions to this blog post and to a href=https://www.drupal.org/u/wim-leersWim Leers/a for feedback during its writing./em/p /div/div/div
Categories: Drupal Feeds

Liip: A quick look on the current state of Drupal 8 (ecosystem)

Thu, 07/07/2016 - 6:21am
pEight months ago Drupal 8.0.0 was released. Exciting news for drupalists. Since then comparing D8’s features to its predecessor is a topic in daily business. «Can drupal 8 do what we can do now with 7 today?”. After playing around with D8 i get the feeling some crucial features are missing. Dries invited people to tell ”a href=http://buytaert.net/how-is-drupal-8-doing target=_blankwhy we not use or migrate to drupal 8/a#8221; – and got a clear answer: A majority of drupalist (60%) are waiting for certain modules. So the follow up question would be what are these modules.span id=more-8404/span/p pOn the fly my top 10 wishlist would be:/p ul lipathauto/li litoken/li liwebform/li limetadata/li liviews_bulk_operations/li liflag/li lirules/li lixmlsitemap/li liredirect/li lisearch_api/li /ul pToday it seems quite difficult to get a good overview of D8 ecosystem. Also because some module development moved to github to have a better collaboration tool. I was irritated to see no D8 version of the a href=https://www.drupal.org/project/webform target=_blankwebform/a module in the download section on drupal.org  #8211; That’s a module with 1/2 million downloads for D7. Comments on this a href=https://www.drupal.org/node/2603724 target=_blankissue/a gives some answers. Without committed maintainers from the beginning the porting takes much longer. A highly complex module like webform probably needs almost complete rewrite to fit into the new core of D8. Porting module from D7 to D6 was much easier. For forms we could use in some cases the core Form API, core contact forms or the eform module. But our clients would most likely miss out on the experience of D7s webform module./p pUnder the hood Drupal 8 core changed significantly. a href=https://symfony.com target=_blankSymfony2/a for example is now playing its music to give us new possibilities. I guess in some cases there are new solutions we have yet to discover. From a suitebuilder point of view, D8 is delightfully similar to what we know from D7. However, it will take some getting used to not trying to add the old modules we know to this new architecture./p pIn the end the importance of a variety of mature modules that play together nicely is crucial when it comes to efficiency, maintainability and stability of a project#8230;/p blockquotep#8220;I am confident that Drupal 8 will be adopted at #8220;full-force#8221; by the end of 2016.#8221;br / citeDries Buytaert/cite/p/blockquote psmallDrupal is a registered trademark of Dries Buytaert.small/small/small/p
Categories: Drupal Feeds

Srijan Technologies: Docker: A Microcontainer for Faster Software Workflows

Thu, 07/07/2016 - 4:54am
div class=field field-name-body field-type-text-with-summary field-label-hidden view-mode-rssdiv class=field-itemsdiv class=field-item even pDocker, a container-based technology which I just came across, is great for setting up environments. It was first introduced to the world by Solomon Hykes, founder and CEO of dotCloud at Python Developers Conference in Santa Clara, California, in March 2013. The project was quickly open-sourced and made available on GitHub, where anyone can download and contribute to it./p pstrongContainers vs. Virtual Machines/strong/p pYou might be wondering, What is the difference between Containers (like Docker) and Virtual Machines?/p pWell, virtual machines (VM) work by creating a virtual copy of a computer's hardware, and running a full operating-system on that virtual hardware. Each new VM that you create results in a new copy of that virtual hardware, which is computationally expensive. Many people use VMs because they allow you to run an application in a separate environment which can have it's own versions of software and settings, which are different from the host machine./p pOn the other hand, container technologies like Docker, isolate the container's environment, software, and settings, in a sandbox; but all sandboxes share the same operating-system kernel and hardware as the host computer. Each new container results in a new sandbox. This enables us to pack a lot more applications into a single physical server as compared to a virtual machine./p pDocker containers are isolated enough that the root process in a container cannot see the host machine’s processes or filesystem. However, it may still be able to make certain system calls to the kernel that a regular user would not, because in Docker, the kernel is shared with the host machine. This is also why Docker containers are not virtual machines and thus a lot faster./p pNote, however, that Docker relies on a technology which is only available in the Linux kernel. When you run Docker on a Windows or Macintosh host machine, Docker and all it's containers run in a virtual machine/p pThat said, there are two projects trying to bring Docker-style containers natively to OS/X , a href=https://github.com/nlf/dlite target=_blankDlite/a and a href=https://github.com/mist64/xhyve target=_blankXhyve/a. But last I heard, these projects were still very experimental. So consider yourself warned./p pWhen you are done with a container, on a Mac host machine, it’s probably good to suspend the containers, because they run in a virtual machine and that has a lot of overhead. But on a Linux host machine, there would be no need to suspend them because they would not create (much) additional overhead (no more than, say, MAMP)./p pDocker is a tool that promises to scale into any environment, streamlining the workflow and responsiveness of agile software organizations./p pstrongDocker’s Architecture/strong/p pThis is a diagram explaining the basic client-server architecture which docker uses./p p style=text-align: center;img alt= class=media-image image-style-none height=494 width=945 src=http://www.srijan.net/sites/default/files/image02_3.png //p pemSource: a href=http://www.docker.comhttp://www.docker.com/a/em/p pstrongImportant Terminology/strong/p ulliDocker daemon: A Docker engine which runs on the host machine as shown in the image above./li liDocker client: A Docker cli which is used to interact with the daemon./li /ulpstrongWorkflow components/strong/p ulliDocker image: A read-only disk image in which environment amp; your application resides./li liDocker container: A read/writeable instance of an image, which you can start, stop, move, and  delete./li liDocker registry: A public or private repository to store images./li liDockerfile: A Dockerfile is instructions for how to build a single image. You can think of a Dockerfile as kind of Vagrantfile, or a single Chef cookbook, or an Ansible script, or a Puppet script./li /ulpstrongMicroservices/strongbr /Because Docker allows you to run so many containers at the same time, it has popularized the idea of microservices: a collection of containers, each of which contain a single program,  all of which work together to run a complex application (e.g. Drupal)./p pTaking Drupal as an example, every Drupal site has at least two dependencies: an HTTP server (Apache, Nginx, etc.) running PHP; and MySQL. The idea of microservices would involve packaging Apache+PHP separately from MySQL; as opposed to most Drupal virtual machine images which bundle them together into the same VM. For more complicated setups, you could add another container for Solr, another container for LDAP, etc./p pFor me, the main advantage of using microservices is that it’s easier to update or swap one dependency of an application without affecting the rest of it. Another way of looking at this is that microcontainers make it easier to modify one piece without waiting a long time for the virtual machine to rebuild./p pWhen I was using a virtual machine on a particularly complex project, if I needed to make a change to a setting, I had to make that change in the Puppet config, then run vagrant destroy amp;amp; vagrant up and wait two hours for it to tell me that the new configuration wasn’t compatible with some other piece of the system. At which point I had to repeat the two hour process, which wasted a lot of time./p pIf I had been using Docker (properly), then I could have just changed the setting for that one program, rebuild that program's container (5 seconds), and not have to worry that one piece of the machine needed at least Java 6 and the other piece of the machine could not work without Java 5./p pNow that you know the possibilities with Docker, watch this space to find out how all this applies to Drupal./p /div/div/div
Categories: Drupal Feeds

Kristian Polso: My first thoughts on Drupal 8 development

Thu, 07/07/2016 - 4:08am
So on my summer holiday I decided to finally take a look at custom module development for Drupal 8. During this time I made some interesting findings, and thought sharing them would probably help others too. Note that I was determined to build a REST API module, so a lot of the findings below are regarding that aspect of development. Documentation is really lacking in parts It's kinda sad, but quite often I had trouble finding information on how to use different controllers or functions, or how to do stuff X in Drupal 8 compared to Drupal 7.
Categories: Drupal Feeds

Flocon de toile | Freelance Drupal: Managing media with Drupal 8

Thu, 07/07/2016 - 3:00am
div class=field field--name-body field--type-text-with-summary field--label-hidden field--itemMedia management has been identified as a priority in the last DrupalCon (New Orleans 2016). If we could have on Drupal 7 some contributed modules offering an unparalleled user experience for media management, Drupal 8 was still orphan not long ago for an equivalent solution. With the stable release of the Media Entity module, Drupal 8 now has a robust and scalable solution to offer its users a customized media management. Let's explore how to set up a media management on Drupal 8 with the Media Entity collection./div
Categories: Drupal Feeds

Radium on Drupal: GSoC 2016 | Using Web Components in Theme Design

Thu, 07/07/2016 - 2:17am
Overview My project can be seen as a mixture of tools that uses Web Components to enhance Drupal’s frontend experience. In previous weeks, I have been programmatically turning parts of Drupal into Web Components and exporting some of them. This week, I would like to talk about using Web Components in Drupal themes, and furthermore, a Web Component-driven approach for theme design.
Categories: Drupal Feeds

Arpit Jalan: GSOC 2016- Starting with Face Detection feature of Google Cloud Vision API- Week 6

Thu, 07/07/2016 - 12:18am
div dir=ltr style=text-align: left; trbidi=ondiv dir=ltr style=line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;span style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;TL;DR/spanspan style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; Previous week I had worked on grouping the contents based on the dominant color component in their images, if present. The work is under review of the mentors. And once, it gets reviewed, I would work further on that issue. Meanwhile, I have started developing and implementing the Emotion Detection feature of the Google Cloud Vision API. It would detect the emotion of the person in the profile picture uploaded, and if the person looks angry or unhappy, he would be notified thereof. This feature is especially important when building sites for professional purposes, as the facial looks matters a lot in such cases./span/divb id=docs-internal-guid-c9a8181b-c3ca-6a3a-bbc6-f6b1a399b6ea style=font-weight: normal;br //bdiv dir=ltr style=line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;span style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;Last week, I had worked on implementing the Dominant Color Detection feature in the /spana href=https://www.drupal.org/project/google_vision style=text-decoration: none;span style=background-color: transparent; color: #1155cc; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;Google Vision API/span/aspan style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; module. The code is currently under the review by the mentors. Once, they review it, I would develop further on it if it requires any changes./span/divb style=font-weight: normal;br //bdiv dir=ltr style=line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;span style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;Hence, meanwhile, I have started working on implementing a new feature /spanspan style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;Face Detection /spanspan style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;in an image. This feature gives us the location of the face in an image, and in addition, the emotions and expressions on the face./span/divb style=font-weight: normal;br //bdiv dir=ltr style=line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;span style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;I have used this feature to detect the emotion of the person in the profile picture uploaded by him/her. If the person does not seem happy in the image, he/she is notified thereof of their expressions. This is especially useful when the end users are developing a site for professional purposes, as in professional matters, expressions matters a lot./span/divb style=font-weight: normal;br //bdiv dir=ltr style=line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;span style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;Coming to the technical aspect, I have made use of /spana href=https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Entity%21entity.api.php/function/hook_entity_bundle_field_info_alter/8.1.x style=text-decoration: none;span style=background-color: transparent; color: #1155cc; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;hook_entity_bundle_field_info_alter()/span/aspan style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; to alter the image fields, and check the emotions in the uploaded images. This function has been used, as we only want to implement this feature on the image fields. If the image is not a happy one, then appropriate message is displayed using /spana href=https://api.drupal.org/api/drupal/core!includes!bootstrap.inc/function/drupal_set_message/8.2.x style=text-decoration: none;span style=background-color: transparent; color: #1155cc; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;drupal_set_message()/span/aspan style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;. This feature also makes use of /spana href=https://www.drupal.org/node/2015613 style=text-decoration: none;span style=background-color: transparent; color: #1155cc; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;Constraints and Validators/span/aspan style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; just like the Safe Search detection feature./span/divdiv dir=ltr style=line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;span style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;Presently, the code is under the review by the mentors./span/divb style=font-weight: normal;br //bdiv dir=ltr style=line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;span style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;In addition to the implementation of Face Detection, I also worked on expanding the tests of the Safe Search Detection feature of the Google Vision API module to test other entities as well, in addition to the nodes. I have expanded the tests to test the safe search constraint on the comment entity as well./span/divdiv dir=ltr style=line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;span style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;This requires the creation of a dummy comment type, adding an image field to the comment type, and attaching the comment to the content type./span/divdiv dir=ltr style=line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;span style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;The image field contains the /spana href=https://www.drupal.org/node/2744845 style=text-decoration: none;span style=background-color: transparent; color: #1155cc; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;safe search as the constraint/span/aspan style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; on it. This test is basically similar to the tests present in the module for the node entity./span/divdiv dir=ltr style=line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;span style=background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;The code is under review by the mentors and would soon be committed to the module./span/divspan style=font-family: Arial; font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap;For reference on how to create dummy comment types and attaching it to the content types, the /spana href=https://api.drupal.org/api/drupal/core%21modules%21comment%21src%21Tests%21CommentTestBase.php/class/CommentTestBase/8.1.x style=text-decoration: none;span style=color: #1155cc; font-family: Arial; font-size: 14.6666666666667px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;CommentTestBase/span/aspan style=font-family: Arial; font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; class is very helpful./span/div
Categories: Drupal Feeds

DrupalCon News: Call for Content Closes with Record Submissions

Wed, 07/06/2016 - 4:38pm
div class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item evenpIn true Drupal fashion, we had a huge amount of proposals for DrupalCon Dublin on the last day to bring us to a record-breaking 621 session submissions./p /div/div/div
Categories: Drupal Feeds

GVSO Blog: [GSoC 2016: Social API] Week 6: Facebook Widgets Buttons

Wed, 07/06/2016 - 1:37pm
article data-history-node-id=6 role=article about=/article/2016-07-06/gsoc-2016-social-api-week-6-facebook-widgets-buttons typeof=schema:Article class=article is-promoted teaser clearfix h2 a href=/article/2016-07-06/gsoc-2016-social-api-week-6-facebook-widgets-buttons rel=bookmarkspan property=schema:name[GSoC 2016: Social API] Week 6: Facebook Widgets Buttons/span /a /h2 span property=schema:name content=[GSoC 2016: Social API] Week 6: Facebook Widgets Buttons class=hidden/span span property=schema:interactionCount content=UserComments:0 class=hidden/span footer article typeof=schema:Person about=/user/1 /article div class=author Submitted by span rel=schema:authorspan lang= about=/user/1 typeof=schema:Person property=schema:name datatype=gvso/span/span on span property=schema:dateCreated content=2016-07-06T18:37:21+00:00Wed, 07/06/2016 - 14:37/span span property=schema:dateCreated content=2016-07-06T18:37:21+00:00 class=hidden/span /div /footer div class=content div property=schema:text class=field field--name-body field--type-text-with-summary field--label-hidden field--itempWeek 6 is over, and we are already in the second week of the second half of Google Summer of Code 2016. We are working hard to have the Social API project ready to be used widely before GSoC ends. Furthermore, we are trying to already have some implementors, so developers can see sample modules developed on top of the Social API, Social Auth, Social Post, and Social Widgets./p/div div class=field field--name-field-tags field--type-entity-reference field--label-above div class=field--labelTags/div div class=field__items span class=field--itema href=/tag/drupal-planet property=schema:about hreflang=enDrupal Planet/a/span span class=field--itema href=/tag/drupal property=schema:about hreflang=enDrupal/a/span span class=field--itema href=/tag/gsoc2016 property=schema:about hreflang=enGSoC 2016/a/span /div /div ul class=links inline list-inlineli class=node-readmorea href=/article/2016-07-06/gsoc-2016-social-api-week-6-facebook-widgets-buttons rel=tag title=[GSoC 2016: Social API] Week 6: Facebook Widgets Buttons hreflang=enRead morespan class=visually-hidden about [GSoC 2016: Social API] Week 6: Facebook Widgets Buttons/span/a/lili class=comment-forbiddena href=/user/login?destination=/article/2016-07-06/gsoc-2016-social-api-week-6-facebook-widgets-buttons%23comment-formLog in/a to post comments/li/ul /div /article
Categories: Drupal Feeds