Showing posts with label kwamoja. Show all posts
Showing posts with label kwamoja. Show all posts

Sunday 20 November 2016

Is this the end of the webERP project?

For some time now the webERP administrators have been blocking new members from joining their forums:



I can only imagine that this is part of a decision to kill off the project, which will be very sad, but is maybe a good time for the KwaMoja project.

Tuesday 11 November 2014

Introducing Colin

Announcement

I am pleased to announce the first release of Colin, our integrated testing suite for KwaMoja. This software automatically controls KwaMoja using the libcurl libraries, and compares the results against expected results, outputting the results in a nice web viewable format. The tests can be batch run, so hundreds of tests can be automatically run and their results viewed.

Technical Details

The suite contains a a library of functions for automating a complete KwaMoja session. There is a function to login, to choose an appropriate module, to choose an appropriate menu item, to run any number of options within that option, and to logout. Each step of the way, various tests are run for PHP errors/warnings/notices etc and any of these are recorded. All links in a page are verified to make sure they are not broken. When a page carries out some action against the database the result is verified. More verifications will be put in, software of this kind is never complete.

Output

The output from a Colin session can be viewed through your web browser, and looks like this:
If there are any details clicking on the "Details" link will bring up a new page showing these:
 
This will include any screenshots automatically saved by Colin:

Can I get a Colin of my own?

Yes. Colin is released under the GPL v2.0 license and is obtainable from my github site https://github.com/timschofield/colin

Why Colin?

Why not? It just seemed like a good name to me!

Tuesday 14 October 2014

New demo for KwaMoja-Medical

Following on from this post regarding our hospital extensions for KwaMoja I have created an online demo for the KwaMoja-Medical branch. This demo can be found here.

This demo has a separate module called "Hospitals" (maybe this should say Medical??) and includes facilities for registering patients, dispensing and billing for pharmaceuticals, billing for Radiology and Laboratory tests any other medical services a hospital needs.

It also now has the facilities write notes on a particular patient, and to review a patients entire history, including notes in one screen.

At the moment the intended audience for this is smaller clinics and hospitals where a fully fledged HIS is not really applicable. However as time goes on and more functionality gets added then who knows......

Monday 13 October 2014

Upgrading from webERP to KwaMoja

With the still unfixed $AllowAnyone security issue and the recent buggy release of webERP a number of people have asked me how to upgrade from webERP to KwaMoja.

Well it really couldn't be more easy! Thanks in no small part to the hard work of Fahad we have kept an easy upgrade path, despite the numerous improvements and enhancements we have done in KwaMoja.

So if you want to take advantage of the stability, security, and additional features of KwaMoja here is what you do:

1 Backup everything. This includes all your webERP databases, and all of your webERP code.
2 Download the latest KwaMoja code from here: https://github.com/KwaMoja/KwaMoja/archive/develop.zip
3 Extract the files from here and copy them over your current webERP implementation.
4 Make sure that the webserver user has read and write permissions on everything under the companies directory.
5 Login to your new KwaMoja implementation using the same url and the same login credentials that you used for webERP
6 You should now be greeted with a screen telling you that there are database updates to do. Click Continue to do these updates. You may get some error messages telling you that some of these have failed. Do not worry about these, it just means that the data was already there.
7 Once this is completed, log out of KwaMoja.
8 In each of your companies directories you should now have a file called Companies.php. This should contain a line some thing like this:

$CompanyName['weberpdemo'] = 'weberpdemo';

Change this to be the name of your database and the full name of your company/organisation. eg.

$CompanyName['kwamoja'] = 'KwaMoja Demonstration Company';

Once you have done this refresh the login screen and the full company names should appear.
9 Log back in to KwaMoja. Some themes work better than others in KwaMoja. We recommend that you use the "aguapop" theme for the best interface.

And thats it, you have now upgraded. Any problems log them onto the kwamoja.com forums!!

Saturday 11 October 2014

New KwaMoja demo site

There is a new demo for KwaMoja here: http://demo.kwamoja.com
The demo includes a lot of new features such as a new Quality Assurance module, updated Order acknowledgements/Picking Lists functionality, a bridge to synchronise data with OpenCart, the facility to import bank transactions in many formats, a job scheduler to run certain KwaMoja scripts automatically, new levels of security for bank accounts and locations, many speed improvements to the code, and much much more

Friday 11 July 2014

KwaMoja / webERP hospital extensions

I am pleased to announce that we have brought our hospital extensions in line with the latest code, and that it is now available for testing. It can be downloaded from my github site at https://github.com/timschofield/KwaMoja/tree/KwaMoja-Medical.

This code by itself can be used in small clinics where it is just necessary to track what treatment a patient has had, and do the financials, or it can be used together with Care2x (http://www.care2x.org).

On installation you should find that you have another module called "Hospitals" installed. 

This module contains all the options for billing patients, dealing with the insurance companies, and reporting on the hospitals activities.

Using these extensions will provide a great help in tightening up a hospitals financial activities, and considerably help to reduce fraud. A brief description of how this works is given below.

Each cashier has a petty cash account that is just for their use, and which can be restricted to just them and a senior accountant/cashier to use. 

The Hospitals module contains options to bill from various hospital departments.

When a patient presents themselves at the cashier for say, the Laboratory, the cashier just has to select the option for "Billing For Laboratory Tests". They will then see a screen for helping them find the patient:
This is the same for whichever billing option the cashier chooses. As can be seen the cashier can search on many different ways, including the name, address, phone number to establish the right patient. Once the patient has been selected the cashier will see the billing screen:
If the link to Care2x is active then all the unbilled laboratory tests for that patient
will be shown, together with the total amount to be paid, so that all the cashier has to do is to collect the cash from the patient, and click on "Make Payment".
If the Care2x link is not activated then the patient should present the cashier with a document to show what Laboratory test they have been prescribed. The cashier then selects this as follows.
When the lab test is selected the price for that test is automatically pulled from the system. This depends on what price list was selected for that patient. Any number of price lists can be setup and selected for the patient. The cashier can select as many tests as needed, and the total amount payable is automatically entered in the "Amount Received" box.

When the cashier clicks on the "Make Payment" button all accounting and stock transactions related to this payment are automatically done using pre determined parameters.

At the end of the shift the cashier prints out a transactions report for their cash account, and the total of that list must agree with the total amount of cash that the cashier has collected. This list together with the cash is then taken to the chief accountant/cashier who verifies that the cash agrees with the report, and then does a transfer of cash from the cashiers account to the main account, which makes the balance of the cashiers account zero, in preparation for their next shift.

The chief accountant, or other authorised person then produces a report of any laboratory tests that were prescribed but have not been billed, and any items shown on this report need to be analysed to see why they have not been billed.

 There are various other reports and configuration options available which there isn't space to go into right now, and I will try to publish another article on these.

Sunday 20 April 2014

Filing a bug report in KwaMoja

It appears from above that the administrator of webERP is shutting the project to new contributors, so it seems like a good time to run a series of articles on how to contribute to KwaMoja. Here is the first in that series:

image02Many people are nervous about reporting problems with open source projects. They fear that the developers will see it as a criticism. However all developers know that there is no such thing as "bug free" software. Any help they can get in tracking down and fixing these bugs is always appreciated.
KwaMoja uses a system called the bug genie to track any bugs in the software. We thought it waould be useful to write this short guide to filing bugs in KwaMoja using the bug genie.
Ok, so let's imagine that we have found a problem that we think may be a bug in the General Ledger Journal functionality (this will be an imaginary bug, I am not aware of any at the moment). The first thing we will need to do is to create an account for ourselves on the bug tracker. This is necessary firstly as it prevents spammers, secondly it enables you to track your bug, and for the developers to discuss the issue with you, enabling a dialog between you. Click here to enter the bug reporting section. You should see something like this:
If you already have a login, or you want to use one of the openid methods then
you can login from here. If you wish to create a new account then click on the tab marked "Register new account". You should now see a screen looking something like the one on the left.
image02Filling out this information and submitting it should give you a new randomised password. You should now login with the user and password combination that you have. You should consider changing the password at this point to one that you will remember.
You should now be taken to your dashboard page, giving you a summary of all your activity on bug genie. Obviously at the moment there won't be much on it!! If you are not taken to your dashboard, then click on your name in the top right hand corner and you should be taken there.
You should now see a menu bar at the top of the window looking like the picture
on the right. To enter a bug report select the "Bug Report" option and you will be taken to the main bug reporting screen. This has been kept deliberately simple. There are just three sections that you need to fill in.
  • Short Description
  • Description
  • Reproduction Steps
The short description should be brief but sufficient so that a developer browsing a list can quickly identify what it is about. Compare "KwaMoja doesn't work properly" with "General Ledger Journal gives the wrong total amount". Clearly the second is going to be easier for a developer to immediately understand the issue being reported.
The main description should contain as much information as you can about the issue being reported. You should include what version of KwaMoja you are using, what operating system and version you are using, a description of your server, and what browser you are using to view KwaMoja. Include any further information that you feel may be of use to the developers.
Finally there is the steps to reproduce the issue. Make sure you put everything no matter how obvious it may seem to you. Also include the results of what happens for each step.
Once you have submitted the report you should keep an eye out for feedback from the developer. It is likely you will get asked for more info, or be given a fix to test. Please reply to this feedback to help improve KwaMoja.

Tuesday 15 April 2014

Med-e-Tel in Luxembourg

Thanks to the sponsorship of Advanz of Luxembourg we had a great time at Med-e-Tel 2014.
The major aim of our presence was to promote the use of our open source solutions in developing countries. It was great to see other open source health systems present as well to help promote the concept of open source in hospitals.

There was  stand devoted to open source solutions, which was very well attended all week.

We had a lot of interest all week from all corners of the globe. We presented a paper on an implementation of Care2x in a large tertiary hospital. You can read the full paper here.


The presentation was part of the open source in health care session of the conference, and was very well attended with much interest in the various open source solutions for health care being presented.

I came away from the conference with the belief that we are on the right track with our solutions, and that open source really is the future for ICT in health care.

I have come away with renewed vigour to push forward with Project Mtuha and KwaMoja/Care2x solutions, despite the attempts by some to wreck the projects.

Again, much thanks to Advanz for their sponsorship and support without which our presence at the conference would not have been possible.

Thursday 6 February 2014

KwaMoja version 14.02 is released

 KwaMoja version 14.02


This is a brand new version of KwaMoja with many additional features, and many enhancements from webERP.

There is a completely rewritten installer giving an option of 27 different charts of account donated by contributors from around the world. Users have the choice to upload some demo data, or to go through the entire hand holding procedure to set up a new blank company.

Internal stock requests can now be edited or cancelled on a per line or per request basis.

When making a payment to suppliers, the invoices can be chosen from within the payments screen, and all allocations are performed automatically.

Inventory can now be analysed on an ABC basis, to identify fast/slow moving items. This analysis can be done using different bases, and multiple analyses kept.

KwaMoja has a dashboard that enables multiple views of the status of orders/inventory/banks etc. to be shown on one screen. This is configurable on a per user basis.

There is a new and more intuitive user interface for those using it for whom English is not the first language.

Shipments can now be entered with a start date before today's date thus enabling a more sensible ETA date to be entered.

The code has been simplified and smartened up in line with the coding guidelines.

Numerous bug fixes have been applied.

Form as are now verified at client side, and better error dialogs are shown.

The full change log can be viewed here: https://github.com/timschofield/KwaMoja/blob/release_1402/doc/Change.log

Tuesday 14 January 2014

Sustainability and Corruption in donor funded projects.

I wrote this article a couple of days ago and it attracted a lot of comments. Many of the comments focused on these two issues which I didn't go into in much detail, but they are very important to donor funded ICT projects.

These are somewhat controversial subjects so again I will keep from naming specifics.

Any donor funded project should be sustainable. That is it should continue to function when the donor leaves. Sounds obvious I know, but most people would be amazed at just how few do carry on working. Anybody who has like me, worked and traveled extensively in Africa will be able to recount stories of when this has failed. Here are just a few of mine:
  • Water pumps that cannot be maintained when they break down because there are no spare parts, no money or means to get them, nobody trained to fit them if they were available. 
  • Fields full of farm machinery (Tractors, Canadian sized combine harvesters etc) rotting away. Why? No spare parts, and nobody trained to maintain them.
  • I once visited a large hospital in East Africa which had a modern but non-functioning CT scanner. Again the reason given for its lack of functionality was that it had broken down and nobody could repair it. The hospital was losing considerable income from its not working. This income could easily have paid for a maintenance contract but nobody had arranged it. Lives were being lost in that area of East Africa because the only hospital with a CT scanner had no plan to maintain the scanner once it broke down. The hospital director told me that eventually somebody would donate a new one and the old one would be thrown away.
I am not finger pointing here, this is a story you will hear throughout Africa. In order for projects to be sustainable they have to generate some income, and that income has to be put back into the project in order to provide for the maintenance. For instance I saw a very good scheme in rural Tanzania where the donors had paid for a water pipeline bringing fresh water from a mountain spring many miles away. The local towns people were charged a few shillings (one shilling equals 0.00037 British pounds at current exchange rate) for the water. This money was used to pay local towns people to maintain the pipeline. The money stayed within the local community, and the water continues to flow to this day. Why can't a similar model be used for the above mentioned pumps?

I have seen projects providing hospitals with software. The hospitals were led to believe that the software was free, so no provision was made to support the system once it was installed. When bugs were found in the system there was nobody to fix them, and the software fell into misuse. However this software made the hospitals more efficient, improved their income, that income should have been used to fund local support for that software.

This is one of the reasons why billions of dollars in aid money floods into Africa but things never get better for its citizens.

The other reason is the corruption that follows these projects. I have over the years had conversations with people who have been found to have taken money from projects.  The common theme is always that they do not see it as stealing, or as something wrong. The best analogy I have is that aid money is seen like a river flowing down the mountain, and if you divert a little to irrigate your own field, then the water doesn't stop flowing, and you get a better harvest. The flaw with this argument is that the supply of money is finite and the river does stop flowing.

The best solution I have for this is closer and more rigorous scrutiny of the project by onsite managers who are appointed by the project donors to supervise the use of the money. Just the same as would be done with any commercial company when a budget is allocated to a project.

International aid is not working, but it can. It needs a change of attitude from both the donors and the receivers of the aid.

Monday 13 January 2014

Updated Supplier Payments in KwaMoja

One frequently asked questions we get on the KwaMoja project is why you cannot just select the supplier items you want to pay, when you are making a payment to a supplier.

Well now you can:
As can be seen in the above screenshot, all open items are shown for the supplier. Checking those items adds it to the amount to be paid. If it is a credit or old payment, then the amounts will be deducted instead of added.

If the item is unchecked then the amount is deducted.

Once you hit the "Accept and Process Payment" button then the payment is posted and the items are allocated against this payment.

Saturday 11 January 2014

ICT Aid projects in Africa - Why so many failures?

Before I start this article let me make a couple of statements:

Firstly my experience of donor funded ICT projects is limited to Africa, so by necessity any anecdotes in this article refer to projects in Africa. This isn't meant to indicate that any of the points I make are special to the continent of Africa, and are quite probably true of similar aid projects throughout the rest of the world.

Secondly I will mention no names of people, or institutions. This is an article about what I perceive as issues in many of the projects I have witnessed, either as an observer or as a participant, and is not intended as an indictment of any person, or institution.

Failure of ICT projects is not an uncommon thing. Most statistics seem to show a failure rate of between 50% and 70%. So Africa is not on its own in having these failures. However from my observations I have noticed specific areas in donor funded projects that seem to make these projects more liable to failure:
  • "We are a donor funded organisation so we shouldn't use for-profit companies". I have heard this a lot from the donor organisations. This means that they use charitable or religious organisations in order to do the ICT work. This means that local skilled people who happen to work in the commercial sector will not be able to participate in the project. For-profit companies tend to have a better understanding of the importance of meeting deadlines, and they have a reputation to keep up, which means that a successful completion of the project is to their advantage. Non-profit organisations tend to react more slowly and worry less about deadlines. This is a curious decision from the donor organisations as they are happy to hand over money to Toyota for their vehicles, Microsoft/Apple/Dell etc for IT products etc. but when it comes to the most important aspect of the project they limit themselves to the non-profits.
  • "The project should be staffed and managed by local people, and not by outsiders". This is a laudable intention, but does it make sense in this sort of project? As pointed out in the above point many of the quality project manager staff will be in the private industry. Also the fact that ICT projects are a newer idea in Africa than in the west, there is a limited number of qualified local project managers available.
  • Project employees are more interested in perpetuating the project than completing it. Donor funded projects generally pay much better in local terms than other employers. As the project is run by a local project manager, with local staff, then the major interest of these people is to make sure that the money continues to flow, rather than in getting the project completed. In fact, completing the project often goes against their personal interests. I know of several projects where the donors are taken on periodic "stage managed" tours to show that the work is really being done.
  • Projects encourage "cronyism". Too often have I seen projects staffed by the family and relations of the senior members of the non-profit institution charged with the running of the project. I even know of one project that is supposed to be writing software that doesn't employ a programmer as part of it's large staff.
  • Project aims are often too vague. I know of projects where the aim is to do something vague, such as "design and implement software for schools". Project aims should be specific, and the time scale should be set down at the start. 
My experience shows that projects should:
  1. Be managed by an external person employed by the donor organisation charged with meeting targets.
  2. Use the best resources available to them regardless of whether they are non-profit or for-profit.
  3. Set definite targets at the start, both in timescale and project goals. The project manager should be the person held accountable.
  4. Donor organisations should be firmer in their dealings on the ground. Too often I see donor organisations that take a far too "charitable" view of bad work. The project should be run as a commercial project. The original donors of the money deserve nothing less.
These thoughts are based on many years of watching the failings of such projects in Africa. Donor organisations need a radical change in how they view such projects.

Not all projects fail, there have been some outstanding successes but the failure rate is way too high.

Friday 27 December 2013

Project Mtuha on android.

Am very happy to announce that an android client for Project Mtuha our new open sourced health information system for Africa is being developed. Here is a preview of this client working on android device:


This fantastic app is being developed by Firas Ataya, Firas Tanan, Ammar Aranjy and Mostafa Natafji of the University of Damascus in Syria. We hope to have some very exciting news related to this project very soon.

Stay tuned!!

Friday 22 November 2013

Announcing Project Mtuha

I blogged recently about a plan to produce an application based on merging +KwaMoja with Care2x, and I thought it was time to update on progress. Currently the project is called Mtuha.

We have been working on the interface, Registration, Admissions, and Billing modules, but to continue much further with the project we require some form of sponsorship to make it happen. Please let me know if you have any ideas for this.

The interface now looks like this:

The icons along the top left of the toolbar represent different security tokens that the user will have in their login. For information about the security tokens used in KwaMoja see this blog post here
 
Holding the mouse over one of these icons brings down a menu containing those options allowed for that security token.

Clicking on any of these options loads up that script in the browser.

We have created a minimal framework that enables forms to be designed, and submitted. Also all forms can be edited, and each element in a form can be made mandatory, and it's visibility can be toggled on and off. This can be used for all forms, and converting the current forms in KwaMoja and Care2x to this framework is very easy.

The registration form contains many elements, a few of which can be seen below, but any of these can be hidden, or added, made mandatory, or optional.
There is a stock type of "Registration Items", and any items set up with this category will appear as options at the bottom of the registration screen:
On completion of the registration, the above appears, and any options that user is entitled to perform are shown on the right. Clicking on print, just prints the patient detail label. Mtuha can be setup to use the bar code, so that when the bar code is scanned by a mobile device (phone etc.) you can be taken to a chosen place in Mtuha for that patient.
There is a new patient search facility, which is the same as used throughout Mtuha when a patient number needs to be found. When you start to type in any of the search fields, the list of possible patients automatically updates. At the far right of each patient details there is a small icon. Clicking that icon will bring up a list of options that the particular user can choose to perform on that patient record.

This particular user can only modify the registration details, or admit the patient. If the user was a cashier then they would see options to bill the patient.
Clicking to admit the patient takes you to the admissions form shown here.


Like the registration form it is fully customisable, and all fields can be made optional/mandatory, or be hidden/shown.


As with the registration form, there is a stock type called Admission. Any items setup with this stock type will appear at the bottom of the admissions form. You can select one or many of these billable items, just as with registration.


If the user then logs in as a cashier, and searches for a patient they are then presented with an option to bill the patient, rather than previously seeing the options to register and admit. Selecting that option brings up this screen, showing any unpaid items for that patient.


Clicking on the button prints a bill for this patient. However it also does a lot more. If any of the items are physical stock items then the required stock movements are processed, together with all related General Ledger transactions. Each cashier has a separate cash account set up for them, and processing this bill will debit that account, and credit the profit and loss account with the sale. At the end of their shift there is a report that should be run by the cashier detailing all the cash they should have received. This report is checked against the physical amount of money the cashier has, and is then passed on to the accounts department.

As I said at the beginning of this article, what we really require now is funding to hire more African developers, and pay for my time.

Wednesday 16 October 2013

Help required!!

I have had a plan bubbling away for sometime to take care2x and KwaMoja and merge them together as one complete integrated package. I have written before about how KwaMoja and Care2x have been used in African hospitals, using the KwaMoja api to communicate between the two applications. Now my idea is to create a single open sourced application with a unified interface and a single login that can be rolled out across hospitals all over the continent.

However this requires resources which as ever are in short supply. To get good African programmers who can work full time on this project requires money.

My idea to raise this is to start a Kickstarter project to generate the funding. However I need some help, as a lot of this stuff requires marketing skills that I do not possess. For instance they say a promotional video is more or less essential to a successful project, but I do not have the first idea of how to create one.

There is no money to pay for these services up front, but if someone wants to volunteer (remember that KwaMoja and Care2x have been written by volunteers down the years) I could look to recompensing them later if and when the project gets funded, as a promotional video could be useful in pushing the final software to hospitals. Obviously anybody helping would also gain a lot of publicity for their skills.

If anyone is interested in helping this in any way, then please send me an email on tim.schofield1960@gmail.com.

Thanks in advance!!

Monday 30 September 2013

What KwaMoja is and what KwaMoja is not

This is a post about what exactly KwaMoja is, and why we are doing it, and also to explain properly what it is not.

Origins

KwaMoja has its origins in some lectures I did at a community college in Kenya. The basis of the lectures was extending the webERP software in various directions. After the lectures some of the students wanted to carry on the work. Due to the unfriendly and often abusive style of management at webERP and I suggested they speak to Munir Patel who had previously talked to me about doing an African/Indian based fork of webERP, and so KwaMoja was born.

When it became obvious that certain people were intent on destroying the project for their own selfish ends, I got involved more deeply.

Vision

Our vision at KwaMoja is to make African businesses more competitive with those in the west. In the Eighties, western businesses went through a revolution, lowering inventory costs, improving efficiencies, improving quality, and raising profits for their shareholders. Central to this revolution was the rolling out of ERP software. Very few businesses in the west do not now take advantage of ERP. We believe that KwaMoja is that ERP software for African businesses.

Free Software

KwaMoja is Free software. Now free in this sense means that KwaMoja code comes to you free of restrictions. You can do whatever you like with it, so long as you maintain those freedoms. When you buy software from Apple for instance, the software comes with many restrictions as to what you can and cannot do with it. You can only use it to do what some people in grey suits at Apple's HQ want you to do with it. Free software does not necessarily mean that you cannot charge people for the software, anybody who wants to charge for KwaMoja can do, and anybody who wishes to give it away free can also do that.

Where is the money?

KwaMoja itself has no funding. It is not a company, we have no income, and we have no employees. It is made possible by donations of time and money from those of us involved. However we are not super rich philanthropists. Far from it, and we have had to earn money elsewhere while getting the project ready for release. There is no money to pay web designers, programmers etc.

Many people and companies in the west have become wealthy by being consultants in the implementation of ERP systems. They have no financial interest in the software themselves. They merely work on the implementation side, and people like SAP get the software fees themselves. These fees are often prohibitive to African companies. Our aim at KwaMoja is to build an ecosystem so that many people can get rich on the back of the KwaMoja project. Our aim is to get as many people as possible selling consultancy services around this project.

Consultants who work for $250 a day are considered very cheap, even in African countries. The rewards can be huge.

Why would someone need consultancy?

According to research at least 65% of ERP implementations fail. Failure can often have disastrous implications for a business, whilst success can bring huge benefits to a business. Employing good experienced consultants is often the difference between success and failure. This is why western businesses will always pay for consultancy.

Why would I want to donate my time and skills?

Good question. As I have said above we are none of us rich philanthropists, and we are all seeking to make some money in the end. Imagine you are a company that is looking for consultancy support for it's implementation . Would you choose a consultant who has been actively involved in the building of the software, or someone who has done nothing for it? My guess is that those who contribute the most will earn the most as consultants. You would also gain a global audience to showcase your skills.

Is it just for Africa?

No, definitely not. This software can be used anywhere in the world.

Conclusion

So there it is, that is what KwaMoja is. Sound interesting? Then join us, there is always tons to do.

Thursday 26 September 2013

Setting up your computer for KwaMoja

KwaMoja is a web application. This means that the software runs on a server, and is viewed through a web browser. These need not be on different computers, it is perfectly possible to have both the server and the browser on the same machine.

For best results the browser should be a relatively recent release but as all browsers are freely available for download this should not be a problem.

The web server can be run on most operating systems released in the last decade. It should include a web server, a database server, and the PHP language.

On windows we recommend using the WampServer. This can be downloaded for free and installed with one click. This will install all of the above applications. You will find a folder called something like c:\wamp\www where you should unpack your KwaMoja code. Once the wamp server is started, just point your browser at http://localhost/KwaMoja and you should be greeted by the KwaMoja installer.

On Debian based Linux systems the packages can be installed by using the following command (https://www.digitalocean.com/community/articles/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu):

sudo apt-get install apache2 php5 mysql-server


sudo yum install httpd mysql mysql-server php php-mysql

On Apple computers you can setup a one click install using MAMP. Like with windows it will install everything in one go.

Of course as with most things there are many other ways to achieve this, (use nginx instead of apache, use mariadb instead of mysql) but the above methods will get you started with the new beta of KwaMoja.

Wednesday 25 September 2013

New installer for KwaMoja

The final bit of the new +KwaMoja version is now complete and just needs testing. This is the brand new installer. 

Firstly it should be said that this builds on the excellent work of +Exson Qu and +iced lava. After downloading +KwaMoja and placing the code in the web root, point your browser to the code.

You should be taken automatically to the installer screen.

This is the wizard that will guide you through the entire installation process.

The first selection you must make is the language that you want to use for the installation, and for the admin user.
 
Changing this language setting will immediately refresh the screen, and you should now see it in your chosen language.


This language setting will remain constant through the rest of the installation process.

NB You must have the correct language setup on your server.

The final step on this first page is to choose the database management system that you want to use in +KwaMoja

Currently only MariaDB, MySQL, and MySQLi are supported, although +Fahad Hatib has nearly completed his work to have PostgreSQL  supported in +KwaMoja. However it was decided to leave this till after this release to give maximum testing time for his work. Clicking on "Next Step" takes you to the second screen of the installer.


This screen will make all the necessary checks on your system to ensure that
+KwaMoja can be installed and run on your server.

If you get any failures here then you will be presented with a button to "Check Again". Just correct the problem and then click this button, until all problems are resolved, and you get a screen like the one on the right. Then move on to the next step.


This screen is for details of the database connection that we are going to use.

The first field is for the host machine that the database is on, relative to the web server, not to the client machine. So if the web server and the database server are on the same machine this can be left as "localhost". An IP address can also be used.

The last two fields are for the login details to your database. This shouldn't be confused with the login details to +KwaMoja. The second field is for the name of the database that you will use. This should only contains alphanumeric characters, and no spaces. If the database login that you supply doesn't have permissions to create a database (a lot of shared hosting companies do not allow this) then this database must be created manually before the installation process begins.


Clicking on "Next Step" takes us to the final screen of the installer. The first field is for the name of your company. This should be the full name that you want to appear on all paper work. Next we select a chart of accounts to be used for our company. Currently we have 27 charts kindly donated from all around the world - Many thanks to all those who have donated. Next is the timezone that the server is located in +KwaMoja should choose the correct for you. Finally you can upload your company logo which appears throughout +KwaMoja If you don't upload a logo the default +KwaMoja logo will be used instead.

Next we have the option to install some random test data.
Choose this if you are just evaluating +KwaMoja otherwise leave this unchecked.
Finally you need to enter the details for the +KwaMoja system administrator account. Default is a userid of admin, and a password of "kwamoja", but you can decide your own.

Once done click on the install button, and the installation process will start.

This will firstly create a config.php file based on the settings you give. Then create a database for you (this process is quite slow as it performs many checks along the way to ensure the database is correct). Finally if you have elected to load the random demonstration data, this will then be loaded.

Once this is done, a button will be shown to start +KwaMoja. You will need to login using the system administrator login that you provided.

Once logged in, you will be taken to some of the configuration screens to setup your +KwaMoja. It is important you read these screens properly, and give the correct information. If in doubt consult the manual.

You can download this version of +KwaMoja for free from here

All feedback is appreciated. Please log any issues you find here.

Wednesday 18 September 2013

The importance of free and open discussion in projects

This page is written in response to the lies that +Phil Daintree has written about me, and spread on the internet. Despite years of searching he has been unable to find anything I have written that is untrue, and he has had to resort to vague generalities, faked emails, and badly fabricated screenshots (you can see the joins if you zoom in using any bit mapped image editor). +Phil Daintree  is welcome to make any comments to these pages, as he has done in the past. If I agree with what he says I will amend my writings, if I do not agree I have allowed his comments to stand next to mine so that people can make their own judgements. I have every confidence in the intelligence of readers to make a sensible judgement based on the facts. +Phil Daintree will not allow me the right of reply to any of the lies he has told about me. It seems to me significant that he realises that if people see both sides of the argument they will see through his lies.

+Phil Daintree has frequently said on webERP that when he gives his opinion on a subject then nobody is allowed to contradict his opinion and no more discussion on the subject should happen. People who ignore this and express different opinions on any subject find themselves banned from any future discussions.

This is fine as long as the decision that +Phil Daintree has come up with is correct, and that no better solution can ever exist. However when the decision is wrong then the repercussions can be very damaging.

For instance recently +Phil Daintree decided to use regular expressions to filter input into forms. This is a good idea in theory, but needs careful thought and planning, as the implications for non English characters are huge. As Phil had announced this decision as his, then no discussion was allowed.

We now have a webERP system (versions 4.11 and 4.11.1) which is totally unusable to anybody not using the standard 26 English alphabet characters. Not only this, but many of the other bugs already found in 4.11.1 and many of the others that await discovery could have been avoided by allowing free and open discussions.

This is a mistake that we intend to avoid in +KwaMoja. Anybody is allowed to contribute anything to any discussion. Even arguments are good as they force both sides to think through their ideas carefully.

"The only people who are afraid to argue are those who know themselves to be wrong".

Friday 6 September 2013

Introducing the KwaMoja dashboard

+KwaMoja now has a customisable dashboard.



This code has been kindly donated to +KwaMoja by +Mythri Hegde of Netelity and adds considerably to the usability of +KwaMoja.

We can produce any number of small reports to show in the dashboard. +Mythri Hegde has already contributed nine, and they look like this:

Each of these mini reports has a security token assigned to it. The user can only add the report to their dashboard if they have that security token. See here for more details of security tokens.

All a user has to do to remove it from their dashboard is co click on the X in the top right hand corner of the report.

At the bottom of the dashboard is a selection box
Clicking on this drops down a list of all those reports that a user can add to their dashboard, as follows:
Choosing from here adds the report to the users dashboard. The screen shot above shows 6 reports, but the user can have any number of reports showing depending on what they want.

Many thanks to +Mythri Hegde for her hard work and for contributing the code back to the project.

See the dashboard in operation by going to the KwaMoja demo at http://www.kwamoja.com/demo