TXM FORGE PRINCIPLES AND PROCEDURES

Tickets Creation

General principles are described in the txm-info wiki: https://groupes.renater.fr/wiki/txm-info/public/transition_wiki_tickets

Ticket description and txm-info wiki page complementary description

If a txm-info wiki page is created to put more details about the ticket, the description must contain a direct link to that page. Use the @page_name syntax to refer to the page.

Squelette de page :

====== Titre ======

===== Objectif =====

===== Méthode =====
Description de la méthode de travail pour atteindre l'objectif

==== État de la plateforme ====

==== Avancement dans l'élaboration de la solution ====

===== Solution =====

==== État de l'art ====
Éléments de solution

==== Prototypes ====
==== Version finale ====

===== Documentation =====
==== Utilisateur ====
==== Développeur ====

===== Recette =====
==== Protocole de test ====
=== Alpha ===
=== Beta ===

==== État courant ====
Qui Quand Quoi

Ticket template

Feature ticket

Description of the objective and the context.

Link to the wiki specification page (if available).

h3. Solution

Steps and means to implement the ticket.

*Step 1*

*Step 2*

*Step 3*

h3. Validation Test

Procedure to follow to validate the implementation of the ticket.

* action 1
* action 2
* action 3

Bug and Support ticket

Context and origin of the bug description (mail, TXM version, OS, etc.).

h3. Diagnostic

h4. Diagnostic 1

* Hypothesis
* Observation
* Conclusion
** the bug is reproduced
** the bug is not reproduced by this hypothesis

h4. Diagnostic 2

* Hypothesis
* Observation
* Conclusion
** the bug is reproduced
** the bug is not reproduced by this hypothesis

h3. Solution / Resolution

Steps and means to resolve the ticket.

*Step 1*

*Step 2*

*Step 3*

h3. Validation Test

Procedure to follow to validate the resolution of the ticket.

* action 1
* action 2
* action 3

Ticket categories definitions

Available ticket categories:

  • Development : development tasks
  • Administration: portal administration interface and tools (Portal project)
  • Charts: charts plotting issues
  • Charts / R: missing functionalities needed to be implemented in R charts engine from JFC charts engine and low priority issues since the default charts engine is now JFC
  • Commands: any command related issue (all projects)
  • Conventions: algorithms and terminology conventions (all projects)
  • Documentation: any documentation issue (manuals, wikis, web pages...) (SH: Javadoc?)
  • Import: any import module issue
  • Network: network communication (despite of the component or layer, e.g. R, RCP, etc.)
  • Preferences: RCP preferences issues
  • Setup: desktop RCP setup issues
  • Stats: statistic models issues
    • Stats / R: R related statistic models issues
  • Toolbox: any issue related to the Toolbox project
  • UI: User Interface issues in the RCP project (SH: and GWT project?)
    • UI / Interaction: user interface behavior issues
    • UI / Link / Command: user interface hypertextual command behavior issues

Ticket hierarchy policy

There are 2 usages:
  • Grouping tasks
  • Phasing tasks: children are steps and are ordered

Ticket life cycle

Instructions for alpha testers:
  • for a given release
  • do the 'validation test' section of each ticket marked as 'Feedback'
  • if the validation test cannot be passed, set the ticket percentage between 0-79 as an estimation of the remaining work to be done
  • set the ticket to 'Resolved' state when the validation test is passed
Ticket status+percent follow this cycle:
  • Developement cycle
    • "New" + 0: the ticket is not being handled by the developer
    • "InProgress" + 1-79: the ticket is being handled by the developer
    • "InProgress" + 80: the ticket has been implemented and is NOT yet ready to be tested
  • Alpha cycle
    • "Feedback" + 80: the ticket has been implemented and is proposed to be tested by testers
    • "Feedback" + 0-79: the ticket has been downgraded by the alpha tester from the 80 status
    • "Resolved" + 90: the ticket has been validated by alpha testers
  • Release cycle
    • "Closed" + 100: the ticket has been validated on production portal or by beta testers= the ticket is closed

Warning: parent tickets don't follow that policy (percent is computed)

Ticket and documentation

If a ticket may impact the documentation, add a line such as :
DOC: fix section x.x.x

Sourceforge SVN Usage

SVN folders structure

  • copyright: contains copyright files
  • corpora: contains samples binary corpus (deprecated)
  • CWB: contains modified CWB sources (fix error logs, jni code)
  • doc: contains all kind of TXM documentation
  • groovy-all: contains a RCP dependency project to enable Groovy scripting in TXM
  • Eclipse : contains the modified Eclipse project (p2 and workbench)
  • installers : contains a linux environment to build TXM for all supported architectures (Debian, Windows and Mac OS X)
  • libs: contains dependency projects (mandatory ones) of the TBX (and RCP ?) (groovy-all should be moved here)
  • plugins: contains plugins for TXM (optional ones)
  • RCP: contains the TXM RCP project
  • sdk: contains environment to build TXM SDK
  • textometry: contains the "textometry" R package sources
  • Toolbox: contains the Toolbox main dependency of the RCP project
  • translation: contains tools to translate TXM manual
  • WEB: contains TXM portal sources

SVN commit messages

content
Each commit message must follow the syntax :
  • prefix with *SOMETHING: *(space char)
  • then insert the nature of the commit for example : add, fix...
  • then insert the message content and details
  • if you need more than one line to describe the entry, prefix the following lines with "#"
Prefixes
Prefixes are :
  • RCP: the TXM desktop (RCP) project
  • TBX: the Toolbox (TBX) project
  • WEB: the TXM portal project
  • DOC: the documentation of any project
  • SETUP: the project that contains scripts to build TXM setups
  • CWB: the CQP lib project
  • EXT-<PLUGINNAME>: The extensions of TXM
  • LIB-<TECHNOLOGY>: Third party library plugins used by the TBX or the RCP
    • LIB-GROOVY: the Groovy-all plugin
    • LIB-JFC: the JFreeChart plugin
  • R-<package>: R Packages
    • R-textometry: the 'textometry' package sources
  • PLUGIN-<PLUGINNAME>: obsolete (See EXT-<PLUGINNAME>)
  • GROOVYALL: obsolete (See LIB-GROOVY)
  • SETUPS: obsolete (See SETUP)
  • LIBS: obsolete (See LIB-<TECHNOLOGY>)

Example

TBX: add an awesome new functionnality
TBX: fix the XXX import module
# the flow was not Groovy enough
# end of this entry
DOC: add documentation of the new functionnality

For further details about commit message syntax, follow those principles:

https://github.com/erlang/otp/wiki/Writing-good-commit-messages

Related projects

  1. TXM for Oriflamms