3月 16

iTop网络关联关系的过度设计

iTop 的 lnkConnectableCIToNetworkDevice 可能存在过度设计,通过一个枚举属性,引入上联下联的概念,然后为一对连接设备创建了两个连接关系,如以下代码所示,AfterInsert 里,添加了一个反向的连接关系。 不仅新增,更新,删除也都要修改,非常复杂,也难以理解。 我认为可以有更清晰的方法来区分上下游关系 … Continue reading

3月 16

iTop中同一类型对象使用不同的图标

iTop 中网络设备类没有细分为交换机路由器防火墙,而是通过一个 外建类型的属性 networkdevicetype_id 来确定网络设备类型。这样做大概是因为能够复用代码。但是会有一个问题,生成的影响图里,网络设备的图标是单一的,无法清晰的看出是交换机,路由器或者是防火墙设备。如图所示。 如果拆分 NetworkDevice 类,将其变 … Continue reading

3月 14

金融IT基础设施数据元在iTop中的实现

人民银行发布的 《JR/T 0210-2021 金融IT基础设施数据元》 标准已经于2021年1月实施。本文尝试分析此标准和 iTop 的差异,并讨论用 iTop 实现此标准的方法。 建模方法 和 iTop 一样,都是基于面向对象的思路来设计数据模型,最上层是 IT基础设施数据元,然后是 虚拟机资源数据元,数据中心数据元,硬件设施数据元, … Continue reading

12月 14

VS Code中实现iTop XML大纲

开发 iTop 插件 经常会写很长很长的 XML,没有大纲会很不方便。Redhat 的 vscode-xml 倒是支持 XML 大纲,但是需要安装基于 Java 环境的 XML Language Server,太重了,我需要的是一个比较轻量级的解决方案。 另一款插件 XML Tools,实现了一个 XML Tree View 功能,类似大 … Continue reading

10月 26

iTop搜索条件优化

当维护大量组织,品牌和型号时,筛选对象时 ,这些条件会显示全部的项目,比如下图,筛选服务器,出现了 网络设备的品牌,如果品牌数量超过50,还会以 autocomplete 模式显示,即隐藏项目列表,需要用户输入,根据用户输入显示匹配的项目,用户需要先知道有哪些品牌,体验较差。 较理想的方式是,搜索条件只显示当前对象用到的 Attribut … Continue reading

9月 14

iTop插件命名大小写引发的问题

在Windows上开发 iTop 插件,新增了一个 module,本地测试正常,但是上传到 LInux 系统的服务器上,却怎么也不生效,查看 env-production 下编译的结果,发现有两个 model.xxx.php 格式的文件,不同的是,一个文件名大写,一个小写,编译的代码更新到了大写的文件夹下,小写的没有内容。 查看 Wind … Continue reading

7月 19

iTop唯一性检查功能测试

唯一性检查在 CMDB 里比较重要,大部分 CI 都不希望重复。iTop 2.6 之前并没有支持唯一性检查功能,需要使用 DoCheckToWrite 函数在写入前自行检查。 老方法回顾 用DoCheckToWrite函数实现写入前的校验,比如下面的代码校验某些属性,保证其唯一性。还可以在写入前进行简单的校验,例如限制登录用户只能编辑自己 … Continue reading