We need to keep the usernames of the latest editors of content, along with the edit date.
How can we do so? Or should we use custom code?
We do not want to enable revisioning, as it is more complex than we want.
The Activity module does some user activity logging that may covert your need.
The Activity module keeps track of the things people do on your site and provides mini-feeds of these activities in blocks, in a specialized table, and via RSS. The module is extensible so that any other module can integrate with it. The messages that are produced are customizable via the admin interface and are context sensitive. Some theoretical example messages include:
- You wrote a comment in response to "example comment title"
- Jim wants to be your friend. Approve this friendship here
- Nancy is Phil's latest fan
One option is the Event Log module:
This module logs specific events. The events are saved in the database and can be viewed on the page admin/reports/events. Furthermore, a views integration is provided in which you can relate for instance a node to its events. You could use this to display the total number of views, or the number of times that the node has been modified and by which users.
Currently, the following events are supported:
- User authentication (login/logout/request password)
- Node operations (CRUD)
- User operations (CRUD)
- Menu operations (custom menu's and menu items CUD operations)
- Taxonomy operations (vocabulary and term CUD operations)
The event log can be easily extended with custom events. For more information please have a look at the API documentation and the available sub modules.
There is no configuration required except for enabling/disabling the sub-modules you require - there is a sub-module for each of the 5 event types in the module description above.
IMO the Message module would be a perfect fit to answer this question, and which doesn't require revisioning. Using this module, you can create your own custom "Events logging" (to register things that happened in a site).
Specific to this question here, I'd create a so called "Message type" that contains data about:
You could even track how those node related data looked like before and after they got updated, a kind of "light" revisioning (only for those node attributes you want to know about).
About Message types: think of them as equivalent to Content types, whereas you create messages (instead of nodes) of a specific Message type (instead of Content type).
A really interesting facility of the Message module is its perfect integration with the Rules module. Have a look at the answer to "How to implement a follow author (or user) function?" for way more details on that.
In your case, you'd simply create a (rather basic) custom rule which uses:
That's really it ...
A great sample of this can be found in Commerce Kickstart, which uses the Commerce Message module, to create such "Events logging". In that case in the format of an Order History, as shown in this screenprint (from this module's project page).
Should you want to do so, it seems perfectly possible to build a view (report) that contains the data similar to what you can do with the Activity module as shown in this screenprint (from this module's project page).
Though there is not a lot of documentation about it (which is what makes it a hidden D7 gem ...). A possible way to get started with it, and to get an idea of the kind of things it can be used for, is to have a look at the answers to: