Configure Organizational Overviews

It is possible to enable so-called organizational overviews in the viewer.

image
 

Normally, the so-called hierarchical overview of a project is shown. This is the project's structure on the file system. In many projects, files are owned by project members and project members are organized in teams. This organization does not necessarily have to be reflected by the project's directory structure.

TICS allows the files to be shown along these organizational lines. An organizational overview is configured per project. Each organizational overview is configured by two configuration files in the TICS configuration directory: one file describing the organization (teams and members) called ORGANIZATION_project.txt, and a second file mapping the file/directory structure to the organizational elements of the first file called ORGMAPPING_project.txt.

As an example, the configuration files for the organizational overview shown above are given below.

ORGANIZATION_nsis.txt
NSIS	Team
NSIS	Szekely
NSIS	Verburg
NSIS	Rainwater
NSIS	Faybishenko
Contrib	Justin
Contrib	Unknown
Contrib	Windridge
Contrib	Bishop
Contrib	Unknown
Contrib	Medved
Contrib	Sande
Zip	Seward
Zip	Pavlov
Zip	Gailly
ORGMAPPING_nsis.txt
Justin	nsis/contrib/advsplash
Unknown	nsis/contrib/banner
Szekely	nsis/contrib/bgimage
Verburg	nsis/contrib/dialer
Windridge	nsis/contrib/exdll
Bishop	nsis/contrib/installoptions
Unknown	nsis/contrib/langdll
Rainwater	nsis/contrib/makensisw
Medved	nsis/contrib/math
Verburg	nsis/contrib/modern ui
Rainwater	nsis/contrib/nsexec
Faybishenko	nsis/contrib/nsisdl
Szekely	nsis/contrib/splash
Szekely	nsis/contrib/startmenu
Medved	nsis/contrib/system
Unknown	nsis/contrib/userinfo
Sande	nsis/contrib/vpatch
Verburg	nsis/contrib/zip2exe
Seward	nsis/Source/bzip2
Pavlov	nsis/Source/7zip
Gailly	nsis/Source/zlib
Team	nsis/Source/exehead
Team	nsis/Source

Both files have the same simple structure. Entries are line based. Empty lines and lines starting with // are ignored. Each entry has two fields separated by one or more TAB-characters.

The ORGANIZATION_ file contains parent-child relations, parents in the first column, children in the second. Children may be parents of other children. Cycles are forbidden; the resulting graph should be a tree. The organization may have as many layers as desired and need not be balanced.

The ORGMAPPING_ file contains organization element to file structure mappings. Each value in the first column should correspond to the same value in the second (child) column of the ORGANIZATION_ file. (Mappings need, therefore, not be restricted to leaf nodes. It is, however, not possible to map the top of the organization directly to the file structure.) Values in the second column are paths on the file systems. Each path must start from (but not include) the root of the (physical) branch path. Furthermore, file/directory names must be in normal form. I.e., must exactly match the file names as stored in the quality database. This means that '/' must be used as directory separator and the casing must match the casing used in the database. One can always consult the hierarchical overview in the viewer for the correct file/directory names. Each organization element may have as many paths associated with it as desired.

With the provided configuration, TICS constructs the organizational overview. First, a tree is created from the data in the ORGANIZATION_ file. Then this tree is populated with the subtrees rooted by the paths given in ORGMAPPING_ file. The path itself is effectively removed from the resulting organizational overview except for its last directory element. The tree starts with the organization and continues with the last directory of each path for that organization element. This means that each path for an organization element should end with a unique directory name, otherwise two distinct directories will overlap (rendering one of them invisible).

It is perfectly safe to experiment with several configuration files. The organizational overview does not affect the data in the hierarchical overview. Each time the finalization phase is run, the organizational overview is recomputed.