Hi! I came up with an idea for MediaWiki and I was wondering if I could get the mailing list's thoughts on it. One of my favorite applications is a program called Tomboy (the site is down, but the wp article on it is at http://en.wikipedia.org/wiki/Tomboy_%28software%29). What would be really awesome is that same kind of simple interface, but attached to a MediaWiki backend, so this personal note-taking tool would be a great way to collaborate. Naturally, for really big wiki's this interface would probably be more cumbersome than anything, but for small group projects it'd be fantastic! Basically, here's what I came up with for how to implement this, but I don't know much about MediaWiki so your opinions would be very valuable; I'm implementing it in .NET to take advantage of the existing Tomboy code (and because I like .NET)
1. Make an ASP.NET web service that responds to SOAP requests and queries the MySQL database directly. - This way is version dependent, somewhat bad in software design because now it's meddling with internal MediaWiki structures - Requires being installed on the server + However, if it works, other applications could use it as well + Doesn't require patching MediaWiki itself
2. Add an RSS feed to get recently changed page names and names of all pages that exist, and use custom POSTs to submit new pages. - Requires patching / adding to MediaWiki - Still need to find a way to get the text of a page in MediaWiki format + Other apps could still use it but it would only work on patched wikis
3. Don't touch the server at all, use screen scraping and post requests to do everything client-side - Ugly, custom themes might bust it - Very version dependent + Works with all MediaWikis
I think that this project could definitely make MediaWiki more useful in the area of small-group collaboration. If anyone's interested in helping write it or has any ideas, I'd be glad for the help!
On 09/12/05, Paul Betts paul@paulbetts.org wrote:
is a program called Tomboy (the site is down, but the wp article on it is at http://en.wikipedia.org/wiki/Tomboy_%28software%29). What would be really awesome is that same kind of simple interface, but attached to a MediaWiki backend, so this personal note-taking tool would be a great way to collaborate.
So, basically, this would be a kind of "desktop interface" to MediaWiki, right?
- Add an RSS feed to get recently changed page names and names of all
pages that exist, and use custom POSTs to submit new pages. - Requires patching / adding to MediaWiki - Still need to find a way to get the text of a page in MediaWiki format + Other apps could still use it but it would only work on patched wikis
I think most of this could be done with already existing features (and what couldn't would probably be useful for other things, so wouldn't necessarily have to be external patches/extensions).
For instance, Special:Recentchanges and Special:Newpages can be viewed as RSS or Atom already, and there is an open request for feeds of Special:Log pages, which would include page moves [http://bugzilla.wikimedia.org/show_bug.cgi?id=4182]. Listing all pages might be a little expensive, but Special:Allpages does exist (some screen-scraping would currently be required, I'm afraid). Getting the source of a page can be done via "...action=raw" (and see http://meta.wikimedia.org/wiki/Alternative_parsers for help rendering it) or unskinned HTML can be grabbed with "...action=render".
Like I say, other interfaces (e.g. a quick check for page existence, even just returning HTTP 404s; a proper SOAP or REST or whatever API, etc) would almost undoubtedly be welcomed into the main code, if someone were to make them. Have a browse through http://meta.wikimedia.org and http://bugzilla.wikimedia.org for other people's thoughts and efforts. Oh, and you might want to look at http://pywikipediabot.sf.net for how people have made tools which exploit features already present.
-- Rowan Collins BSc [IMSoP]
mediawiki-l@lists.wikimedia.org