Wiki Introduction
For a list of available wikis, please see ClasseWikis.
For the official Foswiki documentation, please see WelcomeGuest.
Start presentation
Slide 1: CLASSE Wiki
The CLASSE Wiki server is a collaborative environment for editing and organizing documentation.
- viewable and editable from any web browser on any platform (windows, mac, linux, mobile devices, etc.)
- automatic revision control tracking who changed what when
- automatic notifications of changes
- fine grained control over who can view or edit what pages or areas
- WYSIWYG editor (What You See Is What You Get), supporting common keyboard shortcuts (copy and paste, bold, italicize, underline, etc.)
- drag and drop attachment support
- flexible search, including attachments
- secure, and backed-up nightly
- open source, extendable, and fully customizable design and organization
CHESS Documentation
See
https://wiki.classe.cornell.edu/Computing/WikiIntroduction to get started.
Slide 2: What's in the CLASSE Wiki?
- Webs: A Wiki is divided into webs (think folders or directories), each one represents an area for collaboration. Most CLASSE projects and groups have their own public and private wiki areas. Currently, this site has the following webs: ACC, ACC.ACL, ACC.Bunch, ACC.Private, BusinessOffice, CBB, CBB.NSF, CBETA, CESR, CESR.Private, CHESS, CHESS.FMB, CHESS.Maia, CHESS.XIMG, CHEXS, CLASSE, CLASSE.Inventory, CLASSE.Private.Communications, CLEO, CLEO.Private.AC, CLEO.Private.Administration, CLEO.Private.RunMan, CLEO.Private.SW, CMSPhase2MREFC, Computing, Computing.Blogs, Computing.Newsletter, Computing.Obsolete, Computing.Private, Cosmology, Cosmology.Private, DarkPhoton, ERL, ERL.Private, EngineeringDesignDrafting, G2, HEP, HEP.DBSWorkshop, HEP.SWIG, HLLHCCMSMREFC, HMF, HumanResources, HumanResources.Private, ILC, ILC.Americas, ILC.CesrTA, ILC.CesrTA.Proposal, ILC.DampingRings, ILC.DampingRings.AreaLeaders, ILC.DampingRings.CTA09, ILC.DampingRings.ILCDR06, ILC.DampingRings.ILCDR07_KEK, ILC.DampingRings.ILCDR08, ILC.DampingRings.S3TaskForce, ILC.Private, ILC.Private.CesrTA, ILC.WWS, MacCHESS, Main, People, PhotocathodeBrightBeams, REU, REU.Private, SRF, SRF.Private.PCsrfcn1, Safety, Safety.Handbook, Safety.Handbook.Private, Safety.Handbook.Private.ExternalResources, Sandbox, Sandbox.TestWeb, Sandbox.Testauth, System, Theory, Trash.Communications, Trash.Documents, Trash.Phase2MREFC, WebDev, WebDev.Private, XLEAP
- Topics: Each web is made up of hyperlinked topics (think pages) that appear in your browser.
Slide 3: Adding Content
To edit a wiki page, just browse to that page and click on "Edit."
On each
Edit page, there are a few text-formatting tips, along with a link to
More formatting help. See this page for instructions on creating headers, lists, tables, etc. While many will find the wiki shorthand easier to use, standard html tags can also be used. This can simplify the process of importing data from static web pages into a wiki page.
It also helps to look at existing pages to see how things are done. When viewing any wiki page, you can click on "View wiki text" to see the source "wiki syntax" of that page.
There is also more documentation, including a tutorial, at:
https://wiki.classe.cornell.edu/System/WebHome
Remember that Foswiki (the program we are using for our wiki) gives us revision and access control over every page and attachment. Don't hesitate to try something, it can always be undone =)
New Pages
You can create a new page by using a
WikiWord. A WikiWord is just two or more capitalized words run together. Just type a WikiWord in a page, and the next time you view that page, the
WikiWord will show up in red. Click on the red text to create the new page.
If you want to change the text of the link to the new page, you can use also create the link using wiki syntax:
[[WikiWord][Link text]]
If you need to use a WikiWord, but you don't want it to link to a new page, put an "!" before the WikiWord (e.g. "!GeV").
You can also create new pages using the "Jump" box in the upper-right corner. Just enter a new page name there, and if the page does not exist, it will ask you to create it.
Slide 4: Automatic Notification of Changes
Foswiki sends daily reports of everything that has changed in a given wiki. To receive these reports, add your name or group to the
WebNotify topic for your wiki. For example, see the Computing
WebNotify page:
https://wiki.classe.cornell.edu/Computing/WebNotify . As documented in each
WebNotify topic (beneath the list of registered users), you can add an ":TopicName" after your name to selectively choose which topics are included in your notifications.
Since all account informaiton in the CLASSE Foswiki server is pulled form the CLASSE LDAP Domain, listings in WebNotify pages should be in one of the following forms:
* DevinBougie
* %USERSWEB%.DevinBougie
* 'somegroup'
For a list of all groups, please see
WikiGroups.
Alternatively, you can view an RSS feed of updates to any given wiki. To see the RSS feed, point your RSS reader to the
WebRss topic for your wiki. For example, to view an RSS feed for the CLASSE Computer Group wiki, point your RSS reader to feed:https://wiki.classe.cornell.edu/Computing/WebRss
Slide 5: Restricting access
Write Access: At the most basic level, anyone with a CLASSE account can edit most CLASSE wikis. Many wikis have chosen this open access because it is easiest administratively and encourages the widest participation. As all changes are logged and version controlled, we can always go back if something has been inappropriately changed. Presumably it is clear in most cases who has jurisdiction over what. For instance, most CHESS staff will not be interested in editing the CESR material.
Read Access: Most CLASSE groups or projects have a public and private wiki. The Public wiki (for example,
https://wiki.classe.cornell.edu/CHESS/ ) is open to anyone. Likewise, by default the Private wiki is only accessible by users with CLASSE accounts. For example, CHESS's private wiki is at (
https://wiki.classe.cornell.edu/CHESS/Private/ ).
Foswiki (the wiki implementation we are using) does provide for fine grained access control. Of course, there are cases where you will want to restrict read or write access to a single user or group. In this case, it is appropriate to use a CLASSE Group. To do this, submit a
ServiceRequest. Once you have created a new group, you probably want to restrict read or write access to this group. To do this, go to the
WebPreferences page for the wiki you want to restrict and edit the ALLOWWEBVIEW or ALLOWWEBCHANGE settings. For example, see the Computing
WebPreferences at
https://wiki.classe.cornell.edu/Computing/WebPreferences .
You can also restrict access to an individual page using ALLOWTOPICVIEW and ALLOWTOPICCHANGE. This can be done when editing a page by clicking on the "Permissions" tab. You can also manually enter permissions into the text of a page as follows (replacing COMMAND with either ALLOWTOPICVIEW or ALLOWTOPICCHANGE).
<!--
* Set COMMAND = cmpgrp, Main.DevinBougie
-->
For additional help, please see
AccessControl or email
service-classe@cornell.edu .
Slide 6: Customizing the display
The organization, presentation, and design of Foswiki is fully customizable. It's fully open source, and there's a wide variety of available
Foswiki extensions.
Although it's possible to write your own foswiki skin from scratch, the default skin used at CLASSE is very flexible. For an overview of what's possible, please see
https://foswiki.org/System/PatternSkinCustomization . Some examples include:
- CSS:
For instructions on overriding or adding to the CSS for your wiki, please see https://foswiki.org/System/PatternSkinCssCookbook
- Left-Hand link menu:
The left-hand menu is defined by the WebLeftBar page in each wiki. For example, see the Computing WebLeftBar ( https://wiki.classe.cornell.edu/Computing/WebLeftBar
To hide the left hand link list entirely, add "Set USERSTYLEURL = /pub/System/PatternSkinCssCookbookNoLeftBar/hideleftbar.css" to the WebPreferences for your web or an individual page.
- Top Bar:
The top bar can be customized by creating a WebTopBar page for each wiki.
To simply change the header image, change the WEBLOGONAME, WEBLOGOURL, and WEBLOGOALT settings in your WebPreferences page.
Slide 7: Preference Settings
There are many preference settings that can be set for individual users, webs, or topics, some of which were already described in this tutorial. For more information on the exact syntax to use when setting a preference, please see
http://foswiki.org/System/PreferenceSettings.
WYSIWYG and "Raw" Wiki Editing
By default, the
Edit
link will open the graphical WYSIWYG editor. To then switch to the "raw" or "wiki" text editing mode, click on the "WIKI TEXT" link in the WYSIWYG toolbar.
To start out in the text editing mode, use the "Edit wiki text" link instead of just "Edit."
To make the "raw edit" mode the default, set the "Set NOWYSIWYG = 1" option. This can be set on an individual page, for an entire web (using WebPreferences), or for a specific user (using, for example, Main.DevinBougie).
* Set NOWYSIWYG = 1
Slide 8: Useful Tricks
Table of Contents
The CLASSE wiki can automatically generate a table of contents for any page. Full documentation can be found at
VarTOC, but to get started simply enter the following anywhere on your page.
%TOC%
Including Content From Other Pages
Sometimes it's handy to include content from a part or all of another page. Full documentation can be found at
VarINCLUDE and
IncludeTopicsAndWebPages, but in its simplest form you would enter the following code to include everything from the
TipsOfTheDayInclude page.
%INCLUDE{"System.TipsOfTheDayInclude"}%
Templates
Any existing page can be used as a template for a new topic. This is frequently useful when you want to create multiple pages that use the same template - for example for meeting minutes or a regular newsletter.
Once you have a page that you want to use as a template, you can create a form that you use to create new pages using that template as follows.
<form action="%SCRIPTURL%/edit/%WEB%/%URLPARAM{"topic"}%">
*Page Name*: (for example, "StaffMtgJanuary082015")<br />
<input name="templatetopic" type="hidden" value="StaffMeetingTemplate"></input>
<input name="topicparent" type="hidden" value="StaffMeeting"></input>
<input name="topic" type="text" value="StaffMtg" size="25"></input>
<input type="submit" value="Create Meeting"></input>
</form>
Searching for and displaying content from other pages.
In addition to including content from a different page, the CLASSE wiki has a very powerful search tag. Please see
VarSEARCH and
FormattedSearch for more information. For example, you could list all of the IT Newsletters by inserting the following on your page.
%SEARCH{ "Newsletter" scope="topic" casesensitive="on" regex="on" nosearch="on" nototal="on" order="modified" reverse="on" noheader="on" web="Computing.Newsletter"}%
DataForms can be used to create and display structured data, and are particularly useful in conjunciton with the
FormattedSearch described above.
Please see
DataForms or submit a
ServiceRequest for instructions on creating a new table. Then to apply the form to a page, click on the "Add form" button when editing that page.