organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf ·...
TRANSCRIPT
![Page 1: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/1.jpg)
organising sysadmin documentation
Jon DowlandInformation Systems and Services
Newcastle University
![Page 2: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/2.jpg)
Overview
• History and first attempt• Findings• Next generation• Conclusion
![Page 3: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/3.jpg)
History and first attempt
![Page 4: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/4.jpg)
Introduction
• Newcastle Universityo ~4,800 staff; ~20,000 students
• Information Systems and Serviceso ~160 people
• Diverse ecosystem
![Page 5: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/5.jpg)
ISS UNIX Team
small, 5 peoplewidely varying age and experience
responsibilitiessystem administration and infrastructurehigher-level (user-facing) services sister teams: networks, windows, SAPlegacy systems
![Page 6: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/6.jpg)
Inherited situation
directory full of text filescategorization by directorylots of out-of-date informationlots of undocumented stuff
![Page 7: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/7.jpg)
What do we keep in there?
• Procedure documents• HOWTOs
![Page 8: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/8.jpg)
Existing experience
• wikipedia editing• webteam-based mediawiki hosting service• version control (CVS, SVN)
![Page 9: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/9.jpg)
First-cut requirements
• import existing data• support reviewing material• version control
• online• multimedia• integrated with SSO
![Page 10: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/10.jpg)
Mediawiki
![Page 11: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/11.jpg)
Mediawiki
• <http://www.mediawiki.org/> • powers wikipedia• LAMP• GPL (v2)• CMS
![Page 12: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/12.jpg)
SSO integration
Shibboleth SSO software
<http://shibboleth.internet2.edu/>
mediawiki Shibboleth plugin
<http://www.mediawiki.org/wiki/Extension:Shibboleth_Authentication>
Apache configured with mod_shibd
AuthType shibbolethShibRequireSession Onrequire eppn [email protected]...
![Page 13: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/13.jpg)
Mediawiki markup
• simple• proprietary
![Page 14: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/14.jpg)
Categories
a tagging mechanism
adding the following to the 'Sandbox' page
[[Category: Example]] yields the page 'Category:Example'
![Page 15: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/15.jpg)
Importing data
• one page per old file• each page is categorized with
o "imported from fireman FAQ"o "articles to review"
• Imported files on a per-parent-directory basis
o vary the precise categories for each directory
![Page 16: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/16.jpg)
WWW::MediaWiki
perl module to manipulate mediawikisVCS-like command-line tool front-end
$ mvs login -d (host) -u (user) -p (pass) -w (path)
Create a new page, or checkout an existing one: $ mvs update Somepage.wiki make and commit a change: $ echo hello world >> Somepage.wiki$ mvs update Somepage.wiki
![Page 17: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/17.jpg)
Importing: categorisation
$ echo '[[Category: articles to review]]' \ >> Somepage.wiki $ echo '[[Category: Imported from fireman FAQ]]' \ >> Somepage.wiki
![Page 18: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/18.jpg)
Side-stepping the SSO
A separate apache vhost for the script
<Location /unix/localwiki> Order deny,allow Deny from all Allow from localhost</Location>
![Page 19: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/19.jpg)
Findings
![Page 20: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/20.jpg)
Findings
• in use for 2 years• roughly doubled in size• removed some older material
• scope has grown
![Page 21: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/21.jpg)
What do we now keep in there?
• meeting notes• project outlines• TODO lists• documents for other teams
![Page 22: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/22.jpg)
Audience
• originally, just us• now other teams too
o meeting minuteso cross-team procedural documents
![Page 23: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/23.jpg)
Access control
• SSO layer gives us "full on, full off" access• mediawiki offers some tiered write-access control• everyone has full read control
![Page 24: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/24.jpg)
Types of contributor
willing / reluctant structural / brain dump
novice / experienced
![Page 25: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/25.jpg)
"A major killer of wiki projects is the imposition
of too much structure during the early stages"
The Practise of System and Network Administration, p254
![Page 26: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/26.jpg)
Editor role
Subset of team take on responsibility for maintaining the wiki
The remainder read/brain dump/suggest
![Page 27: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/27.jpg)
Accessing/organising data
• "search, don't sort"• Three Letter Acronyms
![Page 28: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/28.jpg)
High Availability
• failure points for old system:o filesystemo network
• failure points for new systemo web servero database servero authentication paths o network
![Page 29: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/29.jpg)
Mediawiki UI revisited
![Page 30: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/30.jpg)
Revised requirements
• Import existing data• support reviewing material• version control
• online• multimedia• integrated with SSO
• High availability• get data out again• Search
![Page 31: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/31.jpg)
Next generation
![Page 32: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/32.jpg)
Candidates
• freshmeat.net: 209 matches for 'wiki'• sourceforge.net: 893 matches
...other "document management" / CMS software, besides wikisOn my horizon:
• sharepoint• ikiwiki
![Page 33: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/33.jpg)
Sharepoint
• DB backend• proprietry• UI usability concerns• ...
![Page 34: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/34.jpg)
IkiWiki
• <http://ikiwiki.info/>• perl-based• open source• static rendering by default• real VCS backend• plugin support
![Page 35: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/35.jpg)
IkiWiki
![Page 36: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/36.jpg)
The basics
$ find .../src./src/somefile.extension./src/foo.mdwn$ ikiwiki src dest $ find dest...dest/somefile.extension...dest/foo/index.html...
![Page 37: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/37.jpg)
The basics
a command-line toola compiler most of the code in a library
![Page 38: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/38.jpg)
The basics
modify behaviour with command-line arguments
$ ikiwiki --no-usedirs ./src ./dest$ find ./dest..../dest/somefile.extension..../dest/foo.html... or a configuration file
$ ikiwiki --setup config.setup ./src ./dest
![Page 39: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/39.jpg)
Plugins
lots of hooks for plugins (24+)perl native modulesexternal plugins via XML RPC
![Page 40: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/40.jpg)
Version control integration
via pluginssupport for git; bzr; subversion; monotone; mercurial; tla
helper tool to migrate from source dir to source repository
$ ikiwiki-makerepo <vcstype> <srcdir> <repository>
then setup your .setup file accordingly
![Page 41: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/41.jpg)
Web integration
A CGI script for web-editsVCS hooks for refreshing as a result
setuid (to owner of srcdir/repository) urgh otoh, small, easily-audited code
![Page 42: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/42.jpg)
Syntax• via plugins• "default" is markdown
o simpleo not proprietary
![Page 43: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/43.jpg)
Approximate structure
![Page 44: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/44.jpg)
IkiWiki pagespec
page specification
booleans foo or bar or baz
negations foo* and !*baz
functions link(somepage)
![Page 45: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/45.jpg)
Useful plugins
![Page 46: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/46.jpg)
Mediawiki syntax plugin
<http://u32.net/Mediawiki_Plugin/>
some limitations, including transclusion
![Page 47: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/47.jpg)
useful plugins: graphviz
inline graphs
[[!graph src="a -> b ; b -> c; c -> a"]]
![Page 48: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/48.jpg)
useful plugins: img
• scaled images• link to fullsize• uses ikiwiki pagespecs
[[!img foo.png alt="alt text" size="100x400"]]
![Page 49: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/49.jpg)
useful plugins: inline and map
[[!inline pages="blog/* and !*/Discussion"]] copies the matching pages into the page [[!map pages="* and !blog/* and !*/Discussion"]] creates a bullet-list of links to matching pages
![Page 50: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/50.jpg)
useful plugins: toctable of contentsderived from headers in the page
![Page 51: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/51.jpg)
useful plugins: template
Uses HTML::Template perl moduledefine a home for templates in the wiki
templates/example.mdwn: hello <TMPL_VAR name>index.mdwn: : [[!template id=example name="Jon"]] ;
result: : hello Jon ;
![Page 52: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/52.jpg)
useful plugins: tag
essentially a hidden wikilink add a tag in a page [[!tag foo bar baz]]list pages which are tagged foo: [[!map pages="link(foo)"]]
![Page 53: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/53.jpg)
useful plugins: pagecount
how many pages match a pagespec?
[[!pagecount pages="* and !*/Discussion"]]
![Page 54: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/54.jpg)
Possible migration strategy
• Tandem period• automatic import from one to the other
• don't rely on mediawiki syntax forever
![Page 55: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/55.jpg)
Migrating data
• One approach:• <http://u32.net/Mediawiki_Conversion/>
o Scott Bronson's excellent guide
Procedure involves
• Parsing HTML to extract lists of pages (urgh)• exporting data in an XML container• various scripting runs to remove mediawiki-isms• Mediawiki syntax plugin
![Page 56: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/56.jpg)
Another approach
• Parse HTML as before (urgh)o get_pagenames.py script to extract pagenameso alternative: SQL query of the mediawiki tables
• use WWW::MediaWiki to fetch page contents• various scripting runs to remove mediawiki-isms
• another: mine the database
![Page 57: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/57.jpg)
get_pagenames.py
from xml.dom.minidom import parse, \ parseString
dom = parse('Special:Allpages')tables = dom.getElementsByTagName("table")pagetable = tables[-1]anchors = \ pagetable.getElementsByTagName("a")for a in anchors: print a.firstChild.toxml()
![Page 58: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/58.jpg)
Tackling high-availability
static copies on separate machines
![Page 59: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/59.jpg)
Tackling access control
Our needs are for tiered read controlselectively publish static copies of sub-sections?
![Page 60: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/60.jpg)
IkiWiki drawbacks
• searcho xapian plugino google site search plugin
• speed
![Page 61: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/61.jpg)
Comparison
![Page 62: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/62.jpg)
Comparison
![Page 63: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/63.jpg)
Conclusions
![Page 64: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/64.jpg)
Sysadmin specifics
• high-availability• data fidelity• "hackability"
![Page 65: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/65.jpg)
Software specifics
• "text files in a dir" inadequate• mediawiki/LAMP hard to HA• ikiwiki promising
• not just a software problem
![Page 66: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/66.jpg)
People
uptake crucial
![Page 67: organising sysadmin documentationjmtd.net/software/ikiwiki/organising_sysadmin_documentation.pdf · Introduction • Newcastle University o~4,800 staff; ~20,000 students • Information](https://reader035.vdocument.in/reader035/viewer/2022071020/5fd3dd1c708a7347747888d7/html5/thumbnails/67.jpg)
References
http://www.staff.ncl.ac.uk/jon.dowland/unix/docs/