Provide basic metadata in issue atom feed even when there are no changes
Currently if you view the Atom feed for an issue that is newly created, you will get a blank feed with no entries. This is confusing, since one would expect at least some basic information about the issue to show up in this feed.
(Disclaimer: I use Redmine and RoR every day but I'm pretty new to the internals of this project, so please correct me if I get something wrong below.)
The technical reason this is happening in because
format.atom chains off to
IssuesController#changes, which lists all Journal entries for the issue. Issue creation does not generate a Journal entry, so any new issue results in a blank Atom feed.
There are a couple of different ways to approach this problem.
- (A) Investigate the generation of Journal entries on new issue creation
- This would be a major change to a data type in the system with wide-reaching effects
- Known side effects off the bat: activity filter would show duplicate entries, two notification emails would be sent (and probably many more)
- Would need to generate records for existing issues and/or handle issues without creation journal entries
- However, it might make the overall system more consistent, which is why it's worth investigating
- (B) Detect the case where IssuesController#changes is displaying a feed for a specific issue and inject an entry to the Atom feed representing creation
- (C) Figure out how to use the additional fields available to us in the Atom schema to publish enough issue metadata to make a feed without entries still useful.
I'm going to try and find some time to write a patch for this and I will post updates as I explore the different options.