New to Elementum? Start with our Quick Start Guide to understand the basics before diving into these advanced practices.
Core Objects Overview
Understanding Elementum’s core objects is fundamental to building effective workflows. Each object serves a specific purpose and excels in particular scenarios. Elementum’s core objects fall into two categories:- Process-oriented objects (Services, Apps, Tasks) - For structured workflows and processes
- Data-oriented objects (Elements, Tables, Surveys) - For data management and collection
Services
When to Use Services
When to Use Services
- Creating user-facing portals for request submission
- Automatically generating App records from submissions
- Standardizing intake processes across teams
- Providing self-service capabilities to end users
- IT helpdesk portal
- Employee onboarding requests
- Customer support ticket system
- Equipment request portal
Apps
When to Use Apps
When to Use Apps
- Managing unique work items that progress through stages
- Tracking complex business processes with multiple stakeholders
- Coordinating work that spans multiple departments
- Maintaining audit trails for compliance
- Contract approval workflows
- Employee onboarding processes
- Customer implementation projects
- Compliance audits
Tasks
When to Use Tasks
When to Use Tasks
- Decomposing complex Apps into smaller activities
- Assigning specific work to individual team members
- Creating parallel workstreams within larger processes
- Tracking progress on detailed work items
- Tasks should be specific and actionable
- Assign clear ownership and deadlines
- Use Tasks to create accountability within larger workflows
- Complex Apps often require multiple related Tasks
Elements
When to Use Elements
When to Use Elements
- Storing configuration, master, or transactional data
- Managing data that needs unique identification
- Creating relationships between different data types
- Building searchable, updateable data repositories
- Each record must have a unique identifier
- Data structure should be relatively stable
- Updates need to be tracked and auditable
Tables
When to Use Tables
When to Use Tables
- Joining and manipulating Elementum objects for insights
- Accessing Snowflake data without primary key requirements
- Powering Data Mines for automation workflows
- Creating complex analytical views
- Unique Identifiers not required (unlike Elements), allowing for duplicates if needed
- Effective for aggregations and analytics
- Essential for automation triggers
Surveys
Best for: Collecting structured feedback and responsesWhen to Use Surveys
When to Use Surveys
- Gathering feedback from internal and external users
- Collecting parallel responses from multiple stakeholders
- Linking feedback directly to App records
- Creating standardized data collection processes
- Design questions to minimize ambiguity
- Link Surveys to relevant Apps for context
- Use conditional logic to improve user experience
- Plan for data analysis during survey design
Implementation Strategies
Object Selection Framework
Follow this decision tree to choose the right object for your needs:Define Your Primary Goal
- Need to track work through stages? → Apps + Tasks
- Need to gather information? → Surveys + Elements
- Need to analyze or report? → Tables + Data Mines
- Need user self-service? → Services
Consider Your Data Requirements
- Unique identifiers needed? → Elements
- No unique ID required? → Tables
- User input required? → Surveys
- Process tracking needed? → Apps
Building Effective Relationships
Strategic relationships between objects unlock Elementum’s full potential:- Process Relationships
- Data Relationships
Service → App → TasksCreates complete workflow from request to completion
Relationship Best Practices
- Hierarchical Relationships: Use parent-child relationships for natural hierarchies
- Reference Relationships: Link to Elements for master data lookups
- Process Relationships: Connect workflow stages through Apps and Tasks
- Contextual Relationships: Link Surveys to Apps for process-specific feedback
Performance Optimization
Query Performance
- Element Optimization
- Table Optimization
- Use meaningful unique identifiers
- Index frequently searched fields
- Minimize complex calculated fields
- Regular cleanup of outdated records
Data Architecture
Design for Scale
- Plan for data growth from day one
- Use appropriate object types for your data volume
- Consider Snowflake warehouse configuration early
Optimize Relationships
- Avoid deep relationship chains (>3 levels)
- Use reference relationships instead of duplicating data
- Regular relationship cleanup and validation
Monitor and Maintain
- Regular performance reviews
- Optimize slow-running Data Mines
- Clean up unused objects and relationships
Security and Governance
Access Control
- Role-Based Access: Align Elementum roles with organizational structure
- Data Sensitivity: Classify data and apply appropriate restrictions
- Workflow Permissions: Control who can view, edit, and approve at each stage
- Audit Trails: Maintain complete records of all changes and approvals
Governance Framework
- Naming Conventions
- Documentation Standards
- Change Management
Establish consistent naming patterns:
- Apps:
[Department]_[Process]_[Year] - Elements:
[Type]_[Category]_[Identifier] - Tasks:
[Action]_[Object]_[Stage] - Surveys:
[Purpose]_[Audience]_[Version]
Common Pitfalls to Avoid
Object Misuse
Using the Wrong Object Type
Using the Wrong Object Type
Problem: Choosing Tables when Elements are needed, or vice versaSolution:
- Use Elements when you need unique identifiers and data integrity
- Use Tables for analysis and reporting without unique constraints
- Use Apps for process tracking, not just data storage
- Multiple “Tables” that should be related Elements
- Apps with no associated Tasks or workflow
- Elements being used purely for analytics
Over-Engineering
Creating Unnecessarily Complex Relationships
Creating Unnecessarily Complex Relationships
Problem: Building elaborate relationship networks that slow performanceSolution:
- Keep relationship chains under 3 levels deep
- Document the business justification for each relationship
- Regular reviews to eliminate unused connections
- Relationships that require multiple hops to access data
- Circular references between objects
- Relationships created “just in case”
Poor Data Design
Inadequate Planning for Data Growth
Inadequate Planning for Data Growth
Problem: Not considering how data volume will impact performanceSolution:
- Plan for 10x current data volume
- Implement archiving strategies early
- Use appropriate Snowflake table types (see Table Types Guide)
- No data retention policies
- Single large tables without partitioning
- No performance monitoring in place
Success Metrics
Track these key indicators to measure your Elementum implementation success:Process Efficiency
- Average time from request to completion
- Percentage of on-time deliveries
- User satisfaction scores
- Error rates and rework frequency
System Performance
- Query response times
- Data Mine execution duration
- User adoption rates
- System uptime and reliability
Next Steps
Ready to implement these best practices? Here’s your roadmap:Assess Current State
- Review existing workflows against these best practices
- Identify quick wins and improvement opportunities
- Plan your optimization roadmap
Implement Foundational Changes
- Start with data best practices
- Optimize your CloudLink setup
- Configure proper table types and warehouses
Data Best Practices
Deep dive into data management and optimization
CloudLink Setup
Optimize your data connectivity and performance
This guide is regularly updated based on customer feedback and new Elementum features. Last updated: