Development News

InternetDevels: Search in Drupal 8: great opportunities and useful modules

Main Drupal Feed - Thu, 07/05/2018 - 07:22

Convenient searching is a keystone of good website navigation and usability. Help your website users always find what they want, and they will lose all the addresses of your competitors, completely forgetting their names.

Read more

myDropWizard.com: CiviCRM secrets for Drupalers: Membership Directory

Main Drupal Feed - Thu, 07/05/2018 - 05:58

We're Drupalers who only recently started digging deep into CiviCRM and we're finding some really cool things! This series of videos is meant to share those secrets with other Drupalers, in case they come across a project that could use them. :-)

In the screencast below, I'll show how how you can set-up a public membership directory in Roundearth's CiviCRM! Many organizations have a need to have public visitors see their member individuals or organizations

Watch the screencast to see how to add a public membership directory with Roundearth:

Video of CiviCRM Membership Directory

Some highlights from the video:

  • Add Memberships to a Contact
  • Create a Smart Group of Members
  • Boom: Create a Public Membership Directory

Please leave a comment below!

Evolving Web: Scholarship to Learn Drupal 8 - Call for Applications

Main Drupal Feed - Thu, 07/05/2018 - 04:38

Evolving Web is proud to announce that it's giving out a scholarship for our 5 Day Drupal 8 Training in Toronto in October. Everyone is welcome to apply. We encourage students, freelancers, and those looking to switch careers to attend, as well as anyone wanting to learn Drupal for a project for the social good.

If you're not in Toronto, we'll be offering scholarships in the future for trainings in other cities and online. Subscribe to our newsletter for updates.

Why do you need this training?

Many businesses, higher education institutions, governments, NGOs, and communities around the world use Drupal to power their websites. Drupal is one of the most sought-after CMS technologies and there is generally a shortage of Drupal talent.

Learning Drupal can be challenging and while there are many resources online, it's useful to have a hands-on course to guide you through the process.

What will you learn in this program?

During the course, you'll learn how to build websites with Drupal from top to bottom. The class is divided into three parts:

Who should apply?

Scholarships will be given to those who demonstrate an eagerness to learn, a vision for how they will implement their Drupal skills, and a need for financial support.

It's important that applicants clearly indicate why they want to learn Drupal and what projects they're planning to use Drupal for.

Some experience with HTML, CSS, and programming is required to take the course. Please contact us if you have questions about the course requirements.

Course Details
  • Dates: October 1, 2018 - October 5, 2018 - 5 full days of intensive learning
  • Location: Toronto (Centre for Social Innovation)
  • Cost: $1,850
  • We’re giving away 1 scholarship for the full class as well as 3 scholarships for 50% discounts  — apply today!
  • Deadline for applications: August 17, 2018
+ more awesome articles by Evolving Web

HeroPress: Coding under trees and in 24 hour coffee shops

Wordpress Planet - Wed, 07/04/2018 - 18:30

People were paying me to write code two years before I had wifi in my house. Home wifi would have cost $45 a month. The cable company wanted a $100 deposit to create my account. It wasn’t going to happen, I could get wifi with a cup of coffee for $3 (including the tip) at a coffee shop a few blocks away from my place that meant I got some semblance of being social. I couldn’t imagine giving up 15 days a month at coffee shops just so it was easier to work from home, not when I could get away with sitting on my porch poaching wifi from my neighbors when I got stuck and had to google regular expressions for the 400th time. Or, my favorite, sit in a park down the street where there were three unprotected wifi networks and a strong tree to lean against.

My path to becoming a web developer started when I packed up my beat up Chevy Prizm and drove to Portland, Oregon. I had graduated college with degrees in Economics and Political Science. While there, I become a Linux user when I discovered that it used less space meaning I had more space for music. I had never written code, but when my friends and I decided we wanted to create our version of The Onion, I started searching. After a little bit of trial ( blogger ) and error ( blogger ), I found WordPress and it’s “Famous Five Minute Install”. I purchased a domain and hosting from a place that advertised heavily and set about creating our site.

The public library was my initial source of information. After all, having fun isn’t hard when you’ve got a library card. I picked up books on CSS, PHP, Java, Database design, and anything I could get my hands on. I was working evenings as an usher for the Portland Trailblazers and would head over to a 24 hour coffee shop to cowboy code under fluorescent lights until I was ready to crash.

I can think of three big breaks that really helped move me along. Each of these ended up being “Flash Forward” moments where I was able to grow.

My First Client

I was scouring craigslist looking for anything I could get my hands on when I found someone offering $25 to move their WordPress site from one domain to another. Having just done that, I sent an email and crossed my fingers. Somehow, my eagerness (and likely willingness to work for peanuts) got my their trust. I had my first client. It took me way longer than I would have hoped as I learned about things like DNS Propagation, but I completed the task. And did such a good job that I was asked if I could build a website for one of their friends who was a standup comic. I was honest that I had never built a real site from scratch, but they liked how I had communicated, so I got the gig.

My First Core Experience

Before the first time I contributed to WordPress, I went to the Portland WordPress User Group to ask if something I was seeing was possibly an issue that warranted emailing the wp-hackers mailing list. I was so scared of being wrong that I felt like I needed to ask permission. I assumed that I was going to make a fool of myself and be laughed at. I ended up emailing the list and it turned out, I had found a spot where WordPress could be better! In the grand scheme of WordPress, passing a parameter to three `do_action` calls didn’t help WordPress gain 1% of market share, but it did help me with the plugin I was working on. And I was exposed to the process. I learned about trac, and the weekly devchat, and patches and svn. While I didn’t get props, I still consider this my first contribution to WordPress Core.

My first WordCamp

WordCamps are cheap compared to most tech conferences, but when you are playing the game of “How do I eat on $10 a week” for months on end, $40 for a conference whose value is unknown is a hard sell. Luckily, the Portland WordPress User Group did a raffle for a ticket and I won. All I had to pay for was the $2 in bus fare each way and I had the chance to learn. The 2009 WordCamp Portland ended up being where Matt Mullenweg announced that WPMU was going to be merged into core in WordPress 3.0 and it’s where I saw a talk entitled “How Not to Build a WordPress Plugin” by Will Norris. Will’s talk exposed me to WordPress development in a way that I would never have imagined on my own. It helped me level up from someone who mostly was copy and pasting PHP to someone who was writing code.

Additionally, I was able to network for the first time. It no longer was the same 15 people who went to the meetup, it was now about 200 WordPress fanatics, many who wanted to hire someone like me to work on their website!

Looking back, these flash forward moments contributed almost as much to luck to my success. In many ways, a lot of my success can be attributed to the luck of being born as someone who is essentially a white cis-male into a family where I was exposed to computers and had a chance to gain a solid liberal arts education.

But it’s not just that luck that helped me. I had to provide good customer service to turn a $25 task into a contract to build my first website. I had to be willing to embarrass myself by asking what I thought was a dumb question. I had to show up and become a part of my local community to get a ticket for a conference where I learned and networked.

Soon after WordCamp Portland 2009, I had enough client work coming in that it made sense to have wifi. Home wifi meant I could start being connected to the WordPress community more than once a month in person or a few hours here and there at coffee shops. It meant I could read dev chat every week and eventually it meant I could earn props. Networking at meetups, WordCamps and conferences led to full time jobs. Taking risks and being willing to look like a fool in front of the WordPress community have enabled me to become a WordPress Core committer (and sometimes continue to look like a fool). In addition to volunteering on WordPress Core, I’m now the Director of Editorial Technology for Penske Media Corporation where I help brands like Rolling Stone and Variety run on WordPress, but I’ll never forget when if I needed to code, I was going to sit under trees in parks or the fluorescent lights of a 24 hour coffee shop.

The post Coding under trees and in 24 hour coffee shops appeared first on HeroPress.

DrupalEasy: Introducing our online, hands-on, 2-hour Professional local development with DDEV workshop

Main Drupal Feed - Wed, 07/04/2018 - 13:49

We're happy to announce that we've partnered with the folks at DRUD Tech to create and deliver a live, online, hands-on workshop that will teach the basics of professional local Drupal development using DDEV-Local.

DDEV-Local is a Docker-based local development environment that is designed to get your projects up-and-running quickly on your local development machine. DDEV-Local can be used with Drupal 7 and 8 as well as WordPress and other content management systems.

One of the big advantages of using this type of local development environment (as opposed to an old-school WAMP/MAMP-type solution) is that DDEV helps to ensure that every member of the development teams is using the exact same development environment, increasing productivity and decreasing the chances of environment specific bugs. Furthermore, you'll find that getting team projects up-and-running on your local machine is super-fast!

If you've been reading our recent blog posts or listening to our podcast, then you probably already know that we've taken a keen interest in local development environments lately. 

In fact, we've been diving deep into local development environments for almost a full year now, as we're in the process of evolving our long-form training classes to teach and utilize a more professional local development environment solution. A couple of months ago, we decided to standardize our trainings on DDEV, and since then we've been talking with the DRUD Tech folks (the creators of DDEV) about putting together a workshop that will provide students what they need to get up-and-running with DDEV-Local.

Here's a quick overview of what this new workshop will cover:

  • What is DDEV? 
  • Installing DDEV-Local (Mac OS X and Windows 10 Pro)
  • Getting an existing project up-and-running in DDEV-Local
  • Everyday DDEV-Local commands and functionality
  • DDEV-Local integration with hosting providers  
  • Updating DDEV-Local
  • DDEV-Local Tips and Tricks
  • Getting help with DDEV-Local

The first workshop will take place on Wednesday, July 18, 2018, 1-3pm EDT, and the cost is $75. Following the completion of the workshop, you'll have access to the 20+ page curriculum PDF as well as more than 10 screencasts demonstrating installation and basic usage of DDEV-Local. 

Register today and start using a professional local development environment!

We’ll be running the workshop monthly, so If you can't make it on July 18, upcoming dates include: 

  • Wednesday, August 22, 2018, 10am-noon EDT
  • Wednesday, September 19, 2018, 9-11am EDT

Quotes on this page were shared by participants in our beta-test of the course


 

Evolving Web: How to Create a Custom Views Argument Plugin in Drupal 8

Main Drupal Feed - Wed, 07/04/2018 - 13:24

When you're building a site, it's standard to set up "pretty URLs". For example, we'd rather see /catalog/accessories than /taxonomy/term/18 and we'd rather see /about-us than /node/19. With Drupal, we use the Pathauto module to configure these types of standard content paths. But in some cases, there's no option to create a nice URL pattern, so we end up seeing those URLs.

This happens with Views that are filtered by a taxonomy term in the URL. The result is that you end up seeing taxonomy term IDs in the URL (e.g. catalog/19/search) rather than a pretty URL (e.g. catalog/accessories/search).

In this tutorial, I'll walk you through how to create a field that is used to make generate URLs for Views pages that take taxonomy terms as contextual arguments. Using this approach, a site editor will be able to configure what the URL path will look like.

Assumptions

It has been assumed that you know:

  • The basic concepts of Drupal 8.
  • How to configure fields.
  • How to configure a view with a contextual filter.
  • How to create a custom module in Drupal 8.
  • How to create a custom plugin in Drupal 8.
The solution

We're going to use the core taxonomy argument plugin (Drupal\taxonomy\Plugin\views\argument\Taxonomy) to help us fix this problem. The plugin takes a term ID from the URL and passes it to Views. We'll override the plugin so that it takes a string from the URL (slug), and then looks up the associated term ID. All the rest of the functionality we'll leave as is.

Step 1: Content and field configuration

To make the example work, we need the following configuration to be in place (most of this you get out-of-the-box with Drupal, you'll just need to add the Slug field):

  • A taxonomy vocabulary named tags.
  • Tags should have the following field:
    • Field name: Slug
    • Machine name: field_slug
    • Type: Text (Plain)
    • Size: 32 characters
  • A content type named article.
  • Article should have the following field:
    • Field name: Tags
    • Machine name: field_tags
    • Type: Entity reference (to taxonomy terms from Tags)
    • Number of values: At least one

Configuring field slug on taxonomy term

Step 2: Create a custom module

Create a custom module called custom_views_argument. Declare a dependency on the views module in the .info.yml file.

Step 3: Implement hook_views_data_alter()

Reference: custom_views_argument.module

The hook_views_data_alter() hook tells Views about the various database tables, fields and the relevant plugins associated to them. We implement this hook to tell Drupal to include our custom argument plugin which we will create in the next step.

Step 4: Create a custom views argument plugin

Reference: CustomTaxonomySlug.php

Next we implement the CustomTaxonomySlug class with a proper annotation @ViewsArgument("custom_taxonomy_slug"). This tells the Views module that the class is a special class which implements a custom Views argument plugin. We extend the Drupal\taxonomy\Plugin\views\argument\Taxonomy class and override one important method CustomTaxonomySlug::setArgument().

public function setArgument($arg) { // If we are not dealing with the exception argument, example "all". if ($this->isException($arg)) { return parent::setArgument($arg); } // Convert slug to taxonomy term ID. $tid = is_numeric($arg) ? $arg : $this->convertSlugToTid($arg); $this->argument = (int) $tid; return $this->validateArgument($tid); }

All we do here is catch the argument from the URL and if it is a slug, we use a convertSlugToTid() method to retrieve the underlying taxonomy term ID. That is it! The rest of the things are handled by the taxonomy plugin.

Step 5: Create Demo Content

Now that everything is in place, we'll put our solution to the test. Start by creating some demo content. Create 2-3 articles and assign them some tags. The tags are created, however, they don't have a slug.

Once done, go to the Admin > Structure > Taxonomy > Tags page and edit the tags and give them nice URL slugs containing only English alphabet letters, numbers and dashes. For real projects, you might need to use a custom or contrib module to automatically generate slugs (see the machine_name module).

Step 6: Configure a View

Now we're all set! The last step is to create and configure a View which will put everything together.

  • Create a View of Content. You can name it Blog.
  • Create a page display and set it's URL to /blog/%.
  • Add a relationship to taxonomy terms referenced from field_tags.
    • We do this to be able to use the Slug field in a filter. 

Configure a relationship with taxonomy terms

  • Now, define a contextual filter for the Slug using the custom argument plugin which we created.
    • Click on the Add button for Contextual filters
    • Choose the Slug filter which we created. It should have the name we had defined in our plugin, i.e. Custom: Has taxonomy term with slug.
    • Optionally, specify a validation criteria for Taxonomy Term and specify the Tags vocabulary.

Configuring the custom views argument plugin for contextual filters

  • Save the view for the new configuration to take effect.

And we're done! If you visit the /blog/SLUG, you should see all the articles which have the taxonomy term associated to SLUG. Here, SLUG refers to the value you put in the Slug field for the tag. E.g. if you have a tag named Accessories and you wrote accessories in the Slug field, you should go the the URL /blog/accessories.

Next steps

If you're looking for hands-on training about how to develop Drupal modules, we offer professional Drupal training online and in-person. See the full Drupal 8 Module Development training curriculum for details.

+ more awesome articles by Evolving Web

OPTASY: These Are the 15 Best Drupal Security Modules Worth Installing on Your Website

Main Drupal Feed - Wed, 07/04/2018 - 13:22
These Are the 15 Best Drupal Security Modules Worth Installing on Your Website adriana.cacoveanu Wed, 07/04/2018 - 13:22

See? I'm a woman of my word as you can see: here I am now, as promised in my previous post on the most effective ways to secure a Drupal website, ready to run a “magnifying glass” over the best Drupal security modules. To pinpoint their main characteristics and most powerful features and thus to reveal why they've made it to this list.

And why you should put them at the top of your own Drupal security checklist.

So, shall we dig in?
 

1.  Login Security  

It's only but predictable that since the login page/form is the entry to your Drupal site, it is also the most vulnerable page there, as well.

Therefore, secure it!

Droptica: Droptica: How does the Droptica team continuously improve its work? See examples from our Sprint Retrospective meetings

Main Drupal Feed - Wed, 07/04/2018 - 11:07
Your development team constantly makes the same mistakes and does not improve the quality of its work. Are you familiar with this issue? If so, we have a solution for you and it’s really simple – it’s called Sprint Retrospective.  What is Sprint Retrospective? This is one of the meetings in the SCRUM methodology. The meeting takes place on a regular basis, at the end of each sprint. At Droptica, we hold a meeting once every two weeks. During the meeting, the development team analyses the previous sprints and deliberates about what can still be improved – how to eliminate errors and blockers, and how to speed up work.

PreviousNext: Decoupling the model from Drupal

Main Drupal Feed - Tue, 07/03/2018 - 23:17

Back in the Drupal 6 days, I built the BOM Weather Drupal module to pull down weather data from the Australian Bureau of Meteorology (BOM) site, and display it to users.

We recently had a requirement for this in a new Drupal 8 site, so decided to take a more modern approach.

by Kim Pepper / 4 July 2018 Not that kind of decoupled Drupal

We often hear the term Decoupled Drupal but I'm not talking about a Javascript front-end and Drupal Web Service API backend.

This kind of decoupling is removing the business logic away from Drupal concepts. Drupal then becomes a wrapper around the library to handle incoming web requests, configuration and display logic.

We can write the business logic as a standalone PHP package, with it's own domain models, and publish it to Packagist.org to be shared by both Drupal and non-Drupal projects.

The Bom Weather Library

We started by writing unit-testable code, that pulled in weather forecast data in an XML format, and produced a model in PHP classes that is much easier for consuming code to use. See the full BOM Weather code on GitHub 

For example:

$client = new BomClient($logger); $forecast = $client->getForecast('IDN10031'); $issueTime = $forecast->getIssueTime(); $regions = $forecast->getRegions(); $metros = $forecast->getMetropolitanAreas(); $locations = $forecast->getLocations(); foreach ($locations as $location) { $aac = $location->getAac(); $desc = $location->getDescription(); /** @var \BomWeather\Forecast\ForecastPeriod[] $periods */ $periods = $location->getForecastPeriods(); // Usually 7 days of forecast data. foreach ($periods as $period) { $date = $period->getStartTime(); $maxTemp = $period->getAirTempMaximum(); $precis = $period->getPrecis(); } }

The library takes care of fetching the data, and the idiosyncrasies of a fairly crufty API (no offence intended!).

Unit Testing

We can have very high test coverage with our model. We can test the integration with mock data, and ensure a large percentage of the code is tested. As we are using PHPUnit tests, they are lightning fast, and are automated as part of a Pull Request workflow on CircleCI.

Any consuming Drupal code can focus on testing just the Drupal integration, and not need to worry about the library code.

Dependency Management

As this is a library, we need to be very careful not to introduce too many runtime dependencies. Also any versions of those dependencies need to be more flexible than what you would normally use for a project. If you make your dependency versions too high they can introduce incompatibilities when used a project level. Consumers will simply not be able to add your library via composer.

We took a strategy with the BOM Weather library of having high-low automated testing via CircleCI. This means you test using both: 

composer update --prefer-lowest

and

composer update

The first will install the lowest possible versions of your dependencies as specified in your composer.json. The second will install the highest possible versions. 

This ensures your version constraints are set correctly and your code should work with any versions in between.

Conclusion

At PreviousNext, we have been using the decoupled model approach on our projects for the last few years, and can certainly say it leads to more robust, clean and testable code. We have had projects migrate from Drupal 7 to Drupal 8 and as the library code does not need to change, the effort has been much less.

If you are heading to Drupal Camp Singapore, make sure to see Eric Goodwin's session on Moving your logic out of Drupal.

Tagged Decoupled Logic, PHP Libraries, Composer, PHP Unit

Mediacurrent: Good People, Good Marketing: A Podcast Interview with Mediacurrent’s Dave Terry

Main Drupal Feed - Tue, 07/03/2018 - 19:31

What’s the greatest entrepreneurship lesson that Mediacurrent partner Dave Terry has learned?

In a recent guest spot on the Good People, Good Marketing podcast, Dave weighs in on the evolution of open source technology and shares his path to building a leading Drupal-based agency.

Interview Sound Bites 

Technology should be shared and free. 

 

Giving back to the Drupal community is embedded in Mediacurrent’s DNA. Dave explains why that’s so important.

Culture is about people and who we hire. I know a lot of companies say that, but it’s really about putting the processes behind how you identify the right people within the company.

 

A successful company culture attracts great talent while also managing accountability with a distributed team. Here, Dave shares the three tenets of culture at Mediacurrent.

Tune in

Listen to the complete podcast, Episode 47: Interview with Dave Terry, on the Sideways8 blog.

Related Content 
Why Should Companies Support Drupal? | Blog
Drupal Contrib: Why it's Important | Video
Creating a Culture of Giving in Your Organization | Blog
 

Dries Buytaert: Why large organizations are choosing to contribute to Drupal

Main Drupal Feed - Tue, 07/03/2018 - 19:27

During my DrupalCon Nashville keynote, I shared a brief video of Mike Lamb, the Senior Director of Architecture, Engineering & Development at Pfizer. Today, I wanted to share an extended version of my interview with Mike, where he explains why the development team at Pfizer has ingrained Open Source contribution into the way they work.


Mike had some really interesting and important things to share, including:

  1. Why Pfizer has chosen to standardize all of its sites on Drupal (from 0:00 to 03:19). Proprietary software isn't a match.
  2. Why Pfizer only works with agencies and vendors that contribute back to Drupal (from 03:19 to 06:25). Yes, you read that correctly; Pfizer requires that its agency partners contribute to Open Source!
  3. Why Pfizer doesn't fork Drupal modules (from 06:25 to 07:27). It's all about security.
  4. Why Pfizer decided to contribute to the Drupal 8's Workflow Initiative, and what they have learned from working with the Drupal community (from 07:27 to 10:06).
  5. How to convince a large organization (like Pfizer) to contribute back to Drupal (from 10:06 to 12:07).

Between Pfizer's direct contributions to Drupal (e.g. the Drupal 8 Workflow Initiative) and the mandate for its agency partners to contribute code back to Drupal, Pfizer's impact on the Drupal community is invaluable. It's measured in the millions of dollars per year. Just imagine what would happen to Drupal if ten other large organizations adopted Pfizer's contribution models?

Most organizations use Open Source, and don't think twice about it. However, we're starting to see more and more organizations not just use Open Source, but actively contribute to it. Open source offers organizations a completely different way of working, and fosters an innovation model that is not possible with proprietary solutions. Pfizer is a leading example of how organizations are starting to challenge the prevailing model and benefit from contributing to Open Source. Thanks for changing the status quo, Mike!

OSTraining: Use Case: How to Create a Contact Form in Drupal 8

Main Drupal Feed - Tue, 07/03/2018 - 05:06

One of OSTraining’s members asked how to create a web form with the Webform module.

The form must meet the following requirements:

  • The site has four regions to be contacted: NE, SE, NW, and SW.
  • Each region will have their own contact person/team.
  • The user must be able to select one or more of the regions to contact at the same time, using checkboxes.
  • All the submittions must be BCC-ed to the main administrator.
  • If needed, the site owner should be able to add one or more email recipients for each region.

In this tutorial, you will learn how to meet these user requirements using the Webform module.

WPTavern: WordCamp Incubator Program 2018 to Host Events in Montevideo, Uruguay and Kota Kinabalu, Malaysia

Wordpress Planet - Tue, 07/03/2018 - 03:41
The Pocitos neighborhood of Montevideo, Uruguay. Skyline from the shore -photo credit: Rimbaldine

The WordCamp Incubator Program has selected Montevideo, Uruguay and Kota Kinabalu, Malaysia to host WordCamps in 2018. The program provides a jump start for new WordPress communities where meetups have not yet been well-established. Montevideo and Kota Kinabalu were selected from a short list of 14 communities that had been whittled down from 104 applications for the program.

WordPress Community Deputies will co-lead the events and mentor a local team that will organize a one-track WordCamp with approximately 50-75 attendees. The goal is to empower the new organizers and the fledgling communities to host more local events, ideally regular meetups and an annual WordCamp. Mentors will assist in finding speakers and sponsors. A global sponsorship grant will cover 100% of the events’ costs, relieving the organizers of the burden of local fundraising.

WordPress Community Team member Rocío Valdivia announced the program’s new cities for 2018 and said she anticipates the events will happen in the last quarter of this year. Local co-leads have been charged with starting a monthly meetup group before setting a date for the new WordCamps.

Round 2 of the WordCamp Incubator Program follows up a successful run in 2016 that brought WordCamps to Denpasar, Harare, and Medellín. Harare hosted its second WordCamp in 2017 and a 2018 camp is in the early planning stages. This particular African community, along with the neighboring Nairobi community (on the short list in 2016), are strong examples of how the incubator program can provide a boost in areas of the world where the WordPress community is not yet deeply rooted.

WPTavern: Block Unit Test Plugin Helps WordPress Theme Developers Prepare for Gutenberg

Wordpress Planet - Mon, 07/02/2018 - 21:43

ThemeBeans founder Rich Tabor has released a new plugin called Block Unit Test for Gutenberg that helps theme authors test their themes for Gutenberg-readiness. It is similar to the Theme Unit Test but is limited to testing Gutenberg blocks.

After installing and activating both Gutenberg and sBlock Unit Test, the plugin creates a new page as a draft with an example of every core Gutenblock. This makes it easy to see how the blocks will appear on the frontend of any theme. Block Unit Test also includes variations on the core blocks with different alignment and column settings applied.

Tabor said he knew it would be advantageous to start using/writing in Gutenberg daily to better understand what he needed to do to make his products at ThemeBeans compatible.

“I added initial support for Gutenberg in my Tabor WordPress theme, as I use it on my own personal blog with Gutenberg,” he said. “I needed a way to easily test each of the core Gutenberg blocks (and eventually third-party blocks) without having to manually add them every time I wanted to test something. As Gutenberg blocks get more dynamic and complicated, it’s a bit trickier to test for – as many blocks have different variations/styles/columns/grids/etc.”

Tabor took inspiration from the Theme Unit Test and created Block Unit Test with Gutenblock variations included. He is using the plugin while preparing the 20+ themes in his ThemeBeans catalog to support Gutenberg. He wrote the plugin to be extensible and made it open source on GitHub for other developers and theme shops to use.

Theme developers can install Block Unit Test as a first step towards making sure the front-end styles match the editor styles. This will be essential to making the transition process easier for new Gutenberg users once WordPress 5.0 ships. Tabor also published a tutorial for adding WordPress Theme Styles to Gutenberg to help others get started.

In getting his first theme compatible, Tabor said he relied heavily on the Gutenberg Handbook, as well as following discussions on the Gutenberg GitHub repository.

“It’s not terribly difficult to add support for Gutenberg, although applying proper theme styles within the Gutenberg editor is a bit of task — there’s so much that can be accidentally overlooked,” Tabor said. “For the theme side of things, there wasn’t much technical leveling-up — though developing blocks is a different story. I did need to raise the bar and dive deeply into the world of Javascript, though looking at the block examples on the GitHub repository really helped me along.”

Tabor said he started “living and breathing all things Gutenberg” after WordCamp US 2017, and began writing development articles while learning the ropes. He created several projects focused on the new editor, including Writy, a Gutenberg-centric writing experience for publishers, and Co-Blocks, a beta suite of Gutenberg blocks for content marketers.

“As a founder of a theme shop it was apparent that I needed to hone in on Gutenberg and level-up my knowledge, technical skills, and consequently my products, in order to compete in a post-Gutenberg era of WordPress,” Tabor said.

“I believe the foundation of the future of WordPress lies in the success of Gutenberg. I use the new editor just about daily now. I know it’s a great move in the right direction and I’m doing my part to make sure folks using my themes can experience everything that Gutenberg has to offer.”

Mediacurrent: Dropcast: Episode 38 - GovCon 2018

Main Drupal Feed - Mon, 07/02/2018 - 17:59

Recorded June 21st, 2018

This episode we welcome Jess Snyder who is on the planning committee for GovCon, coming up real soon in August, to talk about… GovCon.. Which is coming up real soon in August. We’ll cover some Drupal News, it looks like Bob has the Pro Project Pick this episode and Ryan will bring it to a close with The Final Bell.



Episode 38 Audio Download Link

Updates:Jess Snyder from WETA, DC talking about Govcon
  • What do you do at WETA?

  • What got you into Drupal

  • What got you involved in GovCon

  • Any notable keynotes / sessions you’re looking at?

  • ** Random questions **

Drupal News:Pro Project Pick:Events: (https://www.drupical.com/?type=drupalcon,regional)The Final Bell: (Ryan)

OPTASY: OPTASY Is a Gold-Level Sponsor of Drupal North Regional Summit 2018: Moving Drupal Forward!

Main Drupal Feed - Mon, 07/02/2018 - 13:50
OPTASY Is a Gold-Level Sponsor of Drupal North Regional Summit 2018: Moving Drupal Forward! adriana.cacoveanu Mon, 07/02/2018 - 13:50

Save the date(s): 10-12 August! And join us for a 3-day conference on building with Drupal, driving this open-source technology forward and strengthening & growing the community behind it: Drupal North Regional Summit 2018

Meet us at our exhibit booth at the Toronto Reference Library, to be more specific. We'll be right there, in the hallway, since OPTASY's a proud gold sponsor of the fourth edition of this annual event: 

The biggest annual summit in Canada focused on promoting Drupal. 
 

Why Would You Attend Drupal North Regional Summit 2018?

That's right: why would you pack your bags and get en route for Toronto's Reference Library when summer is at its peak and everyone's looking for a place in the sun?

OpenSense Labs: Integrating Digital Asset Management with Drupal

Main Drupal Feed - Mon, 07/02/2018 - 12:51
Integrating Digital Asset Management with Drupal Shankar Mon, 07/02/2018 - 18:21

Governance plays a pivotal role in the business workflow and is significant for the smooth functioning of an organisation which is expanding at a steadfast pace. In this digitised world of organised chaos, demand for agile marketing has resulted in the accretion of digital assets to such an extent that some of them seem superfluous. Digital Asset Management (DAM) and Drupal can come together to smartly strategise the way enterprises handle unimportant assets.

Drupal governs the content on the website whereas Digital Asset Management manages creation, assessment and approval of digital assets.

A superabundance of assets clog up our devices and blot out the productivity. Digital Asset Management can help enterprises in eclipsing outmoded asset management processes and take back control of their digital files. Therefore, it helps in optimising content processes and makes life much easier.

Decoding the Digital Asset Management

What is involved in digital asset management? DAM is a content management and branding automation system which uses the centralised mode of storing and governing voluminous digital files. It accredits enterprises to connect, control, and centralise both the local and the global access to digital files thereby ensuring that digital assets are accessible to everyone whenever they have the dire need of them.

Source: Cognizant

Grid, The Guardian’s image management system, is a very good example of an open source digital asset management system. Its team used pragmatic agile processes to build it quickly. It is now incorporated with its print workflow and is used for almost half of the images used in their digital content.


Does it ring a bell? Definitely! Content Management System (CMS) like Drupal also has its foundation in the provision of a centralised mode of content dissemination. So what’s the difference between CMS and DAM?

Difference between DAM and CMS

Content Management System and Digital Asset Management are two systems that work brilliantly with the digital content but are designed for different tasks.

Digital Asset Management Content Management System

Central repository for handling digital assets

The central system for governing content on the website

Example: Acquia DAM

Example: Drupal

In general, Content Management System, for example, Drupal, is the entire foundation for governing content on the website. The term ‘content’ means anything that is displayed on your site and not just blog posts which are managed by CMS.

In contrast, a Digital Asset Management manages more than just your website. It powers the entire sales and marketing organisation. It acts as the central repository for the approved assets. Moreover, it is the collaborative workflow engine between marketers and designers for the creation, assessment, and approval of those assets.

A Plethora of Benefits

With a superabundance of benefits, Digital Asset Management enhances productivity, improves brand consistency and boosts team collaboration.

Source: Webdam
  • Cuts business costs: It can improve your ROI through quicker creation, retrieval, and dissemination of company content. Do-it-yourself design templates for business cards, banner ads etc. cut both internal and external admin, design, and production costs.
     
  • Security: It provides collective security measures built around your data’s needs and adheres to strict digital rights management (DRM) guidelines. For instance, be it navigating outmoded sharing methods, or supporting teams to establish effective user access permissions, it maps the usage rights vis-à-vis your digital assets. Internal management of brand’s corporate identity: By paving the way for corporate identity guidelines and numerous on-brand digital assets, it offers secure global access to approve useable content.
     
  • Integration scope: It seamlessly integrates with your existing infrastructure. It helps you in improving project management, delegating resources and roles, optimising and targeting assets, and identifying top-performing content by working with CMS, customer relationship management (CRM) and several other marketing, sales and IT solutions.
     
  • Efficient file management: It eliminates the need to find and deliver assets via multiple locations thereby removing any costly errors and inefficiencies incurred through clumsy file management.
     
  • Time-Saving: It provides 24X7 access to company collateral from anywhere. Thus, it removes the need for time-intensive file searches and avoids the need for recreating missing assets.
Choosing the Best Digital Asset Management for your Business

So, how to strategise in order to choose the best Digital Asset Management? It is important that you understand your prerequisites before making the decision of selecting a Digital Asset Management. 

Understanding DAM capabilities

 

  • Repository: One of the first things that you need to consider is a core digital asset repository. A centralised asset repository should on the top of the priority list for efficacy in controlling and governing the assets.
     
  • Creation: Through workflow and collaboration tools,  can help with the creation of assets. If you have multiple departments or have agencies working together to create digital assets, it can make the process of creation of assets faster and makes its easier to assess and approve them. It also ensures that everyone uses the same transparent process. Workflow management tools pre-defines stages and roles so that you can know the status of every asset and their requirements instantly.
     
  • Consumption: It depends on people and systems to determine how these assets are being used. Your Digital Asset Management should be able to provide a way for employees to search for and download assets on their own.

Understanding your Goals

 

  • It should simplify the production of digital assets.
  • It should improve the quality, consistency, and on-brand of assets being created especially in the enterprises with global digital marketing teams.
     
  • It should be able to allow the organisation to keep a record of all the assets without leaving a question mark on where to add them or their approval status.
     
  • It should alleviate manual requests that are being made by the marketing team to provide specific files to several people and groups like logos, product images, campaign assets, sales collateral etc.
     
  • It must master your brand consistency.
     
  • It should decrease the time taken to integrate assets into digital marketing campaigns and user experiences.
Understanding your Users
  • Develop a list of stakeholders, people in your organisation, and even outside of your organisation who will be interacting with Digital Asset Management.
     
  • Stakeholders include digital marketers, designers, sales, partners, IT etc.
     
  • Understand what their access and roles are with the Digital Asset Management.
Understanding your Requirements
  • Get the feedback from each of your stakeholder groups. Know what are their most common challenges and build a list of requirements. Make sure to understand the use cases so that you can prioritise those requirements.
     
  • Digital Asset Management systems have the capability to fulfill the need of basic requirements of small teams to extremely intricate ones for sophisticated large teams. 

Keep a note of typical requirements of organisations utilising Digital Asset Management as mentioned in the tabular column below.

Requirement Description

Asset Approval

Processes required to create a new asset should be well managed

Asset Review

A collaborative asset review cycle for the people to add comments, markups, and feedback to asset proofs

Asset Access (Internal)

A portal for employees to search and download assets. Access control by region or department would be required

Asset Access (External)

A controlled asset access for the external users paving the way for secure sharing of assets with partners, contractors, agencies etc.

Branding guidelines

A self-serve access point to get the approved branding guidelines like product images, logos, color palettes etc.

Structured assets

Assets should be placed in the folders

Keywords/Tags

Assets should be assigned with keywords and tags

Customer fields

Custom metadata fields should be assigned to assets

Reports

There must be reporting and assessment on asset usage

Direct access for marketing system

There must be provision for utilising approved assets for creating web banners, blog posts, email marketing campaigns etc. directly from the Digital Asset Management

Understanding your Deployment Options

Deployment options for Digital Asset Management constitute on-premise, private cloud, and Software-as-as-Service (SaaS). To understand what works best for your business needs, let’s look at the merits and demerits of these deployment options.

On-Premise Private Cloud SaaS Merit
  • Flexibility in integration
  • Low costs
  • Data in cloud
  • Local performance
  • Data in cloud
  • Comparatively fast to implement
  • Great for heavy customisations
  • Accessibility
  • Low Cost
  • On-premise control of data
  • Lessens dependence on IT
  • Low risks involved
 
  • Moderate customisations possible
  • Great multi-location performance
 
  • Security/control
  • Resilience/failover
 
  • Somewhat scalable
  • Scalable
 
  • Very basic resilience/failover
  • Good integration scope
 
  • Quick implementation
  • Automatic upgrades
   
  • Least requirement of IT dependency
Demerit
  • Huge risks involved
  • Dependency on web
  • Dependency on web
  • Not cost effective
  • Usually, web hosting requires third parties
  • Very limited customisation
  • Not scalable
  • Responsible for maintenance and upgrades
  • Data off-premise
  • Very limited accessibility
  • Data off-premise
 
  • Responsible for upgrades and maintenance
   
  • Dependence on IT
   
  • Time-intensive during deployment
    Drupal modules for DAM Integration

Acquia DAM offers a centralised cloud repository to keep all creative assets systematised, tagged and searchable throughout the lifecycle of those assets. Its easy-to-use workflow and collaboration capability lets digital marketers and designers search, review, approve and publish assets faster


It allows seamless integration with Drupal 7 and Drupal 8 for delivering a wonderful digital experience by incorporating captivating rich-media assets for centralised management.

Media: Acquia DAM, Drupal module, helps in the integration of Drupal with Acquia DAM. The integration helps Drupal content editors to browse the Acquia DAM repository using their own credentials via an entity browser plugin. They can search by keyword in order to find the right assets for the usage. WYSIWYG editor allows content authors to add assets easily. The assets marked for the usage are copied to Drupal and are stored as Media Entity references thereby rendering image styles.

Through a cron job, these assets are kept in sync between Drupal and Acquia DAM. Updates made to the assets are automatically reflected in Drupal.

This module provides a media entity provider for importing asset metadata into fields on your entities. Users can view the metadata directly in the entity browser without having to import the assets. It also provides a usage report of an asset within Drupal.

Another very useful digital asset management solution is Bynder which is a cloud-based platform for digital marketing teams to create, find, and use digital content.

Bynder integration Drupal module aids in the integration of Drupal with Bynder thereby providing seamless access to asset bank on your website. Users can import assets from and upload assets to Bynder. Image styles imported from Bynder can be displayed to match the derivatives created.


A digital agency integrated Bynder with Drupal using modules like Entity Browser and Media Entity.

Media entity module made it possible to represent Bynder assets in Drupal without actually copying them over. Its powerful metadata API helped in exposing and using all the information about them in the context of a Drupal website. It offered a central management of assets and their full availability on sites which consume them.

Entity browser module helped in implementing a user-friendly interface for letting the users browse their Bynder assets from the editor’s node of their Drupal site.

DropzoneJS driven widget helped in uploading the right assets into the Bynder DAM directly from the Drupal site.

Case study

Vallabhbhai Jhaverbhai Patel aka Sardar Patel was India’s first Deputy Prime Minister and played a pivotal role in India’s freedom movement. The Sardar Patel website, built on Drupal 8 with the help of an agency, showcases information about him gathered from numerous libraries.

The digital assets of more than 2000 content records related to the man events in the life of Sardar Patel can be viewed in the Sardar Patel website.


Objectives

The main goal behind building a dedicated site was to access books, texts, videos, audios, and similar content about him in multiple languages. By gathering and standardising the available digital assets, everything about him would be present in an easily searchable form. This would, thus, help in preserving the history of India’s influential freedom struggle through digital content for the generations to come.

Drupal 8 to the rescue

The scalability of Drupal 8 helped in migrating 2000+ content from several different sources under a single umbrella.
It also lent a mobile-first user experience.
Drupal’s out-of-the-box capabilities for building a multilingual site helped in translating the content into multiple languages.
Moreover, being the most security focussed CMS, it turned out to be the best choice for the website.

Result

1 TB of data comprising of 1000 images, 800 textual content, numerous audio and video recordings were added as content in addition to keeping the site navigation simple and easy. Most importantly, importing of content in bulk was possible with Drupal 8 thereby streamlining the content migration process and saving a lot of time.

For easy access, the website content was sorted and arranged by the main events or themes in addition to the chronological order of events that transpired in his life.


The site has easy search capability with filter options enabled to zero in on a particular subject.

What the Future holds for DAM?

Mobile applications would be at the epicentre of Digital Asset Management in the coming years. Native applications offer a seamless user experience both online and offline. Connected directly to your asset bank, they provide a mobile marketing portal and interactive features that help in creating, handling, and using the digital content on the fly. No matter what is the location of the user and whether or not they are near their laptop or desktop, they can always work with assets.

Number of mobile phone users worldwide from 2015 to 2020 (in billions) from Statista

Artificial Intelligence technology is becoming more mainstream, affordable and accessible. Digital Asset Management can leverage the benefits of AI for automating processes and centralising tasks. Also, features like facial, location, and image recognition variables; geospatial technology, and deterministic reasoning capabilities will be the key to utilising AI.

Machine learning, as shown in this graph, would require 2 to 5 years for mainstream adoption from Gartner

Machine learning algorithms can be of great use for Digital Asset Management in the future. It can recommend assets for a particular channel or task within a campaign based on analytical data. This would help you in promptly selecting the best asset swiftly without wasting the time thinking over which video, image or banner will best serve your digital marketing pursuits.

Conclusion

With the rapid expansion of businesses, digital assets like images, videos and company documents are piling up to an unimaginable extent. It is imperative that a proper governance is incorporated to handle these increasing digitised assets. Drupal 8 can be a wonderful option to integrate Digital Asset Management to manage your organisation’s increasing online presence and its ever-growing digital assets.

Drupal development is our key service where we are excelling since our birth as a company. Ping us at hello@opensenselabs.com to instill the best asset management solution for your enterprise using Drupal 8.

blog banner blog image Digital Asset Management DAM Drupal Drupal 8 Digital Assets Acquia DAM Bynder Content Management System CMS Machine Learning Artificial Intelligence Mobile marketing User experience Sardar Patel website Agile development methodology Blog Type Articles Is it a good read ? On

Dev Blog: The Month in WordPress: June 2018

Wordpress Planet - Mon, 07/02/2018 - 09:28

With one of the two flagship WordCamp events taking place this month, as well as some important WordPress project announcements, there’s no shortage of news. Learn more about what happened in the WordPress community in June.

Another Successful WordCamp Europe

On June 14th, WordCamp Europe kicked off three days of learning and contributions in Belgrade. Over 2,000 people attended in person, with hundreds more watching live streams of the sessions.

The WordCamp was a great success with plenty of first-time attendees and new WordPress contributors getting involved in the project and community. Recorded sessions from the 65 speakers at the event will be available on WordPress.tv in the coming weeks. In the meantime, check out the photos from the event.

The next WordCamp Europe takes place on June 20-22 2019 in Berlin, Germany. If you’re based in Europe and would like to serve on the organizing team, fill in the application form.

Updated Roadmap for the New WordPress Content Editor

During his keynote session at WordCamp Europe, Matt Mullenweg presented an updated roadmap for Gutenberg, the new content editor coming in WordPress 5.0.

While the editor is in rapid development, with v3.1 being released this past month, the team is aiming to ship Gutenberg with WordPress Core in August, 2018. This is not set in stone — the release date may shift as development progresses — but this gives the first realistic idea of when we can expect the editor to be released.

If you would like to contribute to Gutenberg, read the handbook, follow the Core team blog, and join the #core-editor channel in the Making WordPress Slack group.

WordCamp Incubator Cities Announced

The WordCamp Incubator program helps spread WordPress to underserved communities by providing organizing support for their first WordCamp. The first iteration of this program ran successfully in 2016 and empowered three cities to start their own WordPress communities.

This year, the Community Team is running the Incubator program again. After receiving applications from 104 communities, they have selected Montevideo, Uruguay and Kota Kinabalu, Malaysia to participate in the program. Both cities will receive direct help from experienced WordCamp organizers to run their first-ever WordCamp as a way to help their WordPress community get started.

To find out more about the Incubator program follow the Community team blog, and join the #community-events channel in the Making WordPress Slack group.

Further Reading:
  • The WordPress community of Spain recently received an award for being the best open-source community in the country.
  • This month, WordPress reached the milestone of powering 31% of websites.
  • WP Rig is a brand new tool to help WordPress developers build better themes.
  • Block Unit Test is a new plugin to help theme developers prepare for Gutenberg.
  • Near the end of the month, Zac Gordon hosted an online conference focused on JavaScript development in WordPress – the session videos will be available on YouTube soon.

If you have a story we should consider including in the next “Month in WordPress” post, please submit it here.

The Month in WordPress: June 2018

Wordpress News - Mon, 07/02/2018 - 09:28

With one of the two flagship WordCamp events taking place this month, as well as some important WordPress project announcements, there’s no shortage of news. Learn more about what happened in the WordPress community in June.

Another Successful WordCamp Europe

On June 14th, WordCamp Europe kicked off three days of learning and contributions in Belgrade. Over 2,000 people attended in person, with hundreds more watching live streams of the sessions.

The WordCamp was a great success with plenty of first-time attendees and new WordPress contributors getting involved in the project and community. Recorded sessions from the 65 speakers at the event will be available on WordPress.tv in the coming weeks. In the meantime, check out the photos from the event.

The next WordCamp Europe takes place on June 20-22 2019 in Berlin, Germany. If you’re based in Europe and would like to serve on the organizing team, fill in the application form.

Updated Roadmap for the New WordPress Content Editor

During his keynote session at WordCamp Europe, Matt Mullenweg presented an updated roadmap for Gutenberg, the new content editor coming in WordPress 5.0.

While the editor is in rapid development, with v3.1 being released this past month, the team is aiming to ship Gutenberg with WordPress Core in August, 2018. This is not set in stone — the release date may shift as development progresses — but this gives the first realistic idea of when we can expect the editor to be released.

If you would like to contribute to Gutenberg, read the handbook, follow the Core team blog, and join the #core-editor channel in the Making WordPress Slack group.

WordCamp Incubator Cities Announced

The WordCamp Incubator program helps spread WordPress to underserved communities by providing organizing support for their first WordCamp. The first iteration of this program ran successfully in 2016 and empowered three cities to start their own WordPress communities.

This year, the Community Team is running the Incubator program again. After receiving applications from 104 communities, they have selected Montevideo, Uruguay and Kota Kinabalu, Malaysia to participate in the program. Both cities will receive direct help from experienced WordCamp organizers to run their first-ever WordCamp as a way to help their WordPress community get started.

To find out more about the Incubator program follow the Community team blog, and join the #community-events channel in the Making WordPress Slack group.

Further Reading:
  • The WordPress community of Spain recently received an award for being the best open-source community in the country.
  • This month, WordPress reached the milestone of powering 31% of websites.
  • WP Rig is a brand new tool to help WordPress developers build better themes.
  • Block Unit Test is a new plugin to help theme developers prepare for Gutenberg.
  • Near the end of the month, Zac Gordon hosted an online conference focused on JavaScript development in WordPress – the session videos will be available on YouTube soon.

If you have a story we should consider including in the next “Month in WordPress” post, please submit it here.

Drupal Association blog: It's Time To Vote - Community Elections 2018

Main Drupal Feed - Mon, 07/02/2018 - 09:00

Voting is now open for the 2018 At-Large Board positions for the Drupal Association!  If you haven't yet, check out the candidate profiles including their short videos found on the profile pages. Get to know your candidates, and then get ready to vote.

Cast Your Vote!

How does voting work? Voting is open to all individuals who have a Drupal.org account by the time nominations open and who have logged in at least once in the past year.

To vote, you will rank candidates in order of your preference (1st, 2nd, 3rd, etc.). The results will be calculated using an "instant runoff" method. For an accessible explanation of how instant runoff vote tabulation works, see videos linked in this discussion.

Election voting will be held from 2 July, 2018 through 13 July, 2018. During this period, you can continue to review and comment on the candidate profiles.

Have questions? Please contact me: Rachel Lawson.

Pages