User:Trialpears/Archiving manifesto

Archiving old discussions on talk pages may sound like an easy matter, but in fact it can be a really confusing process involving many templates and bots with confusing names that easily break if you don't format everything perfectly. This really shouldn't be the case in the current day and age. This is my manifesto on how I believe this problem should be solved, introducing a vision of how simply having or  would give a complete archiving solution with cleverly chosen settings for the bot, embedded auto archiving notices, archive banners and better bots.

Templates
Currently a complete automatic archving setup require about 4 templates.
 * 1) An archive list such as Talk header, Archives, Archived annually, Archives by months, Month-year archive nav, Monthly archived talk, User:ClueBot III/Archive Box
 * 2) A bot configuration, either User:MiszaBot/config or User:ClueBot III/ArchiveThis
 * 3) An archive header like Archive. Automatic archive navigator, Archived annually, Archive navigation, UserTalkArchive, Archivemainpage or Talk archive notice with diff
 * 4) An auto archiving notice, previously standalone with Auto archiving notice but due to recent efforts they are often integrated with either Talk header or Archives

There can also be additional templates involved with archive indexes which are poorly documented and supported. These will not be discussed now, but they definitely would appreciate some love as well.

It is quite obvious that it can be difficult to choose which template to use when there are this many choices and it becomes difficult to properly maintain all these archiving solutions at the same time. Therefore template consolidation is an important step to streamline the process. This has been slowly happening since 2019 with popular templates such as Archive box, Talk archive, Archive nav and tons of other less popular ones being consolidated, but there is still significantly more that can be done.

There has also been significant developments to templates in this area to make them more clever and automatic but there is still more to do on that front as well such as automatic archive number detection for many archive headers and better support for annual archives across the board.

My vision is to make Talk header or Archives the undisputed standard after improved support for monthly and annual archives. Other templates will only be used for user talk pages if at all.

Bot configurations will be a thing of the past with bots checking Talk header or Archives for settings, removing the template count by one and ensuring the integrated auto archiving notice is always up to date.

Archive headers will be standardized and never consist of two separate templates, one with the banner and another one for the links. They won't require parameters and will make navigation between archives more convenient with multiple links to adjacent archives. These won't have to be manually specified in the bot configuration either since there is a clear default that will be used if nothing is specified.

Template improvements
There are also a lot of template improvements possible not involving mergers. This section will be expanded to discuss them at a later time.

Bots
For all this to work there will need to be significant changes to the archiving bots. There are currently two archiving bots running, lowercase sigmabot III and ClueBot III. Both have some advantages and disadvantages but both have a similarly complicated syntax requiring tons of parameters. Ideally archiving should be doable with one parameter and clever defaults for the rest.

If this isn't implemented by the bot operators there really is only one option for this to happen and that is... Introducing another bot! This would be the ultimate archiving bot unifying the syntax of both bots, taking the best currently existing features and adding new ones. (obligatory xkcd link)

In big terms the bot should have the following features:
 * Automatically detect what the current last archive is and create a new one when it gets large, supporting the most common consecutive, annual and monthly naming schemes (as well as the precise specification currently in use).
 * Support values such as "monthly", "annual" and "consecutive" in a format parameter.
 * Automatic archive age based on page activity heuristics if nothing is specified.
 * A natural way to specify the archiving age supporting values such as "7 days", "1 month" and "2 years" and "2160 hours".
 * Sensible defaults for parameters such as the minimum number of threads to keep, maximum archive size, minimum amount of threads to archive and the archive header.
 * Support for redirects to the configuration templates.
 * Open source code, ideally with multiple maintainers and robust documentation in case of future issues.
 * Generation of archive indexes.
 * Repairing links to archived discussions for pages where this doesn't cause performance issues.
 * Public logging of encountered problems.
 * Other features brought up in the development process.

To avoid having three bots and introducing lots of confusion in the process there should be coordination with the current bot operators. This would likely involve an agreement to move archiving tasks from the old bot to the new one.

This project will also require significant community discussion before implementation to get a consensus on both the overarching idea as well as choices of default settings.

Documentation
The documentation for archiving is often either lacking or unnecessarily technical. A good effort to improve this has been Help:Archiving (plain and simple). This is an area where relatively little effort could have a large impact, but it has sadly been largely neglected in improvement efforts. Ironically enough I won't finish this section now though.