DrupalCon (Drupal Conference) 2016 marked the 3rd DrupalCon that I attended. With Drupal 8 released, I felt it was time to go to the conference and kick the tires.
Held in historic New Orleans, I not only learned more about Drupal 8, but I learned about the beignets, cemeteries, and handgrenades. But that’s for another story.
When I started on the last day of March 2014, I could never have guessed at how challenging and rewarding this role would be. That is why it is incredibly hard to say that my last day with the Drupal Association will be June 10th.
For more details read, Reorganizing for a changing Drupal.
In looking at our structure with the leadership team, Holly, Matt and I saw that our roles did not fit in a smaller, more focused Drupal Association. It is no easy decision to include yourself in proposed cuts. I can't say how proud I am to be part of a group willing to make that sort of sacrifice for something in which they believe.Drupal is a strong community
Drupal.org is a complex site and with a reduced engineering team, they will need to focus on mission critical services and find new ways to work with the community to continue to make the site great for contributors and evaluators.
With help from the rest of the team, I wrote a post called The Drupal.org Complexity that tries to take all of the complexity that surrounds our Git repositories and their integration with projects and issues on Drupal.org and describe it in a way that begins to show just how amazing our tools are. (I have yet to find a project with more total contributors to a single version of the code.)
Our smaller team is going to need to focus on sustaining services like testing, packaging, security updates, etc. They will be updating the Drupal.org roadmap with a more narrow focus.
I personally believe in the power of Drupal as an engine for amazing. And so much great stuff is still in store for the community.Thank you
Firstly, thanks to my family for putting up with the crazy hours, and travel that required bedtime calls at 6 in the morning—at least we had fewer pager calls in the middle of the night. Even when there were challenges, I always had your support. (And I'm looking forward to a little summer vacation together.)
Thank you to the board of directors for giving me this chance to help a project I love strengthen its home. Drupal.org is more professionalized and easier to maintain while continuing to scale up to the needs of the community. You took on tough discussions—and helped us make even tougher decisions. Being a board member is a huge commitment that you all took seriously while still being a blast to hang out with during and after each board meeting.
Thank you to my leadership teammates (Holly, Megan, Matt… and Joe too). The were some great times and some hard times. We weathered so much together with a commitment to making the best choices we could with the information we had. I can't put into words how much I appreciated being surrounded by such a great team.
Thank you to my engineering staff, or tech team, or Drupal.org team—whatever we are calling ourselves this week. You've taught me a ton every day. I loved sharing technical challenges with you all. I'm confident this was one of the smartest teams I will ever have the chance to lead. Every single one of you have admiration. Thank you for letting me be your "umbrella" for a bit. I hope our careers cross paths again and again.
The entire staff at the Drupal Association is such a phenomenal group of humans! You've made going to work each day fun and exciting. You showed what it means to have passion and lived the values of a great community.
Lastly, I also want to thank the Drupal community members I was able to meet both in-person and virtually over the past two years. You are truly committed and passionate. Thank you for being patient and accepting and generous.
Thank you.What's next?
In the next two weeks, I'll be documenting systems to help with the transition. Specifically, the team and I will write additional posts about our testing infrastructure (DrupalCI) and our new Composer endpoints.
I'll also be working very hard to help staff that are impacted by the layoffs land softly at new opportunities. If you have opportunities at your company or organization, please contact me if you are interested in some of the best Drupal talent on the market. I'm confident they won't be available for long.
I hope to announce my own next steps shortly. I plan to keep involved in the community. Drupal has been a big part of my career, but it is not the only technology that has shaped it. Drupal will continue to be an important part of my toolkit for helping companies, governments, and organizations of all types delivering solutions that are complex and need to scale.
We just released an update of OpenLucius, a drupal social intranet distribution. Check out the most new and improved stuff:
1. Choose enabled ‘apps’ per group
For Drupal 7 users, many things have changed in Drupal 8, but many are reassuringly familiar.
One great example is template overrides. The process for creating an override is very similar. But the actual override files are different and so is the code inside them.
In this video, Rod shows you how to create a node override in Drupal 8. You'll see where the core modules are located in Drupal 8 and how to edit a Twig file.
My mentors suggested me to create issues for my tasks in the issue queues of the module Google Vision API, where they would track my progress and also discuss and leave suggestions for the improvement of the module. Thus, starting with my task for the first week, I created the issue Moving the common functions to services in the issue queue of the module and started coding the functions into services and injecting them as and when needed. I started the week by learning the concepts of services and containers, and gradually learnt about Dependency Injections in Drupal 8. The post on Services and dependency injection in Drupal 8 and the videos of Drupalize.me were of great help to understand the concept of services and implement dependency injection.
After completing this part, I put the patch for review, and there followed the next part- Use of Guzzle over curl in the services and injecting the httpClient service.I spent significant time learning the concept of Guzzle which was quite new for me. My mentors Naveen Valecha and Christian López Espínola helped me a lot to understand Guzzle, and subsequently this task was completed with Guzzle replacing curl and injection of httpClient.In addition, the present code made use of concatenated strings for sending the data during API call. I changed the code to make use of arrays and Json utility class and its static functions to send the data instead of strings.When the code seemed perfect, my mentors suggested me to perform clean up along with proper documentation.
At the end of the week, I successfully uploaded the patch with all the suggestions implemented, clean up done and documentation added, thereby completing the task for my first week.
Each day, more Drupal 7 modules are being migrated to Drupal 8 and new ones are being created for the Drupal community’s latest major release. In this series, the Acquia Developer Center is profiling some of the most prominent, useful modules, projects, and tools available for Drupal 8. This week: Media Entity.Tags: acquia drupal planetmedia entitymetadatadrupal 8
We're announcing today the Data Embassy, a new service for our fellow Drupal shops to make content migration into Drupal easier. Let us remove the pain of content migration from your Drupal development workflow.
You know exactly what I mean by "pain". As Drupal continues to expand and existing websites are converted into Drupal, large migration comes as necessary evil. While migrations from smaller Wordpress or Joomla websites can be automated fairly easily, anything other than that it not so simple.
In the eleven years I've work with Drupal, I've notice that migrations take a significant part of the budget in various Drupal projects, with countless developer hours spent migration in every single project that is not a brand new website.
To counter that, we've developed over the years in Chuva Inc. several strategies, checklists and custom tools to deliver quicker, cheaper and more precise content migrations. We've applied that method to several migrations, from several different CMSs, in-house CMSs and even static, manually-edited HTML pages.
Now, we want to share this expertise with the Drupal community at large. By offering a new service specialized solely on content migrations, we will perform the migrations in a more effective way, saving time and money for Drupal shops.
Can we save you money on your Drupal shop's next project? Learn more at: http://drupalmigration.chuva-inc.com
Have you ever been asked by a client to export pages or content as a PDF?
Yeah, I know that feeling.
I think this is one of the most underestimated development tasks in the non-technical world. It is not that easy, and it is even harder to explain.
What tool should I choose? Is it compatible with the OS of the host site? Is there a module for that?
Ok, it’s not impossible, but it’ll take time…
Probably more than what your client is willing to pay…Tags: acquia drupal planet
The Google Summer of Code 2016 (GSoC’ 16) coding period kicked off from last week, May 23rd. Each selected student had a one-month long community bonding period with their respective organisation. I had written my community bonding experience with Drupal in my previous blog post.
I am working on porting search configuration module to Drupal 8 under the mentorship of Naveen Valecha, Neetu Morwani and Karthik Kumar. I learnt the basics of Drupal, implementing Drupal forms and other fundamentals required for my project in the initial phase.
I was really thrilled to get into the coding rounds of GSoc’ 16. I was successful in making a good progress in the initial week. I could start the coding phase effectively by porting some important features. I had regular discussions with my mentors throughout the previous week. They were really helpful in guiding me in the proper way by reviewing the code and sharing their valuable feedback.
Here I would like to share with you some of the changes which I have come across in Drupal 8 from its preceding versions which I have worked out in the previous week for my project.
- In D8, the .info files are replace by .info.yml files. The .info files contained the basic information regarding the respective module. The .info.yml generally contains the following attributes of the module:
- The Drupal 7 variables have been converted to the Drupal 8 state system. The previous versions had variable_get and variable_set functions to store variables and their default configurations. They were used to store and retrieve data. They are presently removed in D8.
- In Drupal 8, they are replaced by the configuration API.
- Moreover, we need to store the default configuration of the variables. While developing a new module, it comes in module/config/schema/ will contain the default variable configurations.
- The default configuration is the default property of the system with its type and the corresponding default value linked to it.
- Another transformation that has taken place is that the global $user has been substituted by the current_user service.
- So, the previous definition,
- global $user;
- is replaced by
- $user = \Drupal::currentUser();
- So, the previous definition,
These were some of the important concepts that I had to deal with in the previous week for the porting process. It was really a wonderful learning time for me. Hope to enjoy the coming weeks to learning new concepts and implementing it for my porting.
Hope all the selected students had a wonderful start to their coding period. All the best for the coming weeks.
After a couple of weeks of setting up with mostly free-format meetings in IRC we’re going to try a more structured format for our weekly UX meetings:
- First half hour: people can introduce a problem + proposed (possible) solution
- Second half hour: we review any work that has progressed over the past week. Often a core committer will be around to provide guidance or even actually commit changes that are good to go.
We did a first ad-hoc version of this last week, including a hangout with screen sharing. It worked really well, was productive and a lot of fun. Seeing the same thing in action is helpful when discussing user interface changes!
The meeting will take an hour. Here’s a calendar for the date and time.
Want to join? Join the UX channel on drupal.slack.com. Get an automatic invite here. We’ll link a hangout from there and make sure we’re broadcasting live so at least everybody who wants can follow along and use Slack for background chat.
See you there!Tags: drupalplanetd8uxprocessmeetingscollaborationSub title: 50/50 on new ideas and reviewing work in progress
The monthly core patch (bug fix) release window is this Wednesday, June 01. Drupal 8.1.2 will be released with dozens of fixes for Drupal 8. There will be no Drupal 7 bugfix release this month.
To ensure a reliable release window for the patch release, there will be a Drupal 8.1.x commit freeze from 12:00 UTC Tuesday to 12:00 UTC Thursday. Now is a good time to update your development/staging servers to the latest 8.1.x-dev code and help us catch any regressions in advance. If you do find any regressions, please report them in the issue queue. Thanks!
To see all of the latest changes that will be included in the release, see the 8.1.x commit log.
Other upcoming core release windows after this week include:
- Wednesday, June 15 (security release window)
- Wednesday, July 06 (patch release window)
- Wednesday, October 5 (scheduled minor release)
Drupal 6 is end-of-life and will not receive further releases.
In this blog post I will show you a simple technique to improve your web application performance by modifying headers. Please keep in mind, if you're using HTTP reverse proxy caching applications such as Varnish you might harm your application performance or your settings could be ignored.
This technique could help improve page loads for authenticated users where reverse proxy caching disabled.
Important: Drupal already already provides all the required headers when Performance settings properly configured. This is information is generic and could be very helpful for decoupled projects or any other frameworks.
Dries Buytaert, the creator and project lead of Drupal, wrote a blogpost, 'Turning Drupal outside-in' three months ago that caused a large stir in the Drupal community. This post was particularly interesting for us as a Drupal development shop and active members of the international Drupal community because the future of our company is largely determined by the future of Drupal. In his writing, Dries discussed how the user experience of the Drupal platform be improved and how the CMS itself can be simplified, made easier to understand and easier to use.
On a previous post I explained how we are using BigPipe in Drupal 7 (Cheap Pipe (sort of BigPipe) in Drupal 7). Besides all the known benefits of big pipe, there is a less known side effect that might help you fight spam.More articles...
- Build GIT on Windows from Sources
- Importing Excel data with PHP, OpenXML and SpreadsheetLight: a Drupal example
- Deploying Drupal Like a Pro
- Running Drupal 8 on PHP 7
- Download SQL Server Native Client: sqlncli
- Drupal Session Handler: everything you need to know
- Benchmarking Drupal 8 on PHP 7-dev
- Drupal 8 performance: enabling the classloader cache
- Adding native JSON storage support in Drupal 7 or how to mix RDBM with NoSQL
- Deploying changing module dependencies with Drupal
By default Search API (Drupal 7) reindexes a node when the node gets updated. But what if you want to reindex a node / an entity on demand or via some other hook i.e. outside of update cycle? Turned out it is a quite simple exercise. You just need to ...
I had a case recently, where I needed to add custom data to the node display and wanted this data to behave like a field, however the data itself didn't belong to a field. By "behaving like a field" I mean you can that field at node display settings and ...
The Drupal community is very special because of its culture of adapting to change, determination and passion, but also its fun and friendship. It is a combination that is hard to come by, even in the Open Source world. Our culture enabled us to work through really long, but ground-breaking release cycles, which also prompted us to celebrate the release of Drupal 8 with 240 parties around the world.
Throughout Drupal's 15 years history, that culture has served us really well. As the larger industry around us continues to change -- see my DrupalCon New Orleans keynote for recent examples -- we have been able to evolve Drupal accordingly. Drupal has not only survived massive changes in our industry; it has also helped drive them. Very few open source projects are 15 years old and continue to gain momentum.
Drupal 8 is creating new kinds of opportunities for Drupal. For example, who could have imagined that Lufthansa would be using Drupal 8 to build its next-generation in-flight entertainment system? Drupal 8 changes the kind of end-user experiences people can build, how we think about Drupal, and what kind of people we'll attract to our community. I firmly believe that these changes are positive for Drupal, increase Drupal's impact on the world, and grow the opportunity for our commercial ecosystem.
To seize the big opportunity ahead of us and to adjust to the changing environment, it was the Drupal Association's turn to adapt and carefully realign the Drupal Association's strategic focus.
The last couple of years the Drupal Association invested heavily in Drupal.org to support the development and the release of Drupal 8. Now Drupal 8 is released, the Drupal Association's Board of Directors made the strategic decision to shift some focus from the "contribution journey" to the "evaluator's adoption journey" -- without compromising our ability to build and maintain the Drupal software. The Drupal Association will reduce its efforts on Drupal.org's collaboration tools and expand its efforts to grow Drupal's adoption and to build a larger ecosystem of technology partners.
We believe this is not only the right strategic focus at this point in Drupal 8's lifecycle, but also a necessary decision. While the Drupal Association's revenues continued to grow at a healthy pace, we invested heavily, and exhausted our available reserves supporting the Drupal 8 release. As a result, we have to right-size the organization, balance our income with our expenses, and focus on rebuilding our reserves.
In a blog post today, we provide more details on why we made these decisions and how we will continue to build a healthy long-term organization. The changes we made today help ensure that Drupal will gain momentum for decades to come. We could not make this community what it is without the participation of each and every one of you. Thanks for your support!