Bug 701 - [Chameleon - Core] add support for widget maturity levels
: [Chameleon - Core] add support for widget maturity levels
Status: CLOSED FIXED
: Chameleon
Core
: 1.99
: PC All
: P2 enhancement
: 1.99 beta 3
Assigned To:
:
:
:
: 772
:
  Show dependency treegraph
 
Reported: 2004-10-14 13:18 by
Modified: 2004-10-26 12:14 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2004-10-14 13:18:59
The intention is to add support in Chameleon for indicating the maturity level
of individual widgets.  This is to serve several purposes:

* provide a level of confidence to a chameleon administrator or application
designer that the widgets being used are reasonably stable (acceptable maturity
level on a per-installation and/or per-application basis)

* provide documentation for application developers to understand the maturity
level of widgets distributed with chameleon.

* provide assistance to widget maintainers (developers, QA and documenters) to
properly track widget status and ensure highest possible quality.

The maturity levels we have decided on are:

* UNKNOWN - the base level at which all widgets start
* ALPHA - in development, incomplete functionality, no documentation (other than
auto generated)
* BETA - in development, functionally complete, no know major bugs, no
documentation (other than auto generated)
* RELEASECANDIDATE - out of development, no know bugs, limited testing, little 
documentation (other than auto generated)
* RELEASE - out of development, no known bugs, thoroughly tested, completely
documented

The Chameleon configuration includes a maturity_level setting that can be set to
one of the above maturity levels.  It controls the lowest 'allowable' maturity
level for all widgets.  In addition, individual applications can explicitly set
a maturity level.

Maturity levels are enforced by the chameleon framework and widgets that do not
meet the configured minimum maturity level will be refused.  For example, an
application may include the SECTPopup widget (maturity level ALPHA).  If the
maturity_level is set to BETA, the widget will not be included in the
application and an error message will be logged stating that the widget could
not be loaded due to maturity level restrictions in place.
------- Comment #1 From 2004-10-14 14:21:39 -------
committed to cvs.  Default maturity level is going to be BETA for beta 3, we
should consider changing that for final release (I'll leave this bug open and
target 1.99 final for this change).

Note that the distribution configuration file has changed to support this so
updates from cvs will require at least copying over the new configuration item.
------- Comment #2 From 2004-10-14 16:53:30 -------
Just to let you know I have added <cham:maturitylevel> to xml schema, the
doc_builder default template, and have made a basic update to display this value
in the widget doc viewer. 

All that is left if for the doc_builder process to be able to extract this
maturity level setting in the widget. 
------- Comment #3 From 2004-10-18 09:26:47 -------
Bill, please close when you have completed the doc-builder stuff.
------- Comment #4 From 2004-10-18 10:53:28 -------
Maturity level has been added to the doc_builder.
------- Comment #5 From 2004-10-18 11:10:26 -------
FYI - for admin purposes you can run doc_builder with ?log appended to the URL
to have it automatically output the run log to a file as well as output the
widget/maturity list.
------- Comment #6 From 2004-10-25 16:20:30 -------
How could we set the maturity level in an application?
------- Comment #7 From 2004-10-25 16:30:49 -------
two choices:

1. change chameleon.xml maturity_level (this is global to all chameleon
applications)

2. $oApp->mnMaturityLevel = MATURITY_<level>; 
* after initialize, before execute.
* <level> = UNKNOWN, ALPHA, BETA, ... case sensitive as these are 'define'd values.
------- Comment #8 From 2004-10-26 09:08:24 -------
Verified :) on install of beta3 20041022for windows ms4w. I recieved errors on
applications that were using widgets that are marked lower than BETA.

This meant I had to change the chameleon.xml config option maturity_level to
UNKNOWN so that I could use all the widgets without the error message.

Also the maturity level is also present in the generated documents found in the
help viewer.

set to verified.
------- Comment #9 From 2004-10-26 10:50:37 -------
as per discussion with Darren, the MATURITY_RELEASE level was divided into
MATURITY_TECHNICALRELEASE and MATURITY_PRODUCTRELEASE.
------- Comment #10 From 2004-10-26 11:20:38 -------
Instructions in comment 7 should be read as the following:

$oApp->CWCInitialize( $szTemplate, $szMapFile  );
$oApp->mnMinimumMaturityLevel = MATURITY_RELEASECANDIDATE;
$oApp->CWCExecute();

Currently, the application maturity level will be used over the default maturity
level (chameleon.xml).  This means that the application can choose to use a
lower or higher maturity level that the default.
------- Comment #11 From 2004-10-26 12:14:12 -------
verfied for windows using beta3 20041022 by:
* using application: http://localhost/chameleon/samples/sample_enhanced.phtml

* setting the maturity level of the application to: 
$oApp->mnMinimumMaturityLevel = MATURITY_RELEASECANDIDATE;
 
* while the Maturity level of the installed chameleon was set to: UNKNOWN


The result was that no widget were able to load because the highest a widget is
currently set is BETA. Since the ErrorReport widget was disable due to it being
a BETA widget no Maturity Level error popup was displayed.

Setting bug to Closed.