When doing updates on my sites I never just do all updates across the board. There are some nuances sometimes to be considered with various modules. I generally keep notes about what was updated and when and why, etc. For instance, maybe I'm having a problem with a particular module and it is recommended that either a dev or patched or previous version is used, for whatever reason. For the most part my notes help me keep track of these things. But if I'm on a team others may not have access to my notes. Perhaps they are new to the team and don't have the google doc (if there is one) or they forget about it, etc.

I also like to keep track of the dates that the updates were made. In the event there is a problem with a site that "all of a sudden" happens I like to review the history of the site around the time that the problem surfaces. I just like to have the bigger picture and as much information as possible when making changes that could affect the whole site. So I've been trying to come up with a solution for tracking history of some of these events in a concise manner. Sure I could check git (if it is being used) to see when a module was updated or patched, but that requires digging. And maybe hook alters are in template.php or some place else. I use the hacked module to see what has been changed, this helps. This only tells me that there has been a change - not what it was or why or when. It does help to save some digging tho.

So what I've done is to create my own little backend note/tracking section on the site. I have added a block to the top of my /admin/reports/updates/update as this is where I check and perform the updates. In the block I put priority notices about recent patches applied, hooks being used and warnings about why not to change a version of a particular module. Then I have a node (hidden from public view of course) with more information or a link to a google doc for more detailed information such as date, who did the update, etc. This is sort of my own addendum to the Status report already on the site.

I think all of this record keeping stems from having worked in a support capacity for so long. Many times work would have been done quicker or more efficiently had I had some historical information. After describing my process it sounds like I'm building a little internal wiki. Perhaps I should just add one to my sites. Perhaps wikis should be an option when installing Drupal - like Redmine has. Maybe I'll make a wiki recipe? :)

Anyway those are my (long-winded) thoughts on this. I'm mostly curious as to solutions/methods others are using. Maybe there is already a better way and just don't know about it. (And thanks for reading my rant if you got this far!! lol)

Kappaluppa

Comments

VM’s picture

cdykstra’s picture

This is a great idea and very thoughtful for those who work on a site after you. I work on a team that includes BE devs, so they do most of the digging around in GIT when we need to track down changes, or we refer to our own personal notes.

I'm thinking a page of changes on the site is a super idea, if we can get the whole team to participate and will be bringing this up in our next dev dig. If other thoughts are raised, I'll come back and add them here.

Well thought out, thanks for sharing! Looking forward to hearing about others' systems...

Sam Hermans’s picture

Hey @kappaluppa

We were struggling with this as well so we decided to build a tool to keep track of changes and to centralize all this information. You can either check on the history of whatever module, or get an overview of all modules over time.

Once your sites are added you can even use our API to get recent updates:

curl --header "X-API-TOKEN:Your-Token" -X GET https://app.lumturio.com/api/site.get/<your_site_id>/history

{
  "items": {
    "0": {
      "date": "2015 May 11th",
      "date_unixtime": 1431372857,
      "short_name": "drupal",
      "message": "drupal changed from 7.36 to 7.37.",
      "action": "UPDATE"
    },
    "1": {
      "date": "2015 August 21st",
      "date_unixtime": 1440144152,
      "short_name": "ctools",
      "message": "ctools changed from 7.x-1.7 to 7.x-1.9.",
      "action": "UPDATE"
    },
    "2": {
      "date": "2015 August 21st",
      "date_unixtime": 1440144152,
      "short_name": "drupal",
      "message": "drupal changed from 7.38 to 7.39.",
      "action": "UPDATE"
    },
    "3": {
      "date": "2015 August 20th",
      "date_unixtime": 1440064823,
      "short_name": "advanced_help",
      "message": "advanced_help changed from 7.x-1.2 to 7.x-1.3.",
      "action": "UPDATE"
    },
.........

Check some screenshots here or visit the Drupal project page here.