Difference between revisions of "Documentation/Nightly/Developers"

From Slicer Wiki
Jump to: navigation, search
m
m
Line 20: Line 20:
 
----
 
----
  
* [[Documentation/{{documentation/version}}/Developers/StartHere|Start here]]
+
[[Documentation/{{documentation/version}}/Developers/StartHere|Start here]]
 
: New community member checklist
 
: New community member checklist
  
* [[{{FULLPAGENAME}}/Meetings|Developer meetings]]
+
[[{{FULLPAGENAME}}/Meetings|Developer meetings]]
 
: It is open to everyone, feel free to join.
 
: It is open to everyone, feel free to join.
  
* [http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel Developers mailing list] / [http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel Sign-up] / [http://slicer-devel.65872.n3.nabble.com/ Browse archives]
+
[http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel Developers mailing list] / [http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel Sign-up] / [http://slicer-devel.65872.n3.nabble.com/ Browse archives]
 
: Intended for discussion of programming related questions
 
: Intended for discussion of programming related questions
  
* [[Documentation/{{documentation/version}}/Developers/FAQ|FAQ]]
+
[[Documentation/{{documentation/version}}/Developers/FAQ|FAQ]]
 
: Set of common development questions/answers
 
: Set of common development questions/answers
 
----
 
----
 
<span style="color: #555555; font-size: 18px; font-weight: bold;">Resources</span>
 
<span style="color: #555555; font-size: 18px; font-weight: bold;">Resources</span>
 
----
 
----
* [[Roadmap|Roadmap]]{{new}}
+
[[Roadmap|Roadmap]]{{new}}
 
: What's next ? What's the plan ?
 
: What's next ? What's the plan ?
  
* Source code repository
+
Source code repository
 
: [https://github.com/Slicer/Slicer Github] or [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk SVN]
 
: [https://github.com/Slicer/Slicer Github] or [http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk SVN]
  
* [http://slicer.cdash.org/index.php?project=Slicer4 CDash Quality Dashboard] / [[{{FULLPAGENAME}}/Tutorials/DashboardSetup|Setup a dashboard]]
+
[http://slicer.cdash.org/index.php?project=Slicer4 CDash Quality Dashboard] / [[{{FULLPAGENAME}}/Tutorials/DashboardSetup|Setup a dashboard]]
 
: Nightly, continuous and experimental dashboards.
 
: Nightly, continuous and experimental dashboards.
  
* [http://na-mic.org/Mantis Bug tracker] / [http://na-mic.org/Mantis/signup_page.php Register] / [[Documentation/{{documentation/version}}/Report_a_problem|Report a problem]] / [[Documentation/{{documentation/version}}/Developers/Tutorials/ContributePatch|Contribute a patch]]
+
[http://na-mic.org/Mantis Bug tracker] / [http://na-mic.org/Mantis/signup_page.php Register] / [[Documentation/{{documentation/version}}/Report_a_problem|Report a problem]] / [[Documentation/{{documentation/version}}/Developers/Tutorials/ContributePatch|Contribute a patch]]
 
: Web-based bug tracking system - <small>[[Documentation/{{documentation/version}}/Developers/BugTrackerConfiguration|Configuration]]</small>
 
: Web-based bug tracking system - <small>[[Documentation/{{documentation/version}}/Developers/BugTrackerConfiguration|Configuration]]</small>
  
* [http://slicer.org/doc/html/classes.html Doxygen]
+
[http://slicer.org/doc/html/classes.html Doxygen]
 
: Source code API documentation.
 
: Source code API documentation.
  
* [[{{FULLPAGENAME}}/Style Guide|Slicer Style Guidelines]]
+
[[{{FULLPAGENAME}}/Style Guide|Slicer Style Guidelines]]
 
: Consistency and Readability for a manageable code base
 
: Consistency and Readability for a manageable code base
  
* [[Slicer4:Developers|Developer Projects]]
+
[[Slicer4:Developers|Developer Projects]]
 
: Pages for the developer projects.
 
: Pages for the developer projects.
  
* [[Documentation/Labs|Labs]] {{new}}
+
[[Documentation/Labs|Labs]] {{new}}
 
: Keep track of on-going experiments.
 
: Keep track of on-going experiments.
  
* [[Release Details|Change logs and release details]]
+
[[Release Details|Change logs and release details]]
 
: Informations about Slicer releases
 
: Informations about Slicer releases
  
Line 68: Line 68:
 
----
 
----
  
* [[Documentation/{{documentation/version}}/Developers/Tutorials/BuildTestPackageDistributeExtensions|Create Slicer extensions]] {{updated}}
+
[[Documentation/{{documentation/version}}/Developers/Tutorials/BuildTestPackageDistributeExtensions|Create Slicer extensions]] {{updated}}
 
: Build, test, package and distribute extensions
 
: Build, test, package and distribute extensions
  
* [[Documentation/{{documentation/version}}/Developers/Build Instructions|Build Slicer application]]
+
[[Documentation/{{documentation/version}}/Developers/Build Instructions|Build Slicer application]]
 
: Compiling and installing Slicer from source.
 
: Compiling and installing Slicer from source.
  
* [[Documentation/{{documentation/version}}/Developers/Build Module|Build Module]]
+
[[Documentation/{{documentation/version}}/Developers/Build Module|Build Module]]
 
: Compiling slicer modules outside of the slicer source tree.
 
: Compiling slicer modules outside of the slicer source tree.
  
Line 81: Line 81:
 
----
 
----
  
* [[{{FULLPAGENAME}}/Modules | Modules]]
+
[[{{FULLPAGENAME}}/Modules | Modules]]
 
: Comparison between the different supported module types
 
: Comparison between the different supported module types
  
* Internals
+
[[{{FULLPAGENAME}}/MRML | Data Model / MRML]]
** [[{{FULLPAGENAME}}/MRML | Data Model / MRML]] - Objects and their organization. MRML Library provides API for managing medical image data type
+
: Objects and their organization. MRML Library provides API for managing medical image data type
** [[{{FULLPAGENAME}}/Logics | Logics]] - Details the role of MRML/Slicer/Application/Modules logics and Displayable managers
 
** [[{{FULLPAGENAME}}/Layouts | Layouts]] - How to control the layout of the views
 
** [[{{FULLPAGENAME}}/IO | IO Mechanism]] - How to read or write nodes from file
 
  
* [[{{FULLPAGENAME}}/Python scripting | Python scripting]]
+
[[{{FULLPAGENAME}}/Logics | Logics]]
 +
: Details the role of MRML/Slicer/Application/Modules logics and Displayable managers
 +
 
 +
[[{{FULLPAGENAME}}/Layouts | Layouts]]
 +
: How to control the layout of the views
 +
 
 +
[[{{FULLPAGENAME}}/IO | IO Mechanism]]
 +
: How to read or write nodes from file
 +
 
 +
[[{{FULLPAGENAME}}/Python scripting | Python scripting]]
 
: Presents the underlying infrastructure.
 
: Presents the underlying infrastructure.
  
* [[{{FULLPAGENAME}}/Charts | Charts]]
+
[[{{FULLPAGENAME}}/Charts | Charts]]
 
: Description of the Charting architecture.
 
: Description of the Charting architecture.
  
* [[{{FULLPAGENAME}}/Build system | Build system]] {{updated}}
+
[[{{FULLPAGENAME}}/Build system | Build system]]
 
: Details how Slicer is built and packaged.
 
: Details how Slicer is built and packaged.
  
* [[{{FULLPAGENAME}}/QtTesting | QtTesting]]
+
[[{{FULLPAGENAME}}/QtTesting | QtTesting]]
 
: Testing framework to test Slicer application. It complements unit tests.
 
: Testing framework to test Slicer application. It complements unit tests.
  

Revision as of 14:16, 13 June 2013

Home < Documentation < Nightly < Developers


New Developers:    Welcome ! Check these instructions !

Getting involved


Start here

New community member checklist

Developer meetings

It is open to everyone, feel free to join.

Developers mailing list / Sign-up / Browse archives

Intended for discussion of programming related questions

FAQ

Set of common development questions/answers

Resources


Roadmap  NEW

What's next ? What's the plan ?

Source code repository

Github or SVN

CDash Quality Dashboard / Setup a dashboard

Nightly, continuous and experimental dashboards.

Bug tracker / Register / Report a problem / Contribute a patch

Web-based bug tracking system - Configuration

Doxygen

Source code API documentation.

Slicer Style Guidelines

Consistency and Readability for a manageable code base

Developer Projects

Pages for the developer projects.

Labs   NEW

Keep track of on-going experiments.

Change logs and release details

Informations about Slicer releases



Build instructions


Create Slicer extensions   UPDATED

Build, test, package and distribute extensions

Build Slicer application

Compiling and installing Slicer from source.

Build Module

Compiling slicer modules outside of the slicer source tree.

Design & Implementation


Modules

Comparison between the different supported module types

Data Model / MRML

Objects and their organization. MRML Library provides API for managing medical image data type

Logics

Details the role of MRML/Slicer/Application/Modules logics and Displayable managers

Layouts

How to control the layout of the views

IO Mechanism

How to read or write nodes from file

Python scripting

Presents the underlying infrastructure.

Charts

Description of the Charting architecture.

Build system

Details how Slicer is built and packaged.

QtTesting

Testing framework to test Slicer application. It complements unit tests.

Migration Guide

How to update Slicer extension code following breaking changes in Slicer or dependent toolkits (VTK, ITK, Qt, ...)

Source code How-tos

How to checkout the source and contribute patches

Module How-tos

How to create or build modules, how to add or update remote modules

Testing How-tos

How to write tests and manage testing data

Documentation How-tos

How to document module or extension

Extension How-tos

How to contribute, build or package extensions

Misc How-tos

How to setup QtCreator, setup dashboard, work with QtDesigner, port modules


Debugging instructions: https://slicer.readthedocs.io/en/latest/developer_guide/debugging/index.html



Slicer4Announcement-HiRes.png