DevOps and Version Control
Platform version control integration, built-in features and extensions.
Platform → Technology → Supporting → DevOps | Concept | Reference
DevOps for Industrial Automation
ProView DS brings modern DevOps practices to industrial automation, enabling version control, collaborative development, and continuous integration workflows traditionally reserved for software development. The platform's SQL-based architecture and JSON export capabilities integrate seamlessly with Git and standard DevOps tools.
Version Control Architecture
The platform provides two complementary version control approaches:
| Track Changes | Internal SQL tables | Built-in audit trail | Who, what, when for every change |
| Git Integration | JSON export files | External version control | Branching, merging, diff tools |
Track Changes System
Every configuration change is automatically recorded in SQL tables within the solution file:
Configuration Tables Structure
The solution database contains structured tables for each module:
- Tags Tables - Tag definitions, templates, enumerations
- Device Tables - Channels, nodes, points configuration
- Alarm Tables - Items, groups, areas, conditions
- Display Tables - Pages, layouts, symbols
- Script Tables - Tasks, classes, expressions
Each table row includes metadata columns:
| DateModified | UserCreated | UserModified |
|---|---|---|---|
2024-01-15 | 2024-01-20 | john.doe | jane.smith |
Change Tracking Features
- Automatic capture of all modifications
- User attribution for every change
- Timestamp precision to milliseconds
- Before/after value comparison
- Rollback capabilities
Git Integration Workflow
Export solution configuration to JSON for external version control:
Export/Import Process
- Export to JSON - Human-readable, diff-friendly format
- Commit to Git - Standard version control workflow
- Branch Development - Parallel feature development
- Merge Changes - Combine work from multiple developers
- Import to Solution - Apply changes back to .dbsln
JSON Structure
{
"solution": {
"version": "10.1.0",
"name": "PlantControl",
"tags": [
{
"name": "Temperature_Tank1",
"type": "Double",
"initialValue": 0,
"description": "Tank 1 temperature"
}
],
"displays": [...]
}
}
Collaborative DevelopmentMulti-User Capabilities
The platform supports concurrent development through:
- Server-Based Solutions - Central repository access
- Granular Locking - Module-level conflict prevention
- Real-Time Updates - See changes as they happen
- User Sessions - Track active developers
Conflict Resolution
| Same tag edit | Object locking | Last write wins + audit trail |
| Display modification | Check-out system | Merge tool comparison |
| Script changes | Module isolation | Side-by-side diff |
Development Workflow Patterns
Feature Branch Workflow
main
feature/new-tank-control
feature/alarm-updates
hotfix/communication-fix- Create feature branch from main
- Export solution to JSON
- Develop and test changes
- Commit incremental updates
- Merge back to main
- Import merged changes
Environment Promotion
Development → Testing → Staging → ProductionEach environment maintains:
- Separate solution instances
- Environment-specific execution profiles
- Controlled promotion gates
- Rollback procedures
CI/CD Integration
Automate solution deployment through standard CI/CD tools:
Build Pipeline
- Trigger - Git commit or schedule
- Export - Extract configuration from repository
- Validate - Check syntax and references
- Test - Run automated test suites
- Package - Create deployment artifact
Deployment Pipeline
- Backup - Save current production state
- Deploy - Apply new configuration
- Verify - Health checks and smoke tests
- Monitor - Track performance metrics
- Rollback - Restore if issues detected
Security and Compliance
Change Authorization
- Role-based access control
- Approval workflows for production
- Digital signatures for releases
- Segregation of duties
Audit Requirements
Track Changes provides compliance with:
- FDA 21 CFR Part 11 - Electronic records
- ISA-95 - Manufacturing operations
- ISO 27001 - Information security
Best Practices
Version Control
- Commit frequently with clear messages
- Use semantic versioning (major.minor.patch)
- Tag releases for production deployments
- Maintain change logs
Branching Strategy
- Protected main branch
- Feature branches for new development
- Hotfix branches for urgent fixes
- Release branches for staging
Testing Approach
- Unit tests for scripts and logic
- Integration tests for communications
- Simulation for process behavior
- User acceptance testing