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

#Design

#Implementation
##Code
###Java
###Other languages
##Exception handling
##I18N and L10N
##Preferences
#Testing
##Unit tests
#Documentation
##Comments
###JavaDoc
##Help
#Release
##Deploying new plugins

Steps for deploying new plugins

  • 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.

...