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

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

...

  • 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

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!) Note: This is a very wrong step that seems to originate from an Eclipse bug in how features are built against a target.
  • 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.
  • 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.

...