Thoughts in support of a release concept

Document creation at my university is familiar with the concept of releases.
A document that is in a mature state is marked as “released” by one or more other users.

At the moment, this is done by certain texts that appear as comments in the change history of the document. If the document is called up later, a “redirect” to the released document takes place.
Of course, the original document contains a macro call of the form
{{releaseNeeded by="user"/}}, which does the work.

However, if there are several sub-documents and sub-sub-documents in a large document set, things get complicated. You have to include links to certain revisions in the documents themselves:

e.g. by

[[more Doc>>more Doc||queryString="rev=7.2"]]

For links to pictures, I don’t have a similar solution yet.
I then have to make a complicated construction with HTML code
{{html}} <img src=....>{{/html}
tinker.
But - maybe I missed something!

My ideas for this would be:

(1) A “rev=...” specification also for images, if not available somehow.

(2) For a link to another document or image, similar to “rev=”, introduce a new parameter - such as

revDate=2021-12-31

that does not point to an exactly specified version, but to the 1st version that was available at that time.
A specific revision date would then be easy to fix using velocity.
It could also then be taken from an object.

Such a tool would greatly support a release process.

Many thanks for hints and comments

Norbert

Sounds a lot like XWiki Publication Workflow Application (XWiki.org)

Thanks - I know this.
The administrative department, where this would have been introduced in this form, would have been completely tangled up in discussion about rights. I needed it to be a bit more “streamlined”.
On the other hand, I needed things like “all specified persons” or “two out of three” must jointly release a version.

Just as an inspiration, DokuWiki introduced a date_at parameter at some point (see pull request). The idea is basically that when this parameter is present, you are browsing a version of the wiki from that date, i.e., all links and references to media files are automatically changed to include the parameter or reference the media file at the latest revision known at that time. This sounds very similar to what you are proposing for the revDate parameter, though with a lot more consequences.

A settable global variable is a very interesting variation of the concept.
It would allow “time travel” within a wiki, similar to the wayback machine of the Internet Archive https://web.archive.org/web

The state of the data at any point in time would be searchable, (if one ignores the possibility of deleting changes.)