24 May 2016

feedDrupal.org aggregator

Janez Urevc: Drupal's number 1 is from Switzerland

Drupal's number 1 is from Switzerland slashrsm Tue, 24.05.2016 - 15:49

Swiss has traditionally been dedicated to the best quality and innovation. Some of the best things in life come from Switzerland. Did anyone mention chocolate?

Photo by Janine, released under CC BY 2.0

Drupal and free software are no exception. Many companies and individuals are dedicated to them on a daily basis. That said, it is no surprise that Drupal's number one comes from Switzerland.

Jerome from MD Systems explains how we achieved that, which are the main advantages of Drupal and why everyone should use it. Very interesting read!

24 May 2016 1:49pm GMT

Janez Urevc: Drupal community, please meet Vijay

Drupal community, please meet Vijay slashrsm Tue, 24.05.2016 - 10:40

Google summer of code 2016 started with a full swing this week. Vijay is one of the students participating in it. He is working on the Media module for Drupal 8.

He wrote an introduction blog post. I'd like to invite you to read it, say hi and follow his work as it progresses through the summer.

Welcome in the Drupal community Vijay!

24 May 2016 8:40am GMT

LevelTen Interactive: Drupal Con[densed] 2016: The Best Developer Sessions (Part I)

drupal condensed

DrupalCon New Orleans was the third DrupalCon I've attended, and it never ceases to amaze me how much Drupal has changed over the years, and how much time and effort the community puts in -- not just into core and contrib, but also into building out third party tools, scripts, and methods that will benefit other agencies and freelancers. It really is a privilege to be a part of a community that is so incredibly committed to the values of open source and always willing to share their experience along the way.

Aside from the ...Read more

24 May 2016 5:00am GMT

23 May 2016

feedDrupal.org aggregator

Drupal Association News: Ready to Serve

After five and a half years of serving the Drupal community as a Drupal Association staff member, I'm honored (and thrilled!) to step into the Executive Director role. This community is magical. Your generosity, kindness, and drive to create something meaningful together inspire me every day. Drupal 8 is destined for success, because each drop of code captures this ethos.

You've given me so many memorable moments. I remember that feeling of pride-that sense of "I'm one of you now!"-when my sprint mentor helped me contribute to D8. (The contributor sticker on my laptop is a daily reminder of how welcoming you all are.) Then, there was that time at DrupalCon Portland when people joined forces to build a site to help those impacted by a tornado in Oklahoma, USA. And I'll never forget the first time a company joined our Drupal Supporter Program and then thanked us for creating this way to give back to the Project.

Those who work in other open source projects often point out how unique and special our community is because of its culture. I agree. This community is a bright spot in our complex world, and its health and longevity are worth protecting.

The Association does this through our mission to unite each of you-a global open source community-to BUILD and PROMOTE Drupal. With Drupal 8 out, my job will be to align the Association's resources where they are now needed most.

Our Mission: To Help You Build and Promote Drupal

Over the last few years, the Drupal Association has partnered with the community to help you build Drupal 8. We invested in an engineering team who helped contribute semantic versioning, DrupalCI, and improved issue queue functionality. We also created the issue credit system to reward and motivate members to contribute to the Project. Plus, we raised funds through Drupal 8 Accelerate to pay for sprints that accelerated the software release. Additionally, DrupalCons have brought thousands of you together to grow your Drupal skills and learn from mentors. And, Con sprints are an opportunity to put that growth to work right away with hundreds of other people.

When Drupal 8 was released, The Drupal Association partnered with the community to promote the software on Drupal.org with rich, educational content, telling the world to "Build something amazing, for anyone." And, we worked with the community to celebrate this great achievement by coordinating a global party. On release day, there were more than 200 release parties around the world.

We see so many wonderful ways we can help the community build and promote the software, yet our dreams cost more than our funding allows right now. So like any organization with a limited budget, we make choices based on priorities. Leading up to the D8 release, our priority was to help the community release the software. Now that D8 is out in the world, it makes sense to put more effort into promoting the software and do that in a way that only the Drupal Association can uniquely do. And, we need to promote the software in a way that generates more income for the Project so we can sustainably fund all the initiatives that help the community as you build and promote the software.

Grow Adoption. Generate Income

Drupal 8 is a platform that helps end users (customers) create amazing solutions that unleash digital business opportunities and solve business pain points. It's ideal for complex web solutions as well as mobile, SaaS, and newer tech trends like the Internet of Things (IoT). However, the software alone is often not a complete solution. It must work in concert with third party software and hosting services. These solutions require an architecture strategy, integrations, and implementation-all of which is provided by our large ecosystem of service providers: Drupal shops, system integrators, and digital agencies.

When a CIO or CMO is deciding on Drupal as their platform, these software companies, hosting companies, and service providers want to be included in that decision making process. And, they are willing to pay for the ability to be considered part of a Drupal solution.

As a way to grow Drupal adoption and generate income, the Drupal Association can promote solutions, like Drupal for Higher Education or DevOps for Drupal, through its two main channels: Drupal.org and DrupalCon. For each solution, we'll invite software companies, hosting companies, and service providers to participate in promotional campaigns and to pay for the ability to engage with the decision makers in our channels.

This is work we've already started, and it's working well. On Drupal.org, we have an adoption journey for visitors where they learn about Drupal. We invited other companies to provide educational content and services to improve that journey, so that visitors can see Drupal's strength when it works in tandem with other technology. For example, from the homepage, people are invited to Download Drupal or Try Drupal, which is a selection of Drupal cloud offerings that let the evaluator get an immediate feel for Drupal. With this approach, we add value for visitors, and we lower barriers to adoption for Drupal. Plus, the Try Drupal partners generate leads and pay the Association for the opportunity.

We're doing this work through DrupalCon too. We offer one-day summits that focus on specific verticals, such as Higher Ed, Media & Publishing, and Government. Current and prospective Drupal customers use the day to talk about how to use Drupal in new and better ways within their business. These talks help strengthen and deepen customer commitment to Drupal and help new customers decide the best way to use Drupal. As part of this event, we invite sponsors to participate. They are third party software companies and service providers who serve these verticals. We invite them to provide educational content, like case studies, and give them meaningful engagement with the audience. They in turn generate leads for future business and pay us for this business opportunity.

It's important to point out that this opportunity is for those who want to pay. And that includes Drupal shops, who have always been an important part of our community. But I believe this approach still helps those of you not able to pay. Through promotional campaigns, we can attract more potential customers to the channels you are already engaged in: Drupal.org and DrupalCon. For online campaigns, we can point visitors to the marketplace to find all service providers. At DrupalCon, there are lots of opportunities to network and set meetings with a potential customer. Plus, we will look to share promotional content with businesses so they can use them in their local markets.

Bringing our multi-sided market together to help us promote Drupal and generate income works. It's a tested approach that we can enhance, ultimately allowing us to realize the full vision of funding more work that helps the community build and promote the software.

Why This Matters

This is personal for me. I want Drupal to be adopted across all sectors and in all kinds of ways, so each of you are rewarded with the opportunity to pursue your Drupal dream and get paid doing it. You all give something special to the Drupal Project, from volunteer coding time to giving hugs and high fives when celebrating or supporting each other. I am constantly moved by these acts of generosity and kindness. My life is better because of knowing you and that fuels me to want to give back in the way that I can. The more we can grow Drupal adoption across sectors, the more doors open up to you to pursue your Drupal dream, from serving citizens through government solutions to working on new technology trends through Internet of Things solutions, and anything in between.

Where do we go from here?

I'm so thankful for Holly Ross's leadership. She showed an amazing ability to build community relationships and operationalize the organization, all while sharing her contagious laugh. The Association is in a better place because of her involvement. By investing in and empowering staff, and by leading by living our values, she created a team that's passionate about serving our mission. I'm so fortunate to work every day with such incredibly talented, smart, kind, and passionate people. I will fiercely protect this culture we created, because it's our secret sauce. Together, we'll build off of the great foundation that Holly created.

I'm working with the board and staff to build towards our vision. We are looking at how to maintain and support the services you need to build the software while creating opportunities to promote solutions through Drupal.org and DrupalCon. We are in thinking and listening mode as we figure out the best way to execute this.

I invite you to share your thoughts on this vision. We are all in this together and we will be able to achieve this goal to fund more work on both sides of the Build/Promote equation if we have a shared vision and work together towards it. So please let me know your thoughts. What are the opportunities you see? What are the areas of concern we should consider?

23 May 2016 10:28pm GMT

Matt Glaman: Run \Drupal\Tests\BrowserTestBase with SQLite

As part of the push to deprecate SimpleTest and use PHPUnit as the test runner in Drupal 8, there is the \Drupal\Tests\BrowserTestBase class. The BrowserTestBase provides a Mink runner that tests web pages in Drupal. Unlike kernel tests, which require a database and can be run via PHPUnit as well, browser tests use your default database connection. I prefer to run my tests with SQLite as I do not need to have my Docker containers running.

The simplest solution I have found, thus far, is to check the HTTP_USER_AGRENT

if ($_SERVER['HTTP_USER_AGENT'] == 'Drupal command line') {
    $databases['default']['default'] = array(
      'driver' => 'sqlite',
      'database' => '/tmp/test.sqlite',
      'namespace' => 'Drupal\\Core\\Database\\Driver\\sqlite',
    );
}

With this, and running php -S localhost:8080 I'm able to write my Drupal Commerce browser tests without having my normal Docker containers running.

23 May 2016 10:22pm GMT

Cocomore: 5 recommendations before starting your first Drupal 8 project

Start developing with Drupal 8 with some tricks and thoughts before starting your first real Drupal 8 project.

23 May 2016 10:00pm GMT

Chromatic: Javascript Theme Functions in Drupal 7

Like it or not, sometimes you have to output HTML in javascript.

Recently, I ran across a line of code something like this while reviewing a pull-request for a client:

var inputMarkup = '<span><label data-val="' + inputText + '"
for="checkbox-' + index + '" data-tid="' + tid + '">' +
  inputText + '</label><input type="checkbox" id="checkbox-' + index + '"
  data-tid="' + tid + '" data-val="' + inputText + '"
  /></span>';

Aside from the fact that this code was hard to read (and therefore would be more difficult to maintain), the same code was used with no significant modification in three separate locations in the pull-request.

In PHP, most developers familiar with Drupal would immediately reach for one of the well-known parts of Drupal's theme system, render arrays, theme(), or a *.tpl.php file. In javascript, however, I seldom see much use of Drupal 7's extensive javascript API (also made available in a nicely browseable--though not quite up-to-date--form by nod_).

In this case, the relatively difficult-to-read code, combined with the fact that it was repeated several times across more than one file were clear signs that it should be placed into a theme function.

The Drupal.theme() function in the javascript API works much like theme() in PHP. When using theming functions in PHP, we never call them directly, instead using the theme() function.

In javascript, it's similar; when output is required from a given theme function, we call Drupal.theme() with the name of the theme function required, and any variable(s) it requires.

For example, drupal.org shows the following usage:

Drupal.theme('myThemeFunction', 50, 100, 500);

The example uses Drupal.theme() to call the theme function, myThemeFunction(), and pass it the arguments it requires (50, 100, and 500 in this instance). A theme function can accept whatever number of arguments is necessary, but if your theme function requires more than one parameter, it's good practice to define the function to take a single javascript object containing the parameters required by the function.

So in the case of my code-review, I suggested we use a theme function like this:

/**
 * Provides a checkbox and label wrapped in a span.
 *
 * @param {object} settings
 *   Configuration object for function.
 * @param {int} settings.index
 *   A numeric index, used for creating an `id` attribute and corresponding
 *   `for` attribute.
 * @param {string} settings.inputText
 *   The text to display as the label text and in various attributes.
 * @param {int} settings.tid
 *   A Drupal term id.
 *
 * @return {string}
 *   A string of HTML with a checkbox and label enclosed by a span.
 */
Drupal.theme.checkboxMarkup = function(settings) {
  "use strict";

  var checkboxId = 'checkbox-' + settings.index;
  var inputText = Drupal.checkPlain(settings.inputText);
  var checkboxMarkup = '';

  // Assemble the markup--string manipulation is fast, but if this needs
  // to become more complex, we can switch to creating dom elements.
  checkboxMarkup += '<span>';
  checkboxMarkup += '<label data-val="' + inputText + '" for="' + checkboxId + '" data-tid="' + settings.tid + '">';
  checkboxMarkup += inputText;
  checkboxMarkup += '</label>';
  checkboxMarkup += '<input type="checkbox" value="' + inputText + '" id="' + checkboxId + '" data-tid="' + settings.tid + '" data-val="' + inputText + '">';
  checkboxMarkup += '</span>';

  return checkboxMarkup;
};

This allowed the calling code to be much simpler:

// Creates themed checkbox.
checkboxMarkup = Drupal.theme('checkboxMarkup', {
  index: i,
  inputText: $('.inputText').val(),
  tid: $('.tid')
});

$container.append(checkboxMarkup);

The HTML generation is now also more loosely coupled, and more portable, meaning that we can easily use Drupal.theme.checkboxMarkup() elsewhere in this project--or in any other Drupal project.

23 May 2016 4:26pm GMT

Sooper Drupal Themes: Beta: Revolutionary (Free) Drupal Installation Tool. SooperThemes Rebranding. Glazed & Carbide .10 Releases

Introducing Zero-Touch Drupal Product Provisioning

2 years ago I started working on a Drupal CMS distribution that makes it less painful to launch a fully configured Drupal website. Today we're proudly launching what I think is the best CMS installation experience you've ever seen. Pantheon and Acquia cloud might be great tools for people like me who work with Drupal on a daily basis, but there is a huge community of people who need something more simple. Our goal was for users to install a fully configured and themed Drupal website, with fully configured CMS components and demo content without requiring any user interaction.

Our Deployment tool currently does the following completely on auto-pilot:

  1. Runs tests to see if the receiving server ready for installation
  2. Generates a custom build of our Glazed CMS installation profile with the CMS components you need
  3. Uploads the files straight from sooperthemes.com to your server
  4. Uses Drush to go through the entire installation on your server
  5. Installs demo content

Looking For Drupal Hosting Partners

From a wider perspective, I see this kind of service as an answer for the Open Web to the streamlined experiences provided by companies like Wix and SquareSpace. The walled garden alternatives for small businesses. In that light want to integrate with as many great Drupal hosting providers as possible. The first Hosting partner I integrated is A2hosting, because they provide SSH and Drush automatically to all users. I'm looking for other hosting providers who offer this, if you know of, or are such a company please let me know in the comments.

Our service launched in beta but theoritically this should work fine on an Drupal/Drush capable server. It doesn't matter if you run Apache with MySLQ or nginx with PostgreSQL, our software has only the following server requirements:

  • Drupal capable stack
  • Drush
  • Rsync
  • SSH with password authentication

Looking For Testers

This means you can try it out right now on your VPS development server, all you need to provide is an empty web directory and database. If you're trying this and can't get it to work on your Drupal/Drush capable server please let me know in the comments. We did a lot of testing but the variety of server configurations is so vast that I'm sure we can improve our software's compatibility. Just to be clear, you don't need to be a subscriber or even registered on sooperthemes.com to use this. As a guest user you cannot choose the premium themes in the form but you can install any configuration of our CMS distribution with the Glazed Free theme.

It has been an adventure developing this new deployment tool. If you are excited too please test it and let me know what you think!

In Other News: SooperThemes Rebranding. Glazed 2.4.10 and Carbide Builder 1.0.10 Released

This week I've also updated the SooperThemes logo. For the past year the sooperthemes.com website has reflected what our new product was: Completely new and finding out where it wants to go. Now the logo more reflects the values of simplicity, open source and friendliness. These are the values I want to embed in our products. The logo is much simpler than the old one. The openings in the O are for open source. And the last detail is the Happy e's. This little touch of Dutch Design is a tilted back lower case e, it was invented by Heineken and reminds of a laughing head.

Today you can also download the latest patch-level release of Glazed theme and Carbide Builder. These releases contain no new features, only bug fixes. See the Glazed CHANGELOG and Carbide CHANGELOG. We've also updated the YouTube background library and put a usage example in the bottom of the Sections and Backgrounds demo page. Enjoy!

23 May 2016 2:25pm GMT

22 May 2016

feedDrupal.org aggregator

Virtuoso Performance: Global migration sprint day - Monday May 23

Global migration sprint day - Monday May 23

As I wrote in my last blog post, I'd like to try doing regular sprint days for Drupal 8 migration. These will be a bit more informal than than a conference sprint - basically, a day when anyone interested in helping move the migration system from its experimental status to a fully supported subsystem of Drupal core can show up in #drupal-migrate, or just pick a relevant issue and start working on it. Our theme for at least the first of these sprints is migrate-critical issues - these are issues for the migration system which would be marked critical if the system were full supported, and thus our highest priority to address. Some issues need code written, some need tests written, some could use code review and/or manual testing, and some need discussion around the best approaches - there are multiple ways to help out.

If you're interested in contributing to the sprint, on Monday May 23:

  1. Check the triaged list of issues - if you find one you'd like to work on, add your drupal.org username under "Who's working on it". The fact that someone is doing work on a given issue doesn't mean you can't help too - virtually any issue without a stable patch could use input and suggestions, and any issue with a patch could use review and manual testing.
  2. Join #drupal-migrate on IRC. Get help selecting an issue to work on, coordinate with others on a given issue, ask general migration questions (or answer them!), ...
  3. If writing or testing code for a given issue, pay attention to which Drupal core version the issue is filed against (generally it'll be 8.1.x for bug fixes, and 8.2.x for new work) and be sure you pull the correct core branch to work against.

I expect to be available in #drupal-migrate for most of the time from around 9am to (at least) 6pm U.S. Central time (minus a lunch break). You can expect to find other people with migration expertise there at most times, of course.

mikeryan Sun, 05/22/2016 - 11:47

Tags

22 May 2016 4:47pm GMT

DrupalOnWindows: Google analytics done right: successful business analytics

English

The basics

If you run an online business you should take analytics very seriously. Improving sales, conversions and any other objectives your web application has is an iterative process that needs to be based on measurable and meaningful indicators.


More articles...

22 May 2016 4:25pm GMT

20 May 2016

feedDrupal.org aggregator

FFW Agency: Great Examples Of Distributed Content Management In Product Companies

Great Examples Of Distributed Content Management In Product Companies erik.wagner Fri, 05/20/2016 - 17:24

Welcome to the fifth post in my series on Distributed Content Management. In previous posts I've defined the concept and provided some great examples of Distributed Content Management use cases in higher education, the pharmaceutical industry and media and entertainment companies. In today's post I'll wrap up my industry-specific use cases by investigating ways in which product companies can use Distributed Content Management to improve their approach to everything from internationalization of their websites to managing community contributions.

Setting The Scene

Product websites, whether for physical or virtual products, must ultimately influence their visitors. For direct-to-consumer products, the goal may be a direct conversion - to get the visitor to buy/download the product. Business-to-business products often have a more complex buyer's journey, starting with something as seemingly minimal as driving the visitor to contact the company for more information. Within the digital sphere, companies whose products are extensible platforms or systems may be seeking not only end-users, but developers or contributors to expand on the value of their initial offerings. In all of these scenarios, the content presented to the user must be keenly adapted to the task at hand and, with products especially, must co-exist with information available from external sources. Carefully planning their approach to Distributed Content Management - to the point of expanding what they may consider content - is a key tool for a product company's success.

Use Case 1: A Multi-System Approach to Product Experience Management

Many web platforms strive to be all-in-one solutions for a product's online presence; however, savvy product companies recognize that they can build a superior web experience by integrating multiple systems and relying on their core strengths. A common example of this for product companies is around enterprise e-commerce systems (such as Demandware, Magento, or BigCommerce). All of these solutions provide some level of content management and layout control; however, larger organizations that make heavy use of Distributed Content Management staples such as content re-use and custom publishing workflows may find the out-of-the-box tools duplicative or not sophisticated enough for their processes. Luckily, these systems allow organizations to interact with them programmatically through APIs and many provide pre-built connectors to popular content management systems such as Drupal and WordPress. By integrating e-commerce tools with powerful content management systems, product companies can have the best of both worlds for both their internal processes and customers' experience.

Use Case 2: Internationalization of Product Websites

Entry-level internationalization may be achieved with a single website and automated text translation; however, as a product company's reach expands so may the sophistication of their internationalization strategy - and that can impact their needs for Distributed Content Management. A simple example of this may be the transition between automatic translation technology (such as Google Translate, Lingotek Inside or Translate.com's Website Translator) and content management provided by native-speaking editors. Native-language content production, with its cultural nuances and idiomatic expressions, can provide a far superior experience to a website's visitors but introduces a number of elements to a company's Distributed Content Management strategy. For example, how will translated content fit within the company's existing publishing workflow? How will different language teams coordinate around new pages and content? Taking this further, companies that produce physical products often have unique product lines in different geographical regions, a reality that necessitates a decentralized management strategy with close coordination around company-wide content.

Use Case 3: Curating Other People's Content

More so than ever before, potential customers have easy access to a flood of content about a product before they decide whether or not to use it. For a company's digitally-inclined customers, Amazon's Q&A and reviews, YouTube videos and even social media interactions with a company have become key elements guiding their decision making. Attentive product companies actively manage these external sources: answering questions on Amazon, providing high-profile bloggers and YouTube producers with review copies of products, etc., but companies interested in further differentiating themselves are beginning to recognize that the content produced on these channels should be part of their Distributed Content Management strategy. For example, Twitter actively promotes itself as a customer service platform, citing not only its "unparalleled reach," but the fact that its conversations can be "embedded across other media." However, many content strategists promote this same approach for curating testimonials. Curating and embedding tweets in which a user speaks positively about a company's product is a great example of managing distributed content to increase potential buyers' social trust in a product.

Use Case 4: Content For Contributors and Existing Customers

Prospective users are not the only audience for product companies. Physical product companies, especially those making electronics, often provide access to support resources, such as frequently asked questions and downloadable product manuals. Companies that produce digital products may offer software downloads and updates or, in the case of open products, API and developer documentation. With each of these areas comes important decision around a company's approach to Distributed Content Management. Will product support require registration? If so, what external system integrations are required to share the appropriate content with the user? Will developers be able to contribute documentation? If so, what kind of publishing workflows will be in place in for community-contributed content? While each new audience brings additional considerations around Distributed Content Management, it also increases the opportunities to improve a product's digital experience and extend its reach.

What's Next?

Now that we have sufficiently explored industry-specific use cases for Distributed Content Management, I'll move on to discussing prerequisites for proper planning. Thoughts or questions? Reach out in the comments below or tweet them to me at @HankVanZile.

Twitter - Drupal
Tagged with

Comments

20 May 2016 5:24pm GMT

Four Kitchens: Trip Report: DrupalCon 2016 — Five Days in New Orleans

A mostly full report on what went down last week in the Big Easy, gonzo journalism -style. …

20 May 2016 4:14pm GMT

Texas Creative: First Impressions During a Drupal 8 Website Build

It's Official! We have finished setting up the necessary infrastructure and processes for building client sites in Drupal 8 moving forward. A lot of that work was done during our first Drupal 8 website build, which is nearing completion. What follows is a brief glance of my first impressions and future aspirations about Drupal 8 development.

The Project

As website builds worked their way through the pipeline in the first part of 2016, I was on the lookout for the right one to be our first D8 site. The project I chose is a portal for this company's contractors to log their daily activity out in the field. The portal also generates various reports from the activity for our client to use. This project is unique in a couple of different ways that makes it the clear choice for our first foray into Drupal 8:

Read More

20 May 2016 1:00pm GMT

Cheppers blog: Knowledge base for DrupalCamp organizers

This year, at DrupalCon New Orleans I was lucky to attend the best community summit I've ever been to, with a bunch of great people who were really interested in topics how to grow the Drupal community. As a result of the discussions we had, we decided to start a knowledge base for Drupal event organizers to collect and share tips and tricks. Keep reading to find out more information about the initiative.

20 May 2016 8:05am GMT

19 May 2016

feedDrupal.org aggregator

Jeff Geerling's Blog: Drupal VM 3 is here!

Drupal VM 3.0.0 "The Light Sailer" was just released, and you can grab it from the Drupal VM website now. We spent a lot of time during DrupalCon New Orleans sprinting on Drupal VM, fixing bugs, and updating ALL THE THINGS to make sure this release solves a lot of pain points for individuals and teams who need a great local development environment.

Drupal VM - Website Homepage

Let's get right into why this is the best release of Drupal VM EVER!

The fastest and most modern environment

Drupal VM now defaults to Ubuntu 16.04 (which was just released in late April), running MySQL 5.7 and PHP 7. This means you're getting the fastest, most reliable, and most modern development environment for your Drupal 8 projects.

19 May 2016 9:33pm GMT

Lullabot: DrupalCon New Orleans Wrap–up

Matt & Mike talk with a gaggle of Lullabots about their experiences at DrupalCon New Orleans.

19 May 2016 8:00pm GMT