Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Design

  1. Documents
    • Requirements
  2. UML

Implementation

Java

  1. Coding standards
  2. CVS
  3. Exception handling
  4. I18N & L10N aka G11N
  5. Preferences
    • Defaults
  6. Third-party libraries
  7. UI

Other languages

Testing

  1. Target
  2. Unit tests

Documentation

  1. Comments
  2. Help

Release

  1. Plugin
  2. Feature
  3. 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

...

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 from CVS all features that contain your plugin (make sure you have them all!)
  • Increment the version of each feature.
  • Export features 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 unnecessary projects from your workspace.
  • Reload your Plug-in Development target.

...

  • Remove all unnecessary projects from your workspace.