AwesomeNow CreativeWorks - Design Document
Application Overview
Application Name: AwesomeNow CreativeWorks
Scope: AwesomeNowCreativeWorks
Purpose: A ServiceNow application for managing creative works, digital assets, and graph-based relationship visualization.
Table Definitions
Core Data Tables
1. file (x_146833_creativ_0_file)
- Purpose: Central table for managing file objects and digital assets
- Key Features: Supports file state management and type classification
- Relationships: Connected to graph and graphics tables
2. graph (x_146833_creativ_0_graph)
- Purpose: Stores graph definitions and configurations for visualization
- Key Features: Manages graph structures and their associated data
- Relationships: Parent table for nodes, edges, and graphics
3. node (x_146833_creativ_0_node)
- Purpose: Represents individual nodes within graph structures
- Key Features: Stores node properties and relationships
- Relationships: Child of graph table, connected to edges
4. edge (x_146833_creativ_0_edge)
- Purpose: Defines connections and relationships between nodes
- Key Features: Manages directional relationships in graphs
- Relationships: Connects nodes within graphs
5. graphics (x_146833_creativ_0_graphics)
- Purpose: Stores graphical representations and visual elements
- Key Features: Manages visual assets for graph rendering
- Relationships: Associated with nodes and graphs
Lookup and Reference Tables
6. LabelGraphics (x_146833_creativ_0_labelgraphics)
- Purpose: Manages label graphics for visual elements
- Key Features: Provides graphical label definitions
- Record Types: Configurable record type classifications
7. Label Graphics Lookup (x_146833_creativ_0_label_graphics_lookup)
- Purpose: Lookup table for label graphics relationships
- Key Features: Maps labels to their graphical representations
- Record Types: Supports multiple record type configurations
8. Creativ 0 Hex Color Codes (x_146833_creativ_0_hex_color_codes)
- Purpose: Centralized color palette management
- Key Features: Stores hex color codes for consistent theming
- Usage: Referenced throughout the application for color consistency
9. Creativ 0 Allowed Classes (x_146833_creativ_0_allowed_classes)
- Purpose: Defines which ServiceNow classes can be used within the application
- Key Features: Access control and class validation
- Usage: Referenced for security and data integrity
Data Loading and Integration Tables
10. File Application (x_146833_creativ_0_file_application)
- Purpose: Links files to specific applications
- Key Features: Manages file-application relationships
- Usage: Supports multi-application file management
11. Creativ 0 Appl File (x_146833_creativ_0_creativ_0_appl_file)
- Purpose: Application-specific file management
- Key Features: Enhanced file categorization and management
- Usage: Extends basic file functionality
12. Creativ 0 Scopedapp Loader (x_146833_creativ_0_creativ_0_scopedapp_loader)
- Purpose: Manages scoped application loading processes
- Key Features: Handles application metadata and loading sequences
- Usage: Data import and application management
13. Creativ 0 Graphic Lookup Loader (x_146833_creativ_0_creativ_0_graphic_lookup_loader)
- Purpose: Loads and manages graphic lookup data
- Key Features: Batch processing of graphic definitions
- Usage: Data import for graphics management
14. ACW-Get EdgeData (x_146833_creativ_0_acw_get_edgedata)
- Purpose: Data source table for edge information
- Key Features: Manages edge data import and processing
- Usage: Integration with external graph data sources
15. Incidentloaderapi (x_146833_creativ_0_incidentloaderapi)
- Purpose: API interface for incident data loading
- Key Features: Handles incident data integration
- Usage: External system integration for incident management
Business Rules
1. Set Target when missing
- Table: Applied to edge or node tables
- Purpose: Automatically sets target values when they are missing
- Trigger: Before insert/update
- Logic: Ensures data integrity by populating required target fields
2. SetIdToNumber
- Table: Applied to core data tables
- Purpose: Automatically generates or converts ID fields to numeric format
- Trigger: Before insert/update
- Logic: Maintains consistent ID formatting across the application
3. cascade Delete Nodes Edges and Graphics
- Table: Applied to graph table
- Purpose: Maintains referential integrity during deletion operations
- Trigger: Before delete
- Logic: Automatically removes dependent records (nodes, edges, graphics) when parent graph is deleted
UI Actions
1. Create App Digital Twin
- Purpose: Creates a digital twin representation of an application
- Location: Application forms or lists
- Functionality:
- Generates comprehensive digital representation
- Creates associated graph structures
- Initializes visualization components
- User Experience: One-click digital twin creation
2. Create CI Digital Twin
- Purpose: Creates a digital twin representation of a Configuration Item (CI)
- Location: CI forms or CMDB interfaces
- Functionality:
- Maps CI relationships to graph structures
- Creates visual representation of CI dependencies
- Generates interactive digital twin
- User Experience: Seamless CI-to-digital-twin conversion
Data Model Relationships
Primary Relationships
graph (1) → (n) node
graph (1) → (n) edge
graph (1) → (n) graphics
file (1) → (n) graphics
node (n) → (n) edge (source/target relationships)
Lookup Relationships
LabelGraphics → Label Graphics Lookup
graphics → Creativ 0 Hex Color Codes
file → File Application
Data Loading Relationships
External Sources → ACW-Get EdgeData → edge
External Sources → Incidentloaderapi → incident data
External Sources → Creativ 0 Graphic Lookup Loader → graphics
Key Features and Capabilities
Graph Visualization
- Interactive node-edge graph rendering
- Customizable visual themes using hex color codes
- Label graphics with configurable record types
Digital Twin Creation
- Application digital twins with complete dependency mapping
- CI digital twins with CMDB integration
- Automated graph structure generation
Data Integration
- Multiple data source support
- Automated data loading processes
- API integration capabilities
File Management
- Multi-application file support
- State-based file processing
- Type classification system
Technical Architecture
Data Flow
- Input: Files and external data sources
- Processing: Business rules ensure data integrity
- Storage: Structured data in core tables
- Visualization: Graph rendering using graphics and lookup tables
- Interaction: UI actions provide user functionality
Security Model
- Scoped application isolation
- Allowed classes validation
- Role-based access control integration
Performance Considerations
- Optimized lookup table structure
- Cascading delete operations for data cleanup
- Batch loading processes for large datasets
Future Enhancements
Potential Extensions
- Additional visualization types beyond graphs
- Enhanced API integrations
- Real-time data synchronization
- Advanced analytics and reporting
Scalability Considerations
- Table partitioning for large datasets
- Caching strategies for frequent lookups
- Asynchronous processing for bulk operations