developer session #3 ncrr advanced scirun/biopse elements: guis, core libs, contributions &...
TRANSCRIPT
Developer Session #3
NCRRNCRR
Advanced SCIRun/BioPSE Elements: GUIs, Core Libs,
Contributions & Support
Advanced SCIRun/BioPSE Elements: GUIs, Core Libs,
Contributions & Support
Developer Session #3
NCRRNCRR
GUIsGUIs
Expose variables
Visual feedback
Module/UI
synchronization•GuiVar• tcl interpreter
$this-c [args]
Developer Session #3
NCRRNCRR
ThreadsThreads
Intra-, inter-module parallelism
Architecture independent• pthreads• sgi threads
Inter-thread communication•mutex, barrier, mailbox
Easy to allocate/launch
Developer Session #3
NCRRNCRR
Persistent I/O (“Pio”)Persistent I/O (“Pio”)
Read/write C++ classesRecursively descend classesFix pointersVersioning for backward
compatabilityXDR for architecture independenceNot meant to be human-edited… no
fault-tolerance!
Developer Session #3
NCRRNCRR
Namespaces, STLNamespaces, STL
Each Package defines its own namespace: e.g. SCIRun, BioPSE
STL used for maps, vectors, strings
iostream: std::cerr (not iostream.h)
Developer Session #3
NCRRNCRR
Contributing PatchesContributing Patches
Bugzilla
Open a bug report
Return to bug report, submit attachment
Preferable to emailing scirun-develop!
Developer Session #3
NCRRNCRR
Contributing ModulesContributing Modules
Same as patch, but also need…
1) Design spec (in XML file)
2) Documentation (can be in XML)
3) Validation net
4) Validation datasets
Non-conflicting license
May appear in our next code release
Developer Session #3
NCRRNCRR
DocumentationDocumentation
http://internal.sci.utah.edu/developer/doc/
Developer Session #3
NCRRNCRR
Developer SupportDeveloper Support
Documentation• Programmer’s Guide• Module descriptions• Online code views• FAQ
Mailing ListDirect Contact• Email and Bugzilla• Network meetings (Access Grid)
Developer Session #3
NCRRNCRR
Installation SupportInstallation Support
Documentation• Quick Start• Installation Guide• Third party packages• FAQ
Mailing ListDirect Contact• Email and Bugzilla
Developer Session #3
NCRRNCRR
Internal ManagementInternal Management
Masterplan•Procedures and content•Module writing guide•Dynamic document
Technical Production•LaTeX, HTML, XML•Support for content providers•Online and paper forms
Developer Session #3
NCRRNCRR
MasterplanMasterplan
•Roadmap•Status report•Dynamic links
Developer Session #3
NCRRNCRR
Technical ProductionTechnical Production
XML
HTML
LaTeX
Existing Tools• LaTeX, latex2html,
DocBook (XML)
New Tools• XML DTDs,
automation
Content Generation• Voice
recording/recognition• Technical writer
Developer Session #3
NCRRNCRR
External SupportExternal Support
NCRR documentation website•Updated daily
Downloaded documentation• Linked to installed release•Web based and printable docs
Submitting new documentation•Required for module submission
Developer Session #3
NCRRNCRR
Submitting New DocsSubmitting New Docs
Format• XML- required for each module- can include complete description- template available, validation soon
• LaTeX- can include complete description- template available
Developer Session #3
NCRRNCRR
Making DocsMaking Docs
Merged at doc generation time• XML and LaTeX are sources (not HTML!)• printed documentation• web documentation
Tools (soon available)• validation of XML and LaTeX• Convert XML to HTML and TeX• Convert LaTeX to HTML• LaTeX/TeX to printed documents