===========================================
=========== Software purpose ==============
===========================================
The idea come from a professor brain : in a non native country he feeled hard to remember all his students
names and degree of participation, although his had too.
GroupSuivi is designed to help him to. It show info and persistent data on persons, and allow
to quickly modify these datas.
GroupSuivi support Android's tablet platform, as wall as Linux and Microsoft Windows.
===========================================
============== Keys Concepts ==============
===========================================
The central concept is a 'Person' on which GroupSuivi keep and display infos.
==========================================
======= Person, Group, DataSource =======
A 'Person' belong to a 'Group', and a 'Group' belong to a 'DataSource'.
A 'Person' consist of:
- standard infos: name, first name, face image, etc..
- a position on screen
- custom properties values (see below)
A 'Group' consist of:
- a name
- a list of 'Person'
- 'Action' settings (see below)
A 'DataSource' consist of:
- a directory (in which datas are keeped)
- a name
- a list of 'Group'
- a list of 'Custom Property'
- a list of 'Action' on 'Custom Property'
The 'DataSource' directory is choosed by you and will contain all the datas needed by the 'DataSource'.
It's the one directories you may want to backup.
==========================================
======= Custom Property, Actions ========
At 'DataSource' level you can add 'Custom Properties' which be avalaible to all 'Person' of the 'DataSource'.
For example, you may add a "Participation" property to remind each student participation over time.
A 'Custom Property' consist of :
- a name (ex: "Participation")
- the property type.
- misc values depending on the property type
There's two possible type of property:
- 'Interval' : a simple integer
- 'Text' : some arbritrary text
Once a property is created, you have to create an 'Action' which allow modifying values.
'Actions', as 'Custom Properties' are created at 'DataSource' level.
For example, you may create an action "Participation +1" wich increase a 'Person' "Participation" value by
one when you use it.
An action consist of:
- a name (ex: "Participation +1")
- an icon image
- the target 'Custom Property' (ex: previously created "Participation")
- a type
- misc values depending of the action type
The 'Actions' types depend on the targeted property type :
If targeted 'Cutom property' is of type 'Interval' :
- Incremental_Fixed : Add a fixed integer to the property value
- Incremental_Ranged: Ask to choose one value in a range of integer and
add the choosed integer to the property value
- Assign_Fixed : Set the the property value to a fixed integer
- Assing_Ranged: Ask to choose one value in a range of integer and
set property value to the the choosed integer
If targeted 'Cutom property' is of type 'Text' :
- Text_Edit: Allow edit the targeted property text of the 'Person'
==========================================
======== Group Actions settings =========
Once some 'Custom Properties' and 'Actions' are defined, for each 'Group' you can configure which
'Actions' are available and shortuted.
Available 'Actions' will be showned in 'Person' parameters window.
Shorcuted 'Actions' will also be showned when clicking a 'Person' in the main window.
==========================================
========== Persons management ===========
Naturally, 'Persons' can be added, deleted and modified.
It's also possible to copy, multiple 'Persons' from one 'Group' of any 'DataSource' to another 'Group'
of current 'DataSource' with the Window "Person's copy" accessible by:
"Groups" -> (Click the loaded group) -> "Person's copy"
==========================================
======= GroupSuivi Files Details ========
GroupSuivi only use xml files to store his data. These files are encoded in UTF8.
The central file (which hold the "DataSource" available) location depend on OS type:
- Linux : ~/.local/share/data/central_params.xml
- Windows : <PROFIL DIR>\Local Settings\Application Data\central_params.xml
- Android : <Application Dir>/central_params.xml
Each 'DataSource' directory contain a "datasources.xml" file which holds data
- 'Custom Properties'
- 'Actions'
- All groups in the 'DataSource'
The directory also contain a subdir "Actions_Icons".
For each 'Group' in the 'DataSource', there's also a xml file and a directory associated.