Saturday 20 February 2010

KnowledgeTree and Versioning of documents uploaded by WebDAV

The advantage of KnowledgeTree is that it keeps versions of each document that you upload. Unfortunately, this does not seem to work in version, when uploading a new version of an existing file via WebDAV. The file is overwritten with the new version, but there is no version history.

There might be good reasons for that behaviour, which are explained in this issue?

Here is a solution that works for me, but of course, I do not know the interna of Knowledge Tree, therefore please use it at your own risk...

In file ktwebdav/lib/, find the lines:
// Modified - 25/10/07 - changed add to overwrite
// $oDocument =& KTDocumentUtil::add($oParentFolder, $name, $oUser, $aOptions);
$oDocument =& KTDocumentUtil::overwrite($oDocument, $name, $sTempFilename, $oUser, $aOptions);
It seems, with the add method a new file would be created, with a unique filename. So uploading a new version of test.txt would result in two files, test.txt would stay, and the new file would be test(1).txt. This is not really what you want.

To get real versioning, comment that line with "overwrite", and add these lines:
$aOptions['newfilename'] = $name;
$oDocument =& KTDocumentUtil::checkin($oDocument, $sTempFilename, 'WebDAV upload', $oUser, $aOptions);
This should do the trick. You will only have one file in your folder, and when you click on "Version History" in your webinterface, you will see the old versions and the current version. The file you download via WebDAV is always the latest version. This makes sense to me...

Sunday 14 February 2010

A look at charities and Open Source ERP software

I want to look at several articles and initiatives that I have found on the web, and address some of the questions and risks and benefits.

Why can't you just use commercial software to manage your administration?
This really depends on the type of charity.

For example a representative from Christian Aid says in this BBC article (, which I will refer to again later:
"We are a funding organisation that ships £90m around the world ..."
"We spend one pence in the pound on administration, and that means we've got to be as effective and efficient as we can, and software is one way to do that."

Reading this, that means that they are still spending £900.000 on administration.

I would like to list different goals that a charity has:
  • deliver a message
  • provide material help
  • provide training or practical help through people

Therefore an organisation that ships a lot of money around the world, it is much easier to spend quite big amounts on software, and this saves them all sorts of trouble with technical support etc.

But if your organisation is more about highly motivated workers working alongside the people you want to help, and your main motivation is the message you deliver, the picture is different. You will probably not "ship vast amounts of money around the world", and the percentage you use for overall administration is more critical. The amounts you can spend on IT is probably quite small. It will be difficult to subscribe to proprietary software licenses which you will be depend on for the next decade or so.

We should also not forget cultural differences. It seems it is much more acceptable in the US to invest into administration than it is in Europe.

The BBC article about Christian Aid also mentions the use of standard office software, e.g. Windows XP and MS Office licenses. They are very happy with the good charity discounts from Microsoft. I will not address this topic here, because I am not discussing Operating Systems or Office Software, but Administrative software.

A charity is no software company, why should we invest into OpenSource and develop our own software?
I want to introduce the idea that has been formed by the Collaborative Software Initiative (CSI) (see
I quote from their website:
"The Collaborative Software Initiative (CSI) brings together like-minded companies to build software applications at a fraction of the cost of traditional methods. CSI introduces a market-changing process that applies open source methodologies to building Collaborative Software.
For applications that don't enable competitive advantage or are associated with non-value added activities such as compliance, regulatory, and industry standards, Collaborative Software empowers customer core team members to provide control and direction over a project while leveraging the efficiencies of using the same software and reducing costs."
They are thinking of banks and insurances and the automobile industry. I think we can easily apply the same to mission organisations and charities. We don't want to develop software for the sake of it, and we don't want a competitive advantage over other mission organisations or charities. Therefore it would make much sense to coordinate the efforts, and let others benefit from our work, and even encourage them to contribute.

Open Source is not as good as the best of breed

First of all, the best of breed software will probably cost more. In case it is cheaper or you can afford it anyways, and you have also calculated the cost of training etc, then it might well be that the best of breed is better for you.
Regarding the issue that the users know the best of breed and it is more difficult training them on an Open Source system because it is unknown to them: This might be more an issue for Operating Systems and Office packages. Although the introduction of Office 2007 has shown how easy it is to force users to suddenly use ribbons instead of menus.
The advantage of an Open Source administration suite should be that it is easy because it can be customized to the specific needs. Can your workers cope with the complexity of the best of breed, fits-all system? Most of the time you don't need all functionality of the best of breed software.
In the case that you have to train your workers on the best of breed software, make sure you know how often you have to train new staff, and how expensive that is, depending if it is possible to provide your own in-house training, or you have to pay expensive courses.

With Open Source you don't get what you really need
This is generally true for all software. But with Open Source you have a chance, to change the software much easierly, either by doing it yourself or get someone to do it for you.
If you have a good reason, you can convince a developer to do it, and it can benefit others as well.
Depending on the size of differences of expectation, you need to be able and willing to invest into adaption yourself; but you will own the change and don't need to pay license fees for it in the future.

There are too many updates to install for Open Source software
see also the article "
How open source is losing the charity battle" at ZDNet.

Security nowadays requires updates anyways, even Microsoft have a monthly patch day.
Nowadays updates should become much more easy to install.
The more users there are, the quicker a solution is provided; frequent updates prevent a bug from annoying you for a longer time.

Who will provide support for us? Is there a guarantuee of service and continued development?
You should look for a contract with a software engineer, and the greater the community for an Open Source software, the more people are willing to help. It is not all for free, but that is a good thing for you, because when you pay you have rights. On the other hand, you might find IT people that specifically want to support your organisation as volunteers. Because of the free nature of Open Source, it will be much easier for them to accustom themselves to the software.
There should also be general support of the users amongst each other, therefore leaving only serious extensions to paid or volunteering developers.

More Links
Most of the Links don't relate to Open Source regarding office administration. But they might give the interested reader an overview of opinions and possibilities.
Case Studies:
Charity shuns open source code
A charity using open source,1000000121,39166840,00.htm
London-based charity which saved more than £28,000 by using Linux Terminal Server to build its network.

Article: Help introduce open source software to charities
How "Open Source" Can Open Doors for Nonprofits

comparison Office vs Open Office for nonprofits

article from the year 1999, from Danny Yee: "Development, Ethical Trading, and Free Software"

DonorTec provides donated software and hardware from companies such as Microsoft and Cisco to eligible Australian non profit groups with Income Tax Exempt Status (ITE).
Charityware (c-ware) is any software that supports charity. Some developers ask that proceeds from the sale of software be donated to charity, while others license or donate their software directly to charity.
Last update in 2005.
This wiki is a central point for an advocacy initiative
("SocialSource") seeking to promote and assist the practical use of Free/Open Source Software (FOSS) within the UK Voluntary and Community Sector (VCS)*.
information for voluntary and community organisations
We are the UK's leading national IT volunteering programme.
iT4Comunities can help
charities, community groups and social enterprises access free IT support from IT professional volunteers and make substantial savings
Nonprofit Open Source Initiative
"Choosing and Using Free and Open Source Software: A Primer for Nonprofits" describes what open source software is and what impact this type of software may have on the nonprofit sector.
technology serving humanity
To evaluate Open Source Software in an effort to reduce the IT costs of Non-Government and Not for Profit Organisations
The Southern African NGO Network (SANGONeT)
This is the website of the South Asian hub of NGO-in-a-box, a collection of Free and Open Source Software (FOSS) tools selected for use by non-profit organisations.
Christian Open Development Network

On the FSF's High Priority Projects list there is a call for the creation of a donor transaction and contact system.
LightSys is dedicated to equipping Christian missions and ministries with the computer technology correct for them, including the knowledge and contacts needed to support that technology. As a result they can serve with greater efficiency, keeping their mind on their task, not their computers, thus redeeming technology -- for God's Kingdom.
latest update on Kardia/Centrallix:

Timotheus Pokorra is currently working as a software developer for OM, a christian charity working in many countries. OM owns the project which aims to provide a free software solution for the administration of charities.