Added by Claudiu Farcas, last edited by Nuno Bandeira on Jul 26, 2013  (view change)


Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.

Developer's Corner

# Category ProteoSAFe Massive Other
1 Architecture & Design (UML, sketches); related use cases and user requirements. Diagrams

2 System requirements (platform, libraries, services, configurations) JAVA

3 Source code (repository, tools, coding conventions)

4 Building instructions (configurations, tools); continuous integration (configuration)

5 Testing (unit testing, regression testing)

6 Setup (run time configuration, system, services)

7 Verification and Validation (requirements, end-to-end tests and expected results)

8 Source code documentation (APIs, Doxygen/Javadoc)

9 Developer assistance (faq, guidelines, forums, wiki, examples, tutorials, best practices)

10 Quick contact (email, forum, instant messenger)

11 Issue tracking (bugs, features, tasks) JIRA

12 Contributions (commits, license, plugins, extensions)

[Claudiu] How to become a developer

[Jeremy] Code repository, rules and procedures

[Jeremy/Claudiu] Extensions and plugins

[Jeremy] Getting started examples

[Jeremy] Compiling and deploying your code

[Claudiu] Contributing code

[Claudiu] Bug tracking

JIRA guidelines
  • Project: JIRA CCMS
  • Versions: reflect planned releases such as papers or major code updates (e.g., adding results views aggregating IDs from multiple jobs). Version numbers separate between well-defined types of functionality (e.g., current vs plugin-based results views).
  • Components: reflect logical modules such as Live* modules, Input forms, Results views, etc. Note that these are not the same as papers or individual development projects (which usually affect multiple components).
  • Issues:
    • Create - whenever there is a new bug to fix, feature to add or task to perform
      • Blocker - the trunk is broken and no one can advance their development projects until this is fixed.
      • Critical - the trunk compiles and runs but the results are unacceptably bad. Examples: no results returned, all reported PSMs are incorrect, etc.
      • Major - Issues that affect more than one workflow or preexisting published functionality. Example: invoking specplot.
      • Minor - Issues that only affect unpublished functionality currently under development by the assignee - in the future most issues will be in this priority level
      • Trivial - E.g., typos in output text (e.g., reports column headers)
    • Resolve - when an issue is supposedly fixed/completed but not yet approved by others. Resolution of an issue should be accompanied by a description of what changed to fix the issue: subversion repository version, updated wiki pages, etc. (whichever apply to the issue).
    • Close - after an issue is resolved, tested and approved by all parties involved