源 SBOM 发生更改后更新部件列表
如果部件列表显示“需要更新”指示符,您可以进行更新,使其包括源 SBOM 发生的更改,或移除标志而不进行更改。
更新部件列表有两种方法︰
• 自动更新 - 您可以通过“更新部件列表”操作来自动更新部件列表,以包括源 SBOM 发生的所有更改。
进行此操作后,“需要更新”标志会从部件列表中移除。
您可以通过“查看部件列表变更”操作查看“更新部件列表”操作将对部件列表所做的所有变更。
“更新部件列表”操作期间,源 SBOM 发生的以下几种类型更改会传递到与 SBOM 关联的部件列表︰
◦ 部件的添加、移动和移除
|
|
此方法仅适用于处于 SBOM 根节点下一级的部件
PTC 建议为各级 BOM 结构保留单独的部件列表。
|
◦ 某些部件属性发生的更改
要定义待复制的属性,必须在
PartsListItemMappings XCONF 文件中提供部件对部件列表项的映射。有关如何将部件映射添加到此文件的信息,请参阅
将部件属性映射到部件列表项属性。
您可以指定,仅应在创建部件列表或在“更新部件列表”操作期间复制部件属性。
◦ 部件的适用性设置 (服务有效性和 ATO)
手动更新部件列表被视为向 SBOM 数据中添加内容。如果在 SBOM 发生更改之后使用“更新部件列表”操作更新部件列表,将保留对部件列表进行的手动更新。
|
|
如果 SBOM 中出现从部件列表中移除的部件列表项的对等部件,在“更新部件列表”操作期间,系统会将这些项添加回来。
|
• 手动更新 - 您可以根据需要对部件列表进行手动更改。如果使用此方法,这意味着,可以在部件列表中反映源 SBOM 发生的部分或所有更改。
在以下情况下可能需要手动更新部件列表︰
◦ 部件列表不是通过 SBOM 驱动
◦ 部件列表通过 SBOM 驱动但您不想使用自动更新,例如不想添加 SBOM 发生的所有更改
◦ 您想要使用 SBOM 以外的其他源中的数据补充部件列表
如果您已手动更新部件列表,可以使用“移除‘需要更新’标志”操作来确认已进行所有必需的更改。进行此操作后,“需要更新”标志会从部件列表中移除。
如果不想将对 SBOM 所作的更改传递到部件列表,也可以使用“移除‘需要更新’标志”操作来移除“需要更新”标记。
“移除‘需要更新’标志”操作对有权更新部件列表的用户可用。
如果部件列表被检出,则无法对其进行更新。
如果从“需要更新的部件列表”报告中访问更新操作,您可以在单次操作中更新多个部件列表。
如果部件列表是任何已生成备件部件列表的通用部件列表 (模板) 源,将其更新完毕后,可能需要重新生成备件部件列表。
检入性能优化
wt.partlist.allowUpdateRequiredOnPartListOnPartChange 特性用于控制:在更新相关部件时是否在部件列表上设置“需要更新”标志,以及是否使用“更新部件列表”操作。
默认情况下,该特性设置为 true,表示已应用该标志。如果不想设置该标志且不打算使用“更新部件列表”操作,可以将该特性设置为 false。此变更有助于减少不必要的更新,并且对于大型装配,可显著提高检入性能。
在 xconfmanager 中使用以下命令,可以更新该特性值。有关使用 xconfmanager 更新该特性值的详情,请参阅
使用 xconfmanager 实用程序。
xconfmanager -t codebase/wt.properties -s 'wt.partlist.allowUpdateRequiredOnPartListOnPartChange=false' -p