Feature #40890
openShow project changes on 'Activity' page
0%
Description
We would like to propose a new feature for Redmine: displaying project changes on the 'Activity' page. The idea is to enhance the visibility and traceability of modifications related to projects. Specifically, we propose that at least the following events be included on the 'Activity' page of each project:
- Project Creation: Log the creation of new projects.
- Changes to Project Fields: Track and display changes made to project fields such as the project name, description, etc.
- Changes to Project Custom Fields: Include modifications made to custom fields associated with the project.
Each of these events should be shown with the author, date, and a diff (similar to how changes to issues and other entities are currently displayed). This feature will significantly improve the transparency and management of project changes.
Implementation Participation:
If this feature request is approved, we are ready and willing to participate in its implementation. We seek guidance and support from core developers to ensure our contributions align with Redmine’s standards and best practices.
We believe this addition will be valuable for many users and look forward to collaborating with the Redmine development team to bring this enhancement to life.
Thank you for considering our request.
Updated by Boris Brodski 6 months ago
We are excited to announce our intention to begin the implementation of the proposed feature in about a month. We believe this feature will greatly enhance the visibility and traceability of modifications related to projects, significantly improving transparency and management for many users.
To ensure our implementation aligns with Redmine standards and best practices, we kindly seek your feedback and approval before we proceed. We are committed to following guidance from core developers and are eager to contribute to the Redmine project in a meaningful way.
Thank you for your consideration and feedback.
Updated by Holger Just 6 months ago
Well, in general to be able to add activity entries, it would be required to track changes of a project, similar to what is done for issues.
Originally, the Journal
model (and associated data) was intended to be generic enough to be used for other object types and it would be a good candidate. However, since Journals were always tied Issues only in Redmine, the model is now tied in various (implicit) ways to the Issue model, which might make it difficult to re-use for other objects generically. It might be a good idea to refactor this to make it more generic but this is likely a larger project with a lot of long-tail problems to resolve which stem from the historical combination of issues and journals...
Accordingly, the basic approach to implement something like this would be to:
- Define a way to preserve changes, either by adapting the Journals, or by coming up with a different model
- Note that I would prefer not to add another different journaling model here in addition to the two we have already in Redmine (the journals for issues and the wiki_content_versions for wiki pages) as this would likely lead to a lot of duplication. I'd only prefer this if the models differ significantly
- Use this model with acts_as_activity_provider to include those changes in the activity list
- Finally, we should also provide a way to list the changes on the project itself, similar to how the issue shows the journals.
About 95% of the the effort will be spent on recording the changes (or generalizing of the existing Journal model). Adding those records to the activity feed is then trivial via acts_as_activity_provider.