GNUmed web clients

In principle there are two Browser based clients available for the GNUmed client. One has been started in 2010 and aims to be a modern web application. The other version is from a few years old.

Client based on Pyjamas

For threads on this see

Blog posting:

If makes use of pyjamas, cjson and multitaskhttpd.

Here is how you can try it out and start improving it. This guide assumes you have GNUmed running already.

1.) Get and install lovely-jsonrpc

2.) get and install cjson

  • e.g. python-cjson on Debian

3.) get multitaskhttpd

  • git clone git://
  • cd multitaskhttpd
  • python &

4.) get pyjamas

  • git clone git://
  • cd pyjamas
  • python
  • cd bin
  • put pyjsbuild into the PATH or symlink into ProxiedWeb? directory of GNUmed

5.) get GNUmed from git master as tgz or a git clone. Go to gitorious for instructions.

6.) compile the pyjamas application in the GNUmed source tree

  • cd ProxiedWeb?
  • run (make sure pyjsbuild can be be found on your system)

7.) start GNUmed like this: ./ --ui=web

8.) open a webbrowser and go to http://localhost:8080/ProxiedWeb/jsonrpc/output/JSONRPCExample.html

If you want to hack on it have a look at It is a pyjamas application. Enjoy.

Client based on Java and

An original proof of concept was written by Syan Tan…

Syan provides the following notes:

here it is at the moment .
The main things I found were:
  - configure the publisher handler from mod_python to a directory in apache2 configuration file.
  - start the ball rolling in login.html by calling the python script with
    <a script>.py/<a function name>?<function paramters, named
    exactly to match the function parameter names>
  - then do a function in <a script> of the form <a function>(request, param1, paranm2 ...)

request will be a request object , normally only useful as below. 

What's more useful is to import mod_python.session and 
use the default Session(request) constructor, and then use a session
object to load and store values between pages.

The function is expected to return a string which is a html page.
You can write html pages as templates with %s parameters to fill
in with dynamic output, using StringIO as an intermediate,
and then return the resulting string.

Any further navigation within hrefs and redirect html pages , just
need to refer to a function name within the original named python
script. I haven't tried navigating down below the script name
using ../  to call another script file, but it would probably work.
Topic revision: 17 Feb 2011, SebastianHilbert
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
Powered by Olark