OSAF wiki features demonstration
Presented at OSAF staff meeting, Thursday January 25, 2007
Table of contents
If you've got a long document with sections, using a
%TOC% tag at the top (or anywhere), gives you:
Wiki help
Syntax help (bold, lists, tables) is available during editing, via the
the show-formatting help link above the edit box. The popup has other
info include a list and links for all plugins. Many of the features
below are provided by plugins, which are documented on their homepage.
Remember to use the plugin pages for reference material.
Other helpful pages include:
Keyboard shortcuts
Most useful to me:
- On any page
- Control (or alt) E to "edit".
- During editing
- Control (or alt) K to "checkpoint"
- Control (or alt) S to "save".
Edit box controls
Grow and shrink the edit box by up/down arrows at the lower right of edit
pane. You can also switch to using a monospace font. These settings,
and the state of other expand-o-content area are persistent via a cookie.
Jump and search bar
In the upper right are two (new) boxes. Try "demo" in each (but not now)...
In the jump results, you will get back a list partial matches. (If
you look carefully; the UI has been improved in a recent TWiki
upstream release.)
The search box searches the contents of all pages, so is much slower
(sorry about that still) so you'll get back many more hits.
So, if you can
remember just part of the page name, then try the jump box.
Customizing
You can set variables on your homepage. Like edit box size, skin used, rollover pop-up data, lots of random stuff you'll be unlikely to use unless you know about it. Documentation for the variables is in
TWikiVariables,
WebPreferences,
WebPreferences, plugin documentation, and the whole
TWiki.WebHome?.
You can also overwrite variables, or set a different skin, for specific pages as well as for specific users.
Jared's homepage has a couple of examples:
JaredRhine
Hiding wikiwords
It's really better wiki style in most cases to present readers with "polished" links ("spaced out text") as opposed to raw WikiWords. The general pattern for a link is something like this:
I've written [[Journal.JaredRhineNotes][my notes]].
That is, two parts. The first is the page (a URL, a relative page name, a web + page name), the second part is the text of the link.
This turns into
I've written my notes.
The other kind of "hiding of wikiwords" is keeping unintended words from being autolinked as a potential page. If you're trying to refer to
FooDAV, and it's saying
FooDAV?, then use
!FooDAV. That is, just stick an exclamation point at the beginning of the word.
Bugzilla
Bugzilla's a big part of development at OSAF. The wiki has some features to integrate with bugzilla.
Examples:
%BGQ{data="on" keyword="hosted-service" bug_status="NEW, ASSIGNED, REOPENED" product="Cosmo" target_milestone="Future" format="| $bug_id | $priority | $bug_status | $short_desc | $assigned_to |"}%
(Sorry, column sorting isn't available.)
Plugins are
BugzillaQueryPlugin (protected because it has a password in it),
BugzillaLinkPlugin,
BugWordPlugin,
InterwikiPlugin
Editable tables
You can have tables decorated with editing functions. Just throw a
%EDITTABLE{}% tag right before your table.
So:
%EDITTABLE{}%
| abc | def |
| 123 | 456 |
gives you:
Full documentation, with examples at
EditTablePlugin
Comment block
Sometimes you want to make comments really easy, or direct them to a particular part of a page. Add a comment block using the
%COMMENT% block. So
%COMMENT{type="below"}% gives:
There's lots of options for configuration; read
the docs for the plugin.
Includes (and thereby, sections)
You can include other pages, sections of other pages, and arbitrary http pages.
Three examples follow:
Simple page:
Enter:
%INCLUDE{"Journal.CalendarScribbles"}%
Get:
Status Collecting some ideas about more interesting ways to "annotate" your calendar
Straight URL
Enter:
%INCLUDE{"http://svn.osafoundation.org/chandler/trunk/chandler/util/__init__.py"}%
Get:
# Copyright (c) 2003-2006 Open Source Applications Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""
A package to hold helpful modules
"""
Sections
Enter:
%INCLUDE{"Projects.CommunityHome" section="people"}%
Get:
- TedLeung (Project Owner)
- PieterHartsook (data gathering and analysis; marketing and PR, www.osafoundation website; potential partner contact)
To define a section, you need to use
STARTINCLUDE and
ENDINCLUDE tags on the page to be include. See more info and documentation at
VarINCLUDE
WYSIWYG editor
There is a WYSIWYG editor that works nicely for most pages. Bullet
lists are nice to manage (hit enter for next bullet). If you've done
some fancy markup, it's possible to break a page, or that was Safari,
or we're not sure what. Some caution is warranted.
Text in various colors
It's pretty easy to generate
text of various colors. Try
%RED% to get
red text. Switch back with
%ENDCOLOR%.
You can of course drop in straight HTML into your wiki pages, so color and other HTML effects can be used that way.
Nifty graphics
There are a wide variety of graphic and effect macros defined by various plugins in TWiki. A whole list of default graphics is described here:
And there's another set of widget defined by the ominously named
SmiliesPlugin
Graph layout (GraphViz)
Just drop in a
<dot> block anywhere. So:
<dot>
digraph g {
a -> b;
b -> c;
c -> a;
}
</dot>
produces:
Plugin is
DirectedGraphPlugin (
examples).
Five more plugins
Coming soon
Breadcrumb
We'll be getting it back.
Template-based page creation
Should have been part of this demo, but forgot to pull together a good example.
Cool, but not demoable
In-line diagramming
You can inline editable diagrams. Use the
DRAWING tag. So:
%DRAWING{test1}%
produces:
But I can't see the applet menu on Mac, so I can't save.
Plugin is
TWikiDrawPlugin
Installed plugins
Our whole list of plugins is at
http://wiki.osafoundation.org/TWiki/TWikiVariables#VarPLUGINDESCRIPTIONS
Interesting features not described
- Using the tagging system (TagMePlugin)
- Interesting wiki stats via the UserInfoPlugin
- Setting easy substitution aliases via AliasPlugin
- Use of history and diffs
- Reverting to previous versions
- Differences between save, quiet save, checkpoint, preview
- Hierarchical, nested web areas
- Defining your own skins
- How to create and embed advanced searches. See FormattedSearch.
- Use of TWiki-style categories via embedding strings and searches: UserDocumentationCategory
- Using the personalized sidebar
- Use of WebDAV to manage attachments
- Details of attachment use
- Use of forms, metadata, and database queries
- Aspects of legacy features in the OSAF wiki (Page forms, glossary, Jungle, images)
- Google wiki search
- Use of RSS, Atom, RSSDiff, WebNotify
- Access control: hiding or protecting pages
- Setting up page redirects
- Slideshows via SlideShowPlugin
- MultiEditPlugin is installed, but untested
- SectionalEditPlugin is installed, but untested
- GoogleAjaxSearchPlugin is installed, but test key not working
- That list of contributors was/is provided by ContributorsPlugin
Possibly-interesting plugins that aren't installed