Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section
Column
width60%

The user manual for the Fluid packaged software releases consists of a set of information pages residing in the Fluid wiki. This Table of Contents lists all of the manual pages, organized under section headings. You can navigate through the manual by following the links below. To return to this page, click the link labelled User Manual ToC at the top of the left-side navigation bar.

What's in a Release?

We expect that each Fluid release will contain a combination of framework code, reusable user interface components, and documentation. More specifically:

Column
with40%
Panel
borderColor#566b30
bgColor#fff
titleBGColor#D3E3C4
titleOn this Page
borderStylesolid
Table of Contents
minLevel2
maxLevel2
excludeIntroduction*

Technology

  • JavaScript code for the Fluid framework
  • JavaScript, HTML, and CSS for Fluid components
  • Examples and sample code
  • API documentation and tutorials

UX Toolkit

  • UI Design Patterns
  • UX Walkthrough checklists and techniques
  • User testing guidelines
Column
with40%
Panel
borderColor#566b30
bgColor#fff
titleBGColor#D3E3C4
titleOn this Page
borderStylesolid
Table of Contents
minLevel2
maxLevel2
excludeIntroduction*

Frequency of Releases

Fluid intends to release versions of the Fluid framework, components, and UX Toolkit on a roughly quarterly basis. For more information about the specific timing of our releases, check out the Fluid Project 2007-9 Project Plan. The choice to release on a quarterly basis was made in order to:

...

  • Wiki pages and other documentation
  • The project pom.xml file
  • The ant build scripts properties file, build-scripts/build.properties
  • The filename version number of the generated PDF documentationWiki API page snapshots
    The following instructions will describe more specifically when, where and how to record the release number.

Process

As we approach an upcoming release, the following process kicks into gear:

Task

Who Coordinates with the Community?

Identify the Release Manager

Project Manager, Tech Lead

Set the release date and code freeze date

Project Manager, Tech Lead, Release Manager

Coordinate the release deliverables

Project Manager, Tech Lead , UX Leads

Work with component design/development teams to produce a test plan for each Fluid component

QA Lead

Recruit QA testers

QA Lead

Create the Release Status page

Release Manager

Ensure known issues in JIRA have been marked with the correct fix version for the release

Release Manager

Discuss ongoing bug fixes and commits on fluid-work

Whole Community

Ongoing QA testing and bug fixing

Whole Community

Review commits

Release Manager

Generate the PDF Documentation Create snapshots of the wiki API documents

Release Manager

Tag and package the release

Release Manager

...

Code Block
{jiraissues:http://issues.fluidproject.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?&&pid=10001
&resolution=-1&fixfor=10000&sorter/field=priority&sorter/order=DESC&tempMax=100&reset=true&decorator=none
|columns=key;priority;summary;updated;assignee;resolution;status}

Anchor
generatepdfsnapshotwikigeneratepdf
snapshotwiki

How to

...

The PDF documentation is generated by exporting relevant pages from the wiki. The wiki pages to include are generally categorized under "API Documents," "Tutorials" and "UX Toolkit."

The resulting PDF document will be included in the zip file with the source and examples.

How to Export the Wiki Pages

  1. Label the relevant wiki pages with the label "release."
    • The parent-child relationship of wiki pages will be reflected in the resulting PDF document table of contents. It is recommended that drafts of the PDF be checked for a reasonable structure, and if necessary, the parent-child relationships on the wiki be adjusted (note that this won't affect links within wiki pages).
  2. Produce a list of all the labelled pages, and keep it on hand.
  3. Export only the labelled pages:
    1. On the wiki, go the the' Browse Space' link in the navigation bar on the left, and then choose' Advanced'.
    2. Choose "Export Space"
    3. For 'Export format' choose "PDF Output"
    4. Turn off any extra options
    5. Clear all of the checked pages, then check only the pages labelled "release" (refer to the list you kept on hand. You kept it on hand, right?)
    6. Click the "Export" button at the bottom of the page.
  4. Rename the resulting PDF file using the version number, specifically "Fluid-{version number}.pdf"
  5. Edit the PDF file:
    1. Change the "Space Details" title to "Fluid Infusion v{version number}"
    2. Replace the box containing details with a paragraph that says
      Panel

      These pages were exported from the Fluid wiki (http://wiki.fluidproject.org), which combines information about development, project coordination, and user experience. Note that some of the links will redirect to the wiki.

    3. Change "Available Pages" to "Contents"

Create a Snapshot of the Wiki API Pages

coming soon...

Anchor
packagerelease
packagerelease

...

  1. Impose a source code repository freeze until the source code is tagged. Announce the freeze on the fluid-work mailing list (fluid-work@fluidproject.org).
    • Users are prohibited from committing to the source code repository trunk while the tagging operation is under way.
  2. Modify the release information in the necessary files:
    • Edit the maven project file(s) (pom.xml and project.xml).
    • Set the contents of the <version> tag tags as appropriate, for example:
      Code Block
      <version>0.1</version>
      
    • Edit the ant properties file(s) (build-scripts/build.properties).
    • Set the contents of the <version> tag as appropriate, for example:
      Code Block
      fluid_version = 0.1
      
    • Commit these project files to the repository.
  3. Check out a fresh, clean working copy of the source code from the trunk.
    • Execute:
      Code Block
      svn co https://source.fluidproject.org/svn/fluid/components/trunk fluid-0.1
      
  4. Using this working copy, ensure that the build works.
    • In the fluid-0.1 folder, execute:
      Code Block
      mvn clean install
      
    • The build should create a war file containing the fluid components. The war file is created in .../fluid-0.1/target/fluid-components-0.1.war, and is copied to the local maven 2 repository, .../.m2/repository/org/fluidproject/fluid-components/0.1/fluid-components-0.1.war.
  5. Run the jqUnit tests (by opening the HTML test files in a browser), and ensure that all succeed.
  6. Tag the source with the release version number.
    • Execute:
      Code Block
      svn copy fluid-0.1 https://source.fluidproject.org/svn/fluid/components/tags/fluid-0.1
      
    • Note that the above assumes that "fluid-0.1" is the directory containing the maven project file with the correct release version tag.
  7. Modify the version of the maven and ant project files (pom.xml, project.xml and build-scripts/build.properties) on trunk to reflect that trunk development is now a snapshot of the next release version. For example:
    Code Block
    <version>0.2-SNAPSHOT</version>
    
  8. Commit the trunk's modified maven project file.
  9. Lift the prohibition of committing to the trunk of the repository by announcing same on the fluid-work mailing list (fluid-work@fluidproject.org).

...

  1. Check out a fresh, clean copy of the tagged version of the source code.
    • Execute:
      Code Block
      svn co https://source.fluidproject.org/svn/fluid/components/tags/fluid-0.1 fluid-0.1
      
    Place the PDF documentation file in the root folder (i.e. as a sibling of the src folder).
  2. cd into the build scripts folder (fluid-0.1/build-scripts) and run the ant task to build the release bundle:
    Code Block
    ant
    
    This creates a folder called products and places the release bundles there: fluid-0.1.zip fluid-0.1-src.zip.
    • This zip file should contain the PDF file and the license files, as well as source, examples, and the war file.
  3. Test the distribution file thoroughly by unpacking it into a clean environment and running all tests, etc.

...