AI Parts Rationalization 插件 > 在本地环境中安装 AI Parts Rationalization 插件之前的必要设置
在本地环境中安装 AI Parts Rationalization 插件之前的必要设置
* 
本主题适用于设置 Windchill 本地系统的管理员。
在安装此插件之前,管理员必须完成以下先决条件:
配置 Windchill 服务器
在 Windchill 环境中安装此 AI 插件之前,请确保系统满足本主题中概述的配置要求。满足上述要求对于插件在 Windchill 生态系统中的兼容性、性能和稳定性至关重要。
有关配置 Windchill 服务器的详情,请参阅安装 Windchill 以及安装流程
由于此插件将与方法服务器托管在同一台计算机上,需要额外的内存来确保平稳运行。
支持的 Windchill 版本:Windchill 12.1.2.22、13.0.2.10 和 13.1.3.0
可选模块 (PartsLink) - 此插件支持在 Windchill 环境中进行安装。这种灵活性确保插件可以集成到多种 Windchill 设置中:
使用 PartsLink - 使用结构化分类法实现部件的高级分类和复用。
* 
Windchill PartsLinkWindchill Index Search 的执行步骤主题中所述,启用分类筛选器功能需要 SOLR 服务器。
不使用 PartsLink - 不带分类增强功能的标准 Windchill 功能。
BLOB 存储选项 - 此插件支持使用基于云的 BLOB (二进制大对象) 存储的 Windchill 环境。这可确保无缝处理存储在这些云服务中的大型文件和文档:
Microsoft Azure
Amazon Web Services (AWS)
* 
此插件需要一个专用的存储帐户,该帐户可以是 AWS 或 Azure 上的帐户。请知悉,虽然 Windchill 当前支持将电子仓库内容存储在 BLOB 存储中,但这是一个单独要求。即使客户已使用 BLOB 存储来存储电子仓库数据,仍需要专门为此插件指定专用存储帐户。
Apache 服务器配置 - 插件通过 Apache 利用以下受 Windchill 12.1.2.22、13.0.2.10 和 13.1.3.0 发行版支持的身份验证方法:
基本身份验证 - 简单的用户名/密码访问
SSO SAML
CAC-PKI (客户端证书) - 使用 SSL 证书进行强身份验证
OIDC‑SSO
* 
将 AI Parts Rationalization 插件与 Windchill 12.1.2.22 版本配合使用时,不支持 OIDC-SSO 身份验证。
* 
如果您使用的是 MPMLink,要启用长 URL 的索引,请按如下方式配置 AJP 和 Tomcat 服务器设置:
1. 在 Windchill shell 中,浏览到 <HTTPServer> 文件夹,并执行以下命令:
ant -f config.xml configureAJPWorkers -DajpMaxPacketSize=16384
2. 在 Windchill shell 中,浏览到 <Windchill>/Tomcat 文件夹,并执行以下命令:
ant -f config.xml configureConnectors -DajpMaxPacketSize=16384
3. 编辑 HTTPServer/conf/httpd.conf 文件,在其中包含以下行:
LimitRequestLine 16384
LimitRequestFieldSize 16384
4. 重新启动 Apache 和 Windchill 服务器以应用更改。
更新 Windchill 并启用“保留 Apache 设置”
将 Windchill 升级到 12.1.2.22、13.0.2.10 或 13.1.3.0 时,如果选取“保留 Apache 设置”选项,在升级过程中不会更新 Apache 服务器。这意味着现有 Apache 配置将保持不变,且不会自动应用更新中引入的任何新配置变更。
要手动应用必要的 Apache 配置变更,请仅在更新期间选择了“保留 Apache 设置”= true 时执行以下步骤。如果未选择此选项,系统会自动应用更新后的 Apache 配置。
以下步骤通常适用于所有身份验证类型 (SAML SSO 和基本身份验证):
1. 加载所需模块 - 更新位于 <Windchill_Home>\HTTPServer\conf\templates\modules-load.conf.template 文件以包括缺失模块:
<IfModule !rewrite_module>
LoadModule rewrite_module modules/mod_rewrite.so
</IfModule>
<IfModule !proxy_module>
LoadModule proxy_module modules/mod_proxy.so
</IfModule>
<IfModule !proxy_http_module>
LoadModule proxy_http_module modules/mod_proxy_http.so
</IfModule>
<IfModule !proxy_hcheck_module>
LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so
</IfModule>
<IfModule !proxy_balancer_module>
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
</IfModule>
<IfModule !slotmem_shm_module>
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
</IfModule>
<IfModule !watchdog_module>
LoadModule watchdog_module modules/mod_watchdog.so
</IfModule>
<IfModule !lbmethod_byrequests_module>
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
</IfModule>
2. 重新配置 Apache。在继续操作之前,请确保已备份 Apache 文件夹。然后,运行以下命令以重新配置 Apache:
ant -f config.xml reconfigure
SAML SSO
a. 按照常用步骤 1 中的说明加载必需模块。
b. 对于 REMOTE_USER,确保指令 ShibUseHeaders On 存在于 /apache/conf/conf.d/30-app-Windchill-1Auth.confLocationMatch 元素中。如果缺少该项,请进行添加。
基本身份验证
1. 按照常用步骤 1 中的说明加载必需模块。
2. 更新位于 <Windchill_Home>\HTTPServer\conf\templates\xslwebAppAuthResToConf.xsl 文件,以便在 Require valid-user 行后包括下列代码:
<xsl:if test="$resource='WCPlugins'">
RewriteRule .* - [E=PROXY_USER:%{LA-U:REMOTE_USER}]
RequestHeader set REMOTE_USER %{PROXY_USER}e
</xsl:if>
3. 修改 app-Windchill-AuthRes.xml - 更新位于 \<Windchill_Home>\HTTPServer\confapp-Windchill-AuthRes.xml 文件,使以下行紧随起始 <resources> 标记之后,位于现有全部 <resource> 条目之前:
<resource>WCPlugins</resource>
4. 重新配置 Apache。在继续操作之前,请确保已备份 Apache 文件夹。然后,运行以下命令以重新配置 Apache:
ant -f webAppConfig.xml regenAllWebApps
ant -f config.xml reconfigure
如果在“保留 Apache 设置”设为 true 的情况下升级 Windchill,必须手动更新 Apache。SAML SSO 需要验证 ShibUseHeaders On 指令是否正确配置。基本身份验证需要更改其他配置并重新生成 Web 应用程序。在完成 SAML SSO 和基本身份验证的相关步骤后,重新配置 Apache。
* 
请验证是否已将 Windchill 配置为使用 HTTPS。有关详情,请参阅为 PTC HTTP Server 和 Windchill 配置 HTTPS
* 
如果在 Windchill 中为自定义应用程序 (例如 Navigate 应用) 配置了自定义证书,请手动将自定义证书文件的内容复制到 HTTPServer/conf/sslvhostconf.d/allClientCerts.crt,并移除引用该自定义证书的配置文件。
设置插件安装目录
预设 (OOTB) 提供了专用特性 wt.plugins.installed.dir,因此管理员可以定义将解压缩和安装插件文件的目录。默认情况下,此特性留空,表示未预定义安装路径。
安装 Windchill 的管理员必须在 Windchill 主目录之外手动创建一个具有读取、写入和执行权限的安全目录,然后相应地配置此特性。
要使用 xconfmanagerwt.properties 文件中添加和传播 wt.plugins.installed.dir 特性,请使用以下命令。例如:
xconfmanager -s wt.plugins.installed.dir=<your_custom_path> -t codebase/wt.properties && xconfmanager -pF
* 
在 Windows 上指定插件安装目录路径时,请参阅指定 URI 和 URL主题以获取有效路径格式的指导。
确保仅向管理员用户授予安装目录的访问权限。不应向任何其他用户授予此权限。
* 
如果未按照所述方式创建插件安装目录,则插件安装将不会继续进行。
创建目录并使用特性对其进行定义后,无需重新启动 Windchill 服务器即可安装插件。
配置用于在 Windchill 集群环境中安装插件的共享目录
在 Windchill 集群环境中,插件安装需要一个可从集群中所有节点访问的共享目录。此共享位置可确保插件在整个环境中的部署和可用性保持一致。
* 
插件安装仅支持通过共享目录进行,而集群配置不支持本地目录。如果共享目录未正确配置,或无法被任何节点访问,则插件安装过程将失败。
为正确配置和保护共享目录,管理员必须遵循以下指导原则:
创建网络共享文件夹作为公用插件安装目录,可从所有 Windchill 节点访问该文件夹。
指定有效的网络路径:
\\shared\plugins (对于使用 UNC 路径格式的 Windows 系统)
/mnt/shared/plugins (对于使用已挂载网络路径的 Linux 系统)
确保所有节点都具有共享文件夹的读写权限,且为 Windchill 安装程序用户授予执行权限。在 Windows 集群设置中,插件服务器始终以无头模式运行。
使用 xconfmanager 实用程序在每个节点上设置 wt.plugins.installed.dir 特性,并确保其始终指向共享目录。
确保共享目录有足够的可用空间来容纳所有插件。例如,如果您计划安装 10 个插件,并且每个插件的大小不同,则可通过将所有插件的大小相加来计算所需的总空间。共享目录必须具有足够的可用空间,以容纳安装的所有插件。
* 
在集群设置中,如果某个节点在插件安装期间关闭,则仅在当前正在运行的节点上安装插件。当关闭的节点重新联机时,将自动在该节点上安装插件,并相应更新 Apache 配置变更。
例如,假设设置了节点 1 和节点 2。如果节点 2 在插件安装期间关闭或离线,此时不会在节点 2 上安装插件。重新启动服务器和 Apache 服务且节点 2 重新联机后,节点 2 上所有必要安装文件都会自动更新。无需执行任何手动步骤。
插件安装目录中的日志文件
插件安装目录包含一个日志文件夹,其中包含插件生成的文件,例如 /opt/ptc/plugins/logs。管理员可以参考这些详细日志来排除故障或验证操作。其中日志包括时间戳、请求详情和错误消息。
提供了专用特性 wt.plugins.logs.dir,用于指定生成插件日志的自定义位置。
如果未设置此特性,则会在插件安装目录 (例如 /opt/ptc/plugins/logs) 中生成插件日志。
如果设置了该特性,则会在特性指定的目录中生成插件日志。
* 
Windchill 相关日志可在 Windchill 安装日志记录目录内的 Apache 和方法服务器日志中找到。
设置插件临时目录
引入了新特性 wt.plugins.temp.dir。此为可选特性,用于定义存储临时插件文件的目录。默认情况下,目录路径设置为 ${wt.temp}/<pluginId>wt.temp 是用于定义 Windchill 临时位置的现有 wt 特性。请务必确保仅对管理用户授予此目录的写入权限。不应向任何其他用户授予此权限。
使用以下命令设置此特性:
xconfmanager -s wt.plugins.temp.dir=<your_custom_path> -t codebase/wt.properties && xconfmanager -pF
在 PUBLISHCLOUDENTRY 表的 VIZSERVERJOBID 列中创建唯一索引
要提高外部作业创建和 AI Parts Rationalization 操作的性能,请在 PUBLISHCLOUDENTRY 表的 VIZSERVERJOBID 列中创建唯一索引。
按照以下步骤创建唯一索引:
1. 在创建索引之前,请确保 VIZSERVERJOBID 列中没有重复值。此列当前为空,因为 Windchill 预设 (OOTB) 不使用此列。
2. 使用数据库厂商提供的相应 SQL 命令,在 PUBLISHCLOUDENTRY 表的 VIZSERVERJOBID 列中创建唯一索引。
以下是 Oracle 数据库的示例。数据库管理员应根据其数据库系统的特定要求和最佳做法来调整语法和选项:
CREATE UNIQUE INDEX "VIZSERVERJOBID_UNIQUE_IDX" ON "PUBLISHCLOUDENTRY" ("VIZSERVERJOBID")
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 24576 NEXT 24576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "INDX";
3. 如果需要,重新构建新创建的索引。
4. 检查是否已成功创建索引。
数据库管理员必须根据组织的系统参数采取适当措施。
* 
VIZSERVERJOBID 在部件搜索和外部作业流中用作键标识符。
* 
VIZSERVERJOBID 列上创建唯一索引时,索引特定参数是可选的。建议使用生产数据库服务器的默认设置。仅执行基本索引创建查询以及相应的表空间名称。
配置客户存储
以下部分概述每个受支持存储选项 (Microsoft Azure Blob 存储和 Amazon S3 存储桶) 的配置步骤。
对于本地 Windchill 服务器配置,AI Part Rationalization 在连接到 Microsoft Azure Blob 存储和 Amazon S3 存储桶时仅支持 SECURITY_CREDENTIALS 身份验证。
存储配置期间提供的所有敏感信息都将使用密钥库安全存储。这可确保对您的登录凭据进行加密并防止未经授权的访问,从而维护数据的机密性和完整性。
有关详情,请参阅 Configuring Customer Storage 主题。
Azure 存储
帐户名称 - 您的 Azure 存储帐户名称。
帐户密钥 - 用于验证访问权限的密钥。
容器名称- 现有或新建容器的名称。
* 
可以在“Azure 存储”页面“安全 + 网络”下找到存储帐户名称和访问密钥。
如果已有 Azure 存储帐户,建议您再创建一个帐户,这样有助于提高安全性,优化存储组织。您可以在 Azure Portal > Storage Account 下找到现有帐户名称。
Azure 存储应可供 VCS 公开访问。设置 Azure Storage > Security + networking > Networking > Firewalls and virtual networks > Public network access 下的 Enabled from all networks 选项。
Amazon S3
Bucket Name - Amazon S3 存储桶的名称
Access Key ID - 您的 AWS 访问密钥 ID
Secret Access Key - 用于身份验证的密钥
Region - 托管存储桶的 AWS 区域
* 
您可以在 AWS 控制台中查找上述详情:
Amazon S3 Bucket Name - 转至 AWS 控制台中的 Amazon S3 服务。您的存储桶名称列在 S3 主仪表板上的 Bucket name 列下。目前,AI Parts Rationalization 插件不支持 Amazon S3 存储桶下的文件夹结构。
Access Key ID - 转至 IAM > Users > Username > Security credentials 选项卡,以查看或创建您的访问密钥 ID。
Secret Access Key - 仅当您在 IAM > Users > Username > Security credentials 中创建新的访问密钥后,您才能找到自己的机密访问密钥。它仅显示一次,之后则无法再查看。
Region - 转至 AWS 控制台中的 Amazon S3 服务。在存储桶清单中,Region 将显示在每个存储桶名称旁边的 AWS Region 列中。
针对 Amazon S3 存储桶定义策略。针对 Amazon S3 存储桶 AIPlugin-s3-bucket 定义的策略的示例快照如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3::: AIPlugin-s3-bucket",
"arn:aws:s3::: AIPlugin-s3-bucket/*"
]
}
]
}
可以根据客户安全要求自定义策略。请确保提供对 Amazon S3 存储桶的读取、写入、列出、删除和存在性检查的访问。
有关详情,请参阅 Getting Started with IAM
您只能查看和填写与您所选的存储类型相关的字段。
配置插件时,需要存储帐户的详情。有关详情,请参阅配置 AI Parts Rationalization 插件部分。
配置索引用户
预设情况下,插件配置用户界面中的“索引用户”字段为空。要启用索引建立功能,必须配置有效的索引用户。
如果将站点管理员配置为索引用户,则考虑为所有站点数据建立索引。站点管理员无需配置新访问控制规则。
站点管理员负责在 Windchill 系统中创建和配置索引用户。索引用户应该是专门指定来开始建立索引的非管理用户。
通过适当的上下文级别访问控制,索引用户可以在建立索引时包括或排除特定产品内容。
* 
提供对索引用户的站点级别和上下文级别访问权限。
如果已创建索引用户并添加配置,但没有为该用户定义策略管理规则且未授予上下文访问权限,则不会对任何数据建立索引。
通过许可证排除组将索引用户添加到其中一个基础许可证中。有关详情,请参阅许可证排除组
要配置索引用户,请执行以下步骤:
1. 配置站点级别访问控制。
a. 在 Windchill 中,导航至“实用程序” > “策略管理”
b. 选择“单一上下文” > “站点”
索引用户 (IndexUser) 的名称由用户在配置期间定义。
* 
配置该插件时,必须提供索引用户 (IndexUser) 的 ID。有关详情,请参阅 配置 AI Parts Rationalization 插件部分。
2. 配置上下文级别的访问控制。
a. 在 Windchill 中,导航至“实用程序” > “策略管理”
b. 选择“所有上下文”。从表格中选择 Default > PDM > “上下文”。针对需要建立索引的部件的“产品”上下文设置这些访问控制。
c. 使用以下配置来创建新的访问控制规则:
类型
用户
访问控制
部件
IndexUser
读取
衍生图像
IndexUser
读取、下载
索引用户必须具有“衍生图像”类型的下载访问权限。此权限可以从站点级别上下文继承,也可以显式添加到特定上下文。
* 
配置索引用户时,建议为索引用户提供特定上下文 (例如站点、产品、存储库、项目或组织) 的访问权限。如果只希望索引特定上下文中的某些数据,则必须确保为选定上下文中的“部件”和“衍生图像”类型授予适当的权限。如果不设置访问限制,系统会对 Windchill 数据库中的所有部件建立索引,这可能不必要,并且会显著增加建立索引所需的时间。
请仔细选择要建立索引的内容,因为许可证将使用 AI 点数。不必要的索引会消耗点数,并可能导致后续产生额外购买成本。请仔细配置权限,这有助于控制要索引的内容,并防止不必要的资源消耗。
3. 要启动索引流程,请单击重复部件搜索页面上的“开始建立索引”。有关详情,请参阅由管理员执行的重复部件搜索为数据建立索引
4. 要为“项目”“存储库”上下文配置索引用户,用户必须以“项目”“存储库”创建者身份登录。
对于项目上下文,请转至“项目” > “实用程序” > “策略管理”
对于存储库上下文,请转至“存储库” > “实用程序” > “策略管理”
5. 如步骤 2c 所述,设置在 PDM 上下文中配置的策略访问。
* 
如果更改上下文的索引用户或其关联权限,则索引数据仍会保留在向量索引中,即使稍后移除这些权限也是如此。换句话说,索引建立完成后,移除上下文权限并不会从索引中删除相应条目。
例如,如果索引用户具有两个上下文的权限,并且已完成这两个上下文的索引建立。稍后,移除任一上下文的权限时并不会移除其嵌入向量。即使移除权限,索引仍会保留该上下文的条目。
这对您有帮助吗?