[IPOL discuss] demo code and doc update

Nicolas Limare nicolas.limare at cmla.ens-cachan.fr
Mon Nov 1 13:26:08 CET 2010


Hi everyone,

Lots of things have changed in the demo system during the last 3
weeks. After too much teasing, everything is now available and
documented.

# source code

You can find the source code here:
   http://demotest.ipol.im/dl/

Now the archives are updated every day, with the date information, and
3 archives are provided:
* ipol_demo_lisani : Jose Luis code branch
* ipol_demo_nil : my code branch
* ipol_demo_release : the "released" code branch, as seen on
  http://www.ipol.im/pub/demo/ 

# documentation

The documentation and tutorials are updated on
https://edit.ipol.im/admin/demo/. Please tell me about typos and
missing informations (or, better, correct it!)

# changes

I tried to simplify the code. The version you saw in september was the
first draft, and I think the design could be greatly improved. Here is
the list of the current changes:

* layout
  Now all the demos are in the /app/ subfolder. Everything else is in
  the /lib/ subfolder. The library code has been reorganised into
  differents files.
* build system
  No more makefile; programs are built with python commands, by the
  app.build() method. You must write this method when you create a new
  demo; some help functions are provided in /lib/build.py, to download
  a source code archive file, decompress it, and run its build script
  (make, cmake, ...)
* 3-steps processing
  After input data and parameters selection, the algorithm is run via
  3 pages/methods:
  * app.wait() checks and saves the parameters, shows a "wait" page
    and triggers a page refresh
  * app.run() reads the parameters and runs the program, then triggers
    a redirection
  * app.result() shows the algorithm result
* path/url
  No more self.path() and self.url(), they were the symptom of a bad
  design. Now all the paths and urls are available as class
  attributes: seld.key_dir, self.base_url
* template parameters
  The app class is always passed as a parameters template (thus you
  can use app.base_url and app.key). The urld dictionnary parameter is
  not needed anymore, it had few benefits
* description
  Instead of using the app.description attribute, you should now write
  the algorithm description into an input.html template

# development server

The current situation is not flexible enough. I'd like everyone to be
able to access the code branches in real time, read detailed
changelogs, contribute, send and exchange patchs, and test the code
online.

This would be achieved by a development server, with shell accesses
and demo instances, but the current demotest server *is* the demo
server, so I can't risk a server overload. Deploying and installing an
external development server wouldn't work either, because we need
some CPU power to run the demos.

We received the next demo server last week (4x Xeon7500, 64
hyperthread cores). I will install it at the end of November, once the
lab environment is ready. Then, the current demo server will be free,
and we will have it available for use as a development server.

-- 
Nicolas LIMARE
http://nicolas.limare.net/                         pgp:0xFA423F4F
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://tools.ipol.im/mailman/archive/discuss/attachments/20101101/676f608c/attachment-0001.pgp>


More information about the discuss mailing list