Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 25 min 45 sec ago

Jeff Geerling's Blog: Coming soon: Highly-available Drupal 8 on a Raspberry Pi Cluster

Mon, 29/02/2016 - 23:21

I'm going to bring the Raspberry Pi Dramble with me to php[tek] on May 25 in St. Louis this year, and I'm hoping to also bring it with me to DrupalCon New Orleans in early May (I submitted the session Highly-available Drupal 8 on a Raspberry Pi Cluster, hopefully it's approved!).

Categories: Elsewhere

TimOnWeb.com: Default Search API Sorts Per View in Drupal 7

Mon, 29/02/2016 - 22:16

It's been a while since I've written a post here (especially, Drupal-related). But today I have something interesting to share.

There's a module called Search API sorts (https://drupal.org/project/search_api_sorts) that provides custom sorts and a global sort block for Search API. The module itself is ok, but ...

Read now

Categories: Elsewhere

DrupalEasy: How Do I Become a Web Developer?

Mon, 29/02/2016 - 17:16

If you look at what the experts are forecasting for jobs, it’s hard to find a list of promising careers that doesn’t count web developer in the top 20.

  • The US Department of Labor puts web developer in the Bright Outlook Occupations category, which means it is “expected to grow rapidly in the next several years, will have large numbers of job openings, or is a new and emerging occupation.”

  • Online finance magazine The Street puts web designers at #17 on the list of "Careers to Pursue if You Want the Best Work-Life Balance".

  • US News slots web developer at 20 in the 25 overall best jobs for 2016, and number three of the 9 Best Technology Jobs of 2016, due to an above average opportunity for upward mobility, low stress level rating, and high flexibility.

The average salary is not bad either, with the Bureau of Labor Statistics putting web developers at around $63,000 per year, (compared to just over $32,000 per year in general for people over the age of 25 in the United States.) Rapid growth, low stress and high wages – a vocational trifecta! So why aren’t more people pursuing careers in web development?

Part of the reason might be that it is relatively new (compared to say systems analyst or software engineer,) there is not widespread agreement of specifically what a web developer is, (are designers developers?) and there is no clear documented educational or career track outlined (degree or no-degree; coding expertise or not?)

Add to it the breakneck pace that web technologies are advancing, their gargantuan role in supporting global commerce, culture and government; competition among frameworks and content management systems (should you learn Sharepoint, Wordpress, Drupal?); and then throw in the community cultures of Open Source technologies – and you get a lot of things to figure out. It’s confusing just contemplating it. There are endless options and no steadfast requirements; so how do you know how to even get started?

Well here is some help, at least if you’d like to consider riding the Drupal wave.

As technologies go, Drupal has been growing in worldwide adoptions as the go-to CMS for the top enterprise, media, academic and government sites globally, and with the introduction of Drupal 8, it is sure to attract even more attention from organizations needing a scalable, secure solution for simple to complex sites. With this kind of growth, there is, and will continue to be, huge opportunity for new blood in the Drupal Community in a variety of niches from front-end developers (yes, in Drupal most designers are developers) to project managers.

We’d also like you to consider the quality and collaborative culture of the Drupal Community, which is legendary in the Open Source universe. The culture within Drupal puts contributing and collaborating at a priority level that rivals the quality of the technology side of Drupal. We are really friendly! And, finding your way is always easier with some help from like-minded friends.

In addition, as compensation goes for web developers, Drupal Developers make out pretty well in comparison to other frameworks:

drupal junior developer in United States $64,000

 

joomla junior developer in United States $57,000

 

wordpress junior developer in United States $53,000

 

sharepoint junior developer in United States $57,000

 

View Larger Salary Graph

So, if we've you’re convinced you; the process is now a bit more defined. With a Drupal career, there are several ways you can become a professional, but they all involve three key efforts:

  • Learn: Get skills
  • Engage: Get connected
  • Practice: Get experience

For the learning part, depending on your background and/or the amount of time you have to devote, make sure you find training to learn Drupal in a way that ensures you are endowed with Drupal best practices. DrupalEasy Academy (shameless self-promotion) is the leader in comprehensive Drupal career training, with a 5-year track record of developing top-shelf Drupal talent through our 12-week Drupal Career training. Our next instructor-led online session starts March 21st.

To engage, register on Drupal.org, find some groups that interest you (topics, industries, geography) and begin by learning about what is new, what is being developed, and where you can go locally to meet Drupal professionals. There are meetups in most metropolitan areas, and camps all over the world. Once you start getting a little comfortable with the technology, there are also a lot of ways to learn and meet others by helping to improve the Drupal project. Visit the Getting Involved Guide to help you find your inlet.

To practice, take what you learn, draw on who you meet for some help, and build a site. It’s also a great way to figure out in which area you’d like to specialize. For our Drupal Career Online students who are not already working, we try to match them up with organizations that are looking for interns or junior developers. Sometimes they get paid, sometimes they don’t, but we’ve found that those graduates who devote themselves to building experience in this way have the greatest success.

The important thing to know about success as a Drupal developer, is that the Learn, Engage, Practice process is a career-long commitment. If you want to keep getting better, (which, don’t we all?) you will keep the process going, since that is what ultimately develops your path to success.

For more information and resources on becomeing a Drupal web developer, visit DrupalEasy Academy and check out our how to start a career in Drupal and career resources pages. You can also register for our free online Taste of Drupal information session on March 9 at 3:30 pm EST.

Categories: Elsewhere

Drupal.org Featured Case Studies: The Telegraph Travel Guides App

Mon, 29/02/2016 - 17:03
Completed Drupal site or project URL: http://www.telegraph.co.uk/travel/travelnews/10586491/Telegraph-Travel-Guides-ap...

The Telegraph Media Group is the proprietor of The Daily Telegraph, a British, daily-morning, English-language broadsheet newspaper that is read throughout the United Kingdom and internationally. In addition to The Daily Telegraph, the Telegraph Media Group also publishes advice to travelers online in their app, The Telegraph Travel Guides. The guides are written by local experts, and the free app offers innovative functionality and intuitive advice covering what to do and where to stay, eat, drink and shop.

The Telegraph's editors and writers wanted a modern and simple UI for the Travel Guides App. Their previous CMS was outdated, and content population was a time-consuming process run through Google Spreadsheets. The team also wanted to improve the stability of their Travel Guides App.

Key modules/theme/distribution used: Administration menuChaos tool suite (ctools)DateDrupal PSR-3Entity APIEntity cacheFeaturesHierarchical SelectjQuery UpdateLibraries APIPrepopulateReferencesReferences dialogStrongarmURL fieldViewsViews Field ViewOrganizations involved: Cameron and Wilding LtdTeam members: michael_otolorinitarato
Categories: Elsewhere

NikLP @ Kineta Systems: Drupal 8 tips: Multilingual blog view with no duplicates, but no post omissions

Mon, 29/02/2016 - 16:31

Scenario: I'm building out a multilingual site in Drupal 8. As the site contains a blog, which is obviously built on a view, this throws up a couple of interesting issues. The blog author is fluent in two languages; sometimes, he will post in English (for the wider audience) and occasionally in his native Italian (maybe for a homeland-specific post). Either way, I'd still like the blog to display an entry for each post, so there are no omissions regardless of language.

So, this poses the question - if any post could be in either language, how do I get the blog to be shown in the user-selected language, but show any/all posts written in the other language if they are untranslated (i.e., fall back to Italian if no English translation is available, and vice versa if viewing in Italian)?

A standard blog view, based on a Blog content type and view would be nominally be filtered thus: Content: Type (= Blog) & Content: Publishing status (= Yes) and ordered with: Content: Authored on (desc)

The problem with this unaltered approach is, Views will pull out all blog posts regardless of translation. So essentially, if your last post is translated into two languages, both translations will appear and count as 2 of your (say) 10 most recent posts, which is effectively duplicate content - at least, to the reader.

Solution: Prevent the duplicate appearance of nodes by setting a filter on the view to show only the default translation. Then, request that the view be rendered only in the current language, which will set the view rows as such but use the fallback language if there's no translation.

So, the technical steps for this: Add a new filter by clicking Add and typing "def" into the search field and selecting the "Default Translation" filter under the "Content" category. As an entity can only have one default translation, this ensures they're only shown once. Secondly, set the rendering language preference under "Language" to "Interface text language selected for page". This will attempt to display the views row in the current language and fall back if that's not available.

References

Many thanks to Berdir via http://drupal.stackexchange.com/questions/192782/how-do-i-get-views-content-items-in-my-language-but-fall-back-to-default-if/192805

Blog Tags: DrupalPlanetViewsTranslationMultilingual

Categories: Elsewhere

Tim Millwood: DrupalCon New Orleans 2016 - Proposed sessions

Mon, 29/02/2016 - 11:53
This year I have proposed three sessions for the North American DrupalCon based on the topics I have...
Categories: Elsewhere

Jeff Geerling's Blog: Blog post id enumeration can lead to unwanted information disclosure

Mon, 29/02/2016 - 04:05

With the rampant speculation there will be a new Raspberry Pi model released next week, I was wondering if the official Raspberry Pi blog might reveal anything of interest; they just posted a Four Years of Pi blog post on the 26th, which highlighted the past four years, and mentioned the excitement surrounding 4th anniversary of Pi sales, coming up on February 29th, 2016.

Glancing at the blog's source, I noticed it looks like a Wordpress blog (using httpie on the cli):

$ http https://www.raspberrypi.org/blog/four-years-of-pi/ | grep generator
<meta name="generator" content="WordPress 4.4.2" />

Having set up a few WP sites in the past, I knew there was a simple way to load content by its ID, using a URL in the form:

Categories: Elsewhere

Joachim's blog: Module Builder announces split, due to functionality differences

Mon, 29/02/2016 - 00:28

For Drupal 8, Module Builder is undergoing some big changes. It still builds hooks, a README file, an api.php file, permissions, an admin settings form, but now also builds plugins, services, routing items, and its ability to scan your codebase to learn about hooks invented by any of your modules is now extended to plugin types too. And it's actually been available for Drupal 8 for quite some time, but up till now only as the Drush plugin version.

I've now updated released the D8 version of the module, so you can use an admin UI in Drupal which lets you select the components you want in a form. Unlike Drupal 7 though, the options you enter for your module to generate are stored in a config entity, so you can generate code and then go back and tweak the settings and generate it again, as often as you like.

The big change isn't any of these though. The big change is that Module Builder is being split up.

For a very long time, the Module Builder codebase has been three things in one. Back when I added Drush support (in 2009, according to the git log), it made sense to gradually refactor the code into three parts: the Drupal module UI, the Drush commands, and the common code that does the actual work of generating code based on some parameters (such as which hooks you want, the module name, etc).

That core code has undergone a lot of changes. It's gone from just working with hooks, to a framework that's extensible with new component types. So for example, it's possible to request simply 'an admin form', and the generating code knows to produce the code for the form, the admin permission, and the router item. So that's one component that in fact produces form functions, hook_permission(), hook_menu() on Drupal 7, form class, permissions.yml, routing.yml on Drupal 8. Because Module Builder also works on multiple versions of Drupal (the code to produce Drupal 5 code is even still in there, if you have cause to try it, let me know if it still works!).

Having this multiple-version code within a Drupal module that's only for single version is a source of problems and confusion. The 7.x-2.x version of the project contains a module that's only for Drupal 7, but also the core code and the Drush plugin that both work on all versions. It also increases maintenance work, if we want to the older versions to keep receiving improvements to the generating code.

Hence the split. Module Builder is being divided into three parts:

  • The core code of Module Builder has been moved to a separate library, which is called Drupal Code Builder to distinguish it.
  • The Module Builder project is from now on just Drupal module, which requires the Drupal Code Builder library.
  • The Drush plugin will be moving too, and will also require the Drupal Code Builder library.

So to summarize, the situation is now as follows:

  • To build modules in a Drupal UI, on Drupal 8, you need:
  • To build modules with Drush, on any version, you need:
    • Module Builder 7.x-2.x, installed as a Drush command plugin (again, see the README). But note this will shortly be changing when the Drush command moves out of the d.org project too.
  • To build modules in a Drupal UI, on Drupal 7, you need:
    • Module Builder 7.x-2.x. I will probably release a 7.x-3.x at some point which requires the Drupal Code Builder library, so that the Drupal 7.x UI gets new features that are released in the library.

I'll be writing a post soon about how Drupal Code Builder works, so if you're interested in making Drupal Code Builder make something new, look out for that.

Categories: Elsewhere

Gizra.com: Cross-Site Scripting attack detection

Sun, 28/02/2016 - 23:00

When we develop a website we should take care of many things like design, responsiveness, speed, QA - and of course, security.

One of the major security concerns in websites and web applications is Cross Site Scripting (XSS). You definitely don't want somebody to run their own malicious code in your website. And to avoid it - you would like to have some kind of "vaccine" from such "disease".

We all know about Drupal's check_plain(), filter_xss() and similar functions that sanitize user generated text, but unless we are actively checking for XSS, how can we be sure we've added them on all the right places?

Well, we found a nice solution for it that can be easily applied in your projects as well.

XSS on the title and body fields of an article

Continue reading…

Categories: Elsewhere

Matthew Saunders: Why I'm Running for Drupal Association Re-election

Sun, 28/02/2016 - 20:23

This is the first in a series of posts I'm going to write leading up to the Drupal Association elections. I had a funny chat with a supporter a day or two ago. It went something like this:

So you thought, "I have too much free time. I need to become a board member." LOL You are a more patient person than me, good sir. You have my vote.

drupaldrupal association election 2016
Categories: Elsewhere

Gbyte blog: Drupal 8 SEO: Differences between simple_sitemap and xmlsitemap

Sun, 28/02/2016 - 17:05
First it should be noted, that at the time of writing this, the XML sitemap module is not working on Drupal 8, which makes Simple XML sitemap the obvious choice for Drupal 8 installations. However, there is effort to port the XML sitemap module to D8 stable, see this queue. This comparison may be interesting for XML sitemap users moving to Drupal 8 or for users intending to wait for the port. (Do not wait, help out!) There are major differences between Simple XML sitemap (simple_sitemap) and XML sitemap (xmlsitemap) module and depending on your use case, you might want to choose one or the other. What sets the modules apart are their complexity, performance and feature sets.
Categories: Elsewhere

Lullabot: AMPing up Drupal

Fri, 26/02/2016 - 23:43

Today we are proud to announce a new Drupal 8 module that provides support for the Accelerated Mobile Pages (AMP) Project. The AMP Project is a new open source initiative, led by Google, which drastically improves the performance of the mobile web. In January 2016 Lullabot and Google started working together to create the Drupal AMP module. A beta version of AMP module for Drupal 8 is available immediately, and we are starting work on a Drupal 7 version of the module that will be available in mid-March.

In many cases, the mobile web is a slow and frustrating experience. The AMP Project is an open source initiative that embodies the vision that publishers can create mobile optimized content once and have it load instantly everywhere. When AMP was first introduced last October, many commentators immediately compared it to Facebook's Instant Articles and Apple's News app. One of the biggest differentiators between AMP and other solutions is the fact that AMP is open source.

AMP HTML is, essentially, a subset of HTML. And it really makes the web fast. AMP HTML is designed to support smart caching, predictable performance, and modern, beautiful mobile content. Since AMP HTML is built on existing web technologies, publishers continue to host their own content, craft their own user experiences, and flexibly integrate their advertising and business models -- all using familiar tools, which will now include Drupal!

One of the most touted features of Drupal is its flexibility, so making Drupal produce AMP HTML has required a lot of careful consideration of the design approach. To make Drupal output AMP HTML, we have created an AMP module, AMP theme, and a PHP Library.

When the AMP module is installed, AMP can be enabled for any content type. At that point, a new AMP view mode is created for that content type, and AMP content becomes available on URLs such as node/1/amp or node/article-title/amp. We also created special AMP formatters for text, image, and video fields.

The AMP theme is designed to produce the very specific markup that the AMP HTML standard requires. The AMP theme is triggered for any node delivered on an /amp path. As with any Drupal theme, the AMP theme can be extended using a subtheme, allowing publishers as much flexibility as they need to customize how AMP pages are displayed. This also makes it possible to do things like place AMP ad blocks on the AMP page using Drupal's block system.

The PHP Library analyzes HTML entered by users into rich text fields and reports issues that might make the HTML non-compliant with the AMP standard. The library does its best to make corrections to the HTML, where possible, and automatically converts images and iframes into their AMP HTML equivalents. More automatic conversions will be available in the future. The PHP Library is CMS agnostic, designed so that it can be used by both the Drupal 8 and Drupal 7 versions of the Drupal module, as well as by non-Drupal PHP projects.

We have done our best to make this solution as turnkey as possible, but the module, in its current state, is not feature complete. At this point only node pages can be converted to AMP HTML. The initial module supports AMP HTML tags such as amp-ad, amp-pixel, amp-img, amp-video, amp-analytics, and amp-iframe, but we plan to add support for more of the extended components in the near future. For now the module supports Google Analytics, AdSense, and DoubleClick for Publisher ad networks, but additional network support is forthcoming.

While AMP HTML is already being served by some of the biggest publishers and platforms in the world — such as The New York Times, The Economist, The Guardian, BBC, Vox Media, LinkedIn, Pinterest, and many more! — you don't have to be a large publisher to take advantage of AMP. Today, any Drupal 8 site can output AMP HTML using the AMP module. We invite you to try it out and let us know what you think!

Finally, if you are interested in this topic and want to learn more about publishing AMP with Drupal, please leave a comment on our DrupalCon New Orleans proposal.

Categories: Elsewhere

Drupal Association News: DrupalCon Asia: Back from the Future

Fri, 26/02/2016 - 22:47

I spent most of last week on the campus of IIT Bombay for the first DrupalCon Asia. Frankly, it changed my Drupal life, and I'd like to share why.

Knowing is only half the battle

Last May we released issue credits and comment attributions on Drupal.org. At that time, I suspected that this would tell us two things: that contribution to Drupal is funded more by companies that pure volunteerism and that the diversity of contributors would be greater than we are able to see in Drupal Cores (not that Drupal Cores is not awesome, it just does only what it does). The jury is still out on my first point — we are just getting the right quantity of commits with this data and we haven't done a real analysis. But the second point proved to be true very quickly. Especially when it comes to India.

In preparing for my #Driesnote intro at DrupalCon Asia, I asked Josh to pull some stats for me. Based on his reasearch, we learned some really interesting numbers:

  • India is the second largest region of users for Drupal.org—behind only the United States in traffic. In 2014, India represented 9.6% of our traffic (that's 4,691,785 sessions)." For 2015, the percentage of traffic from India has gone up to 10.48%—still second largest.
  • As of February 2nd, 1,290 credits were awarded to users who from reported timezones in Asia. (Out of a total of 8819 credits awarded.) That is 14.6% of issue credits!
  • 1815 of total credits (Nov-Jan) were for Drupal core. 279 of those credits were from Asia. (15.4% of credits awarded.)
  • 47 organizations from Asia are listed in the Drupal Marketplace. 9 are Drupal Association Supporting Partners.

So I knew, going in that Asia, and India in particular, was having a really big impact on the project, approaching the US and a combined Europe for participation in code. We also knew that India had a huge camp scene, with many camps of several hundered, and one above 1,000, attendees.

Asia, by the Drupal numbers, is truly impressive. But numbers are only half the story.

When I was pregnant, my friends and relatives would all give me lots of advice. One thing I heard all the time was "Sleep when the baby sleeps. You are going to be exhausted, let the house chores go and let yourself rest instead." At the time, I thought sleep was something you did when there was nothing left to do with your day, but I tried to internalize that and planned for it in my maternity leave. I knew I was going to be tired. Then I actually had the baby. I was tired. TIRED. And I went from intellectually understanding that I would need more rest to knowing it with every cell of my body, because I was living it.

DrupalCon Asia was like that for me. I knew intellectually (because of the numbers) that this was a vibrant, active community. It was not until I saw that community in action that I realized just what that really meant. I saw them organize Bollywood style flash mobs and create intricate replicas of the conferene logo with sand. (SAND!) I listened to and talked with hundreds of people who wanted to share their Drupal experience. I posed for a lot of selfies. A LOT OF SELFIES.

Working in the future

I loved joking with colleagues back in the states that I was tweeting from the future becasue time zones are fun that way. I even made the joke from the main stage. It ocurred to me later that (time zones aside) it really is true. In many ways, Asia is the future of Drupal. We still have lots of room to grow project adoption and contribution in the US and Europe, but Asia is probably smack dab in the middle of its hockey stick moment. We're going to see a lot more users, a lot more contribution, and a lot more adopters from that continent in the next 5 years. Given that there are about 1.2 billion people in India alone (the country leading the growth in Asia), simple math tells us that this region will easily eclipse every other region in our community if it can stay the course.

The work coming out of Asia is also future forward. With companies like TCS, Cap Gemini, and Accenture heavily invested in the success of the project, we are seeing more and more name brand and enterprise adoptions of Drupal coming out of Asia. We also have an Asian Drupal shop community that is pushing the boundaries of Drupal away from strictly CMS and into the app server and other headless use cases. Axelernt, Blisstering Solutions, and Srijan are just a few of the companies I talked to at the Con, and I learned that they are all investing heavily into the future of Drupal that Dries keeps referencing.

Embracing the Future

I filled in for Megan Sanicki on a panel at the Con discussing contribution in India. One of the main questions we explored was what Indians needed to do to make a bigger difference for Drupal. There were lots of great ideas about how and where to contribute to get more recognition and responsibility within the community. But most impoertantly, I think Drupal leadership — in the project and in the Association — need to be proactively searching for the leaders from Asia who can serve in visible leadership roles. If Asia is going to increase in importance to the project, we need to embrace that future now.

I am really terrible about prognisticating, but I know one thing is true: Drupal five years from now is going to look radically different from Drupal today. The code, the product, and the community will not be the same. In many ways, that's exciting: the future holds new possibilities, new people, and new fun! In other ways, it's sad: old traditions and long-time community members lost. In other ways, it's scary: you wonder, "what will my role be? Will I matter to the project then?" But change IS coming, so we're going to have to do our best to tackle all those feelings using our community values and lots of communication.

When it comes to our future, I am certain of this though: the Asian community is ready for it. And if the wider Drupal community is smart, we'll be ready for them

Flickr photo: Michael Cannon

Categories: Elsewhere

Affinity Bridge: The front end on Drupal 8

Fri, 26/02/2016 - 18:45
The front end on Drupal 8 02/26/2016 - 09:45 abridged drupal 8 planet drupal twig Alberto

I remember back at Drupalcon Portland 2013 asking Angie Byron (webchick), Why not ship the new Drupal 8 with a blank canvas theme, so front end developers could do their job without the needing to shop for a third party theme? She said that was a good argument and should be taken into consideration, and it looks like my requested was fulfilled. Thank you.

Creating a new theme

Classy and Stable are just pure CSS and HTML code, exactly the blank canvas that you need to create your new theme -- and they are part of core. The main difference between them is "classes". Classy adds class attributes so you can use them to build up your CSS code. Stable, on the other hand, is more purist and won't give you any of this, so you will have to override basically every single template to add HTML attributes.

Do not expect to find clutter like SASS, LESS, Grunt, Bower, npm, gems, Compass, Foundation, Bundler... All of these tools are awesome, but after years of using them, considering the evolution that they have gone through, I'm starting to doubt if they are making our lives easier or more complicated (this goes for you Ruby and your gem versions -- thankfully libSass came to the rescue). It's up to you "the developer" to decide what tools you are going to use and set up your environment.

Enable the debug mode

You will not get really far on your first D8 sites unless you enable the debug mode. Floyd explained how to do this very well on a previous post: Ten Pointers for new Drupal 8 developers.

Where do things belong?

This site being my first D8 attempt I approached the new theme as I did on any other Drupal site: Display Suite, Context, preprocess hooks, and you don't need to touch a single PHP template. I'm well known for writing my themes without touching a single template, but on D8 that's no longer the desired path to take. In D8 your HTML code should be allocated in Twig templates, but that leaves you with the dilemma of the Node Display user interface and modules like Display Suite. I'm ok using these modules to layout my fields but if I need to add a class I have to edit the template? Confusing, right?

We had the opportunity to have Angie recently at our office, and I cornered her (sorry Angie) to ask about these issues. She in fact confirmed the trend was to put your HTML code into Twig template as the community made huge efforts to remove all this code from the D7 functions.

It is clear to me that you should send an object from the controller to the template with all the needed values, and then build your HTML code there by using the variables you just passed. However, it's really quick using Display Suite to layout your node fields -- moreover if you take into account multiple displays. It's also intuitive to the user because s/he can sees the fields layout on the admin interface, and you can export it into code, which makes you less dependent on the database.

This line has became more blurred than ever, and perhaps I'll have to wait some time until a trend is established. If you already have any input please let us know about it.

Checking for emptiness

Be careful when you try to find out if the output of {{ foo.bar }} is empty. You are dealing with renderable arrays on your Twig templates and as it's explained over here on Drupal.org, it's not easy to know when it's truly empty.

Responsive images

Another core feature is the responsive images, under "/admin/config/media/responsive-image-style" -- you will be able to create different styles of responsive images, and if you combine them with the <hook_name>.breakpoints.yml file you will have better control of them.

Here is what our ab2016.breakpoints.yml file looks like:

ab2016.mobile: label: mobile mediaQuery: '' weight: 0 multipliers: - 1x - 1.5x - 2x ab2016.tablet: label: tablet mediaQuery: 'all and (min-width: 768px) and (max-width: 992px)' weight: 1 multipliers: - 1x - 1.5x - 2x ab2016.desktop: label: desktop mediaQuery: 'all and (min-width: 992px) and (max-width: 1200px)' weight: 2 multipliers: - 1x - 1.5x - 2x ab2016.desktop-lg: label: desktop-lg mediaQuery: 'all and (min-width: 1200px)' weight: 3 multipliers: - 1x - 1.5x - 2x ab2016.1vw: label: Viewport Sizing mediaQuery: '' weight: 4 multipliers: - 1x - 1.5x - 2x

When creating a new style for a specific breakpoint you have three options:

  • Select multiple image styles and use the sizes attribute: This option will output an img tag with a srcset, something similar to this:

    <img property="schema:thumbnailUrl" srcset="/sites/default/files/styles/max_768x768/public/my-image.png?itok=ibfcP6IN 768w, /sites/default/files/styles/max_992x992/public/my-image.png?itok=4QuVPlhU 992w, /sites/default/files/styles/max_768x768_1_5x/public/my-image.png?itok=Mg4Cdx65 1152w, /sites/default/files/styles/max_1200x1200/public/my-image.png?itok=6m11wbwz 1200w, ... sizes="100vw" src="/sites/default/files/styles/max_2000x2000/public/my-image.png?itok=Hhut0ibw" alt="My image" typeof="foaf:Image">
  • Select a single image style: This will give you a picture tag with your style in it, something similar to this:

    <picture> ... <source srcset="/sites/default/files/styles/max_992x992/public/my-image.png?itok=nJ6RWBL6 1x, /sites/default/files/styles/max_992x992_1_5x/public/my-image.png?itok=wQl9JTHH 1.5x, /sites/default/files/styles/max_768x768_2x/public/my-image.png?itok=MGLwtJwj 2x" media="all and (min-width: 768px) and (max-width: 992px)" type="image/png"> <source srcset="/sites/default/files/styles/max_768x768/public/my-image.png?itok=R04MFCuT 1x, /sites/default/files/styles/max_768x768_1_5x/public/my-image.png?itok=01HL1dPa 1.5x, /sites/default/files/styles/max_768x768_2x/public/my-image.png?itok=MGLwtJwj 2x" type="image/png"> ... <img property="schema:image" srcset="/sites/default/files/styles/max_992x992/public/my-image.png?itok=nJ6RWBL6" alt="My image" typeof="foaf:Image"> </picture>
  • Do not use this breakpoint: Can't get more clear than that title.

Kick old browsers

For real, draw the line on old browsers and develop only for those that support the current standards. What's the point of jumping into Drupal 8 when you can't use responsive images, flex layouts, etc.

Be patient

Everything is still in early stages, and we collaborated to fix the bugs we encountered:

Conclusion

I'm still puzzled about D8, I've been working for many years with Drupal and this is not at all my first project with Twig (we have worked with Laravel and Symfony, both with Twig templates before), but somehow I feel like D8 is not any one of them but instead a hybrid of all of them.

Although it's easy to see when the template is rendered thanks to the developement feature, it's not easy to find out where this template is called from, and once you find the caller you may still have to understand about controllers, entity, services, and so on. We all have read about this but coming from the "procedural programming" that Drupal has been is quite a jump, and making the connection is not as simple as it sounds.

So far Drupal 8 looks stronger and more robust to me, and I kind of like its complexity, but this is no longer a tool for beginners. Perhaps that was the intention the community with the development of this version but I'm wondering how easy will be for new programmers to join this wagon.

Categories: Elsewhere

NikLP @ Kineta Systems: Drupal 8 Gotcha: Missing toolbar buttons in CKEditor

Fri, 26/02/2016 - 18:30

Scenario: I configured a "WYSIWYG" input format for a new Drupal 8 site I'm building. Having installed the entity_embed.module, I then wanted to add a button for embedding entities (natch) into content via the CKEditor toolbar. I added the necessary buttons and added some filters to this input format, and saved.

Proceeding then to add a new item of content with my freshly configured WYSIWYG, I was dismayed to see that half my toolbar buttons were missing. After a bit of rummaging around, it transpires that you have to be a bit careful with the input filters.

Solution: If you have the "Display any HTML as plain text" filter enabled, this strips out (or disables the functionality of?) certain of the toolbar buttons. Disabling this filter, saving the format and refreshing the "Add new..." page restored the buttons to their expected state. I'm sure this is by design, though it might be quite easy to overlook.

References:

I got a clue from https://www.drupal.org/node/2598070

Blog Tags: DrupalPlanetWYSIWYGCKEditorGotcha

Categories: Elsewhere

NikLP @ Kineta Systems: Drupal 8 Gotcha: Missing toolbar buttons in CKEditor

Fri, 26/02/2016 - 18:30
Fixing things when toolbar buttons go missing in CKEditor in Drupal 8.
Categories: Elsewhere

Acquia Developer Center Blog: Acquia U: From Good Cook to Restaurant Chef - meet Erica Schroder

Fri, 26/02/2016 - 18:15

Erica Schroder joined Acquia in 2012 as a graduate of the Acquia U Drupal training bootcamp and is an inspiration to me as a successful career-changer. As part of running arts and dance businesses, she's had a hand in with Drupal since Drupal 5 days, but Acquia U and her subsequent experience have helped make her a Drupal professional. We got the chance to sit down together in 2015 at Acquia's Boston headquarters.

Q & A

A few questions and answers from our conversation:

Q: What made you stick with Drupal?

Erica: I really gravitate towards things that are challenging. I don’t like things to be easy. If it seems like a puzzle and it seems like something I could work at to solve, it’s going to keep me engaged. I found Drupal to be really engaging on that level and I found it to be continually engaging everyday as I continue to maintain Acquia properties here.

Q: What were your expectations going into Acquia U and how did you feel when you were accepted?

Erica: I was surprised when I was accepted because I don’t have a technical background. I was a dance major and I have a master’s degree in non-profit arts management so I legitimately had never heard of command line, I had never seen a PHP template file, I had never done any of that so I thought it was really a far long shot so I was surprised.

When I was accepted, I was expecting to figure out how to work with a team, see the backend code of a site, understand more HTML, CSS and PHP and that’s what I’ve been doing ever since.

Q: What’s the most important thing you got out of Acquia U?

Erica: I think learning how to work on a team for a site was the most important thing for me because before this experience, I had done sites on my own so I didn’t have to worry about what other people were doing with their code, how it would conflict with my code if we were on the same timeline or timeframe for anything, that was never an issue or a conversation.

So figuring out how version control works, figuring out how a team has to prioritize their projects to meet different deadlines and priorities and working within a larger organization with a lot of stakeholders, we learn that in Acquia U doing different projects and I do that every day now on acquia.com.

Q: What’s the one piece of advice that you’d give people looking for a new career?

Erica: I definitely was a career-changer, that’s for sure. You have to be willing to step back and know that you’re not the expert anymore. You’re not at a management level anymore. You’re not at the top of your field anymore. You’d have to be really comfortable in your own skin and know that it’s okay and maybe that you’re going to start maybe from the ground level and that it’s going to take you some time to work your way back up in the new field.

Q: Would you recommend Acquia U to others?

Erica: If people are willing to do a career change or if they’re looking to become a professional as opposed to a home cook, absolutely, yes.

Interview video - 7 min.

More podcasts about Acquia U
  1. Acquia U: "Making the world a better place, one Drupalist at a time." - with Amy Parker
  2. Acquia U: "Jump in and own it. Kickstart your career." - meet Amy Parker
  3. Meet Erica Ligeski: Drupal training means jobs (2013)
Guest dossier
  • Name: Erica Schroder
  • Work affiliation: Engineer, Acquia
  • Drupal.org: eligeski
  • Twitter: @ericaligeski
  • LinkedIn: Erica Schroder
  • About: "As an Engineer at Acquia, I am part of the acquia.com website team. I work closely with marketing and design to bring their hopes and dreams to life on the web. Our website is a living organism, constantly growing, changing and adapting to the needs of a changing market; this in turn requires diligent care, maintenance and refreshes of look and feel. Outside of Acquia, I am an active member of two Boston-based contemporary dance companies with which I perform regularly. I am a veteran dance instructor going into my 19th year of teaching and I have two dogs, Comet and Stella." Also check out her profile at J & D Dance Company!
Skill Level: BeginnerIntermediateAdvanced
Categories: Elsewhere

Dries Buytaert: The rise of Drupal in India

Fri, 26/02/2016 - 18:04

Earlier this week I returned from DrupalCon Asia, which took place at IIT Bombay, one of India's premier engineering universities. I wish I could have bottled up all the energy and excitement to take home with me. From dancing on stage, to posing for what felt like a million selfies, to a motorcycle giveaway, this DrupalCon was unlike any I've seen before.

A little over 1,000 people attended the first DrupalCon in India. For 82% of the attendees, it was their first DrupalCon. There was also much better gender diversity than at other DrupalCons.

The excitement and interest around Drupal has been growing fast since I last visited in 2011. DrupalCamp attendance in both Delhi and Mumbai has exceeded 500 participants. There have also been DrupalCamps held in Hyderabad, Bangalore, Pune, Ahmedabad Jaipur, Srinagar, Kerala and other areas.

Indian Drupal companies like QED42, Axelerant, Srijan and ValueBound have made meaningful contributions to Drupal 8. The reason? Visibility on Drupal.org through the credit system helps them win deals and hire the best talent. ValueBound said it best when I spoke to them: "With our visibility on drupal.org, we no longer have to explain why we are a great place to work and that we are experts in Drupal.".

Also present were the large System Integrators (Wipro, TATA Consultancy Services, CapGemini, Accenture, MindTree, etc). TATA Consultancy Services has 400+ Drupalists in India, well ahead of the others who have between 100 and 200 Drupalists each. Large digital agencies such as Mirum and AKQA also sent people to DrupalCon. They are all expanding their Drupal teams in India to service the needs of growing sales in other offices around the world. The biggest challenge across the board? Finding Drupal talent. I was told that TCS allows many of its developers to contribute back to Drupal, which is why they have been able to hire faster. More evidence that the credit system is working in India.

The government is quickly adopting Drupal. MyGov.in is one of many great examples; this portal was established by India's central government to promote citizen participation in government affairs. The site reached nearly two million registered users in less than a year. The government's shifting attitude toward open source is a big deal because historically, the Indian government has pushed back against open source because large organizations like Microsoft were funding many of the educational programs in India. The tide changed in 2015 when the Indian government announced that open source software should be preferred over proprietary software for all e-government projects. Needless to say, this is great news for Drupal.

Another initiative that stood out was the Drupal Campus Ambassador Program. The aim of this program is to appoint Drupal ambassadors in every university in India to introduce more students to Drupal and help them with their job search. It is early days for the program, but I recommend we pay attention to it, and consider scaling it out globally if successful.

Last but not least there was FOSSEE (Free and Open Source Software for Education), a government-funded program that provides affordable computers to Indian students. To date, 2,000 universities participate in the program and nearly 2 million units have been sold. With curriculum translated into 22 local languages, students gain the ability to self-study and foster their education outside of the classroom. I was excited to hear that FOSSEE plans to add a Drupal course to its offerings. There is a strong demand for affordable Drupal training and certifications throughout India's technical colleges, so the idea of encouraging millions of Indian students to take a free Drupal course is very exciting -- even if only 1% of them decides to contribute back this could be a total game changers.

Open source makes a lot of sense for India's thriving tech community. It is difficult to grasp the size of the opportunity for Drupal in India and how fast its adoption has been growing. I have a feeling I will be back in India more than once to help support this growing commitment to Drupal and open source.

Categories: Elsewhere

DrupalCon News: The DrupalCon New Orleans Call for Papers Closes Soon

Fri, 26/02/2016 - 17:05

Calling all Drupalers! The call for papers for DrupalCon New Orleans closes at 11:59 PM CST this upcoming Monday, February 29. There are only a few days left for you to submit your proposals for sessions, training courses, or for financial assistance requests through grant and scholarship applications.

Categories: Elsewhere

InternetDevels: DrupalCon Asia 2016: the famous Drupal event, Indian style

Fri, 26/02/2016 - 16:52

A colorful report about the colorful DrupalCon
by InternetDevels Drupal development company

Read more
Categories: Elsewhere

Pages