Category:Pipe

From Wiki
Jump to: navigation, search

Contents

A pipe is an impersonal position controlled by a pipe minder. It carries votes like a delegate, but its own vote never counts. Generally the pipe represents a group or other association of persons.1 Pipes must be explicitly enabled by the pollwiki administrator; for instructions, see #Enabling pipes in the wiki. Note that the pipe naming conventions shown in the examples below will work only for the present pollwiki. Different pollwikis will have different naming conventions. Be sure to follow the instructions of the pollwiki you intend to use.

Form

A pipe page is a root user page, never a subpage. The page name adheres to the following pattern:

User : PIPE-PREFIX ID PIPE-SUFFIX

An example is User:Pipe-1138-ZeleaCom.2 As with most user pages, the unprefixed name (without the "User:" namespace) is a mailish username. The identifier component (ID) may comprise any sequence of ASCII characters except spaces ( ) or slashes (/).3 Only the identifier varies from pipe to pipe, while the other components stay the same within a given pollwiki. For example:

User:Pipe-1138-ZeleaCom
User:Pipe-1139-ZeleaCom

Although the pipe is formed as a user, it is both a user and a position in one. Unlike an ordinary user, it is associated with at most one position, namely itself.

Creating a pipe

A basic pipe declares itself by a template call in the following form. This is the minimal wikitext essential to a pipe:

{{pipe
 | is active = Property:Is active value.
 | minder = Property:Minder value, but without the "User" namespace.
 | poll = Property:Poll value.  Encoded in the page under id "pipePoll".
 }}

Certain restrictions of placement and form are necessary for this to work correctly. The template call must precede any section headings that are written to the same page. And the template parameters must be assigned in the order shown above.4 Violating these restrictions may cause the pipe to fail. Follow these instructions to create a pipe:

  1. Test whether the chosen pipe name is already in use. Visit the pipe page (e.g. User:Pipe-1138-ZeleaCom). If the page exists, then choose another identifier. Short and largely meaningless identifiers, like the alphanumeric strings on license plates, are recommended.

  2. Create the wiki account for the pipe user. Where the creation page asks for an email address, supply instead the mailish translation of your chosen pipe name (pipe-1138@reluk.ca).5

    The wiki will attempt to send a confirmation code for authentication purposes, but you will not receive it. Instead the code will be re-sent during minder assignment, below.

  3. Edit the pipe page, inserting the essential wikitext:

    {{pipe
     | is active = true
     | minder = YOUR USERNAME
     | poll = Sys/p/sandbox
     }} <!-- must precede any section headings, parameter order matters -->
    

    You may want to copy from an existing pipe page. In any case insert your own mailish username, plus the correct name of the poll.

  4. Finish the minder assignment by following the instructions of Property:Minder#Assigning a minder.

Deactivating a pipe

  1. Edit the pipe page, changing its "is active" property to false.

  2. Uncast any vote in the pipe's assigned poll.

The pipe may be reactivated and reused at a later time. To keep a list of your deactivated pipes, use the following wikitext:

{{#ask: [[Category:Pipe]] [[Minder::User:YOUR USERNAME]] [[Is active::false]]
  | ?Poll
  | default = ''no inactive pipes''
  | format = ul
  | headers = hide
  }}

Enabling pipes in the wiki

This section is for pollwiki administrators. Verify that this pollwiki is the one you intend to use, as instructions may vary depending on the pollwiki. Pipes are enabled by setting three interface messages in the wiki, and setting up a mail relay. The pattern of email addresses to be relayed will determine the content of the interface messages, the two being related by the mailish translation rules.5 Bear in mind that subsequent changes to pipe configuration are likely to be disruptive.6 Follow these instructions:

  1. Choose the form of email address to forward:

    MAIL-PREFIX ID MAIL-SUFFIX
    

    Ensure that the first letter of the prefix (e.g. pipe-) is lowercase.7 For example:

    pipe-1138reluk.ca
    pipe-1139reluk.ca
    
  2. Configure the relayer to relay messages for each such address to its assigned pipe minder.8

  3. Translate your chosen MAIL-PREFIX (pipe-) to a PIPE-PREFIX (Pipe-),5 and set it as interface message MediaWiki:Vo-pipePrefix.

  4. Likewise translate your chosen MAIL-SUFFIX (@reluk.ca) to a PIPE-SUFFIX (-ZeleaCom), and set it as interface message MediaWiki:Vo-pipeSuffix. It will always begin with a dash if your prefix begins with a lowercase letter, as required.5

  5. Set interface message MediaWiki:Vo-pipeDomain to the fully qualified hostname of the MAIL-SUFFIX (reluk.ca in this example).

In order for the new interface messages to fully propagate, the vote-servers associated with the pollwiki may need to be restarted.9

See also

Notes

  1. ^ The concept of pipes as impersonal users originates with Thomas von der Elbe. Michael Allan coined the name "pipe" and assisted with the technical design. http://mail.zelea.com/list/votorola/2012-June/001380.html
  2. ^ The pipe naming conventions shown in the examples below will work only for the present pollwiki. Different pollwikis will have different naming conventions. Be sure to follow the instructions of the pollwiki you intend to use.
  3. ^ Non-ASCII characters might also work in the pipe identifier, depending on the capabilities of the mail server. But ASCII is recommended.
  4. ^ See PipeRevision.TEMPLATE_CALL_PATTERN.
  5. ^ a b c d On the translation between mailish usernames and email addresses, see: http://reluk.ca/project/votorola/_/javadoc/votorola/a/voter/IDPair.html#appendUsername%28java.lang.String,%20java.lang.StringBuilder%29.
  6. ^ See "Change in pipe naming scheme". Position pipes (design sketch). Votorola. http://mail.zelea.com/list/votorola/2013-April/001676.html.
  7. ^ Lowercase prefixes are currently required by the documentation templates, which will otherwise render incorrectly.
  8. ^ For a working example of a Postfix relayer, see: http://reluk.ca/system/host/havoc/usr/local/libexec/relay-to-minder
  9. ^ For instance, Votorola needs to be restarted. Otherwise it will not necessarily see that pipes are enabled in the pollwiki, and pipe user logins are likely to fail in one of two ways. It depends on which type of login is enabled in the vote-server (both types take an email address). For wiki login, the normal failure is, "Your login address differs from your email address as authenticated in the pollwiki." (It compares the login address, rather than the minder's address). For plain email login, the login message might fail to reach you (it depends on how the relay is implemented).

Subcategories

This category has the following 3 subcategories, out of 3 total.