On August 1st, I celebrated not only the Swiss national day, but also my first month as an intern here at MD Systems. I arrived from Sweden in the very end of July, and have been hacking along at different Drupal 8 projects since then.
This blogpost is part of the on-going MD Systems Drupal 8 Internships. In these Blogs the students report monthly about their experience with Drupal 8, the development work they do and the cooperation with our Team...
My very first experience in the company was to sit by the side of another intern, who was working on Flag, a module with the simple purpose of letting users bookmark content. The module needed to be ported to Drupal 8, meaning there was so far only a Drupal 7 version. A lot is changing in the Drupal core between these versions, and every module needs to be heavily updated to be compatible with the new version. Through that task, I quickly learned some basics about the company’s development environment and about developing for Drupal 8. As soon as I got the hang of it, I noticed that I could contribute by suggesting fixes with my knowledge as an engineering student.
Getting into it
Then I was tasked with implementing the Multigraph feature for the module Monitoring (which had already been ported to Drupal 8). Monitoring keeps track of certain measurable values, like 404’s or PHP notices. The purpose of the Multigraph feature is to group values in order to facilitate the plotting of several of these values in one graph widget. I learned how to set up routing and what distinguishes configuration entities from content entities. A lot of structure was made in YAML, which was very nice to see. In earlier Drupal, it would all have been defined as arrays in hook functions.
After finishing the Multigraph feature, I started porting Past, a flexible logger with pluggable backend. There was a patch from one year ago, converting some central parts to Drupal 8. First I applied the patch to the current Drupal 7 branch, roughly solving some merge conflicts due to changes in the branch during the year. Then I updated the changes introduced by the patch, to the current Drupal 8 core. Finally I started porting the still un-ported parts of the module. By first fixing the tests, I could then use them to efficiently spot what further work was necessary.
Media Sprint initiative
During the week of 21-25 July, the company hosted a Media Sprint to encourage advancement of media-related development within Drupal 8. I put Past on hold and spent some of that time on porting the File entity module. Some porting was already done, so I just ran the tests and have since then been fixing and porting functionality, one test result at a time. As part of that, I also submitted a patch for an issue on stream wrappers in core.
Summary
I'm proud and content with my first month with the company! I learned a ton and had fun doing it. See you again next month, for my second review post! (While you wait, you can watch some of my activity on Drupal.org.)