Drupal Planet

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

Valuebound: Drupal 8: How to create a custom block programatically

Mon, 12/19/2016 - 1:33am
span property=schema:name data-quickedit-field-id=node/212/title/en/rss class=field field--name-title field--type-string field--label-hiddenDrupal 8: How to create a custom block programatically/span span data-quickedit-field-id=node/212/uid/en/rss rel=schema:author class=field field--name-uid field--type-entity-reference field--label-hiddena title=View user profile. href=/user/9 lang= about=/user/9 typeof=schema:Person property=schema:name datatype= class=usernameJaywant.Topno/a/span span property=schema:dateCreated content=2016-12-19T07:33:52+00:00 data-quickedit-field-id=node/212/created/en/rss class=field field--name-created field--type-created field--label-hiddenMon, 12/19/2016 - 02:33/span
Categories: Drupal Feeds

Valuebound: Drupal 8: Custom Block Creation programmatically

Mon, 12/19/2016 - 1:33am
span property=schema:name data-quickedit-field-id=node/211/title/en/rss class=field field--name-title field--type-string field--label-hiddenDrupal 8: Custom Block Creation programmatically /span span data-quickedit-field-id=node/211/uid/en/rss rel=schema:author class=field field--name-uid field--type-entity-reference field--label-hiddena title=View user profile. href=/user/9 lang= about=/user/9 typeof=schema:Person property=schema:name datatype= class=usernameJaywant.Topno/a/span span property=schema:dateCreated content=2016-12-19T07:33:52+00:00 data-quickedit-field-id=node/211/created/en/rss class=field field--name-created field--type-created field--label-hiddenMon, 12/19/2016 - 02:33/span
Categories: Drupal Feeds

DrupalCon News: You are the Coding Development Track

Mon, 02/08/2016 - 11:40am
div class=field field--name-body field--type-text-with-summary field--label-hiddendiv class=field__itemsdiv class=field__item evenpWith core Drupal 8 now in full swing and the contrib space rapidly maturing, now is an excellent time to get more deeply involved with one of the world’s largest open-source development communities. The Coding and Development track is focused on educating developers on the latest techniques and tools for increasing the quality and efficacy of their projects./p/div/div/div
Categories: Drupal Feeds

blog.studio.gd: Views Plugins (Part 1) : Simple area handler plugin

Mon, 02/08/2016 - 4:56am
In this series I will show you how to make use of the new Drupal 8 Plugin system, we begin with a simple example : the views area handler plugins.
Categories: Drupal Feeds

blog.studio.gd: Overview of CMI in Drupal 8

Mon, 02/08/2016 - 4:56am
Some notes about the new Configuration management system in Drupal 8
Categories: Drupal Feeds

Janez Urevc: janezurevc.name runs on Drupal 8!

Mon, 02/08/2016 - 12:30am
span data-quickedit-field-id=node/84/title/en/fulltextjanezurevc.name runs on Drupal 8!/span div data-quickedit-field-id=node/84/body/en/fulltext class=field field--name-body field--type-text-with-summary field--label-hidden field--itempa href=https://drupal.orgDrupal/a 8 was officially released last November. Since then I was planning to try migrating a href=http://janezurevc.namemy blog/a from previous version of this great CMS. a href=https://www.drupal.org/8Drupal 8 comes with many improvements/a and I definitely wanted to leverage those also on my site./p pBesides that I always used my personal site also as an experimental sandbox where I tested new Drupal modules, themes, technologies. Even if a href=https://drupal.org/u/slashrsmI am very active contributor/a to Drupal core and contributed modules and I've been working on a href=http://examiner.github.io/pubtool_sessionan enterprise Drupal 8 project/a at my work I actually never migrated a site to Drupal 8 to this date. It was definitely something I wanted to try./p pPrevious version of janezurevc.name was running on Drupal 7. It is important to note migration from 7 to 8 isn't officially supported yet. Drupal 7 won't reach EOL for at least few more years, which makes this migration not critical. However, migrations from Drupal 6 have been fully supported since the day 8 was release. 6 will reach EOL this month, which makes migration from 6 to 8 an absolute priority./p h2Migration/h2 pMy site is actually very basic. I am using content (2 content types), taxonomy (1 vocabulary), few contributed modules and that is really it. It turns out that every that I needed migrates reliably./p pI started the process by reading a href=https://www.drupal.org/upgrade/migrateofficial documentation/a. Besides emMigrate/em and emMigrate Drupal/em modules that come with core I needed few contributed modules. a href=https://www.drupal.org/project/migrate_upgradeDrupal upgrade/a, a href=https://drupal.org/project/migrate_toolsMigrate tools/a and a href=https://drupal.orgMigrate plus/a./p pMigration itself was extremely easy. I installed Drupal 8 site, enabled migrate modules, started migration and waited for a few minutes. That's it! At least for core stuff. There are some glitches when it comes to contributed modules, but even that was fairly easy to resolve./p pI can just thank to everyone that contributed to Migrate in Drupal core. You did an awesome job!/p h2Theme/h2 pDrupal 7 version of my blog used a href=https://drupal.org/proejct/skySky theme/a, which is unfortunately not ported to 8 yet. For that reason I needed to search theme repository and came across a href=https://drupal.org/project/bootstrap_clean_blogBootstrap clean blog/a./p pimg src=http://janezurevc.name/sites/default/files/attached-files/bcb.png alt=Bootstrap clean blog //p pIt looked nice and it had a Drupal 8 -dev release. Regardless of that it works as a charm. I even contributed a href=https://www.drupal.org/node/2663456minor/a a href=https://www.drupal.org/node/2663442patches/a and am planning to contribute few more./p pemHow do you like the theme?/em/p h2Modules/h2 pLike almost every Drupal website out there mine also uses few contributed modules. Let's see how that went./p h3Disqus/h3 pDisqus module has been ported as part of the a href=http://janezurevc.name/progress-entity-embed-module-gsoc-2014Google summer of code project/a, which I've mentored in 2014. Module itself works very well. We changed architecture a bit; instead of having a custom database table we rather used a dedicated field type. This approach comes with many benefits. By doing this we're not limited to nodes any more. Disqus can be used on any entity type now./p pimg src=http://janezurevc.name/sites/default/files/attached-files/disqus.png alt=Disqus on quot;manage fieldsquot; page //p pEven if the port was there migration was not. I used this opportunity to dig into this part of Drupal a bit more. I wrote 7 to 8 migration support for everything Disqus needs. This includes general configuration, fields on entities, statuses and identifiers. My code is a href=http://cgit.drupalcode.org/disqus/commit/?id=be0beb18637c1fbc6d7a246b385ef2ab8f586c8balready committed/a and you can give it a try./p pemDid you try Disqus migration? Let me know how did it work for you./em/p h2Pathauto and Redirect/h2 pD8 ports are available on a href=https://drupal.org/project/pathautotheir/a Drupal.org a href=https://drupal.org/project/redirectproject/a pages. They work as a charm. While core migrates existing aliases alias patterns, redirects and other configuration aren't supported yet. I had just 3 alias patterns and less than 10 redirects on my old site so this wasn't hard to fix manually./p pIf you meet a href=https://drupal.org/u/berdir@Berdir/a please buy him a beer. He did an awesome job porting this (any many other) modules./p h2Media/h2 pI was using media to embed images in WYSIWYG, which is using legacy embed token in Drupal 7. This part was unfortunately not ported yet. I was using this on lees than 10 places so I decided to fix this manually too. I used a simple SQL query to get node IDs of content that used legacy token. Then I simply changed it to standard img / tag with data-entity-* attributes, which Drupal 8 uses for it's own image embeds./p h2Markdown filter/h2 pRecently I found out that I prefer a href=https://en.wikipedia.org/wiki/MarkdownMarkdown/a when producing written content. It doesn't interfere my writing flow nearly as much as WYSIWYG editors do. When using Markdown I focus on content instead of the appearance (for the same reason I really liked a href=http://www.latex-project.org/LaTeX/a during my university years)./p pimg src=http://janezurevc.name/sites/default/files/attached-files/markdown.png alt=This post being produced in Markdown //p pGuess what? There is a module for that! a href=https://drupal.org/project/markdownMarkdown filter/a comes with a text filter that will convert Markdown syntax to HTML when displaying it. And it also has a Drupal 8 port. Download, install, configure, use. It was as easy as that!/p pemHow does Markdown work for you? Do you prefer it over WYSIWYG editor as much as I do?/em/p h2Other modules/h2 pI use few other modules on the page. All of them have some kind of Drupal 8 release:/p ullia href=https://drupal.org/project/honeypotHoneypot/a/li lia href=https://drupal.org/project/metatagMetatag/a/li lia href=https://drupal.org/project/simple_sitemapSimple sitemap/a/li lia href=https://drupal.org/project/google_analyticsGoogle analyics/a/li /ulpAll of them work without any problem. I downloaded, installed and configured them. Google analytics even comes with support for migration (which meant 3rd step was not needed)./p pGreat work maintainers and contributors!/p h2Other interesting stuff/h2 pI also used this migration to move my blog to a new hosting solution. Old blog was hosted on a VPS that I used in the past and am slowly moving away from it. Most of my sites and services are currently hosted on a dedicated server at a href=http://www.hetzner.com/Hetzner/a (they provide excellent value for a price so I'd definitely recommend them)./p pRecently I started using a href=http://www.docker.com/Docker/a for my development environments and I wanted to try it in production too (I mentioned I am (ab)using my personal site for experimenting, right? :)). As a result of that I'm hosting a href=http://janezurevc.namejanezurevc.name/a in a Dockerized environment managed via a href=https://docs.docker.com/compose/Docker compose/a. Compose is super nice as it allows you to describe your infrastructure stack in a single YAML file. This allows you to commit it to a VCS repository and replicate infrastructure anywhere you want. emBut this is already a topic for some of my future posts./em/p pemDid you try to migrate your Drupal 6 or 7 sites to 8? How did it go? Which contributed modules are you using?/em/p /div span data-quickedit-field-id=node/84/uid/en/fulltextspan lang= about=/users/slashrsm typeof=schema:Person property=schema:name datatype=slashrsm/span/span span data-quickedit-field-id=node/84/created/en/fulltextMon, 08.02.2016 - 07:30/span div data-quickedit-field-id=node/84/field_tags/en/fulltext class=field field--name-field-tags field--type-entity-reference field--label-inline div class=field--labelTags/div div class=field__items div class=field--itema href=/tags/drupal hreflang=enDrupal/a/div /div /div div data-quickedit-field-id=node/84/disqus/en/fulltext class=field field--name-disqus field--type-disqus-comment field--label-hidden field--itemdiv id=disqus_thread class=form-groupnoscript p a href=http://janezurevc.name/janezurevc-name-runs-on-drupal-8View the discussion thread./a /p /noscript/div /div
Categories: Drupal Feeds

ARREA-Systems: Drupal 8 Guided Tour module

Sat, 02/06/2016 - 6:38pm
span property=schema:name data-quickedit-field-id=node/17/title/en/teaser class=field field--name-title field--type-string field--label-hiddenDrupal 8 Guided Tour module/span span data-quickedit-field-id=node/17/uid/en/teaser rel=schema:authorspan lang= about=/user/9 typeof=schema:Person property=schema:name datatype=JK/span/span span property=schema:dateCreated content=2016-02-07T00:38:37+00:00 data-quickedit-field-id=node/17/created/en/teaserSun, 02/07/2016 - 08:38/span div property=schema:text data-quickedit-field-id=node/17/body/en/teaser class=field field--name-body field--type-text-with-summary field--label-hidden field__itempIn Drupal 8 there is a strongTour module/strong in core that is very useful when it comes to web applications. In a href=http://ek.demo.arrea-systems.comEK management tools/a we target professional users with small to medium scale companies. They usually have limited resources and time to spend on back office trainings. This is where the Tour module is very convenient to introduce functionalities to users who can quickly grasp the functions available to manage their back office./p pWe use the Tour functionality in our pages to guide users in their daily tasks like for instance in the form to create a new invoice or project page:/p p /p img alt=Invoice guided tour data-entity-type=file data-entity-uuid=925cacef-ea9a-45aa-a900-c6d4f39bf742 height=402 src=http://arrea-systems.com/sites/default/files/inline-images/invoice-tour1.jpg width=676 class=align-center /img alt=project tour data-entity-type=file data-entity-uuid=7fb0957a-2efe-4a4d-9200-f55db7d704d7 height=460 src=http://arrea-systems.com/sites/default/files/inline-images/project-tour1.jpg width=664 class=align-center /p /p/div ul class=links inlineli class=node-readmorea href=/Drupal_8_Guided_Tour_module rel=tag title=Drupal 8 Guided Tour module hreflang=enRead morespan class=visually-hidden about Drupal 8 Guided Tour module/span/a/lili class=comment-adda href=/Drupal_8_Guided_Tour_module#comment-form title=Share your thoughts and opinions. hreflang=enAdd new comment/a/lili class=statistics-counter7 views/li/ul
Categories: Drupal Feeds

HollyIT: D8 Notes: 'Fields pending deletion' Exception

Sat, 02/06/2016 - 9:15am
div class=field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-abovediv class=field-labelCategories:nbsp;/divdiv class=field-itemsdiv class=field-item even property=schema:genrea href=/taxonomy/term/1 typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal/a/divdiv class=field-item odd property=schema:genrea href=/category/categories/planet-drupal typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Planet Drupal/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:encodedpWhile working on a module that defines a custom field I attempted a reinstall of the module. During the uninstall process I received the following exception:/p/div/div/divspan property=schema:headline dc:title content=D8 Notes: #039;Fields pending deletion#039; Exception class=rdf-meta element-hidden/span
Categories: Drupal Feeds

TimOnWeb.com: How To Force Search API To Reindex a Node / an Entity

Fri, 02/05/2016 - 10:36pm
pBy default Search API (Drupal 7) reindexes a node when the node gets updated. But what if you want to reindex a node / an entity on demand or via some other hook i.e. outside of update cycle? Turned out it is a quite simple exercise. You just need to .../p pa href=http://timonweb.com/posts/how-to-force-search-api-to-reindex-a-node-an-entity/ class=btnRead now/a/p
Categories: Drupal Feeds

TimOnWeb.com: Adding a custom extra field to entity / node display

Fri, 02/05/2016 - 10:36pm
pI had a case recently, where I needed to add custom data to the node display and wanted this data to behave like a field, however the data itself didn#39;t belong to a field. By quot;behaving like a fieldquot; I mean you can that field at node display settings and .../p pa href=http://timonweb.com/posts/adding-a-custom-extra-field-to-entity-node-display/ class=btnRead now/a/p
Categories: Drupal Feeds

TimOnWeb.com: Replacing Menu Item Visibility module with custom in code solution

Fri, 02/05/2016 - 10:36pm
pI#39;m a big fan of fighting with Drupal#39;s inefficiencies and bottlenecks. Most of these come from contrib modules. Everytime we install a contrib module we should be ready for surprises which come on board with the module./p pOne of the latest examples is strongMenu item visibility /strong (https://drupal.org/project .../p pa href=http://timonweb.com/posts/replacing-menu-item-visibility-module-with-custom-in-code-solution/ class=btnRead now/a/p
Categories: Drupal Feeds

Mediacurrent: Dropcast - Episode 16: If You#039;re not Working with us...

Fri, 02/05/2016 - 3:41pm
img typeof=foaf:Image src=http://d1l4od7sxc8nwf.cloudfront.net/sites/default/files/styles/thumb_blog_spotlight/public/introducing-meidacurrent-dropcast-01.png?itok=f65GiXYs width=200 height=152 / p dir=ltrOn this episode our guest is Amanda Loggins, HR Manager here at Mediacurrent, who is joining us to discuss all the great career options available to you. Make sure you tell them we sent you (not just Mario)! Bob will discuss all things bloggy, Ryan will have some information about Big Pipe on the Final Bell, and Mark will continually be disappointed with the MailDrop./p
Categories: Drupal Feeds

Drupal.org Featured Case Studies: Intelligent Life web and app development

Fri, 02/05/2016 - 3:25pm
div class=field field-name-field-mainimage field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item evenimg src=https://www.drupal.org/files/styles/case588x306/public/ILDevicesNoLogo.jpg?itok=64E_EL0k width=588 height=306 alt=Intelligent Life website on various devices //div/div/divdiv class=field field-name-field-link field-type-link-field field-label-abovediv class=field-labelCompleted Drupal site or project URL:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=http://intelligentlifemagazine.com/http://intelligentlifemagazine.com//a/div/div/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenpIntelligent Life is a bi-monthly cultural premium magazine published by the Economist Group, describes its coverage as the arts, style, food, wine, cars, travel and anything else under the sun, as long as it’s interesting. /p pThe Intelligent Life digital presence was failing to do the print edition justice and it took multiple amounts of effort to create each individual piece of content for 3 different types of devices. The project aim was to mimic the style and grace of the print edition online without it being a real challenge for The Economist team to create content. The site also needed to provide the functionality for the editors to manage the web and app back-ends as one. Also, we had to provide the possibility for the editorial team to publish great imagery on web and app similarly to the print edition, as this is a key element of both their print and online presences. By creating a fresh, modern UI and optimising the structure, our aim was to increase the number of visitors and foster longer periods of engagement with the content./p/div/div/divdiv class=field field-name-field-module field-type-node-reference field-label-abovediv class=field-labelKey modules/theme/distribution used:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/sandbox/nbouhid/1990168CKeditor adv settings/a/divdiv class=field-item odda href=/sandbox/devincarlson/2572651manualcrop/a/divdiv class=field-item evena href=/project/entityqueueEntityqueue/a/divdiv class=field-item odda href=/project/insertInsert/a/divdiv class=field-item evena href=/project/migrateMigrate/a/divdiv class=field-item odda href=/sandbox/rahulbile/2185133Panels IPE Role Visibility/a/divdiv class=field-item evena href=/project/viewsViews/a/div/div/divdiv class=field field-name-field-developed-org field-type-node-reference field-label-abovediv class=field-labelOrganizations involved:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/cameron-and-wilding-ltdCameron and Wilding Ltd/a/div/div/divdiv class=field field-name-field-profiles field-type-user-reference field-label-abovediv class=field-labelTeam members:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/u/ericgsmithericgsmith/a/divdiv class=field-item odda href=/u/itaratoitarato/a/divdiv class=field-item evena href=/u/samkeensamkeen/a/divdiv class=field-item odda href=/u/ldtsenldtsen/a/divdiv class=field-item evena href=/u/andrea-szellAndrea Szell/a/divdiv class=field-item odda href=/u/axel-pressbuttonAxel Pressbutton/a/div/div/div
Categories: Drupal Feeds

Another Drop in the Drupal Sea: Drupal Chat: The Drupal Learning Curve

Fri, 02/05/2016 - 12:33pm
pThere is a joke about the Drupal learning curve that relates it to the Drupal learning cliff. And while the graph generally gets things confused (by placing time on the x-axis instead of the y-axis), the sentiment is understood. Until a person is able to get her/his head around how Drupal does things, it's quite possible to spend a great deal of time to accomplish very little. Even worse, it's possible to spend a great deal of time developing really bad habits./p pa href=http://blog.isaacsonwebdevelopment.com/blog/2016/02/05/drupal-chat-drupal-learning-curve target=_blankread more/a/p
Categories: Drupal Feeds

Mediacurrent: Meet the Mediacurrent Friday 5

Fri, 02/05/2016 - 11:48am
img typeof=foaf:Image src=http://d1l4od7sxc8nwf.cloudfront.net/sites/default/files/styles/thumb_blog_spotlight/public/friday-5-blog-graphic.png?itok=_cbspLjG width=200 height=171 alt=Mediacurrent Friday 5 Logo title=Mediacurrent Friday 5 Logo / pWhether you’re a long time Mediacurrent reader or have recently discovered us (if so, welcome!) you know that we are always looking for new ways to deliver quality content to our readers. We have more than 500 blog posts on our website and have no plans to slow down./p
Categories: Drupal Feeds

Acquia Developer Center Blog: Drupal, meet PHP FIG - Larry Garfield

Fri, 02/05/2016 - 8:28am
div class=field field-name-field-podcast-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item evenimg typeof=foaf:Image src=https://dev.acquia.com/sites/default/files/styles/blog_node_image/public/podcast/images/drupalcon_mumbai_background.png?itok=OwTTlsav width=340 height=260 alt=DrupalCon Asia Mumbai background image title=DrupalCon Asia Mumbai background image //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:encodedh1Drupal, meet PHP FIG - Larry Garfield/h1 pLarry Garfield aka crell: Drupal 8 Web Services Initiative Lead, a subsystem maintainer for a couple of things, relevant and Drupal representative to the PHP Framework Interoperability Group. Make sure you listen to the podcast for the full origin story of Larry’s online handle!/p pThis conversation with Larry Garfield (@crell) is the first in a series of interviews Campbell Vertesi (@CampbellVertesi) and I carried out in preparation for DrupalCon Asia in Mumbai. We are building the world’s longest DrupalCon session and packing all 6+ hours of it with information and personalities you won’t want to miss! So actually ... For our one hour in the spotlight in Mumbai, we’ve been doing a lot of preparation. Our “session” will include a lot of additional materials like podcasts and blog posts about what we’ve learned along the way./p pOur session, Meet PHP-FIG: Your community just got a whole lot bigger, Drupal is about Drupal 8’s membership in the new, interoperable PHP community. We’re covering the basics of what the PHP Framework Interoperability Group (PHP-FIG) is, what the various PSRs are and do, talk about testing and dependency management, and what it means to be a part of the new PHP community — including having better architecture, cleaner code, and more interoperability. All of this adds up to a big move to get projects “off their islands,” saving developers a lot of code, and companies a lot of money, among other benefits./p pI apologize for the poor audio quality in this recording and hope the quality of the conversation makes up for it./p blockquotep“I don’t want to speak to PHP from Drupal. I don’t want to speak to Drupal from PHP because that implies that those are different things that aren’t a part of each other or that I’m part of one talking to the other. That’s not the point. The point is that Drupal and PHP are not separate entities. Drupal is part of the PHP world and the PHP world is part of Drupal. That collaboration has helped us produce Drupal 8 and that collaboration I’m sure would continue to produce not just future versions of Drupal but better practices, more robust practices in PHP itself. So I would encourage everyone from these two large robust communities ... don’t look at them as two large robust communities. Look at them as different pockets of one larger community that we can all learn from, that we can all benefit from, and together we can build a better PHP for all projects.”/p/blockquote h2More by or featuring Larry, further reading/h2 ollia href=http://www.garfieldtech.com/blog/off-the-island-2013Getting off the island in 2013/a/li lia href=https://dev.acquia.com/blog/building-bridges-linking-islandsBuilding Bridges: Linking Islands (2014)/a/li lia href=https://dev.acquia.com/podcast/drupal-php-linking-islands-podcast-part-1Drupal amp; PHP: Linking Islands, the podcast – part 1/a/li lia href=https://dev.acquia.com/podcast/drupal-php-linking-islands-podcast-part-2Drupal amp; PHP: Linking Islands, the podcast – part 2/a/li lia href=http://www.garfieldtech.com/blog/drupal8-happy-not-satisfiedDrupal 8: Happy, but not satisfied/a/li liLarry’s challenge for us: “a href=http://www.garfieldtech.com/blog/php-gives-back-2016Giving Back in 2016/a. Contribute to other projects. Get your name on the contributors list for a new open source project.”/li /olh2Interview video - 43 min./h2 piframe frameborder=0 height=360 src=https://www.youtube.com/embed/ALg2VOwJ6KM width=640/iframe/p h2What is the PHP FIG--PHP Framework Interoperability Group--for and does it have something like a mission statement?/h2 pLarry: Okay. So a history lesson. The Framework Interoperability Group began life at php[tek] in 2009 in Chicago as the PHP Standards Group. We got together in a hotel room and said “With PHP 5.3 coming out and all these namespaces, it would be really cool if we all use them the same way and hey, we could do some cool autoloading stuff with that.” So the original goal was simply “Let’s collaborate and push this out to the community.” It was renamed to the Framework Interoperability Group in I think 2012. It didn’t really do anything more useful for several years./p pIn practice these days, pretty much any project that matters is using either the PSR-0 or PSR-4 autoloading standard. A project that doesn’t then has a huge amount of pressure to start doing so./p pThe PSR-2 coding standards: Most projects that are just random projects have now adopted tooling PhpStorm and phpcs, support by default, and there’s pressure on projects like Drupal that don’t use it to start using it just for conformity’s sake./p pIf you’re going to do anything new with HTTP messages now and you’re not already using Symfony’s HTTP foundation, you’re foolish to not use PSR-7 or something very close to PSR-7 because there’s a lot of tooling and tools built on top of that already./p h2So who are the members of the FIG group these days?/h2 pLarry: There’s I think 41 or 42 members now. I don’t remember all of them off the top of my head. They’re listed on the website. I’ll say they include pretty much very major project except Wordpress. So Symfony, Zend, Drupal, Joomla, phpBB, about a dozen libraries like Monolog or Stash or Doctrine, some smaller libraries you may not have heard as much about like Jackalope. It really runs the gamut from really big players like Drupal to really small players like Jackalope and everything in the middle./p h2What are some valid reasons why projects like Wordpress or individual developers would choose to ignore this interoperability movement, not take advantage of the PSR standards?/h2 pLarry: I think the biggest reason that projects wouldn’t follow PSR is legacy code bases. If you have a code base that’s been around for eight, 10 years or even just five years, you probably have a lot of internal conventions already built up and changing them is hard. Not like Drupal knows anything about that. ;-) So for a project like Wordpress where mission statement number one is backward compatibility, switching their logging system to use the PSR-3 logger would be an API break or at least extra API clumsiness so they’re not willing to do that. Certainly for a project by Drupal, switching our coding standards to PSR-2, whatever the technical benefits or downsides to that are, regardless of whether PSR-2 is a good spec or a bad spec, would mean changing literally millions of lines of code. It could be scripted to cover 98% of it fairly easily, but it still means every single patch and every single person’s local configuration and defaults in their IDE change. That’s not a small ask. So I think the biggest impediment to PSR adoption is simply existing standards, existing code bases, existing practices, which are sometimes legitimate complaints and sometimes not./p h2Actually, there’s one comment which you made in your Drupal 8 launch blog post which I recommend for everybody to read .../h2 pstrong... continued:/strong You mentioned actually one of the most significant things about the launch of Drupal 8 is proving that it is possible. Before we manage to do this, it was an open question, is it possible for the entire community to retool, change the entire API method of thinking and switch to object-oriented concepts and unit testability. We managed to drag one of the world’s largest open source communities through that and successfully launched a product. You’re right. It’s an enormous undertaking to understand other projects not wanting to do that./p pLarry: I actually have a keynote that I gave called Eating Elephants that is that exact point of this is a lot of work. If Drupal can pull it off, so can anybody, but it’s still a lot of work. Not every project necessarily wants to go through that, the level of overhaul that Drupal did and not necessarilyevery project needs to. But I think over time, simply through natural project churn, most of the standards are going to become widespread in practice./p h2What are the choices that people should be making now outside of implementing the PSRs?/h2 pstrong... continued:/strong So outside of FIG, of course FIG is just one part of a broader movement for interoperability and standard behaviors across no matter what it is you’re building with PHP. So what are some of the architectural implications of this exciting new world? What are the choices that people should be making now outside of implementing the PSRs?/p pLarry: I think the most important, just general good modern practices for collaboration these days are:/p ulliuse a PSR-based autoloader because everyone else is. It just using your code and sharing your code dead simple./li liRegister it with Packagist because then getting it through Composer is dead simple./li liUse proper dependency injection because that makes it a lot easier to swap out pieces and plug your system into someone else’s .../li li... which also means build your code in small standalone components rather than one big monolithic system./li /ulpThis is really a movement that Symfony started with Symfony 2. It was the first project to really have a component library that was loosely coupled and then built a framework on top of it. Others have since done the same. Zend Framework 3 is moving heavily in that direction. The Aura project is strictly decoupled components with a framework built on top. A lot of major components now are completely standalone./p pI think the biggest thing is think in terms of small, discrete pieces that you can mix and match. Same kind of Lego block approach that Drupal has striven for at the module level for years, even though we didn’t do a very good job of it at the code level all the time. We’re getting better. The more you do that, the easier it is to exchange code with people, the easier it is to reuse code, and also the easier it is to test./p pGood unit testable code is also loosely coupled, is also easy to swap out, is easy to reason about. All of these concepts overlap on each other./p blockquotepTestability, understandability, debuggability, ability to share with others all have the same underlying structure, underlying needs. So focusing on any one of those will make the others better./p/blockquote h2What are some wheels that we decided to bring in from outside in Drupal 8, rather than reinventing them?/h2 pLarry: So the big first wheel we got from elsewhere was our routing system which we pulled in from Symfony and along with that, a new architecture that spread throughout the rest of the system and took over. The template engine, of course, Twig is new and that’s been a huge win. Everything I’ve heard front enders adore it. That’s third-party code. The places we didn’t, the configuration system is primarily homegrown in large part because we needed the UI integration for it. Symfony’s configuration system, for example, assumes you’re doing configuration by editing files on disk. Drupal assumes you’re doing configuration by pushing buttons in the UI. These are fundamentally different assumptions and that same underlying tooling that supports one is not really going to support the other. Not very well./p h2Drupal’s coming to the fold or gotten, become part of main line PHP. Talk about how this new world of interoperability has allowed Drupal to start making contributions outwards into other systems and other frameworks, other applications./h2 pLarry: Honestly, I think at the moment, our biggest contributions are patches we’ve submitted to other projects, be that Symfony, Guzzle, Zend, whatever. Just being the poster child for this new PHP world. Drupal, being a demonstration that yes, it is possible to teach an old CMS new tricks, yes it is possible to embrace these modern tools and techniques, yes there’s benefits to doing so, you will survive. Honestly, I think that’s our biggest contribution is just proving that it can be done. We’re not the only project that has adopted lots of Symfony but I think just the evolutionary pressure we give that way is probably the biggest impact. It’s that the proof is in the Drupal 8 release, that it is a thing and it can be done and we should continue to provide that example of growth and of maturity enough to admit that you can change things. I think that’s probably our biggest contribution to PHP at the moment./p h2So OO isn't so hard after all .../h2 pstrong... continued:/strong I think early on when we were talking inside the community about adopting object oriented practices, about adopting some of the Symfony. A lot of the conversation was around Drupal being not so accessible for newbie programmers, people coming to write their first lines of code. It seems like it’s so much easier when it’s procedural. What I’m most excited about with Drupal 8 is watching what happens in the next two or three years as we demonstrate that anybody can code with modern practices, too. And that in fact, it makes it easy. If you can learn how an IF statement works, you can understand what a class is. So I think that’s another cultural export that we’re offering the rest of the PHP world./p pLarry: You don’t have to be a comp sci grad from school in order to write in modern object-oriented code. We have thousands of people now from Drupal who have picked it up without being in school for it and are liking it./p h2In the last few years, you’ve done a series of posts and sort of challenges to I guess the broader PHP world./h2 pstrong... continued:/strong Initially, “Hey Drupal, we’ve got to get off our island and accept that we shouldn’t carry all this liability ourselves.” Then there was a building bridges post which said “Go visit people in other communities” and there was a challenge this year, build something in a project that’s not your home project. What’s your mission statement and challenge for all of us in 2016?/p pLarry: I know what I’m going to say. First one was go out and learn from other projects. The second one was go out and build with other projects. So I’ll say it now. Your challenge for this next year, contribute to other projects. Your goal is to get your name on the contributor’s list for a new open source project, some project that’s not your home project./p /div/div/divdiv class=field field-name-field-podcast-audio field-type-file field-label-hiddendiv class=field-itemsdiv class=field-item evenaudio controls=controlssource src=https://dev.acquia.com/sites/default/files/podcast-audio/larry_garfield_php-fig_2016.mp3 type=audio/mpeg //audio/div/div/divdiv class=field field-name-field-podcast-series field-type-taxonomy-term-reference field-label-inline clearfixdiv class=field-labelPodcast series:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/podcast-series/drupal-8 typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Drupal 8/a/div/div/divdiv class=field field-name-field-skill-level field-type-taxonomy-term-reference field-label-inline clearfixdiv class=field-labelSkill Level:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/skill-level/intermediate typeof=skos:Concept property=rdfs:label skos:prefLabel datatype=Intermediate/a/div/div/div
Categories: Drupal Feeds

Valuebound: Changing the Appearance of your new site

Fri, 02/05/2016 - 1:28am
pOnce you get a new Drupal installed in your system, very next step you would like to change overall appearance of your site to make and feel good for end user. This is one the initial process require while setting up Drupal. Deciding about your design early will go long way in saving your time and repeated effort instead of doing it later./p pDrupal 8 provides few built in theme that come up with the same packagebr /stronge.g:/strong Bartik, Stable, Seven, Stark, Classy.br / if you don’t find any of them from given list then just go to drupal directory emstrongcore/themes/strong/em and open any theme info.yml and change stronghidden: true to hidden: false./strong/p pDrupal 8 is mobile-first approach. All built-in themes in Drupal 8 are responsive, with an…/p
Categories: Drupal Feeds

Roy Scholten: Redesigning the content creation page for Drupal 8

Thu, 02/04/2016 - 6:41pm
div class=field field-name-field-image field-type-image field-label-hiddendiv class=field-itemsdiv class=field-item evena href=/pieces/redesigning-content-creation-page-drupal-8img src=http://www.yoroy.com/sites/default/files/styles/large/public/3-page-areas.jpg?itok=DTah4Hdn width=550 height=550 alt= //a/div/div/divdiv class=field field-name-body field-type-text-with-summary field-label-hiddendiv class=field-itemsdiv class=field-item evenh3We want to be faster and bolder in shipping design improvements for Drupal 8. But how? Lets have a look at a relatively big (but not super huge) design change built for Drupal 8 emduring/em the development cycle and see what we might learn from it./h3 h2Redesigning the content creation page/h2 pDrupal 8 ships with a significant overhaul of the content creation page (“node form” for intimi). It’s design process and subsequent implementation are extensively documented on drupal.org. This is a high level summary of how this redesign come to be./p h2Steps in the process:/h2 olliResearch/li liSketch/li liDesign/li liTest/li liImplement/li /olpWho were working on this? In the earliest design stages primarily 3 people: a href=https://www.drupal.org/u/bojhanBojhan Somers/a, a href=https://twitter.com/jponchJared Ponchot/a and moi, a href=https://www.drupal.org/u/yoroyRoy Scholten/a. Many more helped with finetuning design elements, usability testing, writing and reviewing code and all the other little and not so little things that go into getting a big design change committed to Drupal core. Thanks all./p h3Research amp; sketching/h3 pWe didn’t spend much time building the case for a better content creation page. No problem because most were already aware of the big room for improvement./p pThe research was two-part: “what does Drupal do?” And “what are other systems doing?” For the Drupal aspects, we looked at how and where contributed modules add functionality to this screen. We reviewed other systems looking for patterns in how functionality was grouped and arranged on the page./p pimg src=images/3-page-areas.jpg alt= //p pThat input was then translated into very generic concept sketches, comparing and contrasting several arrangements of the three basic feature groups: content, settings and actions. From there, we proposed to pursue one specific direction in more detail. Before we did that, we opened up the work so far for feedback: a href=http://groups.drupal.org/node/214898http://groups.drupal.org/node/214898/a/p h3Design/h3 pStarting from that very rough initial layout we started exploring the details of that arrangement. Which items belong in which area and how would they behave? How would it work on small screens? Which items to call out, which ones to push back?/p pimg src=/sites/default/files/content-creation-design-iterations.png alt= //p pThen Jared Ponchot stepped in and pulled all that sketching together in high-definition mockups. And on these we iterated again a couple of times, detailing the arrangement of interface elements, the use of color and other ways to (de-)emphasise certain parts of the whole. A comparison with the then current state of the Seven admin theme identified how we would have to extend its visual language to accommodate this new design./p pAnd that’s where we opened up for another round of feedback: a href=http://groups.drupal.org/node/217434http://groups.drupal.org/node/217434/a/p h3Test/h3 pA working prototype of the design proposal was coded and made available on a test site. A usability test plan was drafted and several people used that script to test the prototype with people both new to and experienced with Drupal. One of the few times we actively pushed for community driven usability testing actually. a href=https://www.drupal.org/node/1510532#comment-5965380Results from the testing were reported in the implementation issue/a and individual issues were opened for the necessary changes./p pUsability test plan: a href=http://groups.drupal.org/node/223959http://groups.drupal.org/node/223959/a/p h3Implementation/h3 pThe prototype for testing was created in context of the implementation issue. We spent a lot of time translating the design proposal into actionable tasks./p pThe distinction between rough prototyping code and actual core worthy implementation was a bit unclear at first but we very quickly got to a usable demo. The overarching “meta” issue has over 300 comments. Which is usually a sign of a large undertaking that’s not sufficiently broken down in seperate actionable tasks. But, we got there in the end!/p pImplementation meta issue: a href=https://drupal.org/node/1510532https://drupal.org/node/1510532/a/p h2Lessons (not? :-) learned/h2 ullistrongGood:/strong working with a small team. It allowed us to focus on what needed to be done and move relatively fast./li listrongGood:/strong Publicly documenting the research and sketching phases was a lot of work but worth it. Pulling a finalised glossy photoshop design out of the hat would not have created the same engagement and constructive feedback/li listrongGood:/strong counter to the previous point but also a good thing was that the initial sketches and design mockups were shared only within the very small team of 3 to 5 people. This kept momentum up but more importantly allowed us to focus on the actual design work. A broader discussion would very likely have shifted towards discussing implementation challenges, which is not what you’re after when still exploring multiple options./li listrongNot so good:/strong we prototyped only one working version quite late in the process. Only after a lot of time invested did we get to see and feel a somewhat working version. This narrowed our bandwidth for subsequent changes, which were relatively small tweaks, keeping the basic paradigm intact. We never really pitted two or more radically different approaches against each other. This was mostly a time and energy issue: we only had the bandwidth to work through one design direction./li listrongNot so good:/strong Doing the design phases outside of the issue queue (where implementation happens). This was a necessary but difficult trade off. The issue queue doesn’t lend itself to explorative work with lots of ambiguity so the design work wasn’t tracked there. Many core developers did not closely follow the process as it happened on groups.drupal.org, so when we brought the design over to the issue queue with the proposal to go build this, much of the earlier discussion points got brought up again./li listrongNot so good:/strong Not having a primary code architect as part of the team. We could have prevented at least some of the rehash in the issue queue if we had had a knowledgeable core developer on the design team. Having somebody who could answer to the technical implications of the design and help break down the work into manageable tasks the would probably have gotten us off to a better start with implementation./li /ulpA quick tally of the number of comments across the main discussion threads and issues for this project: more than 1200. And that doesn’t even include huge additions like the WYSIWYG editor and the improved previews. Not to say that this doesn’t happen in other initiatives, but you can see how demanding it is for anyone who wants to keep track, especially if you want to make sure that the big picture doesn’t get lost in the myriad of details./p h2How to get better, faster?/h2 pThe nature of design changes like these is that they touch many aspects: backend amp; frontend, php amp; javascript, visual design amp; performance, accessibility amp; multilingual, etc. If we want to go faster we might want to consider replacing the research intensive work with building multiple (rougher) prototypes earlier and testing those for viability. That might lead us to a general direction and a plan for implementation faster. As for the actual core worthy implementation, we might win some time if we can provide a design spec emtogether with/em an initial plan identifying the technical challenges and strategies to overcome those./p pThe amount of work will always be huge. I think the gains are in finding a better balance in:/p olliFeeling free to write quick throw-away code in the initial explorations so people can get a feel of what might work and we can test it./li liReducing wasted efforts (in code and discussion) during implementation./li /olpUnderstanding the distinction between these two, and being clear about when the first ends and the second begins will already be a big step forward./p pFurther discussion: a href=https://www.drupal.org/node/2573119Determine process for big UX changes/a/p /div/div/divdiv class=field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfixdiv class=field-labelTags:nbsp;/divdiv class=field-itemsdiv class=field-item evena href=/tag/drupaldrupal/a/divdiv class=field-item odda href=/tag/uxux/a/divdiv class=field-item evena href=/tag/author-uxauthor ux/a/divdiv class=field-item odda href=/drupaldrupalplanet/a/div/div/divdiv class=field field-name-field-sub-title field-type-text field-label-abovediv class=field-labelSub title:nbsp;/divdiv class=field-itemsdiv class=field-item evenDrupal 8 has a redesigned content creation page. This is how it came to be./div/div/div
Categories: Drupal Feeds

Drop Guard: Sneak Peek: Drop Guard's revamped project creation process

Thu, 02/04/2016 - 12:30pm
span data-quickedit-field-id=node/41/title/en/rss class=field field--name-title field--type-string field--label-hiddenSneak Peek: Drop Guard#039;s revamped project creation process/span span data-quickedit-field-id=node/41/uid/en/rss class=field field--name-uid field--type-entity-reference field--label-hiddenspanManuel Pistner/span/span span data-quickedit-field-id=node/41/created/en/rss class=field field--name-created field--type-created field--label-hiddenThu, 02/04/2016 - 18:30/span div data-quickedit-field-id=node/41/field_teaser_image/en/rss class=field field--name-field-teaser-image field--type-image field--label-hidden field__item img src=http://www.drop-guard.net/blog/sites/default/files/styles/medium/public/2016-02/Update%20Behaviour%20-%20Step%201%20%28Alternate%2059w%291.png?itok=nGo6Db63 width=220 height=176 alt=the new project creation process class=image-style-medium / /div div data-quickedit-field-id=node/41/body/en/rss class=clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__itempWe are working tirelessly to make Drop Guard better, faster and more friendly for developer. In this blog post we present you a sneak peek of our revamped project creation process, with this end in mind to please you with greater usability for getting started with your project in Drop Guard!/p pSo let's get more detailed: the creation process will be split into strong3/strong independent configuration screens./p pstrong1./strong On the first screen you will be able to quickly connect Drop Guard to your repository and enjoy it's updates monitoring capabilities - even without installing a Drop Guard module./p pstrong2./strong Second screen will be for those who immediately want to integrate Drop Guard in their daily maintenance routine. It's about telling Drop Guard what to do when the update of a certain type is detected./p pstrong3./strong Third screen will be all about events - sending e-mails, running SSH commands, pinging your favourite CI tool or merging branches based on certain conditions./p pSo below we share the preview of the new Updates setup wizard. As opposed to the accordion-like endless form, we now have the sleek step-by-step configurator, which allows you to quickly instruct Drop Guard what to do when updates are detected (embracing best update practices and being able to set a single configuration for different types of updates). /p h5This is a screenshot of  the update types configuration in the old project creation process:/h5 pimg alt=the old project creation look data-entity-type=file data-entity-uuid=09336a42-f1e8-49bd-ac02-2d5a351709a3 height=787 src=/blog/sites/default/files/inline-images/Add%20a%20new%20project%20-%20%20Drop%20Guard.png width=859 class=align-center /br //ph5And here you can enjoy the sneak peek of the new process:/h5 pimg alt=new project creation process data-entity-type=file data-entity-uuid=770c45b3-3851-4008-a200-a2651c57e767 src=/blog/sites/default/files/inline-images/Update%20Behaviour%20-%20Step%201%20%28Alternate%2059w%29%206o7.png class=align-center //pp /p pimg alt=new project creation process data-entity-type=file data-entity-uuid=04ddd9c6-d6d9-4f8f-9c00-b2f15719325c src=/blog/sites/default/files/inline-images/Update%20Behaviour%20-%20Step%201%20%28Alternate%2059w%29%206bo7.png class=align-center //pp /p h6If you're a Drop Guard user or just curious - don't hesitate and leave your feedback on it. We'd love to optimize Drop Guard for every workflow and we can't do it without your voice! You prefer a personal contact? Find our data here: a href=http://www.drop-guard.net/blog/aboutAbout/a/h6 /div div data-quickedit-field-id=node/41/field_blog_post_tags/en/rss 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/15 hreflang=enProject/a/div div class=field__itema href=/blog/taxonomy/term/17 hreflang=enProcess/a/div /div div data-quickedit-field-id=node/41/field_diqus_comments/en/rss class=field field--name-field-diqus-comments field--type-disqus-comment field--label-hidden field__itemdrupal-render-placeholder callback=\Drupal\disqus\Element\Disqus::disqus_element_post_render_cache arguments=0=nodeamp;1=41 token=13692ff9/drupal-render-placeholder/div
Categories: Drupal Feeds

Promet Source: The Drupal Developers#039; Essential Guide to Automated Testing

Thu, 02/04/2016 - 11:54am
Read our Automated Testing eBook p /p pOur Drupal development experts compiled their best advice for running effective automated tests that will save time and money. Complex development projects are likely to have many releases and have much to gain from implementing an automated test framework. Read this guide for advice on how your team should approach writing test cases, choosing the right tools to execute tests, and how to emphasize visibility in sharing the test results./p
Categories: Drupal Feeds