{"id":138,"date":"2010-01-19T16:02:10","date_gmt":"2010-01-19T16:02:10","guid":{"rendered":"http:\/\/blog.soton.ac.uk\/webteam\/?p=138"},"modified":"2010-01-19T16:02:10","modified_gmt":"2010-01-19T16:02:10","slug":"mediawiki-customisations-for-dev8d","status":"publish","type":"post","link":"https:\/\/blog.soton.ac.uk\/webteam\/2010\/01\/19\/mediawiki-customisations-for-dev8d\/","title":{"rendered":"MediaWiki Customisations for Dev8D"},"content":{"rendered":"<p>I&#8217;ve been working on setting up a heavily customised <a href=\"http:\/\/www.mediawiki.org\/wiki\/MediaWiki\">MediaWiki<\/a> for <a href=\"http:\/\/www.jisc.ac.uk\/\">JISC<\/a>&#8216;s <a href=\"http:\/\/dev8d.org\/\">Dev8D<\/a> event at <a href=\"http:\/\/wiki.2010.dev8d.org\/\">http:\/\/wiki.2010.dev8d.org\/<\/a>.<\/p>\n<p>This led to setting up and developing a bunch of features I wanted to see in the wiki (and re-use on others), since I couldn&#8217;t find any suitable extensions\/plugins to do the job.<\/p>\n<p>I&#8217;ll put implementation details up in separate posts in the near future.<\/p>\n<p>New features:<\/p>\n<ol>\n<li><strong>Login integration with twitter<\/strong> &#8211; Users can log in to the wiki either by creating a wiki account as normal, or by automatically creating an account\/login using their twitter credentials.\n<p>Recent events (especially JISC ones) have been fairly twitter heavy (twitter announcements by organisers, twitter walls etc.), so this seemed like a better unified login solution than <a href=\"http:\/\/openid.net\/\">OpenID<\/a> for this particular event (though supporting both would be great if I had more time).<\/li>\n<li><strong>Twitter feeds on wiki pages<\/strong> &#8211; any wiki page can have a box on the right hand side which displays results from twitter searches, and refreshes periodically (example up on the <a href=\"http:\/\/wiki.2010.dev8d.org\/w\/Main_Page\">wiki front page<\/a>).\n<p>Tags have been defined each area of the event, and tweets made during the event should show up on appropriate wiki pages.<\/p>\n<p>The searches are performed client-side, to avoid any possible <a href=\"http:\/\/apiwiki.twitter.com\/Rate-limiting\">rate-limiting<\/a> problems.<\/li>\n<li><strong>Scripted updates of wiki pages<\/strong> &#8211; used to regenerate parts of the wiki from the <a href=\"http:\/\/data.dev8d.org\/2010\/programme\/dev8d_programme.html\">event programme<\/a> (and more importantly, to let me edit wiki pages using <a href=\"http:\/\/en.wikipedia.org\/wiki\/Vi\">vi<\/a>&#8230;).\n<p>I&#8217;ve set up a number of pages with comments used as delimiters.  The script then updates only the text within those delimiters, allowing the rest of the page to be edited as any other on a wiki.<\/p>\n<p>For example, the page on the <a href=\"http:\/\/wiki.2010.dev8d.org\/w\/Python_Lab\">Python Lab<\/a> is built dynamically, and changes whenever the programme does.<\/li>\n<\/ol>\n<p>As well as the above, off the shelf functionality includes the <a href=\"http:\/\/semantic-mediawiki.org\/wiki\/Semantic_MediaWiki\">Semantic MediaWiki<\/a> extension (used to mark up sessions, talks, users), embedded <a href=\"http:\/\/www.vimeo.com\/\">vimeo<\/a> videos, code highlighting, and <a href=\"http:\/\/recaptcha.net\/plugins\/mediawiki\/\">reCAPTCHA<\/a> for spam prevention.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been working on setting up a heavily customised MediaWiki for JISC&#8216;s Dev8D event at http:\/\/wiki.2010.dev8d.org\/. This led to setting up and developing a bunch of features I wanted to see in the wiki (and re-use on others), since I couldn&#8217;t find any suitable extensions\/plugins to do the job. I&#8217;ll put implementation details up in [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[195,138],"tags":[803365,213,803364,216,215],"class_list":["post-138","post","type-post","status-publish","format-standard","hentry","category-conference-website","category-php","tag-dev8d","tag-mediawiki","tag-php","tag-plugins","tag-wiki"],"_links":{"self":[{"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/posts\/138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/comments?post=138"}],"version-history":[{"count":11,"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/posts\/138\/revisions"}],"predecessor-version":[{"id":149,"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/posts\/138\/revisions\/149"}],"wp:attachment":[{"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/media?parent=138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/categories?post=138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.soton.ac.uk\/webteam\/wp-json\/wp\/v2\/tags?post=138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}