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.
  • Build JavaDoc. (optional)

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 the features that contain your plugin.
  • Increment the version of each feature.
  • Export features to SEAL update site.
  • Check out the "update.seal" project from CVS.
  • Update the versions of the features in site.xml.
  • Export site.xml to SEAL update site.
  • Start SEAL in "admin"- mode.
  • Update SEAL.
  • Uninstall previous features (optional and at your own risk).
  • Build JavaDoc.
  • Commit all changes to CVS.
  • Reload the your Plug-in Development target.
  • Remove all unnecessary projects from your workspace.