CorporisPublica:WikiProject Council/Guide/Technical notes

Advanced project banners
As a WikiProject grows and adopts various processes, it becomes necessary for its project banner template to do more than merely marking an article as being within the project's scope. For example, article assessments and peer reviews all generate metadata about an article; the most obvious place to store and display such information is in the banner of the relevant project.

Browsing through Category:WikiProject banners shows that there are a variety of different optional features that are added to banners by various projects, This section aims to present an annotated example banner that, while relatively simple, demonstrates the most common and useful coding options for such templates. It is not, of course, an exhaustive overview of all the possibilities; some extremely complicated banners (such as WPBeatles, WPMILHIST, or WPBiography) include dozens of optional fields and other advanced features, and projects that need them are advised to peruse existing banners for ideas. The case presented here, however, should be sufficient for the majority of WikiProjects, at least initially.

The banner is constructed for the hypothetical Tulips WikiProject, and includes a number of features:
 * Variable-size display
 * Article assessment support, including auto-assessments
 * A show/hide block for additional fields
 * Optional fields for a peer review department

The code for the banner is given below, followed by an annotated explanation of how each feature is implemented:

Basic framework
The basic framework of the banner is a table that uses one of three CSS classes, depending on the values of the  and   parameters. Normally, the banner is shown with  (which displays a full-size banner across the top of the talk page) set; when the banner is included with , however, it uses  , which displays it at a smaller size, floating on the right margin. When the banner is included in a WikiProjectBannerShell, the parameter  is required to display correctly in the shell via.



To save space while still having the WikiProjects visible on pages in the scope of a large number of projects, WikiProjectBannerShell can be used to display each banner as a one-line box with a "show" link. This creates that visible headline when  is used.


 * [[Image:Tulip-blossom.jpg|]]
 * This is within the scope of the Tulips WikiProject.
 * This is within the scope of the Tulips WikiProject.

The familiar main message of the banner has been enhanced by making some of the text only display in the full-size banner, and changing the term used for the page when a non-article rating (see below) is selected.

Assessment support
Support for article assessments is typically implemented in two parts: code within the body of the banner to display the assessment, and code outside it to add the needed categories. While it's possible to combine the two, this often results in less readable code.





The in-banner code checks the  parameter and displays one of three lines, depending on whether the parameter's value is a non-article assessment, an article assessment, or blank. If the value indicates that the article has been rated as "Stub-Class", and the  parameter is set to , another line is shown, indicating that the article has been automatically assessed and providing instructions on changing the assessment.

The out-of-banner code is a  statement that adds the appropriate category based on which value is selected for the   parameter.

The assessment class is often included in the WikiProjectBannerShell headline as well, by inserting the following code after the WikiProject link.

Show/hide blocks


The optional fields of the banner are enclosed within a table that acts as a show/hide block, only displaying the output of the optional fields when the [show] button is clicked by a user. The  statement at the top lists all the possible optional fields; if none of them are given values, the show/hide block will not appear at all. If additional fields are added to the banner, they should be copied into the list as well.

Optional fields




There are two optional fields,  and , that add support for a WikiProject peer review. Each one, when set to, displays an additional row in the banner, and adds the corresponding category.

The choice of a peer review for this example is arbitrary. Any other optional fields (such as collaborations, portal queue links, etc.) can be added identically to them, merely by changing the field name, displayed text, and category name within the code.

Using the banner
The full syntax of the resulting banner when used on a talk page is:

Thus, to display a small banner on an article rated as "B-Class" with a current peer review, an editor would add

to the talk page. It is considered polite to trim any blank fields when including the banner, as, for very complicated ones, the large number of unused fields tends to be rather messy.

Internal navigation templates

 * This section discusses internal navigation templates for WIkiProjects; for navigational templates used in articles, see CorporisPublica:Navigational templates.

As a WikiProject grows, it begins to acquire large numbers of subpages for various specialized purposes (such as assessment and peer review work or task forces); the largest projects can have dozens of subpages. The best way to ensure that all of these subpages can be easily located is to create a navigational template linking to them.

Most projects follow a fairly standard design for the template. It is placed as a right-floating bar, listing subpages (and usually corresponding talk pages), one per line. Here, for example, is part of the code for the navigational template used by the Lithuania WikiProject:

Another common feature for on navigational templates can be seen at the bottom of the navigational template used by the Military history WikiProject:

...  [ edit] &middot; changes
 * colspan="2" |
 * colspan="2" |

The key is the "changes" link; when the template is properly constructed, Special:Recentchangeslinked can be used to view, at a glance, any changes made to any of a WikiProject's pages.

The visual layout of project navigational templates tends to vary by project, with three stripe colors, two stripe colors, or colored boxes being common.

todo
The simplest way of creating separate task lists is todo, which can be placed directly on any WikiProject page to generate a  subpage whose contents can be separately edited (via the "edit" link at the top right of the box); this subpage can contain an arbitrary list of tasks. One example is the subpage used by the Melbourne WikiProject. Once the subpage is created, the to-do list can be placed onto any other page using the template.

Custom templates
A more sophisticated approach is to create a separate, custom template for the WikiProject's open task list. For example, the Tulips project could create WikiProject Tulips Tasks, which could then be transcluded where needed. Common places to include the template are the project pages themselves, and sometimes inside of a show/hide block in the project banner. Interested project members can also transclude the template on their user pages.

In many cases, the premade tasks template can be used inside the custom template to efficiently organize a WikiProject's open task list:

Each parameter can be filled with a list of the relevant articles for each type of work needed; for examples, see the lists maintained by the Israel WikiProject.

The open task templates can become arbitrarily complex, including features such as sub-templates for particular task forces; see, for example, the template used by the Military history WikiProject.

New article bot

 * User:AlexNewArtBot can be setup to patrol new articles and publish project related articles to a specific page. The project-specific keywords are configurable. Example: WikiProject Chennai/New articles.

Category count

 * User:Erwin85Bot can be setup to update a project page with a cross-tab report of the Assessment classes and task forces. Example: WikiProject Aviation/Maintenance/Assessment

Watchlists

 * User:SQLBot can be requested to create watchlist pages that help with recent change patrol. Example: WikiProject Firearms/Watchlist (defunct?)
 * AWB can be used to create watchlists using the save list options, "CSV file with wikimarkup" or "Text file with wikimarkup". Use template links or categories to generate the list, save the list to a text file, copy and paste links into the watchlist page. Use "convert from talk pages" option to get the article lists.

Newsletter delivery

 * Newsletter delivery bots can help with delivering project newsletters to the project members who have signed up. They can deliver either a link or a full-version based on member choice.

Assessment automation
Projects can request at bot requests page for help with,


 * project banner tagging using WikiProject tagging bots
 * request for class parameter to be populated from other project banners on the talk page
 * request for auto classifying stub categories with class=Stub
 * recursively traverse a root category and generate a category listing for a project review. The reviewed categories can be used by bot-operator for tagging the project banner.

WP 1.0 bot

 * Generate categories page can used to quickly create assessment categories.
 * This form can be used to run the WP 1.0 bot manually for a specific project.

AWB plugins

 * WPAssessmentsCatCreator, an AWB plugin can be used to create the assessment categories.
 * User:Kingbotk/Plugin is a AWB plugin that helps with article assessments. Simple projects can use the generic template. Complex projects can request for customization.

Igor

 * Igor, a WikiProject management tool, can be used to easily maintain the often tedious and laborious tasks of managing a medium to large WikiProject.

Lists of cleanup-flagged articles

 * User:WolterBot can generate lists of articles that have been flagged for cleanup, on a per-project or per-workgroup level. See User:B. Wolterding/Cleanup listings for details.

Article alerts

 * User:AAlertBot notifies WikiProjects and workgroups when their articles are nominated as FA candidates, when they are proposed for deletion, when RFCs are opened for them, and much more. See CorporisPublica:Article alerts for detailed information.

= Resources=