A one-page quick reference for Zwiki. See also HelpPage, configuring and the other docs at FrontPage.
Contents
Access keys
Zwiki provides a number of very useful keyboard shortcuts. See the access keys help.
Page types
Here are the page types currently supported. See TextFormattingRules for more about these. Also see Properties below for how to limit the page types that display in the edit form.
reStructured Text
(rst) From 2006, the default page type. Applies the docutils project's RestructuredText formatting rules. These are similar to STX, but more precise, better documented, and better suited to documentation. Clashes with Zwiki linking now and then. If enabled, DTML is also allowed and this appears as 'reStructured Text (+ DTML)'; DTML (or HTML) must be quoted in a raw literal block to take effect, eg:
.. raw:: html <b><dtml-var ZopeTime></b>
Structured Text
(stx) Until 2006, the default and best supported Zwiki page type. Applies Zope's StructuredText formatting rules, which also permit HTML. Works smoothly with most Zwiki linking & other features. If enabled, DTML is also allowed and this appears as 'Structured Text (+ DTML)'. May be more convenient when you want to mix in a lot of HTML and DTML.
HTML
(html) Allows standard HTML, does not apply any text formatting rules. Useful for pasting in HTML, editing with a real HTML external editor, or editing with Epoz wysiwyg editor. When pasting HTML, any <head> section is ignored for convenience. If Epoz is installed, this appears as 'HTML (WYSIWYG)' and uses the WYSIWYG editor built in to modern browsers. Otherwise DTML may be enabled, in which case this appears as 'HTML (+ DTML)'. (Epoz doesn't prevent DTML from working, but does mess it up when you save the page.) Zwiki comments also tend to get messed up on this kind of page, use another page type if you want those.
Plain text
(plaintext) Does no text formatting or linking at all; preserves line breaks.
WikiWikiWeb markup
(wwml) Applies the original WikiWikiWebMarkup rules, or something very like them. For wikizens who have those rules hard-wired in their brain.
MoinMoin markup
(moin) Applies MoinMoin's formatting rules, or close to them. Macros/templates are not supported.
Also, unless disabled, all of the above except Plain text do Zwiki-style wiki linking:
Linking
Here are (almost) all the ways you can make a hyperlink in a zwiki page.
- Wikiname links
The classic wiki link, formed by concatenating two or more capitalised words. Just write a camel-case WikiName, naming a page which may or may not exist yet. Zwiki's allow one-letter words and digits on the end.
CamelCaseName AName NameAndNumber2000
- Bracket links
A simple syntax for linking to free-form page names, now used on many wikis. Zwiki's bracket links are fuzzy - they ignore capitalization, whitespace and punctuation.
[free-form name]
- Double-bracket links
Same as the above, but less likely to occur in ordinary text, and familiar to wikipedia users (but don't support all wikipedia's syntax). Not often used.
[[free-form name]]
- Relabelled bracket links
As above, but a different link text can be specified after a | separator. Obscures the wiki's structure but is sometimes useful.
[free-form page name|show this instead] [[WikiName|show this instead]]
- Issue links
A convenient shortcut for linking to IssueTracker issue pages by number: write # followed by the number.
#1 #0001
- Bare URL links
Bare urls
http://some/where ftp://some/where mailto:someone@there etc.
- HTML links
Standard HTML hyperlinks, on page types which allow HTML tags (Structured Text, HTML, reStructured Text with ..raw, etc.).
<a href="http://some/where">link text</a>
- reStructured Text links
reStructured Text has a plethora of linking methods. See the RestructuredText docs. Here's the simplest
`some text <http://url>`_
- Structured Text links
Structured Text hyperlink syntax. Only allows ASCII characters.
"link text":http://some/where
- Structured Text footnotes
Structured Text footnote links.
[1] (any number) .. [1] footnote text.. something like that
- Remote wiki links
A shortcut for linking to frequently-used other wikis or sites; see RemoteWikiLinks. The local page defines a partial url for a remote wiki or other site.
LocalWikiPage:RemoteWikiPage LocalWikiPage:someotherthing
You can disable any of these links by prepending a ! character, or disable all links in a line by starting the line with !.
Permissions
Here are the current Zwiki and Zwiki-related permissions. You grant or deny these to various user roles in the ZMI Security tab for your wiki folder (the folder containing your wiki pages). You can also set permissions on a parent folder to be acquired by more than one wiki, or on an individual page.
- Access contents information and View
- allow accessing and viewing wiki pages and other objects.
- Zwiki: Add wikis
- allows pre-populated wikis to be created in the ZMI. (In Zwiki versions before 0.23 this was 'Add ZWiki Webs'.)
- Zwiki: Add pages
- allow zwiki page creation. (In Zwiki versions before 0.23 this was 'Add ZWiki Pages'.) In CMF/Plone, you also need Add portal content permission.
- Zwiki: Add comments
- enables the comment form
- (In Zwiki versions before 0.23 this was 'Zwiki: Add comments to pages'.)
- Zwiki: Change page types
- allows page type to be changed (see also allowed_page_types property)
- Zwiki: Delete pages and Delete objects and Copy or move
- allow page deletion. Permission to paste things into the /recycle_bin subfolder is also required, but this usually does not require additional configuration. (In CMF/Plone, you may also need Modify portal content permission ?)
- Zwiki: Edit pages
- allows page editing. (In CMF/Plone, you may also need Modify portal content permission ?)
- Zwiki: Rate pages
- allows page rating
- Zwiki: Rename pages
- allows page renaming
- Zwiki: Reparent pages
- allows page reparenting
- Add Documents, Images, and Files
- allows image/file upload
- FTP access
- allows ftp access to wiki pages
- Use external editor and WebDAV Lock items and WebDAV Unlock items
- allow editing via ExternalEditor, if installed. You'll need 'Zwiki: Edit pages' permission as well. (And 'Use webdav locks' ?)
- WebDAV access and WebDAV Lock items and WebDAV Unlock items
- allow editing via WebDAV
Properties
The following optional properties may be added in the ZMI to configure Zwiki's behaviour. You usually add these to the wiki folder's Properties tab, to configure the whole wiki. Or, you can set them on a parent folder (eg the root folder) to influence all wikis below that point. Many will also work as page properties, to control a single page (use this sparingly to avoid excess work). Also: Plone users can use ZWikiFolder to get a nicer UI for these properties, if you don't mind using a special folder type for your wikis. Properties are of the string type unless otherwise noted.
- boring_pages (lines)
- to override the default boring pages, (which send less mail and are omitted from rss feeds etc.) set this property with one page name per line. All their offspring will be included. Default: SandBox, TestPage.
- site_logo
- the standard skin will use this HTML snippet for the site logo
- allow_dtml (boolean)
- if this is true, and no no_dtml property exists, any DTML code in wiki pages below this point will be executed when they are viewed. This is off by default. Check SecurityDiscussion if you enable this for untrusted users.
- no_dtml
- use this to completely disable DTML below this point regardless of any allow_dtml properties. If this property exists (any type, any value), DTML in wiki pages below this point is always ignored.
- allowed_page_types (lines)
only these page types will be offered in the edit form. Have a look at HowToLimitAvailablePageTypes for newbie friendly detail. See page types above, but note you must enter page type ids here, not the friendly names. These are:
stx rst moin wwml html plaintext
Remark: The first of the lines, in the example above "stx" is also the default page type which is used when creating a new page.
- rst_raw_enabled (boolean) (default: false) (Zwiki 2)
- enables raw html in restructured text pages.
- use_wikiname_links (boolean) (default: true)
- enables bare WikiName links
- ignore_wikinames (lines)
- a list of bare wikinames to ignore
- use_bracket_links (boolean) (default: true)
- enables single-bracket free-form links
- use_double_bracket_links (boolean) (default: true)
- enables mediawiki-style [[double-bracket links]]?
- use_double_parenthesis_links (boolean) (default: true)
- enables linking with double parenthesis around a freeform link ((double-parenthesis links))
- space_wikinames (boolean, default: false)
- displays WikiName with spaces added
- show_subtopics (boolean, default: false)
- if true, show subtopics (child pages) below the main content
- banned_links (lines)
- a list of strings or regular expressions, one per line, which if found in an edit or comment will raise an error. An anti-spam feature. NB: do use a lines property, not a text one.
- max_anonymous_links (default: unlimited)
- prevents any edits by anonymous users (with no username cookie) which contain more than this number of hyperlinks to other sites (http://...). An anti-spam feature.
- edits_need_username (boolean, default: false)
- if true, anonymous users are not permitted to edit until they configure a username cookie in options.
- default_page
- the name of this wiki's front page (defaults to 'FrontPage').
- default_mailin_page
- the name of the default destination page for mailins with no page name in the subject
- auto_subscribe (boolean) (default: false)
- if true, auto-subscribe page commenters and creators
- mail_admin
- address of an administrator to send mailout error reports to
- mail_from
- sets the mailout From address, page subscription gets enabled once the mail_from property has been set AND a Mail Host object exists in ZMI
- mail_page_name (boolean, default: true)
- enables/disables the page name in mailout subjects
- mail_issue_name (boolean, default: false)
- issue page names in mailout subjects are abbreviated to just the number, unless this is true
- mail_replyto
- sets the mailout Reply-To address
- mail_signature
- overrides the standard mailout footer
- mail_to
- sets the mailout To address
- mailout_policy (default: comments)
- can be comments or edits
- mailin_policy (default: subscribers only)
- open or subscribers
- mail_accept_nonmembers (lines)
- a list of non-subscribed addresses that may post (may be From or Sender)
- subscriber_list (lines)
- list of whole-wiki subscribers; this is normally updated by the subscribe form
- issue_severities (lines)
- define values for IssueTracker/FilterIssues
- issue_categories (lines)
- ...
- issue_statuses (lines)
- ...
- issue_colours (lines)
customizes the colour coding for issues - see "ISSUE_COLOURS" in plugins/tracker/tracker.py for default value and instructions.
Note: after changing issue_ properties, you'll probably need to visit SOMEPAGE/setupTracker again to make sure the correct data appears in tracker listings.
In addition, every zwiki page has or can have these standard properties. Most of these can not or should not be changed directly in the ZMI, as it will (mildly) confuse Zwiki. The exception is subscriber_list, which can be convenient to edit directly.
- title
- stores the page name. Can be changed in the ZMI, but resist the urge! This will tend to confuse Zwiki (FAQ). Use the editform instead.
- page_type
- selects the render method/formatting rules. Should be read only, use the editform to change this.
- last_editor
- username of last editor
- last_editor_ip
- IP address of last editor
- last_edit_time
- time of last edit
- creator
- username of page creator
- creator_ip
- IP address of creator
- creation_time
- time of creation
- parents
- lines list of page names who are parents. If changed in the ZMI, you need to run SOMEPAGE/updatecontents to update the outline cache. Better to use the backlinks or page management form.
- subscriber_list
- lines list of page subscribers (email addresses or CMF member ids). If there is an :edits suffix, that subscriber will receive all edits. Useful to edit this when someone has forgotten their email address.
- zwiki_content_type
- overrides the HTTP Content-type header when viewing this page - an experimental addition for LatexWiki/MathML?.
Skin templates
Here are the page templates/dtml methods you can install in the ZODB in order to customize Zwiki's user interface. See customizing appearance or CustomizingTheSkin or HowZwikiSkinsWork or HowTos for more on how to do this.
Here is the list of skin templates (copied from the latest code). All but a few of these are used in both the standard and CMF/Plone skins.
accesskeys.pt | defines the quick Access keys |
addwikiform.dtml | the ZMI 'Add ZWiki' form |
addwikipageform.dtml | the ZMI 'Add ZWiki Page' form |
backlinks.pt | the backlinks form, accessed by clicking the page title or alt-b |
badtemplate.pt | displayed when a custom template is broken |
blank_star.png | used in ratingform |
commentform.pt | the comment form |
content.pt | the main content area, used by wikipage |
contentspage.pt | the wiki contents view, alt-c |
denied.pt | displayed in some not permitted situations |
diffform.pt | the edit history browser, accessed by clicking a timestamp or alt-d |
editform.pt | the page edit form, alt-e. Also the page creation form. One of the more complicated templates. |
head.pt | the html head used in all views |
hierarchylinks.pt | hierarchy next/prev/up navigation links, disabled by default |
links.pt | wiki navigation links, usually at top right |
maintemplate.pt | the wrapper for all views when using the standard Zwiki skin. A good place to customize the global layout, eg to integrate your wiki with an existing site. When using the CMF/Plone skin, however, their main_template is used instead. |
pageheader.pt | the wiki logo, page title, parents, search box etc., used by wikipage. Enable the COMPACT_PARENTS flag to list parents on one line. |
pagemanagementform.pt | the quick page management form, usually at the bottom of the main page view |
RecentChanges.dtml_ | DTML implementation of the recent changes view; also the prototype for installing as a wiki page |
recentchanges.pt | wraps the above in the standard skin, alt-r |
SearchPage.dtml_ | DTML implementation of the search form; also the prototype for installing as a wiki page |
searchwiki.pt | wraps the above in the standard skin |
siteheader.pt | an optional site header displayed at the top of all views |
star.png | used by ratingform |
stylesheet.css | the CSS used by all views in the standard Zwiki skin. Includes general Zwiki and also reStructured Text-specific styles. Probably the first thing you'll want to customize. This may be a File, DTMLMethod, wiki page or whatever; the first is best for caching, the last is best for easy editing. In the CMF/Plone skin, however, their styles are used instead. |
subscribeform.pt | the mail subscription form, alt-m |
subtopics_board.dtml | an alternate message-board-style subtopics layout |
subtopics_outline.dtml | the default outline-style subtopics layout |
UserOptions.dtml_ | DTML implementation of the options form; also the prototype for installing as a wiki page. |
useroptions.pt | wraps the above in the standard skin, alt-o |
wikipage_icon.gif | used as generic Zwiki page icon, favicon and wiki logo |
wikipage.pt | the main wiki page view, alt-v. A good place to rearrange the layout of wiki page elements. |
Additional templates defined by Zwiki plugins:
ratingform.pt | displays the rating form, usually at top right; used by wikipage |
FilterIssues.dtml_ | DTML implementation of the filter issues form; also the prototype for installing as a wiki page |
filterissues.pt | wraps the above in the standard skin |
IssueBrowser.dtml_ | DTML implementation of the issue browser form; also the prototype for installing as a wiki page |
issuebrowser.pt | wraps the above in the standard skin |
issuepropertiesform.dtml | the issue properties form displayed at the top of all issue pages |
IssueTracker.dtml_ | DTML implementation of the issue tracker form; also the prototype for installing as a wiki page |
issuetracker.pt | wraps the above in the standard skin, alt-t |