Introduction
Essential information about what UNA is and how it works to give you a general understanding of the platform.
What is UNA?
UNA is a Community Management System, developed as a full-stack software platform for websites and applications which allow users to interact with each other. While UNA can be used as a dynamic content management system, the main focus is on facilitating user communication and networking.
Core Principles
1. Independent
UNA can be installed and run on-premises without any dependence on the UNA team or any specific service. Connection to the UNA update server is optional and only used to access app downloads and version updates. Operators of UNA-powered networks retain full control and ownership of their site data.
2. Responsive
UNA CoreUI is fully responsive and mobile-friendly, and the API allows for the development of native mobile apps. All user interfaces are developed with consideration for mobile, tablet, and desktop viewports.
3. Customisable
The configuration layer is separate from administration, and Studio offers an extensive no-code approach to configuration changes. This allows for greater flexibility and customization without affecting the core system. UNA addresses the common issue of web platforms becoming unupgradable when modified. With UNA, most modifications can be done in isolated modules without affecting the core system, ensuring seamless version updates.
4. Scalable
UNA is engineered for scalability across multiple dimensions. From a technical perspective, it supports scalable media storage, leverages database and web server clustering, and employs various caching mechanisms to manage high concurrency and user growth efficiently. Beyond handling increasing user numbers, UNA provides organizational scalability. It separates content administration and site configuration tools with a permission system to assign organizational roles.
5. Modular
UNA is built with a modular architecture, enabling developers to easily extend and build upon the existing functionality. This encourages customization and helps developers and agencies to create tailored solutions for their communities.
6. Secure By Design
Security is a top priority in UNA's design and development. The framework implements best practices for secure coding and follows the SBD (Secure By Design) principles. For example, instead of a development team creating fixes or patches once a security threat has been identified, the entire team considers who, why, and how a threat may occur at each stage of planning, design, and development. UNA CMS has successfully passed several major European and Australian security audits.
7. Private By Design
We take the principles of PBD (Privacy By Design) as the main guidance in developing and configuring default settings of UNA CMS features.
- Proactive not reactive, preventative not remedial
- Privacy as the default setting
- Privacy embedded into design
- Full functionality: positive-sum not zero-sum
- End-to-end security β full lifecycle protection
- Visibility and transparency β keep it open
- Respect for user privacy β keep it user-centric
We never read, mine, or sell personal data. We provide the software for our clients to enable their customers to access, control, and exchange their identity and personal data. We maintain user privacy by ensuring that all user data is encrypted in transit. This means that there is no way for anyone other than the data owner and users with data access privileges given by site operators to view, edit, or manage the data.
8. Community-Led
The UNA community is diverse and engaged, comprising developers, agencies, and community operators. This active community contributes to the platform's continuous growth, ensuring that UNA remains an optimal choice for building independent communities.
9. Interoperable
UNA is built on open standards, which promotes interoperability with other platforms and services. This ensures that communities can easily integrate with existing systems and take advantage of new technologies as they emerge.
10. Performant
UNA is developed with a religious focus on performance. Implementing efficient algorithms, optimized database queries, and caching mechanisms to ensure fast, responsive experiences for users at any scale.
System Architecture
UNA can function as a web application and as a headless server application. UNA provides all the software components for the development of social web apps and native apps, including:
- Database: MySQL/MariaDB data storage and management
- Application: PHP-based business logic execution
- API: RESTful API using JSON for data exchange
- Auth: Authentication and SSO for identity management
- ACL: Deeply customizable access control pattern
- Storage: File storage engine with local and remote (S3) storage
- Media: Transcoders for audio and video
How UNA Works
UNA is designed as a modular system where you can build unique social applications. Out of the box, you get both the website (frontend) and the server application (backend).
Frontend
The frontend is fully responsive, customizable, and mobile-friendly. It can be shipped as a Progressive Web App. UNA has two main types of modules:
Content Modules
Content modules allow your users to publish and share various types of content:
- Timeline
- Posts
- Discussions
- Videos
- Albums
- Photos
- Streams
- Conversations
- Messenger
- Wiki
- Lessons
The system supports media storage, uploading, and transcoding.
Context Modules
Context modules work as containers for content:
- Groups
- Events
- Spaces
- Courses
- Channels
- People
- Organizations
- Polls
- Files
- Market
- Courses
Users can publish content into context modules, which will set visibility boundaries.
Some context modules like People and Organizations work as profiles. Users can publish content in their profiles, and profiles are referenced as Authors in other modules.
The Timeline module includes its own content type called "Updates" and can absorb listings from all other content and context modules.
Backend: Studio
The backend includes the database, server application, and the configuration system called Studio. Only site operators can access the Studio, while content administration happens in the frontend.
Studio is a powerful configuration system with several Core apps:
- Dashboard: Shows application status, system version, space used, cache, and server audit
- Apps Market: Where you download, install, and update new apps
- Settings: Includes general system configuration and quick access to settings from other apps
- Storage: Gives you a way to upload and control media used for site configuration
- Polyglot: Handles language keys and values, localization settings, and email templates
- Designer: Allows you to choose a default site layout and template; upload custom logos, icons, and cover images; prepare your progressive web app manifest and inject custom styles
- Accounts: Gives high-level control of all user accounts and includes the accounts export tool
- Pages: A page builder where you can modify pages provided by other modules or create new custom pages
- Navigation: Controls all menus found in the system and installed modules
- Forms: A powerful tool to manipulate forms of all modules in various presentation modes
- Permissions: Lets you set up membership levels and choose which actions every level can perform
- Roles: For separating Operator permissions to limit staff access to specific categories of apps
- Badges: Allows you to add reusable badges that admins can give to users
- Developer: Unlocks advanced settings for configuration and main builders
- API: Where you enable the API, add origins, and create authentication keys
Apps: The Building Blocks
Apps are the main building blocks in UNA. You can add Apps and configure them in the Studio to create unique experiences for your users. Apps can be:
- Modules
- System tools
- Templates
- Languages
- Integrations
Key Features
Out of the box, UNA comes with an extensive set of features commonly found in social networking applications as well as configuration settings built specifically for multi-role communities:
- Social interactions: Reactions, votes, comments, reposts, and sharing
- Content feeds: Subscription feed, public feed, context feed, and Smart Feed
- Identity management: Multiple profiles per account with persona switching
- Profile types: Personal and Organization profile types
- Context modules: Groups, events, and spaces
- Content organization: Tagging and aggregation via labels, channels, and categories
- Content publishing: Posts, videos, albums, and photos
- Communication tools: Messenger and discussions
- Education modules: Classes and courses
- Microblogging: Content sharing via Timeline Updates
- Service apps: Notifications, MassMailer, and Invitations
Use Cases
UNA's flexible architecture makes it suitable for a wide range of implementations:
Community Websites
- Interest-based communities connecting people around shared hobbies and activities
- Professional networks for industry-specific networking and knowledge sharing
- Educational communities with collaborative learning features
Business Applications
- Internal collaboration networks for team communication
- Customer communities where users interact with your company and each other
- Partner portals for business partners, resellers, or affiliates
Organizational Platforms
- Member organizations with directories and communication tools
- Alumni networks connecting graduates of institutions
- Volunteer coordination for non-profit initiatives
Specialized Networks
- Educational platforms with course management and knowledge sharing
- Health & wellness communities with enhanced privacy and resource sharing
- Creative showcases for artists, designers, musicians, and writers
- Entertainment hubs connecting fans and creators
- Event-driven communities for conferences, festivals, and recurring events
Deployment and Scaling
UNA is designed as a platform for independent communities. You control the site data and host the software. Depending on your server configuration, UNA can be used for a small community or it can handle millions of active users. There are no limits on:
- Number of users
- Storage
- Customization options
- Code modifications
You can start a small community using basic features, then grow big and evolve the experience as needed.
Community & Support
UNA has a vibrant ecosystem of resources for site owners, administrators, and developers:
- Dashboard: Create you project to connect to update server, deploy to cloud hosting, download apps and access support.
- App Store: Repository for modules, templates, and extensions.
- Discussions: Community support and knowledge sharing.
- UNA GitHub Repo: Collaborate on code improvements and bug fixes.
Getting Started
To get started with UNA CMS:
- Review the system requirements.
- Choose a hosting option.
- Install UNA using the standard installation or a Starter Kit.
- Access the Studio to configure your site.
- Add and configure apps to create your unique community experience.
- Customize the design and user experience.
- Launch your community.
With UNA's flexible architecture and comprehensive feature set, you can create a unique community platform tailored to your specific needs.