Concepts

UNA CMS is built around a set of fundamental concepts that form the foundation of its architecture and functionality. Understanding these concepts is essential for effectively working with UNA, whether you're an operator, administrator, developer, or end user. This document provides a comprehensive overview of UNA's core concepts, their relationships, and how they work together to create a powerful community management system.

System Architecture Concepts

Apps

Apps are the fundamental building blocks of UNA CMS. All UNA components are referred to as apps, including:

  • Content Modules: For publishing various types of content (Posts, Videos, etc.)
  • Context Modules: For creating containers for content (Groups, Events, etc.)
  • Profile Modules: For representing users (People, Organizations)
  • System Tools: For managing core functionality (Dashboard, Settings, etc.)
  • Templates: For controlling the visual appearance of the site
  • Language Packs: For multilingual support
  • Integrations: For connecting with third-party services
  • Core Apps: Essential components that power the system

Apps are managed through the Studio interface and can be installed, configured, updated, or removed as needed. The modular nature of UNA allows for extensive customization by combining different apps to create unique community experiences.

Studio

Studio is UNA's powerful configuration system—a no-code interface designed specifically for site operators. Key characteristics of Studio include:

  • Separation of Concerns: Studio is intentionally separated from site administration and moderation, allowing for greater operational scalability
  • Configuration Hub: All site-wide settings and app configurations are managed through Studio
  • Operator Access: Only operator accounts can access Studio
  • Core Tools: Studio includes essential tools like Dashboard, Apps Market, Settings, Designer, Pages, Forms, Navigation, and Permissions builders

Studio provides a comprehensive set of visual builders that allow operators to customize virtually every aspect of their UNA-powered site without requiring programming knowledge.

Frontend

The frontend is the user-facing part of UNA that community members interact with. It is:

  • Fully Responsive: Adapts to different screen sizes and devices
  • Customizable: Can be extensively modified through Studio tools
  • Mobile-Friendly: Optimized for mobile devices
  • Progressive Web App Compatible: Can be deployed as a PWA for app-like experiences

The frontend displays content according to the configurations set in Studio and handles user interactions based on the permissions system.

User and Access Concepts

Accounts

Accounts represent registered users in the UNA system. Key aspects of accounts include:

  • Authentication: Accounts are used for user authentication and login
  • Profile Association: Accounts can be associated with one or more profiles
  • Operator Status: Some accounts can be designated as operators with access to Studio
  • Security Features: Accounts support features like two-factor authentication and password policies
  • Data Management: Account data is stored securely and can be exported as needed

Accounts serve as the foundation for user identity within the system but are distinct from profiles, which represent the user's public presence.

Profiles

Profiles represent a user's public identity in the frontend. Important characteristics include:

  • Membership Levels: Each profile is assigned a membership level that determines permissions
  • Types: Profiles can be of different types, such as Personal or Organization
  • Roles: Profiles can function as administrators, moderators, standard members, or custom roles
  • Content Ownership: Profiles are referenced as authors of content
  • Context Function: Some profile types (like People and Organizations) also function as context modules

A single account can have multiple profiles, allowing users to maintain separate identities for different purposes within the community.

Operators

Operators are special account types with administrative privileges:

  • Studio Access: Only operators can access the Studio configuration interface
  • Roles: Operators can have different roles that define access to specific categories of apps in Studio
  • Master Account: The full-access operator account is called "Master"
  • Profile Independence: Operator accounts don't necessarily need to have associated profiles

The operator concept allows for separation between technical site management and community participation.

Permissions

UNA's permissions system is central to its functionality as a Community Management System:

  • Membership Levels: Accounts and profiles are associated with membership levels
  • Action Rights: Membership levels can be granted rights to perform specific actions
  • Visibility Control: Membership levels determine the visibility of UI elements and content
  • Granular Control: Permissions can be set for menus, menu items, forms, form views, form fields, pages, blocks, contexts, and content instances
  • Custom Levels: Beyond the default levels, custom membership levels can be created for specific community needs

The permissions system allows for creating sophisticated access control schemes tailored to the community's requirements.

Content and Organization Concepts

Content

Content refers to user-generated items published through various modules:

  • Content Types: Posts, Videos, Discussions, Updates, Photos, Files, etc.
  • Content Apps: Modules that allow publishing of content items
  • Attributes: Content items have attributes like author, creation date, privacy settings, etc.
  • Media Support: Content can include various media types with automatic transcoding
  • Interactions: Content can receive reactions, comments, votes, and other forms of engagement
  • Discovery: Content can be discovered through search, feeds, and context modules

Content is the primary value created within a community and forms the basis for user interactions.

Context

Context refers to modules that serve as containers for content:

  • Container Function: Contexts provide organizational structure for content
  • Types: Groups, Spaces, Events, and certain profile types (People, Organizations)
  • Boundaries: Contexts establish visibility and access boundaries for content
  • Membership: Users can join contexts to gain access to their content
  • Hierarchy: Contexts can sometimes be organized hierarchically
  • Discovery: Contexts can be discovered through search, directories, and recommendations

Contexts allow for organizing content into meaningful collections and creating sub-communities within the larger platform.

Timeline

Timeline is a special content aggregation system in UNA:

  • Updates: The Timeline module includes its own content type called "Updates"
  • Aggregation: Timeline can display content from various modules in a unified feed
  • Subscription-Based: Users can follow profiles, contexts, or specific content to customize their feed
  • Smart Feed: Algorithmic content selection based on relevance and engagement
  • Activity Tracking: Timeline can show user activities across the platform

Timeline serves as the central hub for content discovery and engagement in many UNA implementations.

Configuration and Customization Concepts

Pages

Pages represent data in the frontend and control how content is displayed:

  • Page Layouts: Pages can have different layouts for organizing content
  • Cells: Layouts consist of cells that define the structure
  • Blocks: Cells contain blocks that display specific content or functionality
  • Visual Builder: Pages are configured using an intuitive drag-and-drop interface
  • Visibility Rules: Page elements can have visibility rules based on membership levels
  • Custom Pages: Beyond module-provided pages, custom pages can be created

The Pages builder allows for creating unique layouts and experiences without coding.

Forms

Forms define how data is stored, collected, and displayed in UNA:

  • Data Structure: Forms define the fields and attributes for different data types
  • Builder Interface: The Forms builder allows adding, editing, and deleting fields
  • Display Modes: Forms can have different display modes (view, edit, search, etc.)
  • Field Types: Various field types are supported (text, number, date, media, etc.)
  • Validation: Forms include validation rules for data integrity
  • Conditional Logic: Fields can have conditional display and validation rules

Forms provide a flexible way to define and manage data structures throughout the system.

Navigation defines the menus and links that users use to move through the site:

  • Menu Management: The Navigation builder controls all menus in the system
  • Item Organization: Navigation items can be reordered, nested, and customized
  • Visibility Rules: Menu items can have visibility rules based on membership levels
  • Custom Menus: New menus can be created with reusable item sets
  • Styling Options: Menus can have predefined styles and behaviors

The Navigation builder allows for creating intuitive site navigation tailored to different user groups.

Advanced Concepts

API

UNA includes a comprehensive API system:

  • RESTful Architecture: The API follows RESTful principles with JSON data exchange
  • Authentication: Various authentication methods are supported
  • Endpoints: API endpoints correspond to system functionality
  • Access Control: API access can be controlled through origins and authentication keys
  • Integration Support: The API enables integration with external systems and services

The API allows for extending UNA's functionality and integrating it with other systems.

Storage

UNA's storage system manages files and media:

  • Local Storage: Files can be stored on the local server
  • Remote Storage: Integration with cloud storage services (S3, etc.)
  • Transcoding: Media files are automatically transcoded for optimal delivery
  • Privacy Control: File access respects the permissions system
  • Versioning: Some files support versioning for tracking changes

The storage system provides flexible options for managing media and other files.

Internationalization

UNA supports comprehensive internationalization:

  • Language Packs: Complete translations can be installed as apps
  • Polyglot: The Polyglot module manages language keys and translations
  • Email Templates: Multilingual email templates are supported
  • Content Translation: Some implementations support multilingual content
  • RTL Support: Right-to-left languages are supported

Internationalization features allow for creating truly global communities.

Membership and Monetization

UNA includes features for membership management and monetization:

  • Paid Levels: Membership levels can be associated with payments
  • Subscription Management: Recurring payments and subscription management
  • Payment Processors: Integration with various payment processors
  • Digital Goods: Support for selling digital products and services
  • Credits System: Virtual currency can be implemented for internal economies

These features allow for creating premium communities and monetization strategies.

Conclusion

Understanding these core concepts provides a solid foundation for working with UNA CMS. The system's modular architecture, powerful configuration tools, and comprehensive permission system make it highly adaptable to various community needs. By leveraging these concepts effectively, you can create unique and engaging community experiences tailored to your specific requirements.

Whether you're building a social network, a business community, an educational platform, or any other type of interactive site, these concepts will guide your implementation and help you make the most of UNA's capabilities.

On This Page