(merge)
authorJulien Jehannet <julien.jehannet@logilab.fr>
Thu, 19 Feb 2009 20:21:10 +0100
changeset 859 17555e9b9854
parent 858 e6ae125d5903 (diff)
parent 842 224bb95cca09 (current diff)
child 860 d9f86f23b9a3
(merge)
__pkginfo__.py
goa/test/data/bootstrap_packages
web/views/basetemplates.py
web/views/boxes.py
web/views/linkedData.py
--- a/__pkginfo__.py	Thu Feb 19 17:14:32 2009 +0100
+++ b/__pkginfo__.py	Thu Feb 19 20:21:10 2009 +0100
@@ -6,11 +6,11 @@
 distname = "cubicweb"
 modname = "cubicweb"
 
-numversion = (3, 0, 9)
+numversion = (3, 0, 10)
 version = '.'.join(str(num) for num in numversion)
 
-license = 'LCL'
-copyright = '''Copyright (c) 2003-2008 LOGILAB S.A. (Paris, FRANCE).
+license = 'GPL'
+copyright = '''Copyright (c) 2003-2009 LOGILAB S.A. (Paris, FRANCE).
 http://www.logilab.fr/ -- mailto:contact@logilab.fr'''
 
 author = "Logilab"
@@ -27,11 +27,12 @@
 * a bunch of other management tools
 """
 
-web = ''
-ftp = ''
-pyversions = ['2.4']
+web = 'http://www.cubicweb.org'
+ftp = 'ftp://ftp.logilab.org/pub/cubicweb'
+pyversions = ['2.4', '2.5']
 
 
+import sys
 from os import listdir, environ
 from os.path import join, isdir
 import glob
@@ -60,7 +61,8 @@
     # --home install
     pydir = 'python'
 else:
-    pydir = join('python2.4', 'site-packages')
+    python_version = '.'.join(str(num) for num in sys.version_info[0:2])
+    pydir = join('python' + python_version, 'site-packages')
 
 try:
     data_files = [
@@ -90,7 +92,6 @@
         [join('share', 'cubicweb', 'cubes', 'shared', 'i18n'),
          [join(i18n_dir, fname) for fname in listdir(i18n_dir)]],
         # skeleton
-        
         ]
 except OSError:
     # we are in an installed directory, don't care about this
--- a/debian/changelog	Thu Feb 19 17:14:32 2009 +0100
+++ b/debian/changelog	Thu Feb 19 20:21:10 2009 +0100
@@ -1,3 +1,10 @@
+cubicweb (3.0.10-1) unstable; urgency=low
+
+  * merge cubicweb-core package into cubicweb-common
+  * simplify debian/rules
+
+ -- Julien Jehannet <julien.jehannet@logilab.fr>  Thu, 19 Feb 2009 16:24:09 +0100
+
 cubicweb (3.0.9-1) unstable; urgency=low
 
   * new upstream (interim) release
--- a/debian/compat	Thu Feb 19 17:14:32 2009 +0100
+++ b/debian/compat	Thu Feb 19 20:21:10 2009 +0100
@@ -1,1 +1,1 @@
-5
+7
--- a/debian/control	Thu Feb 19 17:14:32 2009 +0100
+++ b/debian/control	Thu Feb 19 20:21:10 2009 +0100
@@ -2,17 +2,19 @@
 Section: web
 Priority: optional
 Maintainer: Logilab Packaging Team <contact@logilab.fr>
-Uploaders: Sylvain Thenault <sylvain.thenault@logilab.fr> 
-Build-Depends: debhelper (>= 5.0.37.1), python (>=2.4), python-dev (>=2.4), python-central (>= 0.5)
+Uploaders: Sylvain Thenault <sylvain.thenault@logilab.fr>,
+           Julien Jehannet <julien.jehannet@logilab.fr>
+Build-Depends: debhelper (>= 7), python-dev (>=2.4), python-central (>= 0.5)
 Standards-Version: 3.8.0
 Homepage: http://www.cubicweb.org
 XS-Python-Version: >= 2.4, << 2.6
 
+
 Package: cubicweb
 Architecture: all
 XB-Python-Version: ${python:Versions}
 Depends: ${python:Depends}, cubicweb-server (= ${source:Version}), cubicweb-twisted (= ${source:Version}), cubicweb-client (= ${source:Version})
-XBS-Recommends: (postgresql, postgresql-plpython, postgresql-contrib) | mysql | sqlite3
+XB-Recommends: (postgresql, postgresql-plpython, postgresql-contrib) | mysql | sqlite3
 Recommends: postgresql | mysql | sqlite3
 Description: the complete CubicWeb framework
  CubicWeb is a semantic web application framework.
@@ -73,7 +75,7 @@
 Package: cubicweb-common
 Architecture: all
 XB-Python-Version: ${python:Versions}
-Depends: ${python:Depends}, cubicweb-core (= ${source:Version}), python-logilab-mtconverter (>= 0.4.0), python-simpletal (>= 4.0), graphviz, gettext, python-lxml
+Depends: ${python:Depends}, python-logilab-mtconverter (>= 0.4.0), python-simpletal (>= 4.0), graphviz, gettext, python-lxml, python-logilab-common (>= 0.37.2), python-yams (>= 0.20.2), python-rql (>= 0.20.2)
 Recommends: python-psyco
 Description: common library for the CubicWeb framework
  CubicWeb is a semantic web application framework.
@@ -85,7 +87,7 @@
 Package: cubicweb-ctl
 Architecture: all
 XB-Python-Version: ${python:Versions}
-Depends: ${python:Depends}, cubicweb-core (= ${source:Version})
+Depends: ${python:Depends}, cubicweb-common (= ${source:Version})
 Description: tool to manage the CubicWeb framework
  CubicWeb is a semantic web application framework.
  .
@@ -105,17 +107,6 @@
  pyro to connect to a repository server.
 
 
-Package: cubicweb-core
-Architecture: all
-XB-Python-Version: ${python:Versions}
-Depends: ${python:Depends}, python-logilab-common (>= 0.37.2), python-yams (>= 0.20.2), python-rql (>= 0.20.2)
-Description: core library for the CubicWeb framework
- CubicWeb is a semantic web application framework.
- .
- This package provides the core part of the library used by anyone having 
- to do some cubicweb programming in Python.
-
-
 Package: cubicweb-dev
 Architecture: all
 XB-Python-Version: ${python:Versions}
--- a/debian/cubicweb-client.dirs	Thu Feb 19 17:14:32 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-usr/lib/python2.4/site-packages/cubicweb/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/cubicweb-client.install.in	Thu Feb 19 20:21:10 2009 +0100
@@ -0,0 +1,1 @@
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/hercule.py usr/lib/PY_VERSION/site-packages/cubicweb
--- a/debian/cubicweb-common.dirs	Thu Feb 19 17:14:32 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-usr/lib/python2.4/site-packages/cubicweb
-usr/lib/python2.4/site-packages/cubicweb/common
-usr/share/cubicweb/cubes/shared
-usr/share/doc/cubicweb-common
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/cubicweb-common.install.in	Thu Feb 19 20:21:10 2009 +0100
@@ -0,0 +1,17 @@
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/common/ usr/lib/PY_VERSION/site-packages/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/entities/ usr/lib/PY_VERSION/site-packages/cubicweb
+debian/tmp/usr/share/cubicweb/cubes/shared/i18n usr/share/cubicweb/cubes/shared/
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/rset.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/gettext.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/toolsutils.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/cwvreg.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/_exceptions.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/schemaviewer.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/dbapi.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/cwconfig.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/__init__.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/md5crypt.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/schema.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/interfaces.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/vregistry.py usr/share/pyshared/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/__pkginfo__.py usr/share/pyshared/cubicweb
--- a/debian/cubicweb-core.dirs	Thu Feb 19 17:14:32 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-usr/lib/python2.4/site-packages/cubicweb
-usr/share/doc/cubicweb-core
--- a/debian/cubicweb-ctl.cubicweb.init	Thu Feb 19 17:14:32 2009 +0100
+++ b/debian/cubicweb-ctl.cubicweb.init	Thu Feb 19 20:21:10 2009 +0100
@@ -11,5 +11,22 @@
 # Short-Description: Start cubicweb application at boot time
 ### END INIT INFO
 
+# FIXME Seems to be inadequate here
+# FIXME If related to pyro, try instead:
+# export PYRO_STORAGE="/tmp"
 cd /tmp
-/usr/bin/cubicweb-ctl $1 --force
+
+# FIXME Work-around about the following lintian error
+#     E: cubicweb-ctl: init.d-script-does-not-implement-required-option /etc/init.d/cubicweb start
+#
+# Check if we are sure to not want the start-stop-daemon machinery here
+# Refer to Debian Policy Manual section 9.3.2 (Writing the scripts) for details.
+
+case "$1" in
+	"force-reload")
+		/usr/bin/cubicweb-ctl reload --force
+		;;
+	"*|restart")
+		/usr/bin/cubicweb-ctl $1 --force
+		;;
+esac
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/cubicweb-ctl.install.in	Thu Feb 19 20:21:10 2009 +0100
@@ -0,0 +1,3 @@
+debian/tmp/usr/bin/cubicweb-ctl usr/bin/
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/cwctl.py usr/lib/PY_VERSION/site-packages/cubicweb
+debian/cubicweb-ctl.bash_completion etc/bash_completion.d/cubicweb-ctl
--- a/debian/cubicweb-dev.dirs	Thu Feb 19 17:14:32 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-usr/lib/python2.4/site-packages/cubicweb
-usr/lib/python2.4/site-packages/cubicweb/common
-usr/lib/python2.4/site-packages/cubicweb/web
-usr/lib/python2.4/site-packages/cubicweb/server
-usr/lib/python2.4/site-packages/cubicweb/sobjects
-usr/lib/python2.4/site-packages/cubicweb/entities
-usr/share/doc/cubicweb-dev
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/cubicweb-dev.install.in	Thu Feb 19 20:21:10 2009 +0100
@@ -0,0 +1,7 @@
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/devtools/ usr/lib/PY_VERSION/site-packages/cubicweb/
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/skeleton/ usr/lib/PY_VERSION/site-packages/cubicweb/
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/test usr/lib/PY_VERSION/site-packages/cubicweb/
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/common/test usr/lib/PY_VERSION/site-packages/cubicweb/common/
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/server/test usr/lib/PY_VERSION/site-packages/cubicweb/server/
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/sobjects/test usr/lib/PY_VERSION/site-packages/cubicweb/sobjects/
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/web/test usr/lib/PY_VERSION/site-packages/cubicweb/web/
--- a/debian/cubicweb-documentation.dirs	Thu Feb 19 17:14:32 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-usr/share/doc/cubicweb-documentation/
-usr/share/doc/cubicweb-documentation/devmanual_fr
-usr/share/doc-base/
--- a/debian/cubicweb-documentation.install	Thu Feb 19 17:14:32 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-debian/cubicweb-doc usr/share/doc-base/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/cubicweb-documentation.install.in	Thu Feb 19 20:21:10 2009 +0100
@@ -0,0 +1,2 @@
+doc/book usr/share/doc/cubicweb-documentation
+debian/cubicweb-doc usr/share/doc-base/cubicweb-doc
--- a/debian/cubicweb-server.dirs	Thu Feb 19 17:14:32 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-usr/lib/python2.4/site-packages/cubicweb/
-usr/share/cubicweb
-usr/share/doc/cubicweb-server
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/cubicweb-server.install.in	Thu Feb 19 20:21:10 2009 +0100
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/server/ usr/lib/PY_VERSION/site-packages/cubicweb
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/sobjects/ usr/lib/PY_VERSION/site-packages/cubicweb
+debian/tmp/usr/share/cubicweb/schemas/ usr/share/cubicweb/
+debian/tmp/usr/share/cubicweb/migration/ usr/share/cubicweb/
--- a/debian/cubicweb-twisted.dirs	Thu Feb 19 17:14:32 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-usr/lib/python2.4/site-packages
-usr/lib/python2.4/site-packages/cubicweb
-usr/share/doc/cubicweb-twisted
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/cubicweb-twisted.install.in	Thu Feb 19 20:21:10 2009 +0100
@@ -0,0 +1,1 @@
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/etwist/ usr/lib/PY_VERSION/site-packages/cubicweb/
--- a/debian/cubicweb-web.dirs	Thu Feb 19 17:14:32 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-usr/lib/python2.4/site-packages/
-usr/lib/python2.4/site-packages/cubicweb
-usr/share/cubicweb/cubes/shared
-usr/share/doc/cubicweb-web
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/cubicweb-web.install.in	Thu Feb 19 20:21:10 2009 +0100
@@ -0,0 +1,3 @@
+debian/tmp/usr/lib/PY_VERSION/site-packages/cubicweb/web usr/lib/PY_VERSION/site-packages/cubicweb
+debian/tmp/usr/share/cubicweb/cubes/shared/data usr/share/cubicweb/cubes/shared
+debian/tmp/usr/share/cubicweb/cubes/shared/wdoc usr/share/cubicweb/cubes/shared
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/cubicweb-web.lintian-overrides	Thu Feb 19 20:21:10 2009 +0100
@@ -0,0 +1,1 @@
+cubicweb-web: embedded-javascript-library usr/share/cubicweb/cubes/shared/data/jquery.js
--- a/debian/rules	Thu Feb 19 17:14:32 2009 +0100
+++ b/debian/rules	Thu Feb 19 20:21:10 2009 +0100
@@ -4,12 +4,16 @@
 
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
+
+PY_VERSION:=$(shell pyversions -d)
+
 build: build-stamp
 build-stamp: 
 	dh_testdir
 	# XXX doesn't work if logilab-doctools, logilab-xml are not in build depends
 	# and I can't get pbuilder find them in its chroot :(
-	#cd doc && make
+	# cd doc && make
+	# FIXME cleanup and use sphinx-build as build-depends ?
 	python setup.py build
 	touch build-stamp
 
@@ -18,78 +22,42 @@
 	dh_testroot
 	rm -f build-stamp configure-stamp
 	rm -rf build
-	rm -rf debian/cubicweb-*/
-	find . -name "*.pyc" | xargs rm -f
+	#rm -rf debian/cubicweb-*/
+	find . -name "*.pyc" -delete
+	rm -f $(basename $(wildcard debian/*.in))
 	dh_clean
 
-install: build
+install: build $(basename $(wildcard debian/*.in))
 	dh_testdir
 	dh_testroot
-	dh_clean -k
+	dh_clean
 	dh_installdirs
-	########## core package #############################################
-	# put : 
-	# * all the python library and data in cubicweb-core
-	# * scripts in cubicweb-server
-	#
-	# pick from each latter to construct each package
-	python setup.py -q install_lib --no-compile --install-dir=debian/cubicweb-core/usr/lib/python2.4/site-packages/
-	python setup.py -q install_data --install-dir=debian/cubicweb-core/usr/
-	python setup.py -q install_scripts --install-dir=debian/cubicweb-server/usr/bin/
-	########## common package #############################################
-	mv debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/common/ debian/cubicweb-common/usr/lib/python2.4/site-packages/cubicweb
-	mv debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/entities/ debian/cubicweb-common/usr/lib/python2.4/site-packages/cubicweb
-	# data
-	mv debian/cubicweb-core/usr/share/cubicweb/cubes/shared/i18n debian/cubicweb-common/usr/share/cubicweb/cubes/shared/
+
+	#python setup.py install_lib --no-compile --install-dir=debian/cubicweb-common/usr/lib/python2.4/site-packages/
+	python setup.py -q install --no-compile --prefix=debian/tmp/usr
+
+	# Put all the python library and data in cubicweb-common
+	# and scripts in cubicweb-server
+	dh_install -vi
+	dh_lintian
+
+	# Remove unittests directory (should be available in cubicweb-dev only)
+	rm -rf debian/cubicweb-server/usr/lib/${PY_VERSION}/site-packages/cubicweb/server/test
+	rm -rf debian/cubicweb-server/usr/lib/${PY_VERSION}/site-packages/cubicweb/sobjects/test
+	rm -rf debian/cubicweb-web/usr/lib/${PY_VERSION}/site-packages/cubicweb/web/test
+	rm -rf debian/cubicweb-common/usr/lib/${PY_VERSION}/site-packages/cubicweb/common/test
+
+	# cubes directory must be managed as a valid python module
+	ls -l debian/cubicweb-common/usr/share/cubicweb/cubes
 	touch debian/cubicweb-common/usr/share/cubicweb/cubes/__init__.py
-	########## server package #############################################
-	# library
-	mv debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/server/ debian/cubicweb-server/usr/lib/python2.4/site-packages/cubicweb
-	mv debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/sobjects/ debian/cubicweb-server/usr/lib/python2.4/site-packages/cubicweb
-	# data
-	mv debian/cubicweb-core/usr/share/cubicweb/schemas/ debian/cubicweb-server/usr/share/cubicweb/
-	mv debian/cubicweb-core/usr/share/cubicweb/migration/ debian/cubicweb-server/usr/share/cubicweb/
-	########## twisted package ############################################
-	# library
-	mv debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/etwist/ debian/cubicweb-twisted/usr/lib/python2.4/site-packages/cubicweb/
-	########## web package ################################################
-	# library
-	mv debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/web/ debian/cubicweb-web/usr/lib/python2.4/site-packages/cubicweb/
-	# data / web documentation
-	mv debian/cubicweb-core/usr/share/cubicweb/cubes/shared/data debian/cubicweb-web/usr/share/cubicweb/cubes/shared/
-	mv debian/cubicweb-core/usr/share/cubicweb/cubes/shared/wdoc debian/cubicweb-web/usr/share/cubicweb/cubes/shared/
-	########## ctl package ################################################
-	# scripts
-	mv debian/cubicweb-server/usr/bin/cubicweb-ctl debian/cubicweb-ctl/usr/bin/
-	mv debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/cwctl.py debian/cubicweb-ctl/usr/lib/python2.4/site-packages/cubicweb
-	mv debian/cubicweb-ctl.bash_completion debian/cubicweb-ctl/etc/bash_completion.d/cubicweb-ctl
-	########## client package #############################################
-	# library
-	mv debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/hercule.py debian/cubicweb-client/usr/lib/python2.4/site-packages/cubicweb
-	########## dev package ################################################
-	# devtools package
-	mv debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/devtools/ debian/cubicweb-dev/usr/lib/python2.4/site-packages/cubicweb/
-	mv debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/skeleton/ debian/cubicweb-dev/usr/lib/python2.4/site-packages/cubicweb/
-	# tests directories
-	mv debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/test debian/cubicweb-dev/usr/lib/python2.4/site-packages/cubicweb/
-	mv debian/cubicweb-common/usr/lib/python2.4/site-packages/cubicweb/common/test debian/cubicweb-dev/usr/lib/python2.4/site-packages/cubicweb/common/
-	mv debian/cubicweb-server/usr/lib/python2.4/site-packages/cubicweb/server/test debian/cubicweb-dev/usr/lib/python2.4/site-packages/cubicweb/server/
-	mv debian/cubicweb-server/usr/lib/python2.4/site-packages/cubicweb/sobjects/test debian/cubicweb-dev/usr/lib/python2.4/site-packages/cubicweb/sobjects/
-	mv debian/cubicweb-web/usr/lib/python2.4/site-packages/cubicweb/web/test debian/cubicweb-dev/usr/lib/python2.4/site-packages/cubicweb/web/
-	########## documentation package ######################################
-	cp -r doc/book debian/cubicweb-documentation/usr/share/doc/cubicweb-documentation/
-	########## core package ###############################################
-	# small cleanup
-	rm -rf debian/cubicweb-core/usr/share/cubicweb/
-	# undistributed for now
-	rm -rf debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/goa
-	rm -rf debian/cubicweb-core/usr/lib/python2.4/site-packages/cubicweb/wsgi
+
+%: %.in
+	sed "s/PY_VERSION/${PY_VERSION}/g" < $< > $@
 
 # Build architecture-independent files here.
 binary-indep: build install
 	dh_testdir
 	dh_testroot -i
-	dh_install -i
 	dh_pycentral -i
 	dh_installinit -i -n --name cubicweb -u"defaults 99"
 	dh_installlogrotate -i
--- a/doc/book/en/B0020-define-workflows.en.txt	Thu Feb 19 17:14:32 2009 +0100
+++ b/doc/book/en/B0020-define-workflows.en.txt	Thu Feb 19 20:21:10 2009 +0100
@@ -155,4 +155,3 @@
 defined by the workflow. This transition, as defined in the workflow,
 will only being displayed for the users belonging to the group
 moderators of managers.
-
--- a/doc/book/en/B1060-templates.en.txt	Thu Feb 19 17:14:32 2009 +0100
+++ b/doc/book/en/B1060-templates.en.txt	Thu Feb 19 20:21:10 2009 +0100
@@ -196,11 +196,9 @@
 the case we want to create new CSS style, the best is to define it a in a new
 CSS located under ``myapp/data/``.
 
-If you want to modify an existing CSS styling property, you will have to use
-``!important`` declaration to override the existing property. The application
-apply a higher priority on the default CSS and you can not change that. 
-Customized CSS will not be read first.
 
+.. [TRANSLATE ME FROM FRENCH]
+.. 03-XX-external_resources.fr.txt
 
 [TODO]
 Add login menu in left column
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/fr/03-XX-external_resources.fr.txt	Thu Feb 19 20:21:10 2009 +0100
@@ -0,0 +1,135 @@
+.. -*- coding: utf-8 -*-
+
+
+Les ressources externes
+=======================
+
+Les ressources externes à une application regroupent l'ensemble des fichiers qui seront chargés dans l'entête des pages XHTML générées.
+Elles sont donc constituées principalement des feuilles de styles, des scripts javascripts et de certaines ressources graphiques comme l'icône favicon par exemple.
+
+
+Liste des feuilles de styles utilisées par défaut
+-------------------------------------------------
+
+Les fichiers par défaut se trouve dans les sources du framework. En voici le tableau récapitulatif:
+
++--------------------------------------+----------------------------------------------------+-----------------------------------+
+| Fichiers                             | Utilisation                                        | Vues ou widget concernés          |
++======================================+====================================================+===================================+
+| web/data/cubicweb.acl.css            | formulaires pour le contrôle aux accès             | editgroups, security              |
+| web/data/cubicweb.calendar.css       | calendriers                                        | onemonthcal, oneweekcal           |
+| web/data/cubicweb.calendar_popup.css | popup calendriers                                  | DateWidget                        |
+| web/data/cubicweb.css                | gabarit principal de l'application                 |                                   |
+| web/data/cubicweb.facets.css         | surcharge du `MIT Simile Exhibit Web Widgets`_     | filter_box                        |
+| web/data/cubicweb.form.css           | formulaires                                        | creation, inline-creation, copya, |
+|                                      |                                                    | inline-edition, edition, muledit  |
+| web/data/cubicweb.html_tree.css      | style pour les widgets d'arborescence              |                                   |
+| web/data/cubicweb.ie.css             | dédié aux comportements de Internet Explorer       |                                   |
+| web/data/cubicweb.iprogress.css      | style pour les widgets d'avancement                |                                   |
+| web/data/cubicweb.login.css          | page et popup d'authentification                   | logform                           |
+| web/data/cubicweb.mailform.css       | style utilisé dans les formulaires d'envoi de mail |                                   |
+| web/data/cubicweb.preferences.css    | style pour la page des préférences utilisateurs    | systemepropertiesform             |
+| web/data/cubicweb.print.css          | style dédié à l'impression                         |                                   |
+| web/data/cubicweb.schema.css         | style dédié au schéma de l'application             |                                   |
+| web/data/cubicweb.suggest.css        | surcharge utilisée pour les suggestions            |                                   |
+| web/data/cubicweb.tablesorter.css    | surcharge pour le tri dans les tableau             |                                   |
+| web/data/cubicweb.tableview.css      | surcharge pour le tri sélectif                     |                                   |
+| web/data/cubicweb.timetable.css      | style pour le widget Timetable                     | timetable                         |
+| web/data/jquery.autocomplete.css     | surcharge pour le widget `jQuery autocompleter`_   |                                   |
+| web/data/jquery.treeview.css         | surcharge pour le widget `jQuery treeview`_        |                                   |
+| web/data/pygments.css                | style pour la coloration des blocs de code         |                                   |
+| web/data/timeline-bundle.css         | surcharge du `MIT Simile Timeline Web Widgets`_    | TimelineWidget                    |
+| web/data/ui.tabs.css                 | surcharge pour le widget Tabs de `jQuery UI`_      |                                   |
++--------------------------------------+----------------------------------------------------+-----------------------------------+
+
+.. _MIT Simile Exhibit Web Widgets: http://code.google.com/p/simile-widgets/wiki/Exhibit
+.. _MIT Simile Timeline Web Widgets: http://code.google.com/p/simile-widgets/wiki/Timeline
+.. _jQuery autocompleter: http://www.dyve.net/jquery/?autocomplete
+.. _jQuery treeview: http://plugins.jquery.com/project/treeview
+.. _jQuery UI: http://docs.jquery.com/UI
+
+D'une manière générale, si vous réutiliser un nom de fichier existant, vous écrasez le contenu du fichier d'origine.
+
+
+Changer les feuilles de styles
+------------------------------
+
+Configuration statique
+~~~~~~~~~~~~~~~~~~~~~~
+Dans les sources de votre nouveau cube, vous devez éditer le fichier *data/external_resources* et définir la variable de configuration:
+
+    # CSS stylesheets to include in HTML headers
+    # uncomment the line below to use template specific stylesheet
+    STYLESHEETS = DATADIR/cubicweb.css
+
+Les styles sont définis dans le fichier external_resources par 3 variables:
+
+- la variable STYLESHEETS est défine pour tous les types de médias
+- la variable STYLESHEETS_PRINT sont les styles applicables pour l'impression
+- la variable IE_STYLESHEETS s'appliquent uniquement aux versions d'Internet Explorer
+
+En copiant le fichier d'origine **cubicweb.css**, il est alors possible de modifier le gabarit de base du framework CubicWeb.
+Il est également possible de réutiliser le fichier d'origine.
+
+En créant un nouveau fichier **cubes.(le_nom_du_cube).css** dans le répertoire **data/** et en ajoutant une directive css @import, il est possible de réutiliser les styles définis par défaut:
+
+    @import url("cubicweb.css");
+
+
+Chargement dynamique de feuilles de style dans vos vues
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Il est possible de charger des css spécifiques pour une vue par l'utilisation de la méthode add_css():
+
+    self.req.add_css('mon_cube.css')
+
+
+Les ressources graphiques de base
+---------------------------------
+
+Vous pouvez changer certaines ressources graphiques comme:
+
+- le logo du site:
+
+    # path to the logo (relative to the application main script, seen as a
+    # directory, hence .. when you are not using an absolute path)
+    LOGO = DATADIR/logo.png
+
+- la 'favicon' du site:
+
+    FAVICON = DATADIR/favicon.ico
+
+- le logo des flux RSS:
+
+    RSS_LOGO = DATADIR/rss.png
+
+- l'icône permettant l'appel au widget 'calendrier':
+
+    CALENDAR_ICON = DATADIR/calendar.png
+
+- l'icône utilisée pour la validation d'une recherche:
+
+    SEARCH_GO = DATADIR/go.png
+
+- l'icône d'aide en ligne:
+
+    HELP = DATADIR/help.png
+
+
+Ajouter vos scripts javascripts
+-------------------------------
+
+Configuration statique
+~~~~~~~~~~~~~~~~~~~~~~
+Vous devez surcharger la variable JAVASCRIPTS dans le fichier *data/external_resources*  de votre cube.
+
+Chargement dynamique de script javascript dans vos vues
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Il est possible de charger vos scripts par la méthode add_js():
+
+    self.req.add_js('mon_script.js')
+
+
+Problèmes connus
+----------------
+
+Il est important de noter que la méthode de chargement dynamique ne marche pas avec les widgets Ajax. Vos fichiers devront déjà être au préalable avoir été chargés.
--- a/web/data/cubicweb.calendar.css	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/data/cubicweb.calendar.css	Thu Feb 19 20:21:10 2009 +0100
@@ -74,7 +74,7 @@
 }
 
 table.omcalendar tr td div.calCellTitle div.stopper {
-  clear:pos;
+ /* clear:pos; # FIXME : pos is not a clear value*/
 }
 
 table.omcalendar tr td {
--- a/web/data/cubicweb.calendar_popup.css	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/data/cubicweb.calendar_popup.css	Thu Feb 19 20:21:10 2009 +0100
@@ -45,7 +45,7 @@
 
 table.popupCalendar th.prev,
 table.popupCalendar th.next {
-  color: orangered;
+  color: #ff4500;
   font-size: 50%;
   font-weight: bold;
   padding: 2px 0px;
--- a/web/data/cubicweb.css	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/data/cubicweb.css	Thu Feb 19 20:21:10 2009 +0100
@@ -3,10 +3,9 @@
  *  :copyright: 2003-2008 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
  *  :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
  */
-
-/******************************************************************************/
-/* main styles                                                                */
-/******************************************************************************/
+/***************************************/
+/* xhtml tags styles                   */
+/***************************************/
 
 *{
   margin:0px;
@@ -23,14 +22,12 @@
   font-family: Verdana, sans-serif;
 }
 
-
 h1 {
   font-size: 188%;
   margin: 0.2em 0px 0.3em;
   border-bottom: 1px solid #000;
 }
 
-
 h2, h3 {
   margin-top: 0.2em;
   margin-bottom: 0.3em;
@@ -57,7 +54,7 @@
   font-size:105%;
 }
 
-a, a:active, a:link, a:visited {
+a, a:active, a:visited, a:link {
   color: #ff4500;
   text-decoration: none;
 }
@@ -66,33 +63,17 @@
   text-decoration: underline;
 }
 
-a.grayedout {
-  display: block;
-  padding-left: 2px;
-  color: #808080;
-}
-
-a.grayedout:visited{
-  color: #808080;
-}
-
-a.grayedout:hover {
-  color: #000;
-}
-
 a img {
   border: none;
   text-align: center;
 }
 
 p {
-  margin-top: 0em;
-  margin-bottom: 0.2em;
+  margin: 0em 0px 0.2em;
   padding-top: 2px;
 }
 
-
-table, td, input, select {
+table, td, input, select{
   font-size: 100%;
 }
 
@@ -107,7 +88,7 @@
 
 table td img {
   vertical-align: middle;
-  margin: 0px 10px 0px 0px;
+  margin-right: 10px;
 }
 
 ol {
@@ -125,29 +106,22 @@
   background: url("bullet_orange.png") 0% 6px no-repeat;
 }
 
-pre {
-  font-family: Courier, "Courier New", Monaco, monospace;
-  font-size: 100%;
-  color: #000;
-  background-color: #f2f2f2;
-  border: 1px solid #ccc;
-  /*overflow:auto; */
+dt {
+  font-size:1.17em;
+  font-weight:600;
 }
 
-blockquote {
-  font-family: Courier, "Courier New", serif;
-  font-size: 120%;
-  margin: 5px 0px;
-  padding: 0.8em;
-  background-color: #f2f2f2;
-  border: 1px solid #ccc;
+dd {
+  margin: 0.6em 0 1.5em 2em;
 }
 
-note, code {
-  font-size: 120%;
-  color: #000;
-  background-color: #f2f2f2;
-  border: 1px solid #ccc;
+fieldset {
+  border: none;
+}
+
+legend {
+  padding: 0px 2px;
+  font: bold 1em Verdana, sans-serif;
 }
 
 input, textarea {
@@ -160,35 +134,41 @@
   border: 1px inset #ff7700;
 }
 
-fieldset {
-  border: none;
-}
-
-legend {
-  padding: 0px 2px;
-  font: bold 1em Verdana, sans-serif;
-}
-
 label, .label {
-  font-weight: bold ! important;
+  font-weight: bold;
 }
 
 iframe {
   border: 0px;
 }
 
-dt {
-	font-size:	1.17em;
-	font-weight:	600;
+pre {
+  font-family: Courier, "Courier New", Monaco, monospace;
+  font-size: 100%;
+  color: #000;
+  background-color: #f2f2f2;
+  border: 1px solid #ccc;
 }
 
-dd {
-	margin: 0.6em 0 1.5em 2em;
+code {
+  font-size: 120%;
+  color: #000;
+  background-color: #f2f2f2;
+  border: 1px solid #ccc;
 }
 
-/******************************************************************************/
-/* generic classes                                                            */
-/******************************************************************************/
+blockquote {
+  font-family: Courier, "Courier New", serif;
+  font-size: 120%;
+  margin: 5px 0px;
+  padding: 0.8em;
+  background-color: #f2f2f2;
+  border: 1px solid #ccc;
+}
+
+/***************************************/
+/* generic classes                     */
+/***************************************/
 
 .odd {
   background-color: #f7f6f1;
@@ -215,77 +195,70 @@
   clear: both;
 }
 
-.noborder {
-  border: none;
-}
-
-.strong{
-  font-weight:bold;
-}
-
-.title {
-  text-align: left;
-  font-size:  large;
-  font-weight: bold;
-}
-
-.titleUnderline {
-  color: #000;
-  clear: left;
-  margin: 0px;
-  padding-top: 0.5em;
-  border-bottom: 1px solid black;
-}
-
-.helper{
-  font-size: 96%;
-  color: #555544;
-}
-
-.helper:hover {
-  color: #000;
-  cursor: default;
-}
-
 .hidden {
   display: none;
   visibility: hidden;
 }
 
-.needsvalidation {
-  font-style: italic;
-  color: grey ! important;
-}
 
-.folder {
-  /* disable odd/even under folder class */
-  background-color: transparent;
-}
+/* FIXME need to be moved to cubicweb.forms.css */
+li.invisible { list-style: none; background: none; padding: 0px 0px
+1px 1px; }
 
-li.invisible {
-  list-style: none;
-  background: none;
-  padding: 0px 0px 1px 1px;
-}
-
+/* FIXME Should use span in html insteed */
 li.invisible div {
   display: inline;
 }
 
-div.row {
- clear: both;
- padding-bottom:0.4px
+
+/***************************************/
+/*   LAYOUT                            */
+/***************************************/
+
+/* header */
+
+table#header {
+  background: #ff7700 url("banner.png") left top repeat-x;
+  text-align: left;
+}
+
+table#header td {
+  vertical-align: middle;
+}
+
+table#header a {
+color: #000;
 }
 
-div.row span.label{ 
- padding-right:1em
+span#appliName {
+ font-weight: bold;
+ color: #000;
+ white-space: nowrap;
+}
+
+table#header td#headtext {
+  width: 100%;
 }
 
-div.field {
-  margin-left: 0.2em;
-  display: inline;
+a.help{
+  display: block;
+  margin: 0px 5px 0px 8px;
+  height: 17px;
+  width: 17px;
+  background: url('help.png') 0% 0% no-repeat;
 }
 
+a.help:hover {
+  background-position: 0px -16px;
+  text-decoration: none;
+}
+
+/* FIXME appear with 4px width in IE6 */
+div#stateheader{
+  min-width: 66%;
+}
+
+/* Popup on login box and userActionBox */
 div.popup {
   position: absolute;
   z-index: 400;
@@ -300,42 +273,7 @@
   color: black;
 }
 
-/******************************************************************************/
-/* header / layout                                                            */
-/******************************************************************************/
-
-.logo {
- background: #fff;
- border-left: #f2f2f2;
-}
-
-span#appliName {
- font-weight: bold;
- color: #000;
- white-space: nowrap;
-}
-
-#header {
-  background: #ff7700 url("banner.png") left top repeat-x;
-  text-align: left;
-}
-
-table#header td {
-  vertical-align: middle;
-}
-
-table#header a {
-color: #000;
-}
-
-td#headtext {
-  width: 100%;
-}
-
-/*FIXME appear with 4px width in IE6*/
-div#stateheader{
-  width: 66%;
-}
+/* main zone */
 
 div#page {
   background: #e2e2e2;
@@ -343,16 +281,16 @@
   min-height: 800px;
 }
  
-td#contentcol {
-  padding: 8px 5px 5px 10px;
+table#mainLayout{ 
+ margin:0px 3px;
 }
 
+table#mainLayout td#contentcol {
+  padding: 8px 10px 5px;
+}
 
-div#pageContent {
-  clear: both;
-  padding: 10px 1em 2em;
-  background: #ffffff;
-  border: 1px solid #ccc;
+table#mainLayout td.navcol {
+  width: 16em;
 }
 
 #contentheader {
@@ -364,157 +302,29 @@
   color: #000;
 }
 
-td.firstcolumn {
-  width: 220px;
-}
-
-td.navcol {
-  width: 16em;
-}
-
-div.footer {
-  text-align: center;
-}
-div.footer a {
-  color: #000;
-  text-decoration: none;
+div#pageContent {
+  clear: both;
+  padding: 10px 1em 2em;
+  background: #ffffff;
+  border: 1px solid #ccc;
 }
 
-/******************************************************************************/
-/* help button                                                                */
-/******************************************************************************/
-
-a.help{
-  display: block;
-  margin: 0px 5px 0px 8px;
-  height: 17px;
-  width: 17px;
-  background: url('help.png') 0% 0% no-repeat;
-}
+/* rql bar */
 
-a.help:hover {
-  background-position: 0px -16px;
-  text-decoration: none;
-}
-
-/******************************************************************************/
-/* rql bar                                                                    */
-/******************************************************************************/
-
-div#rqlform {
-  width: 100%;
+div#rqlinput {
+  border: 1px solid #cfceb7;
+  margin-bottom: 8px;
+  padding: 3px;
+  background: #cfceb7;
 }
 
 input#rql{
- width: 80%;
- margin-left: 12px;
-}
-
-/******************************************************************************/
-/* user actions menu                                                          */
-/******************************************************************************/
-
-a.logout, a.logout:visited, a.logout:hover{
-  color: #fff;
-  text-decoration: none;
-}
-
-div#userActionsBox {
-  width: 14em;
-  text-align: right;
-}
-
-div#userActionsBox a.popupMenu {
-  color: black;
-  text-decoration: underline;
-}
-
-/******************************************************************************/
-/* buttons                                                                    */
-/******************************************************************************/
-
-input#rqlboxsubmit, input#rqlboxsubmit2 {
-  background: #fffff8 url("go.png") 50% 50% no-repeat;
-  width: 20px;
-  height: 20px;
-  margin: 0px;
-}
-
-input.button,
-input.formButton,
-input.validateButton,
-input.searchButton,
-input.loginButton {
-  border-top: 1px solid #edecd2;
-  border-left: 1px solid #edecd2;
-  border-right: 1px solid #cfceb7;
-  border-bottom: 1px solid #cfceb7;
-  background: #fffff8 url("button.png") bottom left repeat-x;
-}
-
-input.searchButton {
-  background: #f0eff0 url("gradient-grey-up.png") left top repeat-x;
-}
-
-input.button,
-input.validateButton {
-  margin: 1em 1em 0px 0px ! important;
+  width: 95%;
 }
 
-/******************************************************************************/
-/* primary view                                                               */
-/******************************************************************************/
-
-.mainInfo  {
-  margin-right: 1em;
-  padding: 0.2em;
-}
-
-div.mainRelated {
-  border: none;
-  margin-right: 1em;
-  padding: 0.5em 0.2em 0.2em;
-}
-
-div.sideRelated h4,
-div.sideRelated h5 {
-  margin-top: 0px;
-  margin-bottom: 0px;
-}
-
-div.sideRelated {
-  margin-right: 1em;
-  padding: 12px 0px 12px 12px;
-  min-width: 21em;
-  max-width: 50em;
-}
-
-div.metadata {
-  font-size: 90%;
-  margin: 5px 0px 3px;
-  color: #666;
-  font-style: italic;
-  text-align: right;
-}
-
-div.section {
-  margin-top: 0.5em;
-  width:100%;
-}
-
-div.section a:hover {
-  text-decoration: none;
-}
-
-
-
-/******************************************************************************/
-/* boxes                                                                      */
-/******************************************************************************/
-
+/* boxes */
 div.navboxes {
-  padding-left: 3px;
-  margin-top: 8px;
+ margin-top: 8px; 
 }
 
 div.boxFrame {
@@ -594,12 +404,14 @@
   color: #111100;
 }
 
+
 a.boxMenu {
   background: transparent url("puce_down.png") 98% 6px no-repeat;
   display: block;
   padding: 1px 9px 1px 3px;
 }
 
+
 a.popupMenu {
   background: transparent url("puce_down_black.png") 2% 6px no-repeat;
   padding-left: 2em;
@@ -648,6 +460,12 @@
   background: #eeedd9;
 }
 
+ul.sideBox li{ 
+ list-style: none;
+ background: none; 
+ padding: 0px 0px 1px 1px;
+ }
+
 div.sideBoxBody {
   padding: 0.2em 5px;
 }
@@ -680,62 +498,45 @@
  padding:0px 5px;
 }
 
-/******************************************************************************/
-/* inline edition and generic form classes                                    */
-/******************************************************************************/
+/* FIXME rqlboxsubmit2 still necessary ? */
 
-div.inlineedit {
-  display: none;
+input.rqlsubmit, 
+input#rqlboxsubmit2 {
+  background: #fffff8 url("go.png") 50% 50% no-repeat;
+  width: 20px;
+  height: 20px;
+  margin: 0px;
 }
 
-div.editableField {
-  display: inline;
-}
-
-div.editableField:hover,
-div.editableField p:hover {
-  background-color: #eeedd9;
+input#norql{
+  width:13em;
+  margin-right: 2px;
 }
 
-option.separator {
-  font-weight: bold;
-  background: #ccc;
-  text-align: center;
-}
-
-input.error {
-  background: transparent url("error.png") 100% 50% no-repeat;
+/* user actions menu */
+a.logout, a.logout:visited, a.logout:hover{
+  color: #fff;
+  text-decoration: none;
 }
 
-span.error {
-  display: block;
-  font-weight: bold;
-  color: #ed0d0d;
+div#userActionsBox {
+  width: 14em;
+  text-align: right;
 }
 
-/******************************************************************************/
-/* navigation                                                                 */
-/******************************************************************************/
+div#userActionsBox a.popupMenu {
+  color: black;
+  text-decoration: underline;
+}
 
+/**************/
+/* navigation */
+/**************/
 div#etyperestriction {
   margin-bottom: 1ex;
   border-bottom: 1px solid #ccc;
 }
 
-div.navigation a {
-  text-align: center;
-  text-decoration: none;
-}
-
-div.prevnext {
-  width: 100%;
-  margin-bottom: 1em;
-}
-
-div.prevnext a {
-  color: #000;
-}
-
 span.slice a:visited,
 span.slice a:hover{
   color: #555544;
@@ -746,15 +547,94 @@
   color: #000;
 }
 
-/******************************************************************************/
-/* messages                                                                   */
-/******************************************************************************/
+/* FIXME should be moved to cubes/folder */
+div.navigation a {
+  text-align: center;
+  text-decoration: none;
+}
+
+/* FIXME seems to be not used in cubicweb framework */
+div.prevnext {
+  width: 100%;
+  margin-bottom: 1em;
+}
+
+div.prevnext a {
+  color: #000;
+}
+
+
+/***************************************/
+/* entity views                        */
+/***************************************/
+
+.mainInfo  {
+  margin-right: 1em;
+  padding: 0.2em;
+}
+
+
+div.mainRelated {
+  border: none;
+  margin-right: 1em;
+  padding: 0.5em 0.2em 0.2em;
+}
+
+div.sideRelated h4,
+div.sideRelated h5 {
+  margin-top: 0px;
+  margin-bottom: 0px;
+}
+
+div.sideRelated {
+  margin-right: 1em;
+  padding: 12px 0px 12px 12px;
+  min-width: 21em;
+  max-width: 50em;
+}
+
+div.metadata {
+  font-size: 90%;
+  margin: 5px 0px 3px;
+  color: #666;
+  font-style: italic;
+  text-align: right;
+}
+
+div.section {
+  margin-top: 0.5em;
+  width:100%;
+}
+
+div.section a:hover {
+  text-decoration: none;
+}
+
+/* basic entity view */
+
+div.row {
+ clear: both;
+ padding-bottom:0.4px
+}
+
+div.row span.label{ 
+ padding-right:1em
+}
+
+div.field {
+  margin-left: 0.2em;
+  display: inline;
+}
+
+
+/***************************************/
+/* messages                            */
+/***************************************/
 
 .warning,
 .message,
-.errorMessage,
-.searchMessage,
-.statemessage {
+.errorMessage ,
+.searchMessage{
   padding: 0.3em 0.3em 0.3em 1em;
   font-weight: bold;
 }
@@ -772,13 +652,6 @@
   background: #f8f8ee;
 }
 
-div#rqlinput {
-  border: 1px solid #cfceb7;
-  margin-bottom: 8px;
-  padding: 3px;
-  background: #cfceb7;
-}
-
 .message {
   margin: 0px;
   background: #f8f8ee url("information.png") 5px center no-repeat;
@@ -823,9 +696,9 @@
   display: none;
 }
 
-/******************************************************************************/
-/* listing table                                                              */
-/******************************************************************************/
+/***************************************/
+/* listing table                       */
+/***************************************/
 
 table.listing {
  margin: 10px 0em;
@@ -872,9 +745,10 @@
   top: -1px;
 }
 
-/******************************************************************************/
-/* drag and drop zone (XXX only used in seo for now)                          */
-/******************************************************************************/
+/***************************************/
+/* drag and drop zone                  */
+/* (XXX only used in seo for now)      */
+/***************************************/
 
 div.droppable {
   border: 1px dashed black;
@@ -887,19 +761,11 @@
   background: #f4f5ed;
 }
 
-/******************************************************************************/
-/* search box                                                                 */
-/******************************************************************************/
+/****************************************/
+/* filter box  FIXME is not used anymore*/
+/****************************************/
 
-input#norql{
-  width:13em;
-  margin-right: 2px;
-}
-
-/******************************************************************************/
-/* filter box                                                                 */
-/******************************************************************************/
-
+/*
 #filter_box input {
   width: 180px;
 }
@@ -916,38 +782,11 @@
 #filter_box option.disabled {
   background: lightgray;
 }
-
-/******************************************************************************/
-/* table filter form                                                          */
-/******************************************************************************/
-
-table.filter th {
-  font-weight: bold;
-  background: #ebe8d9 url("button.png") repeat-x;
-  padding: 0.3em;
-  border-bottom: 1px solid #cfceb7;
-  text-align: left;
-}
+*/
 
-table.filter div.facet {
-  padding: 0.6em 0.2em;
-  margin: 0em 1em;
-  border: 1px solid #ccc;
-}
-
-table.filter div.facetTitle {
-  font-weight: bold;
-}
-
-
-div#tableActionsBox {
- direction:rtl;
- float:right
-}
-
-/******************************************************************************/
-/* error view (views/management.py)                                           */
-/******************************************************************************/
+/***************************************/
+/* error view (views/management.py)    */
+/***************************************/
 
 div.pycontext { /* html traceback */
   font-family: Verdana, sans-serif;
@@ -961,32 +800,10 @@
   color: #ff0000;
 }
 
-/******************************************************************************/
-/* index view (views/startup.py)                                              */
-/******************************************************************************/
 
-table.startup {
-  width: 100%;
-}
-
-table.startup td {
-  padding: 0.1em 0.2em;
-}
-
-table.startup td.addcol {
-  text-align: right;
-  width: 0.5em;
-}
-
-table.startup th{
-  padding-top: 3px;
-  padding-bottom: 3px;
-  text-align: left;
-}
-
-/******************************************************************************/
-/* addcombobox                                                                */
-/******************************************************************************/
+/***************************************/
+/* addcombobox                         */
+/***************************************/
 
 input#newopt{ 
  width:120px ; 
@@ -1005,3 +822,51 @@
  display:block;
  float:left;
 }
+
+/***************************************/
+/* buttons                             */
+/***************************************/
+
+input.button{  
+  margin: 1em 1em 0px 0px;
+  border: 1px solid #edecd2;
+  border-color:#edecd2 #cfceb7 #cfceb7  #edecd2;
+  background: #fffff8 url("button.png") bottom left repeat-x;
+}
+
+/* FileItemInnerView  jquery.treeview.css */
+.folder {
+  /* disable odd/even under folder class */
+  background-color: transparent;
+}
+
+/***************************************/
+/* footer                              */
+/***************************************/
+
+div.footer {
+  text-align: center;
+}
+div.footer a {
+  color: #000;
+  text-decoration: none;
+}
+
+
+/****************************************/
+/* FIXME must by managed by cubes       */
+/****************************************/
+.needsvalidation {
+  font-style: italic;
+  color: gray;
+}
+
+
+/***************************************/
+/* FIXME : Deprecated ? entity view ?  */
+/***************************************/
+.title {
+  text-align: left;
+  font-size:  large;
+  font-weight: bold;
+}
--- a/web/data/cubicweb.facets.css	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/data/cubicweb.facets.css	Thu Feb 19 20:21:10 2009 +0100
@@ -69,7 +69,7 @@
 }
 
 div#filter_box div.boxTitle {
-  visibility: none;
+  visibility: hidden;
   display: none;
 }
 
--- a/web/data/cubicweb.form.css	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/data/cubicweb.form.css	Thu Feb 19 20:21:10 2009 +0100
@@ -9,7 +9,7 @@
   width: 100%;
   font-size : 160%;
   font-weight: bold;
-  color: orangered;
+  color: #ff4500;
   padding-bottom : 0.4em;
   text-transform: capitalize;
   background: url("bg_trame_grise.png") left bottom repeat-x;
@@ -178,6 +178,35 @@
   margin-left: 2em;
 }
 
+/*FIXME inlineedit not used ?*/
+div.inlineedit {
+  display: none;}
+
+div.editableField {
+  display: inline;
+}
+
+div.editableField:hover,
+div.editableField p:hover {
+  background-color: #eeedd9;
+}
+
+input.error {
+  background: transparent url("error.png") 100% 50% no-repeat;
+}
+
+span.error {
+  display: block;
+  font-weight: bold;
+  color: #ed0d0d;
+}
+
+option.separator {
+  font-weight: bold;
+  background: #ccc;
+  text-align: center;
+}
+
 div.trame_grise {
   background: url("bg_trame_grise.png") left top repeat-x;
 }
@@ -189,3 +218,21 @@
   padding-left: 2em;
   background : #f8f8ee url("information.png") 5px center no-repeat ;
 }
+
+.helper{
+  font-size: 96%;
+  color: #555544;
+}
+
+.helper:hover {
+  color: #000;
+  cursor: default;
+}
+
+input.validateButton {  
+  margin: 1em 1em 0px 0px;
+  border: 1px solid #edecd2;
+  border-color:#edecd2 #cfceb7 #cfceb7  #edecd2;
+  background: #fffff8 url("button.png") bottom left repeat-x;
+}
+
--- a/web/data/cubicweb.login.css	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/data/cubicweb.login.css	Thu Feb 19 20:21:10 2009 +0100
@@ -76,7 +76,8 @@
 }
 
 input.loginButton {
-  display:block;
+  border: 1px solid #edecd2;
+  border-color:#edecd2 #cfceb7 #cfceb7  #edecd2;
   margin: 2px 0px 0px;
   background: #f0eff0 url("gradient-grey-up.png") left top repeat-x; 
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/data/cubicweb.manageview.css	Thu Feb 19 20:21:10 2009 +0100
@@ -0,0 +1,22 @@
+/***************************************/
+/* Manage view (views/startup.py)      */
+/***************************************/
+
+table.startup {
+  width: 100%;
+}
+
+table.startup td {
+  padding: 0.1em 0.2em;
+}
+
+table.startup td.addcol {
+  text-align: right;
+  width: 0.5em;
+}
+
+table.startup th{
+  padding-top: 3px;
+  padding-bottom: 3px;
+  text-align: left;
+}
--- a/web/data/cubicweb.schema.css	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/data/cubicweb.schema.css	Thu Feb 19 20:21:10 2009 +0100
@@ -5,6 +5,16 @@
  *  :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
  */
 
+
+.titleUnderline {
+  color: #000;
+  clear: left;
+  margin: 0px;
+  padding-top: 0.5em;
+  border-bottom: 1px solid black;
+}
+
+
 div.relationDefinition { 
   float: left;   
   position: relative;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/data/cubicweb.tableview.css	Thu Feb 19 20:21:10 2009 +0100
@@ -0,0 +1,27 @@
+/***************************************/
+/* filter table form                   */
+/***************************************/
+
+table.filter th {
+  font-weight: bold;
+  background: #ebe8d9 url("button.png") repeat-x;
+  padding: 0.3em;
+  border-bottom: 1px solid #cfceb7;
+  text-align: left;
+}
+
+table.filter div.facet {
+  padding: 0.6em 0.2em;
+  margin: 0em 1em;
+  border: 1px solid #ccc;
+}
+
+table.filter div.facetTitle {
+  font-weight: bold;
+}
+
+
+div#tableActionsBox {
+ direction:rtl;
+ float:right
+}
--- a/web/data/cubicweb.timetable.css	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/data/cubicweb.timetable.css	Thu Feb 19 20:21:10 2009 +0100
@@ -12,7 +12,7 @@
 
 table.timetable th { 
   padding:1pt;
-  align:center;
+  text-align:center;
 }
 
 
@@ -52,7 +52,7 @@
   font-family: Verdana, sans-serif;
   padding-left: 4pt;
   padding-right: 4pt;
-  align: left;
+  text-align: left;
   width: auto;
 }
 
--- a/web/views/basecomponents.py	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/views/basecomponents.py	Thu Feb 19 20:21:10 2009 +0100
@@ -44,11 +44,11 @@
           <form action="%s">
 <fieldset>
 <input type="text" id="rql" name="rql" value="%s"  title="%s" tabindex="%s" accesskey="q" class="searchField" />
-<input type="submit" value="%s" class="searchButton" tabindex="%s" />
+<input type="submit" value="" class="rqlsubmit" tabindex="%s" />
 </fieldset>
 ''' % (not self.propval('visible') and 'hidden' or '', 
        self.build_url('view'), html_escape(rql), req._('full text or RQL query'), req.next_tabindex(),
-       req._('search'), req.next_tabindex()))
+        req.next_tabindex()))
         if self.req.search_state[0] != 'normal':
             self.w(u'<input type="hidden" name="__mode" value="%s"/>'
                    % ':'.join(req.search_state[1]))
--- a/web/views/basetemplates.py	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/views/basetemplates.py	Thu Feb 19 20:21:10 2009 +0100
@@ -58,8 +58,9 @@
     title = 'logged out'
 
     def content(self, w):
+        # FIXME Deprecated code ?
         msg = self.req._('you have been logged out')
-        w(u'<h1 class="noborder">%s</h1>\n' % msg)
+        w(u'<h2>%s</h2>\n' % msg)
         if self.config['anonymous-user']:
             indexurl = self.build_url('view', vid='index', __message=msg)
             w(u'<p><a href="%s">%s</a><p>' % (
--- a/web/views/bookmark.py	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/views/bookmark.py	Thu Feb 19 20:21:10 2009 +0100
@@ -68,9 +68,9 @@
                 dlink = u'[<a href="javascript:removeBookmark(%s)" title="%s">-</a>]' % (
                     bookmark.eid, _('delete this bookmark'))
                 label = '%s %s' % (dlink, label)
-            box.append(RawBoxItem(label, liclass=u'invisible'))
+            box.append(RawBoxItem(label))
         if eschema.has_perm(req, 'add') and rschema.has_perm(req, 'add', toeid=ueid):
-            boxmenu = BoxMenu(req._('manage bookmarks'), liclass=u'invisible')
+            boxmenu = BoxMenu(req._('manage bookmarks'))
             linkto = 'bookmarked_by:%s:subject' % ueid
             # use a relative path so that we can move the application without
             # loosing bookmarks
--- a/web/views/boxes.py	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/views/boxes.py	Thu Feb 19 20:21:10 2009 +0100
@@ -143,7 +143,7 @@
 <input type="hidden" name="__fromsearchbox" value="1" />
 <input type="hidden" name="subvid" value="tsearch" />
 </td><td>
-<input tabindex="%s" type="submit" id="rqlboxsubmit" value="" />
+<input tabindex="%s" type="submit" id="rqlboxsubmit" class="rqlsubmit" value="" />
 </td></tr></table>
 </form>"""
 
--- a/web/views/startup.py	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/views/startup.py	Thu Feb 19 20:21:10 2009 +0100
@@ -26,6 +26,7 @@
     
     def call(self, **kwargs):
         """The default view representing the application's management"""
+        self.req.add_css('cubicweb.manageview.css')
         self.w(u'<div>\n')
         if not self.display_folders():
             self._main_index()
--- a/web/views/tableview.py	Thu Feb 19 17:14:32 2009 +0100
+++ b/web/views/tableview.py	Thu Feb 19 20:21:10 2009 +0100
@@ -103,7 +103,7 @@
         rset = self.rset
         req = self.req
         req.add_js('jquery.tablesorter.js')
-        req.add_css('cubicweb.tablesorter.css')
+        req.add_css(('cubicweb.tablesorter.css', 'cubicweb.tableview.css'))
         rqlst = rset.syntax_tree()
         # get rql description first since the filter form may remove some
         # necessary information