Commit b7e3c876 authored by LE GAC Renaud's avatar LE GAC Renaud
Browse files

Merge branch 'release-0.5.0'

parents 15dd1012 859fd50a
......@@ -67,7 +67,7 @@ SENCHA = os.path.expandvars("$HOME/bin/sencha")
SPHINX = '/usr/bin/sphinx-build'
# message
MSG_VERSION = 'Enter the new version: '
MSG_VERSION = "Enter the new version: "
def compile():
......@@ -175,23 +175,16 @@ def git(version):
print "\n\ttag %s already exit in git" % version
sys.exit(1)
# release message
m = "Release version %s" % version
# Commit the new release in git an tag it
print 'git add', CHANGELOG
cmd = ["git", "add", CHANGELOG]
subprocess.call(cmd)
print 'git commit'
m = "Release version %s" % version
cmd = ["git", "commit", "-m", m]
subprocess.call(cmd)
# annotated tag
print 'git tag', version
cmd = ["git", "tag", "-a", version, "-m", m]
subprocess.call(cmd)
def jsduck():
"""Generate the JavaScript documentation.
......@@ -314,7 +307,18 @@ def sphinx(force_pdf=False):
print "\nSphinx PDF documentation in", PDFDOC,"\n"
def tag(version):
"""tag the current release.
"""
# annotated tag
print 'git tag', version
m = "Tag release %s" % version
cmd = ["git", "tag", "-a", version, "-m", m]
subprocess.call(cmd)
if __name__ == '__main__':
ops = optparse.OptionParser()
......@@ -351,27 +355,34 @@ if __name__ == '__main__':
ops.add_option("-r", "--release",
action="store_true",
dest= "get",
help= "get the tag of the current release and exit.")
dest= "release",
help= "set the release number.")
ops.add_option("-s", "--sphinx",
action="store_true",
dest= "sphinx",
help= "generate the sphinx documentation.")
ops.add_option("-t", "--tag",
action="store_true",
dest= "tag",
help= "tag the current release.")
ops.add_option("-v", "--version",
action="store_true",
dest= "version",
help= "set the version.")
help= "get the tag of the current release and exit.")
ops.set_defaults(all=False,
compile=False,
epydoc=False,
get=False,
get_version=False,
git=False,
install=False,
jsduck=False,
release=False,
sphinx=False,
tag=False,
version=False)
(opt, args) = ops.parse_args()
......@@ -379,20 +390,17 @@ if __name__ == '__main__':
print '\nStart buildVersion'
# standalone action
if opt.get:
version = get_version()
print "\nThe version of the current release is %s\n" % version
if opt.version:
version = (args[0] if args else raw_input(MSG_VERSION))
set_version(version)
if opt.git:
git(version)
if opt.compile:
compile()
if opt.epydoc:
epydoc()
if opt.git:
version = raw_input(MSG_VERSION)
git(version)
if opt.install:
epydoc()
jsduck()
......@@ -402,11 +410,20 @@ if __name__ == '__main__':
if opt.jsduck:
jsduck()
if opt.release:
version = (args[0] if args else raw_input(MSG_VERSION))
set_version(version)
if opt.sphinx:
sphinx()
if opt.tag:
version = raw_input(MSG_VERSION)
tag(version)
if opt.compile:
compile()
if opt.version:
version = get_version()
print "\nThe version of the current release is %s\n" % version
# run all steps
if opt.all:
......
......@@ -7,7 +7,12 @@ import re
from plugin_dbui import INLINE_ALERT
from report_objects import do_title, Graph, List, Metric1D, Metric2D
from report_objects import (do_title,
Graph,
List,
Metric1D,
Metric2D,
ReportException)
from selector import MySelector, SelectorActiveItemsException
......@@ -18,7 +23,7 @@ def graph_extjs():
@deprecated: use the more generic graph_mpl
"""
ui_table = virtdb.graph_selector
ui_table = virtdb.selector
selector = MySelector(ui_table, exclude_fields=('metric',))
# homomorphism between metric2D and graph
......@@ -48,7 +53,7 @@ def graph_mpl():
"""
# selector and configuration
try:
ui_table = virtdb.graph_selector
ui_table = virtdb.selector
selector = MySelector(ui_table)
except SelectorActiveItemsException as e:
......@@ -86,7 +91,7 @@ def grid():
"""
try:
ui_table = virtdb.grid_selector
ui_table = virtdb.selector
selector = MySelector(ui_table)
except SelectorActiveItemsException as e:
......@@ -109,7 +114,7 @@ def grid():
else:
return INLINE_ALERT % ("Error", "Report id is not defined.")
except (IndexError, TypeError, ValueError) as e:
except (IndexError, ReportException, TypeError, ValueError) as e:
return INLINE_ALERT % ("JSON Error...", e)
# extract the configurations for the Ext.data.Store and App.grid.Panel.
......
docs/db_schema/database.png

95.7 KB | W: | H:

docs/db_schema/database.png

130 KB | W: | H:

docs/db_schema/database.png
docs/db_schema/database.png
docs/db_schema/database.png
docs/db_schema/database.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -22,4 +22,4 @@
<type label="Upload" length="0" sql="upload" quote="'"/>
<type label="Password" length="0" sql="password" quote="'"/>
</group>
</datatypes><table x="303" y="21" name="people"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="first_name" null="0" autoincrement="0"><datatype>string</datatype></row><row name="last_name" null="0" autoincrement="0"><datatype>string</datatype></row><row name="initials" null="0" autoincrement="0"><datatype>string</datatype></row><row name="birth_date" null="1" autoincrement="0"><datatype>date</datatype></row><row name="note" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="302" y="174" name="teams"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="team" null="0" autoincrement="0"><datatype>string</datatype></row><row name="domain" null="1" autoincrement="0"><datatype>string</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="303" y="285" name="projects"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="project" null="0" autoincrement="0"><datatype>string</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="618" y="19" name="people_categories"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="code" null="0" autoincrement="0"><datatype>string</datatype></row><row name="category" null="0" autoincrement="0"><datatype>string</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>string</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="452" y="71" name="history"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="id_people" null="0" autoincrement="0"><datatype>integer</datatype><relation table="people" row="id" /></row><row name="id_teams" null="0" autoincrement="0"><datatype>integer</datatype><relation table="teams" row="id" /></row><row name="id_projects" null="0" autoincrement="0"><datatype>integer</datatype><relation table="projects" row="id" /></row><row name="id_people_categories" null="0" autoincrement="0"><datatype>integer</datatype><relation table="people_categories" row="id" /></row><row name="id_fundings" null="0" autoincrement="0"><datatype>integer</datatype><relation table="fundings" row="id" /></row><row name="id_events" null="0" autoincrement="0"><datatype>integer</datatype><relation table="events" row="id" /></row><row name="start_date" null="0" autoincrement="0"><datatype>date</datatype></row><row name="end_date" null="1" autoincrement="0"><datatype>date</datatype></row><row name="percentage" null="1" autoincrement="0"><datatype>integer</datatype></row><row name="note" null="0" autoincrement="0"><datatype>text</datatype></row><row name="data" null="1" autoincrement="0"><datatype>string</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="633" y="149" name="fundings"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="agency" null="0" autoincrement="0"><datatype>string</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="638" y="266" name="events"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="event" null="0" autoincrement="0"><datatype>string</datatype></row><row name="definitiion" null="1" autoincrement="0"><datatype>text</datatype></row><row name="data" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="806" y="19" name="lists"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="name" null="0" autoincrement="0"><datatype>string</datatype></row><row name="title" null="1" autoincrement="0"><datatype>string</datatype></row><row name="conditions" null="1" autoincrement="0"><datatype>text</datatype></row><row name="group_field" null="1" autoincrement="0"><datatype>string</datatype></row><row name="sorters" null="1" autoincrement="0"><datatype>integer</datatype></row><row name="columns" null="0" autoincrement="0"><datatype>text</datatype></row><row name="features" null="1" autoincrement="0"><datatype>text</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="903" y="18" name="metrics2d"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="name" null="0" autoincrement="0"><datatype>string</datatype></row><row name="title" null="1" autoincrement="0"><datatype>string</datatype></row><row name="conditions" null="1" autoincrement="0"><datatype>text</datatype></row><row name="group_field_x" null="0" autoincrement="0"><datatype>string</datatype></row><row name="group_field_y" null="0" autoincrement="0"><datatype>string</datatype></row><row name="metric_field_z" null="0" autoincrement="0"><datatype>string</datatype></row><row name="aggregate_z" null="0" autoincrement="0"><datatype>string</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="909" y="224" name="graphs"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="name" null="0" autoincrement="0"><datatype>string</datatype></row><row name="title" null="1" autoincrement="0"><datatype>string</datatype></row><row name="report_type" null="0" autoincrement="0"><datatype>string</datatype></row><row name="report_name" null="1" autoincrement="0"><datatype>string</datatype></row><row name="plot" null="0" autoincrement="0"><datatype>text</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="777" y="225" name="metrics1d"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="name" null="0" autoincrement="0"><datatype>string</datatype></row><row name="title" null="1" autoincrement="0"><datatype>string</datatype></row><row name="conditions" null="1" autoincrement="0"><datatype>text</datatype></row><row name="group_field" null="1" autoincrement="0"><datatype>string</datatype></row><row name="columns" null="0" autoincrement="0"><datatype>text</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table></sql>
\ No newline at end of file
</datatypes><table x="303" y="21" name="people"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="first_name" null="0" autoincrement="0"><datatype>string</datatype></row><row name="last_name" null="0" autoincrement="0"><datatype>string</datatype></row><row name="initials" null="0" autoincrement="0"><datatype>string</datatype></row><row name="birth_date" null="1" autoincrement="0"><datatype>date</datatype></row><row name="note" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="302" y="174" name="teams"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="team" null="0" autoincrement="0"><datatype>string</datatype></row><row name="domain" null="1" autoincrement="0"><datatype>string</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="303" y="285" name="projects"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="project" null="0" autoincrement="0"><datatype>string</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="618" y="19" name="people_categories"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="code" null="0" autoincrement="0"><datatype>string</datatype></row><row name="category" null="0" autoincrement="0"><datatype>string</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>string</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="452" y="71" name="history"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="id_people" null="0" autoincrement="0"><datatype>integer</datatype><relation table="people" row="id" /></row><row name="id_teams" null="0" autoincrement="0"><datatype>integer</datatype><relation table="teams" row="id" /></row><row name="id_projects" null="0" autoincrement="0"><datatype>integer</datatype><relation table="projects" row="id" /></row><row name="id_people_categories" null="0" autoincrement="0"><datatype>integer</datatype><relation table="people_categories" row="id" /></row><row name="id_fundings" null="0" autoincrement="0"><datatype>integer</datatype><relation table="fundings" row="id" /></row><row name="id_objects" null="0" autoincrement="0"><datatype>integer</datatype><relation table="objects" row="id" /></row><row name="id_object_categories" null="0" autoincrement="0"><datatype>integer</datatype><relation table="object_categories" row="id" /></row><row name="id_events" null="0" autoincrement="0"><datatype>integer</datatype><relation table="events" row="id" /></row><row name="start_date" null="0" autoincrement="0"><datatype>date</datatype></row><row name="end_date" null="1" autoincrement="0"><datatype>date</datatype></row><row name="percentage" null="1" autoincrement="0"><datatype>integer</datatype></row><row name="note" null="0" autoincrement="0"><datatype>text</datatype></row><row name="data" null="1" autoincrement="0"><datatype>string</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="633" y="149" name="fundings"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="agency" null="0" autoincrement="0"><datatype>string</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="638" y="266" name="events"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="event" null="0" autoincrement="0"><datatype>string</datatype></row><row name="definitiion" null="1" autoincrement="0"><datatype>text</datatype></row><row name="data" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="827" y="22" name="lists"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="name" null="0" autoincrement="0"><datatype>string</datatype></row><row name="title" null="1" autoincrement="0"><datatype>string</datatype></row><row name="conditions" null="1" autoincrement="0"><datatype>text</datatype></row><row name="group_field" null="1" autoincrement="0"><datatype>string</datatype></row><row name="sorters" null="1" autoincrement="0"><datatype>integer</datatype></row><row name="columns" null="0" autoincrement="0"><datatype>text</datatype></row><row name="features" null="1" autoincrement="0"><datatype>text</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="934" y="193" name="metrics2d"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="name" null="0" autoincrement="0"><datatype>string</datatype></row><row name="title" null="1" autoincrement="0"><datatype>string</datatype></row><row name="conditions" null="1" autoincrement="0"><datatype>text</datatype></row><row name="group_field_x" null="0" autoincrement="0"><datatype>string</datatype></row><row name="group_field_y" null="0" autoincrement="0"><datatype>string</datatype></row><row name="metric_field_z" null="0" autoincrement="0"><datatype>string</datatype></row><row name="aggregate_z" null="0" autoincrement="0"><datatype>string</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="1065" y="22" name="graphs"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="name" null="0" autoincrement="0"><datatype>string</datatype></row><row name="title" null="1" autoincrement="0"><datatype>string</datatype></row><row name="report_type" null="0" autoincrement="0"><datatype>string</datatype></row><row name="report_name" null="1" autoincrement="0"><datatype>string</datatype></row><row name="plot" null="0" autoincrement="0"><datatype>text</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="929" y="19" name="metrics1d"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="name" null="0" autoincrement="0"><datatype>string</datatype></row><row name="title" null="1" autoincrement="0"><datatype>string</datatype></row><row name="conditions" null="1" autoincrement="0"><datatype>text</datatype></row><row name="group_field" null="1" autoincrement="0"><datatype>string</datatype></row><row name="columns" null="0" autoincrement="0"><datatype>text</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="616" y="391" name="object_categories"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="code" null="0" autoincrement="0"><datatype>string</datatype></row><row name="category" null="0" autoincrement="0"><datatype>string</datatype></row><row name="definition" null="1" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table><table x="324" y="372" name="objects"><row name="id" null="0" autoincrement="1"><datatype>integer</datatype></row><row name="reference" null="1" autoincrement="0"><datatype>string</datatype></row><row name="serial_number" null="0" autoincrement="0"><datatype>string</datatype></row><row name="batch_number" null="0" autoincrement="0"><datatype>string</datatype></row><row name="note" null="0" autoincrement="0"><datatype>text</datatype></row><key type="PRIMARY" name=""><part>id</part></key></table></sql>
\ No newline at end of file
......@@ -32,6 +32,7 @@ the mandatory properties depend on the report and are the following:
-- ``aggregate``
``dbfield`` ``dbfield``
``text`` ``text``
``xtype`` ``xtype``
=============== ===============
A column can also contains computed values obtained by applying a mathematical
......@@ -44,22 +45,11 @@ property are the following and do not depend on the report:
* - ``dataIndex``
* - ``eval``
* - ``text``
* - ``xtype``
The most important properties are defined in the next sections as a function of
the column type.
.. note::
The ``Metric1D`` columns are always rendered as ``numbercolumn``.
Therefore the property ``xtype`` can be omitted.
Finally, the ExtJS_ library provide a special column numbering the rows
starting at one. It has only one configuration property:
.. code:: javascript
"xtype" : "rownumberer"
All columns
-----------
......@@ -72,9 +62,9 @@ All columns
``dataIndex``
the index of the column used by the ``DataFrame``, the ``Ext.data.store``
and the ``Ext.grid.Panel``. By default, this internal parameter is equal
to the ``text`` property. However, when using the ``eval`` property, it
could be useful to index the column with short name like *a*, *b*, ...
and the ``Ext.grid.Panel``. By default, this internal parameter is derived
from the ``dbfield`` property. However, when using the ``eval`` property,
it could be useful to index the column with short name like *a*, *b*, ...
``dbfield``
the address of the database field encoded as ``"tablename.fieldname"`` or
......@@ -135,3 +125,13 @@ Number column
Summary are computed over the column values.
Possible functions are ``"count"``, ``"sum"``, ``"min"``, ``"max"`` and
``"average"``.
Row numbered column
-------------------
Finally, the ExtJS_ library provide a special column numbering the rows
starting at one. It has only one configuration property:
.. code:: javascript
"xtype" : "rownumberer"
......@@ -25,9 +25,9 @@ Fundings
--------
.. list-table::
* -
-
* -
-
* - ``fundings.id``
- integer
* - ``fundings.agency``
......@@ -39,22 +39,26 @@ History
-------
.. list-table::
* -
-
* -
-
* - ``history.id``
- integer
* - ``history.id_people``
* - ``history.id_events``
- integer
* - ``history.id_teams``
- integer
* - ``history.id_projects``
- integer
* - ``history.id_fundings``
- integer
* - ``history.id_people``
- integer
* - ``history.id_people_categories``
- integer
* - ``history.id_fundings``
* - ``history.id_objects``
- integer
* - ``history.id_events``
* - ``history.id_object_categories``
- integer
* - ``history.start_date``
- date
......@@ -67,13 +71,48 @@ History
* - ``history.data``
- dictionary
Object categories
-----------------
.. list-table::
* -
-
* - ``object_categories.id``
- integer
* - ``object_categories.code``
- string
* - ``object_categories.category``
- string
* - ``object_categories.definition``
- string
Objects
-------
.. list-table::
* -
-
* - ``objects.id``
- integer
* - ``objects.reference``
- string
* - ``objects.serial_number``
- string
* - ``objects.batch_number``
- string
* - ``objects.note``
- string
People
------
.. list-table::
* -
-
* -
-
* - ``people.id``
- integer
* - ``people.first_name``
......@@ -86,21 +125,21 @@ People
- date
* - ``people.note``
- string
People categories
-----------------
.. list-table::
* -
-
* -
-
* - ``people_categories.id``
- integer
* - ``people_categories.code``
- string
* - ``people_categories.category``
* - ``people_categories.category``
- string
* - ``people_categories.definition``
* - ``people_categories.definition``
- string
Projects
......@@ -108,8 +147,8 @@ Projects
.. list-table::
* -
-
* -
-
* - ``projects.id``
- integer
* - ``projects.project``
......@@ -117,14 +156,14 @@ Projects
* - ``projects.agencies``
- string
Teams
-----
.. list-table::
* -
-
* -
-
* - ``teams.id``
- integer
* - ``teams.team``
......
......@@ -44,7 +44,7 @@ source_suffix = '.rst'
master_doc = 'index'
# General information about the project.
app = unicode(os.getcwd().split(os.sep)[-3])
app = 'track_events'
project = app
copyright = u'2015, R. Le Gac'
......
......@@ -7,18 +7,18 @@ This applications record events. It can happen at a date or span during a
period of time.
An event is defined by a *starting date*, by an *ending date* and by a *type*.
It is linked to:
An event contains *meta-data* linking the event to:
* meta-data
* a person
* a team
* a project
* a category (the category of people in this application)
* a funding agency
The events are stored in the ``history`` table and the meta-data in the foreign
tables ``fundings``, ``people``, ``people_categories``, ``projects`` and
``teams``. The organization of these tables can not be modified by the user
* an object
The events are stored in the ``history`` table. The meta-data are related to
a *project*, a *team* as well as a *funding agency*. Meta-data are kept in the
tables ``teams``, ``projects`` and ``fundings``. The data describing a person
are in the table ``people`` and ``people_categories`` while those for an object
are in the tables ``objects`` and ``object_categories``.
The organization of these tables can not be modified by the user
since all their fields are standard database fields.
An event contains also the *user data block*. It is stored in the database
......@@ -53,7 +53,7 @@ possibly a default value. Possible types are *boolean*, *date*, *float*,
.. note::
For *date* type, the default value must be encoded as ``YYYY-MM-DD``.
.. note::
The *reference* type allows the user to select value within those
available for a given database field. The address of the database
......@@ -143,15 +143,24 @@ In order to create a new one:
4. Scan the different tabs and fill the appropriate entries.
The events form, shown in :num:`Fig. #event-form-figure`,
contains three tabs:
contains four tabs:
``Metadata``
the meta-data associated to the event: *people*, *team*, *project*,
*category*, *funding* and *percentage* allocated for the people.
the meta-data tab allows to associate the event to a *team*, to a
*project* as well as to a *funding agency*.
``People``
the people tab allows to associate the event to a *person*, to a
*category of people* and to specify the fraction of time
spent on the event by the person.
``Object``
the object tab allows to associate the event to an *object* as well
as to a *category of object*.
``Event``
the *event type*, the *time period* or the *date* and the *user data
block*.
the event tab defines the *event type*, the *time period* (or the
*date*) and the *user data block*.
.. note::
The *starting date* and the *ending date* have to be equal when
......
docs/userguide/figures/history-form.png

26.1 KB | W: | H:

docs/userguide/figures/history-form.png

20.7 KB | W: | H:

docs/userguide/figures/history-form.png
docs/userguide/figures/history-form.png
docs/userguide/figures/history-form.png
docs/userguide/figures/history-form.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -2,16 +2,30 @@
The collection of hyperlinks used in the different section
.. _ace: http://ace.c9.io/
.. _CeCILL: http://www.cecill.info/index.en.html
.. _DataFrame: http://pandas.pydata.org/pandas-docs/stable/api.html#dataframe
.. _DataFrame.plot:
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.plot.
html#pandas.DataFrame.plot
.. _epydoc: http://epydoc.sourceforge.net/
.. _ExtJS: http://docs-origin.sencha.com/extjs/4.2.1/#!/api
.. _git: http://git-scm.com/
.. _jsduck: https://github.com/senchalabs/jsduck
.. _JSLint: http://javascript.crockford.com/code.html
.. _JSON: http://www.json.org/
.. _mathjax: http://www.mathjax.org/
.. _matplotlib: http://matplotlib.org/
.. _matplotlib.colormap: http://matplotlib.org/users/colormaps.html
......@@ -22,6 +36,8 @@
.. _plotting: http://pandas.pydata.org/pandas-docs/stable/visualization.html
.. _plugin_dbui: https://marprod.in2p3.fr/plugin_dbui_book
.. _pyplot.bar:
http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.bar
......@@ -43,6 +59,8 @@
.. _pyplot.scatter:
http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.scatter
.. _python: https://www.python.org/
.. _smart_query: http://web2py.com/books/default/chapter/29/06/the-database-
abstraction-layer#smart_query--experimental
......
......@@ -17,6 +17,7 @@ Documentation contents
metric1d
metric2d
graph
third_party
appendix_dbfield
appendix_virtualfield
appendix_column
......
......@@ -96,15 +96,23 @@ The configuration of the grid columns is defined in the
``Columns`` tab. It has a single entry which has to be filled with a
JSON_-type ``array`` of object. Each object configures a columns.
The configuration of a column requires a minimum of two properties:
The configuration of a column requires a minimum of three properties:
``dbfield``
the address of the database field
the address of the database field.
``text``
the label of the column
the label of the column.
Many more properties are available. They are detailed in :ref:`Appendix C`.
``xtype``
the type of data stored in the column. Possible values are
``booleancolumn``, ``datecolumn``, ``gridcolumn`` and ``numbercolumn``.
To add column containing the result of mathematical operation applied on
column cells, use the properties ``eval`` instead of ``dbfield``. In that case
the property ``dataIndex`` has to be specified.
Many more details are given in :ref:`Appendix C`.
The following configuration displays the list of people with their current age:
......@@ -114,7 +122,8 @@ The following configuration displays the list of people with their current age:
"xtype": "rownumbered"
}, {
"dbfield": "people.last_name",
"text": "name"
"text": "name",
"xtype": "gridcolumn"
}, {
"align": "right",
"dbfield": "history.age",
......
......@@ -96,7 +96,7 @@ The configuration of the grid columns is defined in the
``Columns`` tab. It has a single entry which has to be filled with an
JSON_-type ``array`` of object. Each object configures a columns and its metric.
The configuration of a column requires a minimum of three properties:
The configuration of a column requires a minimum of four properties:
``aggregate``
the aggregation function applied on the values
......@@ -111,15 +111,18 @@ The configuration of a column requires a minimum of three properties:
``text``
the label of the column.
In order to compute a summary row for the columns, use the ``summaryType``
property. Possible values are ``count``, ``sum``, ``min``, ``max`` and
``average``.
``xtype``
the type of data stored in the column, usually ``numbercolumn``.