OPOSSEM uses Mediawiki, the same software that powers Wikipedia. However, several modifications have been made to facilitate the organization and writing of a textbook. Below is an overview of how different parts of the site are organized. It assumes readers are not familiar with MediaWiki. It provides an overview of the site and some recommended practices. It also has links to relevant help files.


Namespaces are like folders where wiki pages are stored. Different folders hold different types of pages: articles, help files, user profiles, etc. You could have two different pages with the same name stored in two different namespaces. For instance, you could have a page called About stored in both the OPOSSEM and the Help namespaces. The former would be about OPOSSEM and the latter would be about Help. The URL or the title of a page (unless it is in the Main namespace) will appear as Namespace:PageTitle throughout. Pages in the main namespace appear just as PageTitle.

Standard namespaces[edit]

All MediaWikis come with a set of standard namespaces. Each namespace has an associated _Talk namespace for the talk pages that correspond to each page in the namespace. In OPOSSEM the namespaces of interest are:

  • Main: Topic pages of the textbook are stored here.
  • OPOSSEM: Pages about the OPOSSEM wiki, such as standards and norms, are stored here.
  • Help: Help pages.
  • Templates: Snippets of code used to format references, add default text to pages, etc. Often, templates are protected from editing.
  • Users: User pages, where you can edit your information. You can also create subpages to store snippets of code or your own custom pages that you might want to add to your version of the textbook. Your user talk page can be used for others to contact you or leave a message. You can edit your Help:Preferences to change how you are contacted if someone posts to your user talk page.

Custom OPOSSEM namespaces[edit]

In addition to those above, OPOSSEM has two custom namespaces:

  • Equation: This namespace holds snippets of code that format and display equations on pages. By adding equations here, it ensures that consistent equations and notation are used throughout the text.
  • Def: This namespace holds glossary terms and definitions. Note: One way to populate these pages would be to import the corresponding page from Wikipedia. So during the initial drafting of the textbook, it would be good to add tags for the definitions needed, e.g., [[Def:Variance]]. Then, an admin could look at all the needed definitions and export/import the corresponding Wikipedia page, which our users could then modify/update as appropriate for our community.


Categories are like 'tags' that can be applied to any page. To tag a page with a category, add [[Category:TagName]], usually at the bottom of the page. The categories appear at the bottom of the page.

The default templates for Equation and Definition pages have Category tags for Equations and Definitions. However, these tags are bracketed by text which categorizes only the Equation and Definition pages, not the pages on which the equation or definition appears. Help pages should also always have added [[Category:Help]].

Creating new textbook pages[edit]

On the Main_Page, there is a list of undergraduate textbook topics to be created or edited. Red links are to pages that belong in the wiki but need to be created. When you open a new page, it will have some template text already, including placeholders for headings and examples. This template is defined by Template:New_page. In order to build in flexibility, ideally each page of content will present the material in the smallest discrete unit possible, so that other instructors can re-mix and combine topics to fit their own needs.

At the bottom of each textbook page, there are headings for discussion questions, problems, and glossary terms. Any special instructions for each of these items appears inside the template as hidden text.

Adding equations to the text[edit]

To ensure that equations are used consistently throughout the text, equations should be stored in the namespace equations and then called into a page using their name.

For a list of existing equations, see Equations. If you see the equation you need, type {{Equation:EquationName}} and the equation will appear inline in your text.

If the equation you want is not listed, you can type {{Equation:NewEquationName}} and continue writing. The red text will let users know that this equation needs to be created.

If you decide to add the needed equation page, you can use LaTeX to write the equation. Help:Displaying_a_formula has further information. You should also refer to OPOSSEM:EquationStylesheet for additional guidance.

Other guides for writing LaTeX math:[edit]


Help:Links has detailed information about adding links. Short version: External links go between [ ]. Links to pages within OPOSSEM go between [[ ]]. If you want to display alternate text, rather than the link address, then put the display text inside the brackets and behind a pipe |. For instance, to link to the Main page but call it banana, type [[Main_Page | banana]], which will display banana. Note: Links are capitalization sensitive.

You can also make links to other Wikimedia Foundation sites using Interwikimedia_links.

Note that [[ ]] are used to link to other pages. Adding {{ }} around a page name displays displays the contents of the bracketed page on the current page, via transclusion. The same {{ }} are used to display an equation or definition 'in line'. However, use [[ ]] to add a 'link to' the equation or definition page.


See Help:References. Also, see Template:Quicktemplates for snippets of code that will help you add references in-line in your text. Please be sure to add references/links to any datasource you might use to create an example or image.