Last few months foswiki

It seems that I’ve been busy with family things, so have forgotten to blog.

Before we left for Zurich in August, I delivered a foswiki that was an amalgam of TWiki, MediaWiki and Sharepoint Wiki topics.

Sharepoint was the most surprising – technically, its got so much potential, but so little support for endusers. It has federated search, data types, and views, but pretty much all of it needs to be written by someone as a compiled component, and installed on the server.

Seems to me there’s an oportunity for someone to build a compatibility layer allowing users to write applications as in TWiki and Foswiki.

After getting settled in, I was persuaded to start work on foswiki store2 for foswiki 2.0 – bringing together all of the learning and performance work from my Database and MongoDB backends – its happening in my github repository at the moment, as its going to take a month or 2 before its passes all the tests.

And last week, I was distracted by Ward Cunningham’s Federated Wiki – we’ll see how I get myself back on foswiki track – all while looking after the 2 girls (just turned 2.5) while we’re in Zurich.

The foswiki General assembly and FoswikiCamp is probably going to be in CERN, on the weekend of November 19 – hope to see everyone there!

fastest foswiki (and TWiki) ever – MongoDB for foswiki milestone 4

When the foswiki on MongoDB project started, this query would take 5.4 seconds to provide the html to the client (pure CGI), now it takes 0.7seconds (with mod_fcgid).

Thats a speedup of over 7 times.

I realised today that I’ve not written up a progress post for foswiki on MongoDB for a bit – and so did a few benchmarks again.

The benchmarks given (at http://foswiki.org/Development/MongoDBPlugin ) are for a structured query on a DataForm based web containing 25,000 topics, and are run on a desktop system running a 1.8GHz core2duo with 2G RAM.

When the foswiki on MongoDB project started, this query would take 5.4 seconds to provide the html to the client (pure CGI), now it takes 0.7seconds (with mod_fcgid).

That’s a speed-up of over 7 times.

Many other large web queries, like a WebIndex on a large web couldn’t even complete before, and now run in a usable fashion.

This milestone we’re separating out each web into its own database, and I’ll be adding in the topic revision information to the database too – that way it won’t matter if you have 10,000 webs, or 1,000,000 – the speed should be essentially constant (so long as you have the server resources to match your loads).

 

If noSQL isn’t suitable, and you would like to see a similar back-end developed using an SQL engine – contact me – WikiRing and fosiki are looking for interested companies with foswiki (and TWiki) scaling issues – without real life testing, examples and stakeholders, its extremely difficult find the many corner cases that our complex engine can allow.

Sharepoint 2007 to foswiki migration project part 1

I’ve spent the last few days working on getting data out of Sharepoint Wiki, and its shocking. If you read the webservices API and believe it, things would be simple.

I’ve spent the last few days working on getting data out of Sharepoint Wiki, and its shocking. If you read the webservices API and believe it, things would be simple. Sadly, its got some pretty major bugs, and some pretty woeful architecture too.

The worst finding is that although Sharepoint lists have a webservice API to get versioned data, its broken – all versions of the MetaInfo return the text of the last revision. So I had to resort to brute force html GET’s and parsing the html to try to get the historical info.

Still, data gathered and saved – next week I’ll start trying to extract the valuable user written text from the masses of shoddy html (like in MS Word to html, every line is surrounded by the same 100 character css styles, setting font to Verdana etc.

Google’s DataWiki experiment

Google Labs has just added DataWiki – it looks like one of the features Foswiki (and its parent) have been doing for 10 years…

Google Labs has just added a GoogleAppEngine based Java application called – DataWiki.

So far, project information is very minimal, but it looks like one of the features Foswiki (and its parent) have been doing for 10 years…

The timing is excellent, as I’ve been working with others in the Foswiki Community to improve Foswiki’s mashup-ability:

enable easy input/output from a variety of endpoints, e.g. via Twitter, ODK or SMS from a remote location

Right now we’re working on a proper REST API for foswiki data – enabling us to retrieve and save changes to datasets in formats that are convenient to the external endpoints – and to simplify the development to dynamic visualisation and editing tools for complex data.

Perhaps what we’re looking at is a combination of the acquired and shut down JotSpot, and a response to Yahoo Pipes 🙂

Foswiki is an extremely mature (10 years) DataWiki capable enterprise wiki, with significant traction in workplaces around the world, and a strong, motivated developer and user community.

Make your foswiki run faster, automatically — try mod_pagespeed for Apache

google has released mod_pagespeed and I’ve turned it on on home.org.au, and I think there is a noticeable improvement in rendering speed.

brilliant – a simple, effective way to make your wiki load faster!

see google’s blog post for more information

Edit foswiki files in Microsoft Office

Using the WebDAV for foswiki Extension, you can seamlessly edit Microsoft Office files in Word, Excel and Powerpoint, and then save directly back into the Wiki.

editing is easy
Kontextwork WebDAV

Using the WebDAV for foswiki Extension, you can seamlessly edit Microsoft Office files in Word, Excel and Powerpoint, and then save directly back into the Wiki.

Using WebDAV, users can get direct access to Wiki topics and attachments, via the WebDAV URL – making it possible to attach documents by drag and dropping them directly in Windows Explorer.

Some technical details

WebDAV for foswiki requires advanced libraries on the server – including Apache 2 mod_perl support. For full integration mode, some trust settings need to be changed in Internet Explorer, or an extension installed to Firefox.

Required Perl modules and extensions
  • APR::Table
  • APR::UUID
  • Apache2::Access
  • Apache2::Const
  • Apache2::Module
  • Apache2::RequestIO
  • Apache2::RequestRec
  • Data::Dumper
  • Encode
  • File::Find::Rule::Filesys::Virtual
  • File::Spec
  • POSIX
  • URI
  • URI::Escape
  • XML::LibXML => than 1.64 (declaredPrefix function is needed)
  • XML::Simple
  • Filesys::Virtual
  • POSIX
  • File::Path
  • JSON

Foswiki::Plugins::JQueryPlugin

New Dynamic jquery mb.Menus for foswiki

I’ve just started work adding Matteo Bicocchi’s rather stunning mb.Components – starting with mb.Menu. Along the way, adding foswiki Macro’s to make it simpler for us to use, I’ve also made some changes to the code (which hopefully I can get integrated into an mb.Menu release) that I have attached to the live demo.

Here’s the all important Screenie:

Foswiki 1.1 release on its way.

I haven’t been blogging for a while, because I’ve been devoting all my time to working on features for the next Foswiki release.

We’re aiming to get it out the door in June 2010 – and to make this timeline, we’re about to go into feature freeze mode – and the end of this month.

So far, result paging support for SEARCH is almost done, I’ve upgraded the icons we ship to the attractive FamFamFam icon set, simplified the Template definitions for skinning SEARCH results, improved the handling of the zeroresults parameter, and I’ve completed much of the FOREACH/format extraction code refactor.

I’m looking forward to the next month’s bug finding fest 🙂

foswiki for windows updated to version 1.0.8

foswiki 1.0.8 and windows installer released

I built and uploaded foswiki 1.0.8 installer for windows last night – hope you like it, cos i’ll be on holidays for a few days 🙂

For the last 2 weeks I’ve been working on an SAP connector for foswiki – I can display most SAP Tables, and call most SAP functions – all via ‘RFC’ – right now we’re working towards a proactive system healthcheck report, but it pretty much will allow us to build any SAP process right into foswiki. Cool huh.

and for fun I’ve been working on making a replacement DocumentGraphics icon set based on FamFamFamContrib for foswiki – the 10 year old hand drawn one really is dated.