# HG changeset patch # User BenoƮt Allard # Date 1412686021 -7200 # Node ID 309330b215d300f9eb32595111157155b568e50f # Parent 086e35c4aee70cec26b943727da13ae317d173d3 Add description fields to edit_group and edit_relationship diff -r 086e35c4aee7 -r 309330b215d3 farol/templates/producttree/edit_group.j2 --- a/farol/templates/producttree/edit_group.j2 Tue Oct 07 14:07:57 2014 +0200 +++ b/farol/templates/producttree/edit_group.j2 Tue Oct 07 14:47:01 2014 +0200 @@ -24,14 +24,25 @@ -#} {% extends "base.j2" %} -{% from "macros.j2" import textinput, textarea, selectinput2 %} +{% from "macros.j2" import textinput, selectinput2, examples %} {% block title %}Edit the product{% endblock %} {% block content %} +

If groups are defined, products can be referred to using the Group ID attribute in many other parts of the document, rather than repeatedly having to list all members individually.

+

Whether groups are defined or not, the ability to reference each product individually in other parts of the document is not affected. In fact, the creator of a document can choose to use either direct product references or group references.

+

Note:

+

Given that a single product can be a member of more than one group, some areas of the CVRF document may not allow product references by group to avoid ambiguity.

+

Each Group container defines a new logical group of products that can then be referred to in other parts of the document to address a group of products with a single identifier. Group members are defined by adding one Product ID element for each member of the group.

-{{ textinput('groupid', "Group ID", value=groupid, required=True) }} -{{ textarea('description', "Description", '', description, 3) }} +{% call textinput('groupid', "Group ID", value=groupid, required=True) %} +

The Group ID attribute is required to identify a Group so that it can be referred to from other parts in the document. There is no predefined or required format for the Group ID as long as it uniquely identifies a group in the context of the current document. Examples include incremental integers or GUIDs.

+{{ examples(['CVRFGID-0001', 'GRP-0001']) }} +{% endcall %} +{% call textinput('description', "Description", '', description) %} +

Description is a short, optional description of the group.

+{{ examples(['The x64 versions of the operating system.']) }} +{% endcall %} {{ selectinput2('products', "Products", products, productids, multiple=True) }} diff -r 086e35c4aee7 -r 309330b215d3 farol/templates/producttree/edit_relationship.j2 --- a/farol/templates/producttree/edit_relationship.j2 Tue Oct 07 14:07:57 2014 +0200 +++ b/farol/templates/producttree/edit_relationship.j2 Tue Oct 07 14:47:01 2014 +0200 @@ -28,10 +28,22 @@ {% block title %}Edit the product{% endblock %} {% block content %} +

The RelationshipFull Product Name elements, allowing the document producer to define a combination of two products that form a new Full Product Name entry.

+

This situation arises when a product is vulnerable only when installed together with another, or to describe operating system components. As a Relationship connects two existing products with each other, there need to be at least two Full Product Name entries present in the Product Tree before a Relationship element can be created.

+

Relationship elements live at the root of a Product Tree, and they have three mandatory attributes: Product Reference and Relates To Product Reference each contain the Product ID token for the two products that will form the relationship, and the Type attribute defines how the products are related.

{{ selectinput2('productreference', "ProductReference", products, productreference) }} -{{ selectinput('relationtype', "Relation Type", types, relationtype) }} +{% call selectinput('relationtype', "Relation Type", types, relationtype) %} +

Consider two previously constructed products with Product IDs CVRFPID-0001 and CVRFPID-0002. CVRF v1.1 supports the following Relationship Type values:

+
+
default component of:
CVRFPID-0001 is a default component of CVRFPID-0002
+
optional component of:
CVRFPID-0001 is an optional component of CVRFPID-0002
+
external component of:
CVRFPID-0001 is an external component of CVRFPID-0002
+
installed on:
CVRFPID-0001 is installed on CVRFPID-0002
+
installed with:
CVRFPID-0001 is installed with CVRFPID-0002
+
+{% endcall %} {{ selectinput2('relatestoproductreference', "Relates to Product Reference", products, relatestoproductreference) }}