• Tech vui
  • [iTOP] Tạo class CI mới: Monitor

Bài viết hướng dẫn bạn từng bước để tạo 1 module chức năng thêm class Monitor (màn hình) vào danh mục phần cứng (CI)

Yêu cầu tối thiếu: itop 2.1.0

Trong bài này bạn sẽ thực hiện

  • Tạo extensions module cho iTop
  • Tạo class object mới
  • Thêm class mới này vào dashboard

Với mục đích của hướng dẫn này, chúng tôi sẽ tạo một lớp CI mới, được gọi là Màn hình, sẽ rất giống với lớp Ngoại vi, với việc bổ sung thêm một trường “công nghệ” để phân biệt màn hình CRT và LCD.
image

Những gì bạn cần

  • Đã cài đặt itop lên máy local hoặc server
  • Một trình soạn thảo có thể chỉnh sửa PHP, XML và hiển thị UTF-8 (Notepad++, VSCode…)

Quá trình thực hiện

  • Cài đặt iTop ở môi trường dev (tất nhiên)
  • Cài đặt toolkit (công cụ hỗ trợ tuỳ biến iTop)
  • Tạo một module mới bằng công cụ module create wizard
  • Chép module mới vào thư mục extensions của itop và mở url setup lại để kích hoạt module
  • Chỉnh sửa module và dùng toolkit để cập nhật code mới,.

Tạo một extensions mới

  • Truy cập module creation wizard
  • Module name: nhập tên module (viết thường, ko dấu, cách nhau bới dấu -). Tên với tiền tố là itop- and combodo- được hiểu là của Combodo nên đặt tên bỏ cái này ra. VD: sample-add-class
  • Module Label: tên hiển thị luc setup. VD: Add Class Example
  • Module Version: phiên bản, VD: 1.0.0
  • Category: Các mô-đun cung cấp các sửa đổi đối với mô hình dữ liệu phải thuộc danh mục ‘business’
  • Dependencies: itop-config-mgmt/2.0.0,itop-endusers-devices/2.0.0
  • Bấm nút Generate !

Cài đặt module vừa tạo

Giải nén file tạo ở trên sẽ được thư mục, chứa các file:

  • datamodel.sample-add-class.xml
  • module.sample-add-class.php
  • en.dict.sample-add-class.php
  • model.sample-add-class.php

Chép thư mục đó vào thư mục extensions của itop.

Kiểm tra file conf/production/config-itop.php có quyền chỉnh sửa chưa. Truy cập http://your_itop/setup/ bấm next đến khi thấy extensions chọn vào extensions với tên bạn đã tạo để kích hoạt.

Thêm class Monitor

Mở tập tin datamodel.sample-add-class.xml trong module vừa tạo để chỉnh sửa, khi chỉnh sửa đúng thì mọi thứ từ code, sql, db sẽ được tạo tự động.

Trong file xml hãy thêm thẻ này nằm trong thẻ <classes></classes>

<class id="Monitor" _delta="define">
      <parent>PhysicalDevice</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type> <!-- tự tăng -->
        <db_table>monitor</db_table> <!-- tạo ra bảng monitor trong db -->
        <db_key_field>id</db_key_field> <!-- cột id -->
        <db_final_class_field/>
        <naming>
          <format>%1$s</format>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/monitor.png</icon> <!-- ảnh hiển thị -->
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="technology" xsi:type="AttributeEnum">
          <values>
            <value>crt</value>
            <value>lcd</value>
          </values>
          <sql>technology</sql> <!-- cột technology -->
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
          <display_style>radio_horizontal</display_style>
        </field>
      </fields>
      <methods/>
     </class>

đọc không like xui cả tháng