User:RoboJeb/Archive

From Kerbal Space Program Wiki
Jump to: navigation, search

Documentation for RoboJeb/Archive

Notes

Please only use this template for Talk pages with a high number of posts.

Parameters explained

{{User:RoboJeb/Archive
| archive             = 
| algo                = 
| counter             = 
| maxarchivesize      = 
| minthreadsleft      = 
| minthreadstoarchive = 
| archiveheader       = 
| key                 = 
}}
Parameter Description
archive Name of the page to which archived threads will be put. This parameter supports the use of variables, which can be used to create dynamically named archives (such as using date ranges). Note that magic words and templates do not work with this parameter, and unless a key is supplied (see below), the target page must be a subpage of the current page.
algo Algorithm that instructs the bot how to decide whether to archive a thread or not. Complex formulas (including regex matching) will be available in the future, but so far it must be of the form old(...) where ... specifies the maximum age of a thread (in hours or days: 24h, 72h, 5d, 21d etc.)
counter The current value of the counter. If the %(counter)d variable is not used, it is ignored. RoboJeb will update this parameter as necessary.
maxarchivesize The maximum archive size before incrementing the counter. Ignored if counter is not used. The values used must be in a #K format, using a capital letter "K". For example: maxarchivesize=256K
minthreadsleft The minimum number of threads that should be left on a page (to prevent pages from getting completely harvested). Default value: 5
minthreadstoarchive The minimum number of threads to archive at one time, which is used to lower edit frequency. RoboJeb will not archive threads when fewer than the value of this parameter would be archived. Default value: 2
archiveheader Content that will be put on new archive pages as the header. This parameter supports the use of variables. The value of this parameter Cannot be multiline! Use a template such as {{archive navigation}} in order to add significant content. The Default value is {{talkarchive}}.
key A secret key that (if valid) allows archives to not be subpages of the page being archived. To obtain such a key, ask me and have a good reason for it.

Variables

Variable parameter Expands to...
%(counter)d the current value of the counter
%(year)d year of the thread being archived
%(month)d month (as a number 1-12) of the thread being archived
%(monthname)s English name of the month above
%(monthnameshort)s first three letters of the name above

Those python-savvy people will immediately recognize these variables are filled at runtime with the % operator and should know how to adjust the format. A few points of interest to others:

  • make sure you don't mess up the last letter after the brackets (it's "d" for integers and "s" for strings)
  • integer variables may be left-padded with zeros:
    %(counter)03d evaluates to 013 if the counter's value equals 13,
    %(month)02d becomes 05 for May etc.

After you have set up archiving

The bot runs once a day at a preset hour. Simply wait for the next cycle and you should see the bot's entries in the history list of your article providing there was anything to archive, and the history list entry should provide a link to the archive page you specified.

Various templates will produce an automatic list of archive subpages. Typically, such a template will be added to the top-level talk page to make archives easier to find. Simply add the template name in {{curly-braces}} where you want it to appear. Popular templates used for this purpose include:

  • {{archives}}
    • {{ArchiveMonths}} is good for making a map of archived months and years, similar to Talk:Main Page.
      • This template's archive= should be set to User:RoboJeb/Archive/archive/%(year)d/%(month)02d.

Delaying or preventing archiving of particular threads

Archiving can be delayed for a particular thread by substituting the template {{DNAU}} into the thread. Use {{subst:DNAU}} to retain a thread indefinitely, or {{subst:DNAU|<integer>}} to retain a thread for <integer> days. See the template documentation for details about its use and function.