I started working with Drupal 15 years ago. I had previous experience contributing to open-source projects, but PHP wasn't my strength, and to be fair, it took me a bit to understand Drupal and most of my work could be done via site building. Some months later, I decided it had to change and attended the Drupal Developer Days 2012 at Barcelona (wow! the site is online! 🤩🤩). There were coding sprints planned on the Drupal 8 Multilingual Initiative, which actually was the beginning of this blog. I blogged about my own progress every day.
Keeping track of what was going on in an initiative was affordable, thanks to the great job Gábor Hojtsy did leading it. We had IRC, our weekly meetings... I followed the D8MI tag on Drupal.org issues, but that was a manual process. I tried every single thing I could think of for tracking the issues I actively worked on, those that I had an interest in, and those where I would like to help if I had the time. Nothing really worked well for me.
On Jul 1st, 2013 (almost 13 years ago!) I decided to subscribe by email to ALL Drupal Core issues. All, because you cannot subscribe by email to a tag. So it was all, or missing information that I cared about. This was a huge game changer.
First, the filters + labels system I developed — using different tags with associated colors in Gmail — helped me keep track of every issue I was involved in or that had certain tags.
Second, because search is amazingly fast (and works even when there are Drupal.org outages).
And third, because I have a backup of Drupal.org core issues 😜
But the real game changer is seeing things passing by. As you can see, I learnt quickly that infoxication was stressful, and assumed that Inbox-Zero wasn't for me, so I learnt to ignore the number of unread mails. But just by scanning those labels I could have a big picture of what was going on because of the email subject. If something catches my attention, I open the email, learn more about the issue, and there's a high chance I will follow it.
This, plus being on drupal.org and Slack, kept me pretty well informed. So good that this has worked for me for 13 years.
But priorities change, and that an issue exists doesn't always mean that it will land. Tracking what's actually making it into the project is a different beast. I was missing this piece of information between the noise of every single issue. Reading every commit for me was out of the question.
I think it was in 2023 when I met Marco Villegas (marvil07). What a great and passionate guy. So passionate that he shared that he would go through the last commits to Drupal Core, read them, and create and share a journal summarizing what was every commit about. He spoke about it in DrupalCon Barcelona 2024, and you can check his session Following Drupal core development: Is it possible to understand every added change? on YouTube.
But what's a blogpost these days without AI? Dries himself shared recently about his new process for following Drupal projects, and how AI is helping him to summarize the information for the increasing number of projects he needs to track. This is a huge resource.
For the last month, I often visited his Drupal Digests, and looked around the repo to read the digests, but issue numbers are not super-helpful to keep track. Dries built this to scratch his own itch, so it's highly focused on RSS feeds. And my problem is that I don't really use RSS feeds anymore. Turns out, that wasn't entirely true.
I helped build the Dashboard module for Drupal CMS. There's an aggregator module (used to be, but no longer in Core) that I had installed in this blog, and where I already had some of the feeds I care about. And I visit this blog a lot to create drafts that go nowhere. 1+1 = 2.
So my email process is now complemented by a Dashboard, using the aggregator module provided blocks.
It didn't look pretty, so I had to include some custom CSS. This is how it looks now:
If you want to replicate this, you'll need to inject a CSS similar to
/*
* Aggregator block theming
*/
.block-aggregator-feed-block {
margin-block-start: var(--space-s);
& .item-list ul {
margin-block-start: 0;
margin-inline-start: 0.875em;
list-style-position: outside;
li {
list-style-type: none;
margin: 0 0 0.25em 0.25em;
padding: 0;
padding-block-end: var(--space-m);
padding-inline-end: var(--space-s);
}
}
& a {
text-decoration: none;
color: var(--color-absolutezero);
&:hover {
text-decoration: underline;
text-underline-offset: 2px;
}
}
.more-link {
margin-block-end: var(--space-m);
margin-inline-end: var(--space-l);
a {
text-decoration: underline;
&:hover {
text-decoration: none;
}
}
}
}I considered including this in the Dashboard module styles itself, but might be too much opinionated. What do you think? Edited: created issue to discuss.
And how do you keep track of what's going on in Drupal?