SUSE / aimaas

Abstract Information Management and Authority Service
GNU General Public License v3.0
12 stars 6 forks source link

Product Information Management #2

Open crazyscientist opened 4 years ago

crazyscientist commented 4 years ago

Use Case

In order to sell/release a product a company needs to collect and agree on product information (e.g. name, release date, relations to other products, ...).

A wizard guiding people through this process and tools for tracking/reviewing/discussing/accepting changes would be helpful.

Additionally this information might be up for automated processing. Hence schema definitions/validations and well defined APIs are a big plus.

crazyscientist commented 2 years ago

@mcalmer wrote:

As a SUSE Manager Developer I need to get informed minimal 2 month in advanced about a new product release in order to enable it in SUSE Manager.

Special Case: LTSS - as LTSS comes with a new product class which requires a package update.

This is also a topic interesting to @bhdn

bhdn commented 2 years ago

Indeed. The same notification in advance would benefit L3.

crazyscientist commented 2 years ago

Note: Specific functional features (like timestamp related notifications) might be best discussed with #7 in mind...

crazyscientist commented 2 years ago

LCM variants

Product Lifecycle1 Product Lifecycle2

Data model

To identify these time ranges and products the following schema can be used:

Common fields/attributes

Attribute Type Unique Required List Description
name str no yes no Full verbose product name (no version or architecture)
slug str yes yes no URL-friendly acronym
acronym str yes no yes Official Acronym
type str no yes no Product type (Base, Extensions, Module)
version str no yes no Full version string
cpe str yes yes no CPE
release_date_alpha datetime no no no Date of first Alpha release
release_date_beta datetime no no no Date of first Beta release
release_date datetime no no no Date of first stable release or first customer shipment
ltss_date datetime no no no Date when product transitions from General Support to LTSS

Fields/attributes for Variant 1

Attribute Type Unique Required List Description
ltss_extended_date datetime no no no Date when LTSS phase ends and extended support is only available by special customer agreements
eol_date datetime no no no End of Life (EOL) date after which the product is no longer supported

Fields/attributes for Variant 2

Attribute Type Unique Required List Description
eol_date datetime no no no End of Life (EOL) date after which LTSS support ends
eou_date datetime no no no End of Unlife (EOU) date after which extended LTSS support ends
crazyscientist commented 2 years ago

The decision was made to go with a variation of variant 2:

Attribute Type Unique Required List Description
name str no yes no Full verbose product name (with version)
slug str yes yes no URL-friendly acronym (ideally similar to CPE)
clear_name ste no yes no Product name (without version)
acronym str yes no yes Official Acronym
type str no yes no Product type (Base, Extensions, Module)
version str no yes no Full version string
cpe str yes yes no CPE
release_date_alpha date no no no Date of first Alpha release
release_date_beta date no no no Date of first Beta release
release_date date no no no Date of first stable release or first customer shipment
end_of_general_support date no no no Date when product transitions from General Support to LTSS
end_of_life date no no no Official End of Life: Date when LTSS support ends
end_of_ltss date no no no Date when the last extended LTSS support contract ends