User:MiszaBot/Archive HowTo: Difference between revisions
m →How to set up archiving?: The closing }} must be on its own line. |
Funandtrvl (talk | contribs) m needed box for easy cut & paste, thanks!! |
||
Line 83: | Line 83: | ||
=== Parameters explained === |
=== Parameters explained === |
||
<pre> |
|||
{{User:MiszaBot/config |
|||
|archive= |
|||
|algo= |
|||
|counter= |
|||
|maxarchivesize= |
|||
|minthreadsleft= |
|||
|minthreadstoarchive= |
|||
|archiveheader= |
|||
|key= |
|||
}}</pre> |
|||
{| class = "prettytable" |
{| class = "prettytable" |
Revision as of 18:19, 15 July 2009
There are 3 bots that perform archiving of pages for different namespaces:
- Talk: namespace - MiszaBot I (talk · contribs)
- Wikipedia: and Wikipedia talk: namespaces - MiszaBot II (talk · contribs)
- User talk: namespace - MiszaBot III (talk · contribs)
NOTE: Before setting up automatic archiving on an article's talk page, please establish a consensus that archiving is really needed there. |
How to set up archiving?
Put the following template on the page that you want automatically archived:
NOTE: The exact code below won't work - please see the examples for possible options - I'm tired of fixing dozens of malformed templates. |
{{User:MiszaBot/config |algo = old(...) |archive = Name of archive page [other parameters - ***read below***] }}
Well, maybe not exactly that (read about required options below), but that's how it's done. By the way, the template has no content and is sysop-protected, so don't worry about visual appearance. :)
The bot expects to see only one parameter per line. The closing }} must be on its own line. If you drop out the newlines used in the above example, e.g. by wrapping the template invocation onto a single line, the bot may not do what you expect.
Also, the template must be located:
- before the first ==second level header== on the page,
- on the actual page and not transcluded from a subpage (page header etc.).
Quick examples
To get the hang of it - configuration may not be intuitive, but it's flexible and gives potentially vast possibilities.
- Please change "User talk:Example" to the exact name of your own page!
- If it's still not working, read about the "minthreadsleft" and "minthreadstoarchive" parameters below.
Example 1 - static archive
NOTE: While simplest, this is probably not the best option - the second is most common. |
{{User:MiszaBot/config |algo = old(7d) |archive = User talk:Example/Archive }}
This setup archives threads from User talk:Example to User talk:Example/Archive after they are 7 days old (counting from newest timestamp). The archive will grow indefinitely. Probably not a very useful config (unless for sending threads to a periodically cleaned trash bin or to decide yourself when to go to the next archive page), but it's easiest, so I'm mentioning it first.
Example 2 - incremental archives
{{User:MiszaBot/config |algo = old(48h) |archive = User talk:Example/Archive %(counter)d |counter = 3 |maxarchivesize = 250K }}
This tells the bot to archive threads from User talk:Example to User talk:Example/Archive 3 (more about variables below) until it fills up to 250 kilobytes, whereupon the bot will move to 4 (updating the counter when saving page). Remember to specify the maximum size of an archive, or it will behave pretty much like in the first example.
Example 3 - date-based archives
NOTE: Do not substitute the "year" and "monthname" with actual values - the bot will treat them as variables accordingly. |
{{User:MiszaBot/config |algo = old(5d) |archive = User talk:Example/Archives/%(year)d/%(monthname)s }}
In this configuration, threads older than 5 days will land in archives depending on their date (that is newest timestamp). You can read about other variables below.
Parameters explained
{{User:MiszaBot/config |archive= |algo= |counter= |maxarchivesize= |minthreadsleft= |minthreadstoarchive= |archiveheader= |key= }}
parameter | meaning |
---|---|
archive | Name of the page to which archived threads will be put. Supports variables. |
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. Bot will update this parameter as necessary. |
maxarchivesize | The maximum archive size before incrementing the counter. Ignored if counter is not used. |
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 (lowers edit frequency by refusing to act when only few threads would be archived). Default value: 2 |
archiveheader | Content that will be put on new archive pages as the header. Supports variables. Cannot be multiline (use a template like {{archive-nav}}). Defaults to {{talkarchive}}. |
key | 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 that. :-) |
Variables
variable... | ...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, or twice a day for WP:AN and WP:AN/I. 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}}
{{archive box}}
{{talkheader}}
(this template has other functions, but also includes a list of archives)
See also
- User:HBC Archive Indexerbot - Creates a subject index of archived talk pages automatically
- {{autoarchivingnotice}} - a header to add to pages with automatic archiving