Design
- Documents
- Requirements
- UML
Implementation
Java
- Coding standards
- CVS
- Exception handling
- I18N & L10N aka G11N
- Preferences
- Defaults
- Third-party libraries
- UI
- Eclipse
- Other
Other languages
Testing
- Target
- Unit tests
Documentation
- Comments
- JavaDoc
- Other
- Help
Release
- Plugin
- Feature
- Product
...
Implementation
Java Coding Standards
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
Additional standards:
- Package names start with edu.stanford.slac.
...
Java Exception Handling
- You should never throw/catch a generic exception (an instance of Exception, Throwable, or Error).
- Exceptions resulting from AIDA/EPICS data errors should be logged via Err.
...
Java G11N Practices
- All meaningful strings should be externalized.
...
Eclipse UI Best Practices
http://wiki.eclipse.org/index.php/UI_Best_Practices_v3.x
...
Documentation
JavaDoc Guidelines
http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
Additional guidelines:
- All fields and methods (incl. those that are private) should have JavaDoc comments.
- You should generate links to external JavaDoc (see here).
...
Testing
Testing Against Target
All software must be tested against SEAL target.
...
Release
How To Release A New Plugin
- Reset target to DEFAULT.
- Check out all SEAL/CSS plugin projects from CVS.
- Build product using "seal.applications" (note: the order of the features matters!)
- Test your product.
- Copy the product to /afs/slac/g/lcls/physics/seal.new/product and update the "current" link
SEAL DEVELOPMENT STANDARDS
Help
Each application must conribute help to the online help system.
(Paul, how did you enter Help for the online model?)
Error reporting
Plugins must report error messages through the edu.stanford.slac.err package API.
Recommended steps for deploying new plugin
- Increment the version of your plugin.
- Check out all features from CVS into your Workspace.
- Delete features from the target directory. (but NOT the plugins!)
- Increment the version of each updated feature.
- Remove plugins/features from the update site.
- Export RELEASE feature to SEAL update site (Export... => Plug-in Development => Deployable features)
- Check out the "update.seal" project from CVS.
- Update the names and versions of the features in site.xml.
- Export site.xml to SEAL update site. (Export => General => File System)
- Start SEAL in "admin"- mode.
- Update SEAL.
- Uninstall previous features (optional and at your own risk).
- Build JavaDoc. (optional)
- Commit all changes to CVS.Remove all old plugins from the installation site
- Reload your Plug-in Development target.
- Remove all unnecessary projects from your workspace.Reload your Plug-in Development target.
...