Centos Foswiki repository on its way

Just a short teaser from my testing virtual machine: I’m still working on a few wrinkles – hopefully It’ll be releaseable for foswiki 1.1.5

yum install foswiki-widgetsskin

Just a short teaser from my testing virtual machine: I’m still working on a few wrinkles – hopefully It’ll be releaseable for foswiki 1.1.5

yum install foswiki-widgetsskin
========================================================================
 Package Arch Version Repository Size
========================================================================Installing:
 foswiki-widgetsskin i386 110415-226 foswiki 9.6 M
Installing for dependencies:
 apr i686 1.3.9-3.el6_1.2 base 129 k
 apr-util i686 1.3.9-3.el6_0.1 base 89 k
 apr-util-ldap i686 1.3.9-3.el6_0.1 base 15 k
 foswiki i386 1.1.4-231 foswiki 2.6 M
 foswiki-autoviewtemplateplugin i386 111217-226 foswiki 9.1 k
 foswiki-commentplugin i386 111217-226 foswiki 23 k
 foswiki-comparerevisionsaddon i386 111217-226 foswiki 95 k
 foswiki-edittableplugin i386 111217-226 foswiki 78 k
 foswiki-emptyplugin i386 111217-226 foswiki 15 k
 foswiki-famfamfamcontrib i386 111217-226 foswiki 3.0 M
 foswiki-historyplugin i386 111217-226 foswiki 76 k
 foswiki-interwikiplugin i386 111217-226 foswiki 11 k
 foswiki-jqueryplugin i386 111221-226 foswiki 6.1 M
 foswiki-jscalendarcontrib i386 111217-226 foswiki 383 k
 foswiki-mailercontrib i386 111217-226 foswiki 44 k
 foswiki-patternskin i386 111217-226 foswiki 725 k
 foswiki-preferencesplugin i386 111217-226 foswiki 12 k
 foswiki-renderlistplugin i386 111217-226 foswiki 20 k
 foswiki-slideshowplugin i386 111217-226 foswiki 23 k
 foswiki-smiliesplugin i386 111217-226 foswiki 14 k
 foswiki-spreadsheetplugin i386 120118-226 foswiki 37 k
 foswiki-tableplugin i386 111217-226 foswiki 29 k
 foswiki-tinymceplugin i386 111222-226 foswiki 1.4 M
 foswiki-tipscontrib i386 111217-226 foswiki 18 k
 foswiki-topicusermappingcontrib i386 111221-226 foswiki 41 k
 foswiki-twikicompatibilityplugin i386 111217-226 foswiki 140 k
 foswiki-twistyplugin i386 111217-226 foswiki 28 k
 foswiki-wysiwygplugin i386 111217-226 foswiki 61 k
 httpd i686 2.2.15-15.el6.centos base 818 k
 httpd-tools i686 2.2.15-15.el6.centos base 70 k
 mailcap noarch 2.1.31-2.el6 base 27 k
 perl i686 4:5.10.1-119.el6_1.1 base 9.7 M
 perl-AppConfig noarch 1.66-6.el6 base 87 k
 perl-Archive-Tar i686 1.58-119.el6_1.1 base 70 k
 perl-CGI i686 3.51-119.el6_1.1 base 206 k
 perl-CGI-Session noarch 4.35-5.el6 base 120 k
 perl-Compress-Raw-Zlib i686 2.023-119.el6_1.1 base 67 k
 perl-Compress-Zlib i686 2.020-119.el6_1.1 base 43 k
 perl-DBD-Pg i686 2.15.1-3.el6 base 191 k
 perl-DBI i686 1.609-4.el6 base 705 k
 perl-ExtUtils-MakeMaker i686 6.55-119.el6_1.1 base 290 k
 perl-ExtUtils-ParseXS i686 1:2.2003.0-119.el6_1.1 base 42 k
 perl-FreezeThaw noarch 0.45-5.el6 base 19 k
 perl-IO-Compress-Base i686 2.020-119.el6_1.1 base 66 k
 perl-IO-Compress-Zlib i686 2.020-119.el6_1.1 base 133 k
 perl-IO-Zlib i686 1:1.09-119.el6_1.1 base 30 k
 perl-IO-stringy noarch 2.110-10.1.el6 base 68 k
 perl-Module-Pluggable i686 1:3.90-119.el6_1.1 base 37 k
 perl-Package-Constants i686 1:0.02-119.el6_1.1 base 24 k
 perl-Pod-Escapes i686 1:1.04-119.el6_1.1 base 30 k
 perl-Pod-Simple i686 1:3.13-119.el6_1.1 base 209 k
 perl-Test-Harness i686 3.17-119.el6_1.1 base 229 k
 perl-Test-Simple i686 0.92-119.el6_1.1 base 110 k
 perl-Text-Glob noarch 0.08-7.el6 base 11 k
 perl-devel i686 4:5.10.1-119.el6_1.1 base 420 k
 perl-libs i686 4:5.10.1-119.el6_1.1 base 590 k
 perl-version i686 3:0.77-119.el6_1.1 base 49 k
 postgresql-libs i686 8.4.9-1.el6_1.1 base 201 k
 rcs i686 5.7-37.el6 base 169 k
Transaction Summary
========================================================================
Install 60 Package(s)

Yes, I’m finally cutting the foswiki release package up into its constituent parts so that the packages can be updated separately like when using configure.

 

The same build script is used to generate debian packages, so I hope that will come in February too.

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.

simplest remote git repo howto (1.5 steps)

There seem to be lots of multi-step, ssh to the server style instructions how to create a new remote repository, and then push to it, but they’re all much more complex than git init.

I have many many local repositories that I decided to backup on my server, and then I can push&pull from them from my other computers too.

so – to the 1.5 steps:

0.5 create a new script called ‘create_backup.sh’ (customizing the $ssh_setting value for your ssh-able server)

#!/bin/sh

ssh_setting='user@your_server.net:~/git'
if [ -z $1 ]; then
    echo "usage: ./create_backup.sh RepoDir"
else
    scp -r  $1/.git $ssh_setting/$1
    cd $1
    git config --add alias.backup "push --mirror $ssh_setting/$1"
    ssh fosiki@fosiki.net "cd git/$1 && git config --bool core.bare true"
    git config remote.backup.url $ssh_setting/$1/
    git backup
    cd ..
fi

1. You can then run ./create_backup.sh YourLiveRepo which will create a full (but bare) copy of your repository, and add an alias that will allow you to run git backup to mirror all changes on all local branches to the backup.

The script also creates a remote.backup link that you can push and pull from in case you’re then going to clone that repo like a ‘normal’ ssh based remote.

On one local computer I can thus create a new shareable repository by running

create_backup.sh NodeJSProject

and then my new coworker can then clone it and start pushing updates:

git clone user@yourserver:~/git/NodeJsProject1



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

A surprise move for the not quite open source project TWiki – kick people out of the dev mailing list

I guess having other people see what you’re working on is too threatening for the not-quite open source project TWiki.

It seems that allot of the developers that moved their main attention from TWiki to Foswiki have been kicked out of the public mailing list without warning, explanation or permission.

I guess its somewhat consistent with the password protection of the irc logs of the #twiki channel on Freenode (snigger).

I initially though that my mailing list password had been hacked, or maybe theirs, but thinking further, it feels consistent with the lack of deep understanding of the idea of ‘open’

@font-face support?

I thought I’d try out what font-face support is like now, by using Font Squirrel’s Dustismo GPL font ‘it just works’ package. Last time I worked with it, I reverted back to using a image to get the top-left ‘fosiki’ logo  – I’ll leave that for now, because the font sizes and spacing is a bit off.

All that to get a web site that looks ‘similar’ to my business card.

Its running live here on this blog – and it looks to me like it works!

IE6 looks a bit haggard, but then how old is it?

Next up I’ll have to update my fosiki Foswiki theme – good to see this technology actually works this time – I’ve tried it out since IE5.5 got some ‘sortof support’ :}

All I had to do was upload the @font-face package built by Font Squirrel, add a single css file containing the font-face definitions, and update my stylesheet to use that named font.

<link rel=”stylesheet” href=”http://fosiki.com/blog/wp-content/themes/fosiki-theme/Dustismo/stylesheet.css” type=”text/css” charset=”utf-8″>

class=”alignright

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: