Form Architecture
Portal Structure
Organize CMDB forms into dedicated portal groups aligned with IT operations functions:
| Portal Group | Forms | IT Function |
|---|---|---|
| Locations & Vendors | Location, Vendor (Create/Update) | Organizational foundation |
| People & Teams | Person, Team (Create/Update) | Organizational structure |
| Services | Business Service, Document | Service catalog management |
| Infrastructure | Server, Database, Network Device | Infrastructure management |
| Applications | Application (Create/Update) | Application portfolio |
| Cloud & Licensing | Cloud Resource, Software License | Cloud and license management |
| CMDB Operations | Bulk Import, Data Quality Issue, Decommission | CMDB maintenance |
Form Design Principles
- Required Fields First: Position required attributes prominently at the top
- Logical Grouping: Group related attributes into sections
- Contextual Help: Provide help text explaining purpose and format
- Validation at Entry: Validate data format and completeness before submission
- Conditional Logic: Show relevant fields based on selections
- Audit Trail: Capture submitter, timestamp, and change reason for updates
Foundation Object Forms
Form 1: New Location
Purpose
Register physical locations or cloud regions where IT assets are deployed.
Portal: Locations & Vendors | Approver: Facilities Manager
| Field | Type | Required | Validation |
|---|---|---|---|
| Location Name | Text | Yes | Pattern: ^[A-Za-z0-9\-]+$ |
| Location Type | Select | Yes | Data Center, Office, Branch, Warehouse, Cloud Region |
| Address | Textarea | No | Max 500 chars |
| City | Text | No | Max 100 chars |
| Country | Text | No | Max 100 chars |
| Status | Select | Yes | Active, Inactive, Planned |
Conditional Logic
- When Location Type = "Cloud Region": Show Cloud Provider field, change Address label to "Region Description"
- When Location Type = Physical: Country becomes required, show Emergency Contact field
Workflow Steps
Form 2: New Vendor
Purpose
Register external suppliers providing hardware, software, or services.
Portal: Locations & Vendors | Approver: Procurement Manager
| Field | Type | Required | Validation |
|---|---|---|---|
| Vendor Name | Text | Yes | Min 2 chars, max 100 |
| Vendor Type | Select | Yes | Hardware, Software, Cloud Provider, Service Provider, Consultant |
| Website | URL | No | Valid URL format |
| Support Email | No | Valid email format | |
| Support Phone | Text | No | Max 30 chars |
| Contract End Date | Date | No | Cannot be in past |
| Status | Select | Yes | Active, Inactive, Under Review |
Automation Triggers
- On Submission: Check for duplicate vendor name
- 90 Days Before Contract End: Send renewal alert to Procurement
Infrastructure Object Forms
Form 3: New Server
Purpose
Register physical or virtual servers hosting applications and services.
Portal: Infrastructure | Approver: Infrastructure Lead
| Field | Type | Required | Validation |
|---|---|---|---|
| Hostname | Text | Yes | Pattern: ^[a-zA-Z0-9\-]+$, max 63 chars |
| IP Address | Text | No | Valid IP format |
| FQDN | Text | No | Valid FQDN format |
| Server Type | Select | Yes | Physical, Virtual, Container Host, Cloud Instance |
| Operating System | Text | No | Max 100 chars |
| OS Version | Text | No | Max 50 chars |
| CPU Cores | Number | No | Range: 1-512 |
| RAM (GB) | Number | No | Range: 1-4096 |
| Storage (GB) | Number | No | Range: 1-1000000 |
| Environment | Select | Yes | Production, Staging, Test, Development, DR |
| Location | Object Picker | No | Filter: objectType = "Location" |
| Vendor | Object Picker | No | Filter: objectType = "Vendor" |
| Status | Select | Yes | Operational, Non-Operational, Maintenance, Decommissioned |
Conditional Logic
- When Server Type = "Physical": Show Serial Number, Asset Tag, Rack Location, Purchase Date, Warranty Expiry
- When Server Type = "Virtual": Show Hypervisor, Parent Host, VM UUID
- When Server Type = "Cloud Instance": Show Instance ID, Instance Type, Cloud Provider
- When Environment = "Production": Location becomes required, show Owner and Support Team fields
Workflow Steps
Form 4: New Database
Purpose
Register database instances for dependency mapping and backup tracking.
Portal: Infrastructure | Approver: DBA Lead
| Field | Type | Required |
|---|---|---|
| Database Name | Text | Yes |
| Database Type | Select | Yes |
| Version | Text | No |
| Port | Number | No |
| Size (GB) | Number | No |
| Environment | Select | Yes |
| Hosted On | Object Picker | No |
| Backup Schedule | Select | No |
| Status | Select | Yes |
Conditional Logic
- When Environment = "Production": Hosted On becomes required, Backup Schedule required (cannot be "None")
- When Backup Schedule = "None": Show warning and require justification
Service Object Forms
Form 5: New Business Service
Purpose
Register business-facing services representing IT capabilities.
Portal: Services | Approver: Service Management Lead
| Field | Type | Required |
|---|---|---|
| Service Name | Text | Yes |
| Service ID | Text | No |
| Description | Textarea | No |
| Criticality | Select | Yes |
| Service Owner | Object Picker | No |
| Support Team | Object Picker | No |
| SLA | Select | No |
| Status | Select | Yes |
Conditional Logic
- When Criticality = "Critical": Service Owner, Support Team, and SLA become required. Show DR Plan and RTO/RPO fields
- When Status = "Retired": Show Retirement Date, Replacement Service, and Retirement Reason
Form 6: New Application
Purpose
Register software applications for service composition and dependency tracking.
Portal: Applications | Approver: Application Development Lead
| Field | Type | Required |
|---|---|---|
| Application Name | Text | Yes |
| Application ID | Text | No |
| Description | Textarea | No |
| Version | Text | No |
| Application Type | Select | Yes |
| Technology Stack | Text | No |
| Repository URL | URL | No |
| Environment | Select | Yes |
| Hosted On | Object Picker | No |
| Uses Database | Object Picker | No |
| Part Of Service | Object Picker | No |
| Status | Select | Yes |
Conditional Logic
- When Application Type = "API": Show API Endpoint, API Documentation URL, Authentication Type
- When Application Type = "Microservice": Show Container Image, Kubernetes Namespace
- When Environment = "Production": Part Of Service becomes required
Operations Forms
Form 7: Decommission Request
Purpose
Formal workflow for decommissioning servers, applications, or services.
Portal: CMDB Operations | SLA: 5 business days
| Field | Type | Required |
|---|---|---|
| CI Type | Select | Yes |
| Select CI | Object Picker | Yes |
| Decommission Reason | Textarea | Yes |
| Decommission Date | Date | Yes |
| Data Disposition | Select | Yes |
| Replacement CI | Object Picker | No |
| Dependency Verified | Checkbox | Yes |
| Owner Approval | Checkbox | Yes |
Workflow Steps
Validation Patterns
Hostname Validation
Pattern: ^[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?$
Valid: PROD-WEB-001, server01, my-server-1
Invalid: -server, server-, server..name
IP Address Validation (IPv4)
Pattern: ^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
Valid: 192.168.1.1, 10.0.0.1
Invalid: 256.1.1.1, 1.1.1
MAC Address Validation
Pattern: ^([0-9A-Fa-f]{2}[:\-]){5}[0-9A-Fa-f]{2}$
Valid: AA:BB:CC:DD:EE:FF, 00-11-22-33-44-55
Invalid: AABBCCDDEEFF
URL Validation
Pattern: ^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$
Schema Forge