ADCI Solutions: Migrate API: custom Drupal-to-Drupal migration

Planet Drupal - Fri, 2017/06/30 - 9:26am

Sooner or later every developer faces this scary (actually, not) process called "Migration". The Migrate API framework to the rescue then! It is loved for a wonderful API and a variety of powerful tools for data migration into Drupal from various sources.

In this article we will show you a relatively cheap way to make a transition to Drupal. You’ll read how to use Migrate API in Drupal 8 and we’ll build a simple module to execute migration from Drupal 7 to Drupal 8. Are you confused that there is no Drupal 8 release of the Migrate project on drupal.org? Still not a problem: the most of its features were ported into Drupal core, others are available in the contrib project.

 

It’s enough said, let’s have a look at how to make a custom Drupal-to-Drupal migration.

 

 

Categories:

Boby Aloysius Johnson | GSoC Blog: First Evaluation

Planet Drupal - Fri, 2017/06/30 - 7:28am
First Evaluation boaloysius Fri, 06/30/2017 - 01:28

Throughout the first month of GSoC, my mentors Skyred and Naveenvalecha and I worked on the feasibility and worth of integrating Google Cloud Machine Learning Engine to Drupal. We have used Googles php library to interact with ml-engine to perform training, deployment and prediction. When we complete this project successfully, we can use data in Drupal for predictions and analysis similar to the one shown in this video. We have created a prototype of this integration. Please see the video demo below.

 

 

An ML task has three parts, training, deployment and prediction. In this demo, we have created an app with Drupal that can perform these tasks in few clicks. We have used the data in Drupal to get predictions for future data, powered by ml-engine.

Digging deep into it, we have used Views to select the required data and a contributed module, View Data Export to get it as csv.  Our automated task runner get it by HTTP request. With the data in hand, Google Cloud Storage service we added to Drupal will upload it to Cloud server. Now the ML engine can access it. We use ml-engine jobs, model and version API for training and deployment. Our module will set up a Cron job to update the status of these tasks in the background. Finally,  we can use the model and version names to predict the probabilities.

Jobs API returns the status of the training job, whether it is running, completed, failed etc. The training data is an argument to the trainer python code, so we don't get the accuracy in the response. We need to access the log in Google Cloud Console to obtain it. Here is screen shot of the job's log.

The Google Cloud Console provides a detailed log of the tasks. Towards the top, we can see the training iterations (evaluations) whose count can be set while setting the job. More the number of iterations more is the chance of high accuracy. Towards the middle, highlighted in blue, we can see the accuracy. This process had an 83.1 percentage accuracy.

Now let us see the prediction part.

 

In this demo, our task was to predict the income bracket (category) of the person given his education, age, marital status etc. The income bracket is a binary attribute, whether it is greater than 50K dollars or less than 50K dollars. This is a prediction screenshot we got for the person attributes,   

   "workclass": " Public",
    "education": " 11th",
    "education_num": 7,
    "marital_status": " Never-married",
    "occupation": " Machine-op-inspct", 
    "relationship": " Own-child", 
    "race": " Black", 
    "gender": " Male", 
    "capital_gain": 0, 
    "capital_loss": 0, 
    "hours_per_week": 40, 
    "native_country": " United-States"  

Here, in the probabilities sub array, we have two indices. As I said this is a binary attribute, we have the zero'th index corresponding to income bracket less than 50k and index one greater than 50K income bracket. Just see the category index set in the python code.

 The screenshot indicated that there is a 98% chance that, this person has an income lesser than 50K.

Finally, to conclude, we have successfully worked on creating a prototype on integrating Google ML Engine to Drupal. 

Thank you.

Categories:

Lullabot: Web Accessibility in 2017

Planet Drupal - Thu, 2017/06/29 - 11:09pm
Matt and Mike talk with several Lullabot accessibility experts as well as Drupal 8 accessibility co-maintainer Mike Gifford about accessibility topics, tools, and more.
Categories:

Dries Buytaert: Acquia's first decade: the founding story

Planet Drupal - Thu, 2017/06/29 - 9:49pm

This week marked Acquia's 10th anniversary. In 2007, Jay Batson and I set out to build a software company based on open source and Drupal that we would come to call Acquia. In honor of our tenth anniversary this week, I wanted to share some of the milestones and lessons that have helped shape Acquia into the company it is today. I hope that my record of Acquia's history not only pays homage to our incredible colleagues, customers and partners that have made this journey worthwhile, but that it offers honest insight into the challenges and rewards of building a company from the ground up.

A Red Hat for Drupal

In 2007, I was attending the University of Ghent working on my PhD dissertation. At the same time, Drupal was gaining momentum; I will never forget when MTV called me seeking support for their new Drupal site. I remember being amazed that a brand like MTV, an institution I had grown up with, had selected Drupal for their website. I was determined to make Drupal successful and helped MTV free of charge.

It became clear that for Drupal to grow, it needed a company focused on helping large organizations like MTV be successful with the software. A "Red Hat for Drupal", as it were. I also noticed that other open source projects, such as Linux had benefitted from well-capitalized backers like Red Hat and IBM. While I knew I wanted to start such a company, I had not yet figured out how. I wanted to complete my PhD first before pursuing business. Due to the limited time and resources afforded to a graduate student, Drupal remained a hobby.

Little did I know that at the same time, over 3,000 miles away, Jay Batson was skimming through a WWII Navajo Code Talker Dictionary. Jay was stationed as an Entrepreneur in Residence at North Bridge Venture Partners, a venture capital firm based in Boston. Passionate about open source, Jay realized there was an opportunity to build a company that provided customers with the services necessary to scale and succeed with open source software. We were fortunate that Michael Skok, a Venture Partner at North Bridge and Jay's sponsor, was working closely with Jay to evaluate hundreds of open source software projects. In the end, Jay narrowed his efforts to Drupal and Apache Solr.

If you're curious as to how the Navajo Code Talker Dictionary fits into all of this, it's how Jay stumbled upon the name Acquia. Roughly translating as "to spot or locate", Acquia was the closest concept in the dictionary that reinforced the ideals of information and content that are intrinsic to Drupal (it also didn't hurt that the letter A would rank first in alphabetical listings). Finally, the similarity to the world "Aqua" paid homage to the Drupal Drop; this would eventually provide direction for Acquia's logo.

Breakfast in Sunnyvale

In March of 2007, I flew from Belgium to California to attend Yahoo's Open Source CMS Summit, where I also helped host DrupalCon Sunnyvale. It was at DrupalCon Sunnyvale where Jay first introduced himself to me. He explained that he was interested in building a company that could provide enterprise organizations supplementary services and support for a number of open source projects, including Drupal and Apache Solr. Initially, I was hesitant to meet with Jay. I was focused on getting Drupal 5 released, and I wasn't ready to start a company until I finished my PhD. Eventually I agreed to breakfast.

Over a baguette and jelly, I discovered that there was overlap between Jay's ideas and my desire to start a "RedHat for Drupal". While I wasn't convinced that it made sense to bring Apache Solr into the equation, I liked that Jay believed in open source and that he recognized that open source projects were more likely to make a big impact when they were supported by companies that had strong commercial backing.

We spent the next few months talking about a vision for the business, eliminated Apache Solr from the plan, talked about how we could elevate the Drupal community, and how we would make money. In many ways, finding a business partner is like dating. You have to get to know each other, build trust, and see if there is a match; it's a process that doesn't happen overnight.

On June 25th, 2007, Jay filed the paperwork to incorporate Acquia and officially register the company name. We had no prospective customers, no employees, and no formal product to sell. In the summer of 2007, we received a convertible note from North Bridge. This initial seed investment gave us the capital to create a business plan, travel to pitch to other investors, and hire our first employees. Since meeting Jay in Sunnyvale, I had gotten to know Michael Skok who also became an influential mentor for me.

Jay and me on one of our early fundraising trips to San Francisco.

Throughout this period, I remained hesitant about committing to Acquia as I was devoted to completing my PhD. Eventually, Jay and Michael convinced me to get on board while finishing my PhD, rather than doing things sequentially.

Acquia, my Drupal startup

Soon thereafter, Acquia received a Series A term sheet from North Bridge, with Michael Skok leading the investment. We also selected Sigma Partners and Tim O'Reilly's OATV from all of the interested funds as co-investors with North Bridge; Tim had become both a friend and an advisor to me.

In many ways we were an unusual startup. Acquia itself didn't have a product to sell when we received our Series A funding. We knew our product would likely be support for Drupal, and evolve into an Acquia-equivalent of the RedHat Network. However, neither of those things existed, and we were raising money purely on a PowerPoint deck. North Bridge, Sigma and OATV mostly invested in Jay and I, and the belief that Drupal could become a billion dollar company that would disrupt the web content management market. I'm incredibly thankful for Jay, North Bridge, Sigma and OATV for making a huge bet on me.

Receiving our Series A funding was an incredible vote of confidence in Drupal, but it was also a milestone with lots of mixed emotions. We had raised $7 million, which is not a trivial amount. While I was excited, it was also a big step into the unknown. I was convinced that Acquia would be good for Drupal and open source, but I also understood that this would have a transformative impact on my life. In the end, I felt comfortable making the jump because I found strong mentors to help translate my vision for Drupal into a business plan; Jay and Michael's tenure as entrepreneurs and business builders complimented my technical strength and enabled me to fine-tune my own business building skills.

In November 2017, we officially announced Acquia to the world. We weren't ready but a reporter had caught wind of our stealth startup, and forced us to unveil Acquia's existence to the Drupal community with only 24 hours notice. We scrambled and worked through the night on a blog post. Reactions were mixed, but generally very supportive. I shared in that first post my hopes that Acquia would accomplish two things: (i) form a company that supported me in providing leadership to the Drupal community and achieving my vision for Drupal and (ii) establish a company that would be to Drupal what Ubuntu or RedHat were to Linux.

An early version of Acquia.com, with our original logo and tagline. March 2008. The importance of enduring values

It was at an offsite in late 2007 where we determined our corporate values. I'm proud to say that we've held true to those values that were scribbled onto our whiteboard 10 years ago. The leading tenant of our mission was to build a company that would "empower everyone to rapidly assemble killer websites".

In January 2008, we had six people on staff: Gábor Hojtsy (Principal Acquia engineer, Drupal 6 branch maintainer), Kieran Lal (Acquia product manager, key Drupal contributor), Barry Jaspan (Principal Acquia engineer, Drupal core developer) and Jeff Whatcott (Vice President of Marketing). Because I was still living in Belgium at the time, many of our meetings took place screen-to-screen:

Opening our doors for business

We spent a majority of the first year building our first products. Finally, in September of 2008, we officially opened our doors for business. We publicly announced commercial availability of the Acquia Drupal distribution and the Acquia Network. The Acquia Network would offer subscription-based access to commercial support for all of the modules in Acquia Drupal, our free distribution of Drupal. This first product launched closely mirrored the Red Hat business model by prioritizing enterprise support.

We quickly learned that in order to truly embrace Drupal, customers would need support for far more than just Acquia Drupal. In the first week of January 2009, we relaunched our support offering and announced that we would support all things related to Drupal 6, including all modules and themes available on drupal.org as well as custom code.

This was our first major turning point; supporting "everything Drupal" was a big shift at the time. Selling support for Acquia Drupal exclusively was not appealing to customers, however, we were unsure that we could financially sustain support for every Drupal module. As a startup, you have to be open to modifying and revising your plans, and to failing fast. It was a scary transition, but we knew it was the right thing to do.

Building a new business model for open source

Exiting 2008, we had launched Acquia Drupal, the Acquia Network, and had committed to supporting all things Drupal. While we had generated a respectable pipeline for Acquia Network subscriptions, we were not addressing Drupal's biggest adoption challenges; usability and scalability.

In October of 2008, our team gathered for a strategic offsite. Tom Erickson, who was on our board of directors, facilitated the offsite. Red Hat's operational model, which primarily offered support, had laid the foundation for how companies could monetize open source, but were convinced that the emergence of the cloud gave us a bigger opportunity and helped us address Drupal's adoption challenges. Coming out of that seminal offsite we formalized the ambitious decision to build Drupal Gardens and Acquia Hosting. Here's why these two products were so important:

Solving for scalability: In 2008, scaling Drupal was a challenge for many organizations. Drupal scaled well, but the infrastructure companies required to make Drupal scale well was expensive and hard to find. We determined that the best way to help enterprise companies scale was by shifting the paradigm for web hosting from traditional rack models to the then emerging promise of the "cloud".

Solving for usability: In 2008, CMSs like Wordpress and Ning made it really easy for people to start blogging or to set up a social network. At the time, Drupal didn't encourage this same level of adoption for non-technical audiences. Drupal Gardens was created to offer an easy on-ramp for people to experience the power of Drupal, without worrying about installation, hosting, and upgrading. It was one of the first times we developed an operational model that would offer "Drupal-as-a-service".

Fast forward to today, and Acquia Hosting evolved into Acquia Cloud. Drupal Gardens evolved into Acquia Cloud Site Factory. In 2008, this product roadmap to move Drupal into the cloud was a bold move. Today, the Cloud is the starting point for any modern digital architecture. By adopting the Cloud into our product offering, I believe Acquia helped establish a new business model to commercialize open source. Today, I can't think of many open source companies that don't have a cloud offering.

Tom Erickson takes a chance on Acquia

Tom joined Acquia as an advisor and a member of our Board of Directors when Acquia was founded. Since the first time I met Tom, I always wanted him to be an integral part of Acquia. It took some convincing, but Tom eventually agreed to join us full time as our CEO in 2009. Jay Batson, Acquia's founding CEO, continued on as the Vice President at Acquia responsible for incubating new products and partnerships.

Moving from Europe to the United States

In 2010, after spending my entire life in Antwerp, I decided to move to Boston. The move would allow me to be closer to the team. A majority of the company was in Massachusetts, and at the pace we were growing, it was getting harder to help execute our vision all the way from Belgium. I was also hoping to cut down on travel time; in 2009 flew 100,000 miles in just one year (little did I know that come 2016, I'd be flying 250,00 miles!).

This is a challenge that many entrepreneurs face when they commit to starting their own company. Initially, I was only planning on staying on the East Coast for two years. Moving 3,500 miles away from your home town, most of your relatives, and many of your best friends is not an easy choice. However, it was important to increase our chances of success, and relocating to Boston felt essential. My experience of moving to the US had a big impact on my life.

Building the universal platform for the world's greatest digital experiences

Entering 2010, I remember feeling that Acquia was really 3 startups in one; our support business (Acquia Network, which was very similar to Red Hat's business model), our managed cloud hosting business (Acquia Hosting) and Drupal Gardens (a WordPress.com based on Drupal). Welcoming Tom as our CEO would allow us to best execute on this offering, and moving to Boston enabled me to partner with Tom directly. It was during this transformational time that I think we truly transitioned out of our "founding period" and began to emulate the company I know today.

The decisions we made early in the company's life, have proven to be correct. The world has embraced open source and cloud without reservation, and our long-term commitment to this disruptive combination has put us at the right place at the right time. Acquia has grown into a company with over 800 employees around the world; in total, we have 14 offices around the globe, including our headquarters in Boston. We also support an incredible roster of customers, including 16 of the Fortune 100 companies. Our work continues to be endorsed by industry analysts, as we have emerged as a true leader in our market. Over the past ten years I've had the privilege of watching Acquia grow from a small startup to a company that has crossed the chasm.

With a decade behind us, and many lessons learned, we are on the cusp of yet another big shift that is as important as the decision we made to launch Acquia Field and Gardens in 2008. In 2016, I led the project to update Acquia's mission to "build the universal platform for the world's greatest digital experiences". This means expanding our focus, and becoming the leader in building digital customer experiences. Just like I openly shared our roadmap and strategy in 2009, I plan to share our next 10 year plan in the near future. It's time for Acquia to lay down the ambitious foundation that will enable us to be at the forefront of innovation and digital experience in 2027.

A big thank you

Of course, none of these results and milestones would be possible without the hard work of the Acquia team, our customers, partners, the Drupal community, and our many friends. Thank you for all your hard work. After 10 years, I continue to love the work I do at Acquia each day — and that is because of you.

Categories:

Phase2: Building Community Sites in Drupal 8: A Guide To D8 Modules For Community Support Sites

Planet Drupal - Thu, 2017/06/29 - 7:06pm
Introduction

Drupal 8 is a very flexible framework for creating a Community support  Site.  Most of the functionality of the community site can be achieved via custom content types, views, and related entities, and by extending various core classes.  You no longer need special-purpose modules such as Blog or Forum.

This document will introduce several useful modules in Drupal 8 that are typically used when building a community site.

Categories:

DrupalEasy: DrupalEasy Podcast 194 - Easter Egg

Planet Drupal - Thu, 2017/06/29 - 7:01pm

Direct .mp3 file download.

Ryan Price and Mike Anello sit down for less than an hour(!) and cover all the Drupal news that's fit to discuss from the past few weeks. Topics covered include Composer, modernizing Drupal's issue queue, ES6, external site search engines, and Drupal 8 configuration management contributed modules.

News DrupalEasy News Sponsors Upcoming Events Follow us on Twitter Subscribe

Subscribe to our podcast on iTunes, Google Play or Miro. Listen to our podcast on Stitcher.

If you'd like to leave us a voicemail, call 321-396-2340. Please keep in mind that we might play your voicemail during one of our future podcasts. Feel free to call in with suggestions, rants, questions, or corrections. If you'd rather just send us an email, please use our contact page.

Categories:

Drupal Association blog: The Drupal Association has selected a partner to help us maintain the Drupal.org infrastructure

Planet Drupal - Thu, 2017/06/29 - 5:23pm

Earlier this year the Drupal Association put out a Request for Proposals to find a Managed Infrastructure services partner. If successful, the goal of the RFP was to find a partner who could manage the underlying infrastructure of Drupal.org, our sub-sites, and services, so that the internal Drupal Association Engineering team can focus their efforts on work that directly serves our mission.

For an initiative of this scope and financial impact, our policies require a competitive bidding process with no fewer than three vendors. We released a formal Request for Information on March 9th, and sent qualified respondents the full RFP. While the number of proposals received and the details of those proposals are confidential, per our policy, we were pleased to receive quite a few letters of interest and proposals from a variety of organizations. Each of the responding organizations were respected contributors to the community, with experience managing Drupal infrastructure at scale.

Ensuring a fair process was important to us. We assembled a committee to review these proposals made up of members of the Drupal Association leadership and engineering team, as well as trusted volunteers who have helped us to maintain the infrastructure. If any employee, contractor, volunteer, or member of the board had material ties to any of the participating organizations, they were recused from this decision making process.

We evaluated each of these proposals and scheduled interviews with the responding organizations. Each proposal was evaluated based on:

  • Infrastructure management expertise

  • Drupal hosting experience

  • Non-Drupal service expertise

  • Familiarity with the Drupal project and the Drupal Association

  • Prior experience with Drupal.org infrastructure

  • Contribution history

  • Proposed SLA

After interviews and deliberation, we're pleased to announced that we've selected Tag1 Consulting as our Managed Infrastructure Services partner.

Tag 1 brings tremendous experience in Drupal infrastructure management, performance, and scalability, as well as a team with a history of contribution both to the Drupal project, and to Drupal.org.

We've begun working with Tag1 on an audit of our current infrastructure and hand-off of management responsibilities. At this time Drupal.org infrastructure will still be hosted at the Oregon State University Open Source Lab, and Tag1 will help us manage any future data center transition if it becomes necessary.

We're pleased to be moving forward in partnership with Tag1, and to be able to focus our internal efforts on continued improvements to the services we provide for the community.

Categories:

Valuebound: An overview of Drupal’s view Execution order

Planet Drupal - Thu, 2017/06/29 - 4:31pm

As a Drupal Developer you must have aware of one of the contributed project with most Downloaded number is “Views” What are views? I don’t want to focus more on this, drupal.org gives a broader view of that. 

In Drupal, Views enable you to have an user interface in the browser for creating sections of your website that you would normally have to write an SQL query to retrieve. Views generate a SQL query for you.

You would require view : 

  • If you would like to create the default front page view.
  • You want taxonomy/term view, but probably in some sort of order.
  • You want your posts to be customized
  • You want a block with the 5 most recent posts of a particular type.

Like the above, you have many other requirement. All of…

Categories:

Jeff Geerling's Blog: Drupal VM 4.6 adds Debian 9 (Stretch), Vagrant plugin auto-install, and more Docker

Planet Drupal - Thu, 2017/06/29 - 2:30pm

Drupal VM has been hitting its stride this year; after adding experimental Docker support in 4.5, Docker usage has been refined in 4.6 (with a more stable and useful drupal-vm Docker image, along with a few other things:

Categories:

ADCI Solutions: Drupal site-building: why that's more than a trend

Planet Drupal - Thu, 2017/06/29 - 12:53pm

“Drupal learning curve is horrible”, “it literally made me want to die”: Drupal learning curve this, Drupal learning curve that... You must have faced with all this pain that novice Drupalists tend to experience.  

Meanwhile a number or Drupal usage is growing, the Drupal Community is growing, too. The thing is, Drupal offers an incredible amount of ways to become a part of the Drupal Community. Drupal’s features make it accessible even to non-coders, such as content managers, site-builders. What’s more important, the Drupal development team is going to pay even more attention to those groups (without compromising coders, of course).

 

Let’s see what this amazing CMS offers to non-coding part of the Community and why this is not just a trend.

 

Categories:

Clemens Tolboom: Check your coding style on Drupal 8

Planet Drupal - Thu, 2017/06/29 - 12:24pm
Coding style?

Building software is a complex and sometimes tedious process in which you make errors and mistakes. Testing for errors is mostly done by running your website / code through tests either manually or automatically.

Checking for your code style like formatting and documentation flaws you can use a code sniffer. For PHP you can run phpcs using PHP_CodeSniffer.

Drupal core provides core/phpcs.xml.dist to tell phpcs what to test for.

Categories:

Colorfield: CKEditor Media Embed wrapper for Drupal 7

Planet Drupal - Thu, 2017/06/29 - 8:47am
CKEditor Media Embed wrapper for Drupal 7 christophe Thu, 29/06/2017 - 08:47 Looks like most of my Drupal 7 clients are sharing the enthusiasm for CKEditor Media Embed and didn't want to wait for a Drupal 8 upgrade of their site, so here is a wrapper module for that. There are probably way better implementations, like the one that was done for Drupal 8, but I wanted to have something quickly ready with close to zero maintenance. Also, it had to rely on the Wysiwyg module and not the CKEditor standalone module.
Categories:

Agiledrop.com Blog: AGILEDROP: DrupalCon sessions about Symfony

Planet Drupal - Thu, 2017/06/29 - 5:02am
Last time, we gathered together DrupalCon Baltimore sessions about Business. Before that, we explored the area of PHP, DevOps, Front End, Site Building, Drupal Showcase, Coding and Development, Project Management and Case Studies. Quite a lot of areas, so this will be our last stop. We will only look at Drupalcon sessions about Symfony. Events: The Object Oriented Hook System by Nida Ismail Shah from Acquia This session threw some light on how to create, trigger, subscribe and listen to events in Drupal 8.   Everything about Unicode all PHP devs should know by Nicolas Grekas from… READ MORE
Categories:

Jacob Rockowitz: Webform 8.x-5.x-beta14: Ajaxifying Webforms and Improving User Submission Management

Planet Drupal - Thu, 2017/06/29 - 3:17am

Webform 8.x-5.x-beta14 has become a significant release because it addresses several important features and milestones listed on the Webform roadmap, including support for multiple drafts, Ajax-enhancing submission forms and the administrative UI.

Before I start to "show-n-telling" you about these cool new features, wanted to announce that I am targeting monthly releases and explain my goals for each release of the Webform module.

Monthly Releases

Initially,I was reluctant to publically commit to regular releases for software that I am maintaining for free. Turns out my public commitment is a good thing. Targeting regular releases motivates me to organize the Webform's roadmap and issue queue while iteratively working on fixing bugs and adding new features. I’m trying to take an agile approach with maintaining the Webform module that seeks to iteratively implement working features knowing that features and functionality can and should evolve over time.

The Webform for Drupal 8 (formerly known as YAML Form module) is a completely new codebase striving to reach reasonable feature parity with the Webform 7.x-4.x module, which is used by a half million Drupal 7 websites. I've also looked at the Webform ecosystem for Drupal 7 - gradually I’m integrating key Webform add-on modules into the core Webform module for Drupal 8.

Ajaxifying Webform Forms and User Interface

The Webform Ajax module is a perfect example of a contrib module for Drupal 7 that I wanted to add to the core Webform module. Personally,...Read More

Categories: