The wiki is a collaborative document editor which is easily edited. By default any logged in user can edit your project wiki. But like most modern wiki's all edits are non-destructive -- we keep a copy of every version.
The wiki page itself has an edit button at the top right, and a discussion feature at the bottom of every page. The comment system is the same as all of the other tools in the new forge.
Like most wiki's there's a history page allows you to view the most recent edits to the wiki, and revert to any previous version.
Advanced users can modify permissions at Permissions can be modified at:
http://sourceforge.net/p/PROJECTNAME/admin/wiki/permissions
Wikis by default have a left navigation/tool sidebar and a right metadata panel which shows authorship, tags, and attachments. These can be optionally removed in the wiki's configuration options under "admin".
The wiki uses the markdown syntax (http://daringfireball.net/projects/markdown/syntax) with a few notable extensions.
WikiWords (words with internal capitalization) automatically create page links
any page can be linked with surrounding square brackets ie [mypage]
links to resources in other tools can be explicitly referenced by adding a tool identifier prefix to the link. So for instance [developerwiki:MyTechnicalPage]
and [userwiki:MySimplePage]
can refer to wiki pages in separate instances. Pages from the tickets or discussion tools can similarly be used
macros can be used to call functions in the wiki, currently we have two macros include
and img
:
include
macro looks like this: [[include ref=PAGENAME ATTRIBUTE=VALUE ATTRIBUTE2=VALUE etc]]
img src=IMAGENAME
surrounded by double square brackets [[ ]]
-- this embeds an attached image, or image by url into the pageconfluence-style "|" delimited tables are not supported.
The adobe wikis can also accept a restricted subset of HTML.
Wiki pages can store attachments for files up to ~10M, including images.
All wiki pages are read/writable via the REST API, which has 3 main functions:
View page
adding "/rest" as the top level directory allows you to fetch the wiki pages in JSON format ie: https://sourceforge.net/adobe/cairngorm/wiki/CairngormTools/
becomes
https://sourceforge.net/rest/adobe/cairngorm/wiki/CairngormTools/
List pages
similarly, prefixing the wiki tool path with "/rest" lets you see a JSON list of pages in the wiki: https://sourceforge.net/rest/adobe/cairngorm/wiki/
Update page
Updating the wiki is done by calling the view page with additional parameters, including signed API keys. I have attached a python script which demos the basic functionality by allowing a wiki page to be created out of a markdown or HTML file, but it requires that the user create a .forge-api.ini file with the parameters:
[keys]
api-key=XXXXXX
secret-key=XXXXX
these keys can be generated for your account by going to the https://sourceforge.net/auth/prefs/ page. Usage is then:
wiki-post.py --url=WIKI_REST_PATH PAGENAME FILENAME