User:Pee Tern/Sandbox/Template/autonumbered list/doc

Purpose
The  template allows a list of items to be columnated and have a ranking or number scheme automatically calculated; however, it has exceeded template limits for higher item numbers.

For example:

the data in which is produced by: The number can be single level, or include sub numbering up to a total of three levels of numbering.
 * Biggest Failed Bank Inc.
 * $200,000,000,000
 * Bigger Failed Bank Pty. Ltd.
 * $20,000,000,000
 * Big Failed Bank Ltd.
 * $2,000,000,000
 * Small Failed Bank Pty. Ltd.
 * $100,000,000

By allowing automatic numbering, editors do not have to adjust the contents of many rows of data when numeric rankings change. The editor can simply add or remove items from the list of items, and the numeric ranking will be automatically recalculated.

One to five columnated fields of data can be included in each list item.

Comparison with "#" wikimarkup
While normal wikimarkup using "#"s will number items in a list, wikimarkup does not:
 * prefix parent numbers to sub numbers
 * allow for duplicted rankings to be skipped
 * allow data fields within list items to be columnated

Number of list items is limited to 50
The template can only handle up to 50 list items at one time.

This can be worked around by using the continued and startat parameters in multiple inclusions of the template one exactly below the other on the page.

Parameter use for the continuation work around is:
 * The heading parameters should be used only on the first inclusion.
 * The startat parameter should be used on all but the first inclusion.
 * The continued parameter should be used on all but the last inclusion.
 * Parameters such as numberwidth, columnwidthN, and tablewidth should be set to the same values for all inclusions.
 * The columns parameter can also be used, and should also be kept the same in each inclusion, but readability might be reduced because list items will be columnated within each inclusion, not across all inclusions.

See Continuation from one list to another and Multiple fields examples below.

Number depth is limited to 3
The template can only handle up the three levels of numbering, that is: 1 1.1 1.1.1

There is no work around.

Number of columnated fields of data is limited to 5
The template can only handle up to five fields of data for each list item.

There is no workaround.

Missing number level flags
The template is likely to behave unpredictably if a number level flag is missing, for example, parameter constructs such as: |#|Stuff |#.#.#|More stuff

(There is no second level number flag between the first and third level list item.)

or: |#.#|First list item

(There is no first level number flag before the second level list item.)

Invalid number level flags
Unrecognised number level flags are ignored. The corresponding list item will still be displayed, but the automatic numbering behaves as though the list item does not exist.

Caution
This template and its sub templates push the wiki functions parser to its limits.

To minimise load on servers, it is best used when there are constant changes to ranked columnated lists, which would require frequent editing and extensive manual adjusting, and edit reviews, of tables.

If a ranking is static, or only ever gets added to at the bottom, then hard coded tables are much more efficient.

Continuation from one list to another
Continuation would normally only be used for numbered lists greated than 50 (the template maximum) long. In this case, just for example, the first list only has 10 items in it.

Parameters
This template uses both named and unnamed parameters.

The number flag and the list item content for each list item are unnammed parameters.

Wiki function parser limit
This template relies on a subtemplate,. The {&#123;colevel/count_things}} template reaches one or more nested function depth limits, and is extensively coded to get around this problem. It is probably not viable to increase the number of list items processable by this template unless the template's algorithm can be completely redesigned to use a much flatter structure.