Open Azquelt opened 9 months ago
UFO Socialization notes from today:
Slide 11 To-Be
Slide 13 To-Be
Slide 15 Feature Design
Slide 17 End User Overview
Slide 20 Java APIs / SPIs
Slide 23, 24 and 25 Admin / Config / Command Line
As-Is
/ To-Be
section to state that we are adding support for the include / exclude in older versions of mpOpenAPI (2.0 or later). May also talk about that in the End User Overview
section as wellSlide 28 Deprecation / Stabilization
Slide 33 Open Source Software
Slide 34 Beta
Slide 35 Automated Testing
New tests added for new server.xml configuration options
will include mpOpenAPI 2.0 and later, not just for the 4.0 feature.Slide 38 Platform / Cloud Considerations
Slide 40 Serviceability
Technical Overview
.@Azquelt
first
is not very useful, it's only included because it's the default behaviour for older versions of mpOpenAPI
, and it matches the MP Config values those features currently accept.
<application name>
(for any application)<application name>/<web module name>
(for a .ear application)CWWKZ0001I: Application started
messagempOpenAPI-2.0
+ when reading the value from MP Config, but it doesn't seem ideal so I will look at it again tomorrow.SRVE0169I: Loading Web Module
message@NottyCode Slides 30 and 31 have been updated with the information above.
The conclusions from #29541 have been added to the UFO:
<include>
and <exclude>
elements split into <includeApplication>
, <includeModule>
, <excludeApplication>
, <excludeModule>
to make it easier to understand a config file without already being familiar with these options<application>
element in server.xml must be used (or the name of the archive file with the extension removed if the name
attribute is unset)
Slides updated 30-34, 49-50
@NottyCode the UFO is ready for re-review.
@OpenLiberty/id-approvers the docs issue for this feature has been raised here: OpenLiberty/docs#7654
Description
Add support for MicroProfile OpenAPI 4.0.
This is likely to include:
See the specification milestone for the full list of features included in this release of the specification.
In addition, we plan to add the following features to OpenLiberty beyond what is required by the spec:
Continue to support OpenAPI 3.0 output format
Continue to do validation checks on the output document
Produced merged OpenAPI documentation for all deployed applications by default
Server.xml config to control which applications are included in the OpenAPI documentation
mpOpenAPI-2.0
and laterServer.xml config to set the
info
section of the output OpenAPI documentmpOpenAPI-2.0
and laterDocuments
When available, add links to required feature documents. Use "N/A" to mark particular documents which are not required by the feature.
UFO: https://ibm.box.com/s/f5qzwtyvqiz7hrlrsahyt31keyf4matk
FTS: #29962
Beta Blog: #29097
GA Blog: Link to GA Blog Post GH Issue
Docs issue: OpenLiberty/docs#7654
Process Overview
Prioritization
Design
Implementation
Legal and Translation
Beta
GA
Other Deliverables
General Instructions
The process steps occur roughly in the order as presented. Process steps occasionally overlap.
Each process step has a number of tasks which must be completed or must be marked as not applicable ("N/A").
Unless otherwise indicated, the tasks are the responsibility of the Feature Owner or a Delegate of the Feature Owner.
If you need assistance, reach out to the OpenLiberty/release-architect.
Important: Labels are used to trigger particular steps and must be added as indicated.
Prioritization (Complete Before Development Starts)
The (OpenLiberty/chief-architect) and area leads are responsible for prioritizing the features and determining which features are being actively worked on.
Prioritization
[x] Feature added to the "New" column of the Open Liberty project board
[x] Priority assigned
Design (Complete Before Development Starts)
Design preliminaries determine whether a formal design, which will be provided by an Upcoming Feature Overview (UFO) document, must be created and reviewed. A formal design is required if the feature requires any of the following: UI, Serviceability, SVT, Performance testing, or non-trivial documentation/ID. Furthermore, each identified item places a blocking requirement on another team so it must be identified early in the process. The feature owner may check-off the item if they know it doesn't apply, but otherwise they should work with the focal point to determine what work, if any, will be necessary and make them aware of it.
Design Preliminaries
ID Required
, if non-trivial documentation needs to be created by the ID team.ID Required - Trivial
, if no design will be performed and only trivial ID updates are needed.Design
Design Review Request
Design Approval Request
Design Approved
No Design
No Design Approval Request
No Design Approved
Product Management Approval Request
and notifies OpenLiberty/product-managementProduct Management Approved
(OpenLiberty/product-management)FAT Documentation
[ ] "Feature Test Summary" child task created
Implementation
A feature must be prioritized before any implementation work may begin to be delivered (inaccessible/no-ship). However, a design focused approach should still be applied to features, and developers should think about the feature design prior to writing and delivering any code.
Besides being prioritized, a feature must also be socialized (or No Design Approved) before any beta code may be delivered. All new Liberty content must be inaccessible in our GA releases until it is Feature Complete by either marking it
kind=noship
or beta fencing it.Code may not GA until this feature has obtained the
Design Approved
orNo Design Approved
label, along with all other tasks outlined in the GA section.Feature Development Begins
In Progress
labelLegal and Translation
In order to avoid last minute blockers and significant disruptions to the feature, the legal items need to be done as early in the feature process as possible, either in design or as early into the development as possible. Similarly, translation is to be done concurrently with development. Both MUST be completed before Beta or GA is requested.
Legal (Complete before Feature Complete Date)
Innovation (Complete 1 week before Feature Complete Date)
Translation (Complete by Feature Complete Date)
[ ] PII (Program Integrated Information) updates are merged (i.e. all English strings due for translation have been delivered), or N/A.
Beta
In order to facilitate early feedback from users, all new features and functionality should first be released as part of a beta release.
Beta Code
kind=beta
,ibm:beta
,ProductInfo.getBetaEdition()
target:beta
and the appropriatetarget:YY00X-beta
(where YY00X is the targeted beta version).release:YY00X-beta
(where YY00X is the first beta version that included the functionality).Beta Blog (Complete by beta eGA)
[x] Beta blog issue created and populated using the Open Liberty BETA blog post template.
GA
A feature is ready to GA after it is Feature Complete and has obtained all necessary Focal Point Approvals.
Feature Complete
Translation - Complete
orTranslation - Missing
labelrelease
branch, feature owner adds labelTranslation - Complete
.Translation - Missing
.Translation - Missing
label is replaced withTranslation - Complete
.Translation - Blocked
label.Translation - Blocked
may NOT proceed to GA until the label has been replaced with eitherTranslation - Missing
orTranslation - Complete
.target:ga
and the appropriatetarget:YY00X
(where YY00X is the targeted GA version).Focal Point Approvals (Complete by Feature Complete Date)
These occur only after GA of this feature is requested (by adding a
target:ga
label). GA of this feature may not occur until all approvals are obtained.All Features
focalApproved:externals
@OpenLiberty/demo-approvers Demo scheduled for EOI [Iteration Number]
to this issue.focalApproved:demo
.focalApproved:fat
.Design Approved Features
focalApproved:id
.focalApproved:instantOn
.focalApproved:performance
.focalApproved:sve
.focalApproved:ste
.focalApproved:svt
.Remove Beta Fencing (Complete by Feature Complete Date)
GA Blog (Complete by Friday after GM)
Post GM (Complete before GA)
Post GA
[ ] Remove the
target:ga
andtarget:YY00X
labels, and add the appropriaterelease:YY00X
. (OpenLiberty/release-manager)Other Deliverables
[ ] Standalone Feature Blog Post - A blog post specifically about your feature or N/A. (Feature owner and OpenLiberty/release-architect)
[ ] OL Guides - OL Guides assessment is complete or N/A. (OpenLiberty/guide-assessment)
[ ] Dev Experience - Developer Experience & Tools work is complete or N/A. (OpenLiberty/dev-experience-assessment)