Getting Started

Configuration

Administration

Modules

Templates

Integrations

Development

Launch Checklist

checklist-rounded

This checklist provides a step-by-step guide to launching a community platform using UNA CMS. It covers everything from initial concept development, target audience identification, and community design to technical aspects such as hosting, installation, domain registration, and security. The guide also includes information on topics such as storage solutions, backup strategies, performance optimization, authentication methods, CAPTCHA setup, location services, and email setup. The checklist is designed to provide a reference for clear path through the process of launching a new community platform.

💡 Idea

Begin by conceptualizing the basis of your community. Successful communities often unite people who have a specific professional niche, interest, cause, or affinity. Your concept should succinctly answer the questions, "What is this?" and "Who is it for?" Examples could include a "professional network for teachers," a "social app for local residents," or an "inspiration hub for interior designers."

🐬 Purpose

Determine the goals and objectives of the community. This purpose will guide numerous decisions in both marketing and engineering. Answer the question, "What will it do?" and establish this answer as the mission. This could be something like "uniting scientists to solve the world's mysteries", "creating true friendships", "making learning fun", "helping neighbors mingle", or "stopping all wars". The purpose may be small or large, but it must be clearly defined.

🕸️ Structure

Plan the community's organization. Identify primary user types, content, and a grouping method. This will guide module and setting selection. Ensure the structure is clear through navigation, onboarding, and main page content. Keep it simple.

For example, in a learning community: “Profiles could be Students, Alumni, Teachers, Mentors; Organizations could be Schools; Mentors create Groups; Alumni post inspirational content; Schools offer Courses and Classes; Teachers join and create Schools; Students interact with posts; everyone can message. Everyone is grouped into regional Spaces for Feeds, allowing friendships and mentor followings”.

📈 Strategy

Formulate an action plan for building, managing, and growing your community. This involves active efforts to attract initial members, stimulate discussion with engaging content, and leverage existing social groups for marketing.

Decide on the community structure. It could be an invitation-only club, a paid membership app, or an open social platform. Rapid community growth can be challenging to ignite.

For example, your strategy could involve inviting your local sailing club friends to join your active lifestyle community. Reward them with bonus points for each friend referred. Offer free profile pages to all local sports clubs. Negotiate discounts for high-point members. Regularly update your community about new joining clubs through newsletters.

✅ Project

It's time to start building! Begin by creating a Project at unacms.com. Your Project will include system update keys, domain settings, licenses, purchased apps, an instant deployment tool, integrated services, and a simple task management system to track your progress.

You can manage the project on your own or invite your team to collaborate. Projects are useful for managing your UNA instances.

🟢 Environments

Before deployment, plan your strategy for the development, staging, and production environments. You may start with just one, initially as development, then progress to staging, or you may decide to set up and maintain all three.

  • Development Environment - This is a "sandbox" instance where you can experiment with different modules, settings, and custom modifications. It's for testing only, with no real users or public access.
  • Staging Environment - This is a "clone" of your main network, containing the same data or at least a portion of it. This environment is used to apply approved modifications or settings changes and run tests. It doesn't have public access, and notifications are turned off.
  • Production Environment - This is your main site, with a live database, active users, and public access.

While it's common to start with just one environment for a new project, if you operate an active or mission-critical community, consider setting up at least a staging environment to test changes before applying them to the live site.

☁️ Hosting

Choosing how to host your community depends on factors such as the expected scale, user-generated content (UGC) strategy, compliance requirements, and performance expectations.

UNACMS is a full-stack, open-source platform, giving you a variety of deployment and hosting options.

  • Virtual Private Server (VPS) - This is the most cost-effective hosting method for UNACMS. Note, the server must offer full root access. Avoid hosting providers that offer shared, web, or managed hosting without root access, as these are not suitable for hosting UNA. A good VPS server with full root access is sufficient for a starting community with a basic set of features.
  • Dedicated Server - Managed dedicated, bare metal, or co-located dedicated servers are great for medium-to-large scale communities with predictable activity loads. While dedicated servers typically offer the best performance-per-dollar value, they require a good understanding of server management. You can deploy UNA on a single server as a monolithic app, or separate web, database, sockets, messenger, and media servers into their own instances or arrays.
  • Local Hosting - You can install UNA on your local machine or local intranet server for development or private network use.
  • Cloud Hosting - A popular and easily scalable option is to use a Cloud Hosting service like DigitalOcean or AWS (Amazon Web Services). Most cloud hosting providers offer trial or startup credits to get you started. While cloud hosting is usually the most expensive option at scale, the benefits may outweigh the costs. Note, just like VPS, you need to choose a "dedicated cloud" with full root access to host UNA. Cloud hosting companies typically offer an easy way to scale up and back up your server, as well as purpose-built complimentary services like object storage for media files, database storage, CDN, DDoS protection, and more.

When you create a Project at unacms.com, you have the option to use an automated deployment tool for your Cloud Hosting. Both DigitalOcean and AWS are currently supported.

🌱 Installation

There are several methods to install UNA. You can install it on your server using our Installation Guide, use the automated deployment tool in your UNA Project, use Docker for installation, or use cPanel for auto-installation.

  • Manual installation is suitable if you prefer to use dedicated servers, install locally, or use a cloud hosting service other than AWS and DigitalOcean.
  • Auto-deployment through UNA Project is a tool that lets you add your AWS or DigitalOcean API key to your profile at UNACMS.COM. It then automatically deploys UNA to a server on your DO or AWS account.
  • cPanel / Softaculous is an option if your hosting server comes with cPanel and Softaculous.
  • Docker installation is also an option if you are looking to containerise your instance or create a multi-server configuration.

During manual installation or auto-deployment, you can opt for either UNA Core or the Spacenook starter kit. The Spacenook starter kit is a pre-configured package that includes UNA Core, extra modules, sample content, and settings set up to resemble a generic social network.

🔗 Domains

To select and register a domain name for your community, you can choose a single domain that links directly to your site or multiple domains that redirect to it. This can be done through a registrar service such as GoDaddy, NameCheap, Dynadot, or your hosting company.

After UNA is installed, you will be provided with your server's IP address. This is necessary for pointing your domain to the server that hosts UNA.

Here is a typical process for pointing your domain to your server:

  1. Log into your domain registrar (GoDaddy, NameCheap, Dynadot, etc.).
  2. Navigate to your account's DNS management page.
  3. Look for an option to create a new record, often labeled as "Add" or "Create Record".
  4. Select the record type as 'A'.
  5. In the host field, enter '@' or your subdomain. If you want to direct 'www.yourdomain.com' to your server, enter 'www' in the host field.
  6. In the points to field, enter your server's IP address.
  7. Depending on your registrar, you may need to set a TTL (Time to Live) value. This can usually be left at the default setting.
  8. Save the record.

Please note that changes to DNS settings may take some time to propagate across the internet, typically up to 24-48 hours, but often much quicker.

It's important to remember that the process can slightly vary depending on your domain registrar, so consulting specific guides or help articles provided by your registrar is highly recommended.

📦 Storage

For storage solutions with UNA, an initial simple option is to use local storage on the server. This is straightforward and sufficient for small scale communities with limited media content. However, for a site with the potential to have a large amount of media, such as videos and photos, it's recommended to use object storage or remote storage solutions, like Amazon Web Services (AWS) S3.

AWS S3 provides robust and scalable storage which can be a great advantage as your community grows. This approach ensures your media content is stored safely and can handle increasing amounts of data without affecting your site's performance.

To use AWS S3 with UNA, you would first need to create an AWS account and set up an S3 bucket. Once you've set up your bucket, you must enable the remote storage option in UNA.

Here are general steps on how to do this:

  1. Go to UNA Studio.
  2. Navigate to the "Settings" section.
  3. Look for "Storage" options.
  4. Enable the "Remote Storage" option.
  5. Input your AWS S3 bucket details, including access key, secret key, and bucket name.

Please remember to ensure your S3 bucket permissions are correctly configured to allow UNA to read and write data. You may need to consult AWS documentation or support for specific steps on setting this up.

Once configured, all new media files will be stored in your AWS S3 bucket, ensuring your server remains unburdened by heavy media files.

🛟 Backups

For the safety and integrity of your UNA-based community, implementing a backup strategy is crucial. Regular backups ensure that your community data remains secure and can be recovered in case of any unforeseen circumstances such as data loss or server failure.

Own Server:

  1. Identify a backup tool or software suitable for your server's operating system. Some popular choices include Bacula, Acronis, and Rsync.
  2. Configure the tool to perform regular backups of the entire server or specifically the UNA application and its database. The frequency of backups depends on how often your data changes, but daily backups are recommended for active communities.
  3. Store your backups in a secure and separate location from your server. This could be a different physical server, an external hard drive, or a cloud storage service.

AWS:

  1. Navigate to AWS Management Console and go to the EC2 Dashboard.
  2. Select the instance you want to back up.
  3. Choose 'Actions', then 'Create Snapshot'.
  4. In the 'Create Snapshot' dialog box, type a description and choose 'Create'.
  5. Regularly monitor and manage your snapshots from the 'Snapshots' section in the EC2 Dashboard.

DigitalOcean:

  1. Log in to the DigitalOcean Control Panel.
  2. Click 'Droplets' in the left navigation, then choose the droplet you want to back up.
  3. Click 'Backups' in the droplet's detail page.
  4. Click 'Enable Backups'. DigitalOcean will automatically perform weekly backups.

Remember, the cost of losing your community data can be immense, making the investment in a robust backup strategy well worth it. Regularly test your backup process to ensure it works as expected and always have a recovery plan.

🔒 Security

Securing your UNA site is essential. Install an SSL certificate to encrypt data between your server and users, enhancing security. Here's how:

  1. Purchase an SSL certificate from a trusted Certificate Authority (CA).
  2. Install the certificate on your server where UNA is hosted.
  3. Configure your UNA site to use HTTPS by default. This is usually done within your hosting provider's control panel.

Remember to configure user permissions in UNA to protect private data, follow internal policies for storing admin access details, and regularly update UNA for the latest security patches.

🚅 Performance

UNA is designed for speed and scalability. However, to maintain optimal performance, it's critical to adhere to recommended best practices.

  1. Minimize external JS libraries: While JavaScript libraries can add functionality, they can also slow down site performance.
  2. Limit embeds, ads, and trackers: These can significantly slow down your site and create a frustrating user experience. Use them sparingly and only when necessary.
  3. Be cautious with fonts: Custom fonts can add to your site's unique look, but too many can slow down page load times. Stick to a few essential fonts or ideally system fonts only.
  4. Use necessary modules only: UNA offers a wide range of modules, but not all of them may be necessary for your site. Use only the ones that align with your site's purpose to optimize performance.
  5. Optimize images: Large, unoptimized images can drastically slow down your site. Ensure all images are optimized for web use, and consider using an image compression tool if necessary. UNA Storage app automatically transcodes and compresses images.
  6. Avoid overloading pages with media: Too many media blocks on a single page can cause slowdowns. Distribute media across your site and avoid clustering too much media in one place.
  7. Optimise for mobile: Many users will access your site on mobile devices. Consider hiding less important blocks on mobile viewports to improve loading times.
  8. Use Latest Supported PHP/MySQL Versions: Always run the latest versions of PHP and MySQL that are supported by UNA. These versions often include performance improvements and optimizations over older versions.
  9. Observe Queries and PHP Processes: Regularly monitor your database queries and PHP processes. Look for any long-running queries or processes that could be slowing down your site. Tools such as MySQL's slow query log or PHP's Xdebug can be helpful.
  10. Track Memory and CPU Allocation: Keep an eye on your server's memory usage. If you see your server is frequently running out of memory, it might be time to consider upgrading your server or optimising your site to use less memory.

🪪 Authentication

You can provide various authentication methods for your users, such as email, phone, social login via Single Sign-On (SSO), or a custom SSO integration.

  1. Email/Password Authentication: This is the standard method of authentication provided by UNA. To configure it, go to UNA Studio > Settings > Account. Here, you can set up your email system to ensure reliable delivery of authentication emails.
  2. Two-Factor Authentication (2FA): UNA offers 2FA using Twilio. To enable this, go to UNA Studio > Settings > Twilio and enter your Twilio account details. Then, go to UNA Studio > Settings > Account and turn on the 2FA option.
  3. Mobile Phone Authentication: This can be set up as an option or in addition to email authentication. This is also done through the Twilio service. Go to UNA Studio > Settings > Twilio to configure it.
  4. Single Sign-On (SSO): UNA supports SSO with various providers such as Facebook, Google, X, and LinkedIn, as well as your own OAuth or LDAP SSO. For each provider, you will need to create an app on the provider's platform, get the app credentials, and then enter these into UNA. To enable these settings, you must also download and install the corresponding UNA Apps such as Facebook login, Google login, etc. Follow the steps provided by each platform to set up SSO.
    • Facebook: Download and install the Facebook login App from UNA. Follow Facebook's instructions to create an app, obtain its credentials, and set up SSO. Then, go to UNA Studio > Facebook Connect, and enter your Facebook app credentials.
    • Google: Download and install the Google login App from UNA. Follow Google's instructions to create an app, obtain its credentials, and set up SSO. Then, go to UNA Studio > Google Connect, and enter your Google app credentials.
    • X: Download and install the X login App from UNA. Follow X's instructions to create an app, obtain its credentials, and set up SSO. Then, go to UNA Studio > X Connect, and enter your X app credentials.
    • LinkedIn: Download and install the LinkedIn login App from UNA. Follow LinkedIn's instructions to create an app, obtain its credentials, and set up SSO. Then, go to UNA Studio > LinkedIn Connect, and enter your LinkedIn app credentials.

🚦 Captcha

CAPTCHA is a system designed to differentiate human input from automated or bot interactions. This helps prevent spam and increases the security of your site. UNA uses Google's reCAPTCHA service for this purpose.

To set up reCAPTCHA in UNA, follow these steps:

  1. Get the reCAPTCHA API keys: To use Google's reCAPTCHA, you first need to obtain the API keys. Visit Google's reCAPTCHA website and create a new site. You will then be provided with a site key and a secret key. Make sure to keep these keys secure.
  2. Set up reCAPTCHA in UNA: To enable reCAPTCHA in UNA, go to UNA Studio > Settings > CAPTCHA. In the 'Captcha engine' field, select 'reCAPTCHA'. Then, enter the site key and secret key that you obtained from Google in the 'reCAPTCHA site key' and 'reCAPTCHA secret key' fields, respectively.
  3. Save and test: After entering the keys, save the settings. To ensure that reCAPTCHA is working correctly, navigate to a form on your site that requires CAPTCHA, such as the signup form, and verify that the reCAPTCHA challenge appears.

📍 Location

Implementing location services in UNA involves configuring maps, location APIs, places, and other location-related services. UNA supports several map providers including Google Maps and OpenStreetMaps.

Here is a step-by-step guide on how to configure location services in UNA:

  1. Choose Map Provider: Navigate to UNA Studio > Settings > Location. Here, you can select your preferred map provider from the provided options such as Google Maps or OpenStreetMaps.
  2. Google Places API Key: If Google is your chosen map provider, you need to get the Google Places API key. To do this, go to the Google Cloud Platform Console, create a new project, and enable the Places API for that project. Once enabled, you can generate the API key.
  3. Configuring Google API Key in UNA: Once you have the Google Places API key, go back to UNA Studio > Settings > Location. In the 'Google Maps API key' field, enter the API key you obtained from Google.
  4. Save Settings: After entering the API key, save the settings. This will enable location services on your UNA site, allowing users to search for and display locations using Google Maps.

Remember to ensure the API key is kept secure and not shared publicly. Misuse of the API key can lead to unauthorized access and potential billing by Google.

With location services enabled, users can add their location to their profiles, create events with specific locations, and search for other users or content based on location.

📧 Emails

To set up email sending in UNA, you can use the SMTP app. However, this basic option might result in emails being sent to spam folders. A better approach is to set up a transactional email provider, such as SendPulse. Here are the steps to set this up:

  1. Create a SendPulse Account: Visit the SendPulse website and register for an account. Provide the necessary information to set up your account.
  2. Account Approval: After creating your SendPulse account, you will need to wait for your account to be approved. This process may involve SendPulse reviewing your account details and ensuring that your email practices comply with their policies.
  3. Get SMTP Credentials: Once your account is approved, you can get your SMTP credentials. These will include an SMTP server address, a port number, and login credentials (username and password). You can usually find these details in the SMTP settings section of your SendPulse account.
  4. Configure UNA Settings: With your SMTP credentials, you can now configure your UNA settings. Navigate to UNA Studio > Settings > Email. Choose 'SMTP' as the mailer option, and enter your SendPulse SMTP credentials in the corresponding fields.

By following these steps, you can set up UNA to send emails via SendPulse, reducing the chances of your emails being marked as spam.

📳 Push Notifications

To set up push notifications in UNA:

  1. Create a OneSignal Account: Visit the OneSignal website and sign up for a new account.
  2. Create a New App: Once your account is set up, create a new app by clicking on the "Add App" button and enter a name for your app.
  3. Add a Web Platform: After creating your app, go to Settings > Platforms and add the "Web" platform.
  4. Configure Your Web Platform: In the configuration settings, select "Custom Code Setup", then choose "HTTPS" as your site setup. Enter your site URL and upload your site icon. Make sure to check "My site is not fully HTTPS", then enter your label. It should be similar to your site name, but it can be anything. Click Save.
  5. Get OneSignal App ID: Go to Settings > Keys & IDs and copy your "OneSignal App ID".
  6. Set up PUSH Notifications in UNA: Go to your UNA Studio > Settings > PUSH Notifications. Paste the "OneSignal App ID" in the corresponding field.
  7. Choose Default Enabled Notifications: Navigate to UNA Studio > Notifications. Here you can choose the default set of enabled notifications for your site. These settings can be fine-tuned for each individual user in their account settings.

Remember to save your changes and test the notifications to ensure they are working correctly.

🌐 Localisation

To localize UNA, follow these recommendations:

  1. Currency Localization: Navigate to UNA Studio > Settings > General, where you can set your preferred currency according to your target audience's locale.
  2. Date Format Localization: You can also set the date format in the same General settings to match your users' preferences.
  3. Text Localization using Polyglot: UNA provides the Polyglot service for text localization. Go to UNA Studio > Polyglot, where you can edit the default language keys to match your users' language.
  4. Additional Languages: For adding new languages, visit the UNA Apps Market and download the necessary language apps. Once installed, you can edit the language keys in Polyglot.
  5. Create Your Own Translation: If you need a language that's not available in the UNA Apps Market, you can create your own translation. Simply duplicate the English language module and translate the keys in Polyglot.
  6. Language Blocks: Always use "lang" blocks for all text content that needs to be presented in different languages. This ensures that your site's content is translated correctly for all users.
  7. Navigation Links and Action Buttons: Always provide different language versions for all navigation links and action buttons.
  8. Language Selector: Enable the language selector using the Navigation Builder. This is typically located in the footer navigation. This allows users to choose their preferred language for the site.
  9. Language-Specific Groups or Spaces: Consider creating location or language-specific groups or spaces in the community. This encourages user-generated content in different languages and allows users to engage with others in their preferred language.

✅ Compliance

Compliance with legal and regulatory standards is a cornerstone of managing online communities. Major regulations to consider include the General Data Protection Regulation (GDPR) in the EU, the Privacy Protection Act in the US, and other relevant laws globally.

GDPR mandates the protection of personal data and privacy for individuals in the European Union. It requires transparency about how personal data is used, and individuals must be able to request copies of their data or ask for their data to be deleted.

The Privacy Protection Act in the US, along with various state laws like the California Consumer Privacy Act (CCPA), also impose obligations on businesses to safeguard users' personal data. These regulations require clear disclosures about data collection practices and provide users with rights to access, delete, or opt out of the sale of their personal data.

In addition to these, other countries have their own data protection laws, such as the Personal Data Protection Act (PDPA) in Singapore, and the Lei Geral de Proteção de Dados (LGPD) in Brazil.

To ensure compliance with these regulations, it's crucial to appoint a privacy officer. This person's role is to oversee data protection strategy and implementation, ensuring compliance with relevant laws. They will also handle users' requests for data access or deletion.

Furthermore, community policies should align with these compliance requirements. This includes terms of service, privacy policies, and data handling procedures. Regular auditing and updating of these policies is recommended to remain compliant with evolving regulations.

Compliance is not just about lawfully handling user data. It also builds trust with users, demonstrating that their privacy is respected and their data is handled with care.

📜 Policies

Before launching your community, it is essential to edit the pages such as "Terms" and "Privacy" in UNA to include your community's Privacy Policy and Terms of Use. These documents should clearly outline how user data will be handled and what the terms of service are. Users will be asked to agree to these policies upon signup, so it's critical that they are correctly written and in place before anyone joins the community.

☝️ Guidelines

Writing up community guidelines is important as it sets clear expectations for behavior within the community. These guidelines dictate what is acceptable and what is not, helping to maintain a positive and respectful environment. In UNA, you can create a "Guidelines" page using the Pages builder tool in UNA Studio. Once created, this page can be linked to the site navigation to ensure it's easily accessible for all users. While these guidelines may not be legally binding, they provide a clear stance from the site administration on expected conduct and can serve as a basis for moderating content or addressing user issues.

🦮 Accessibility

UNA has been designed with a key focus on accessibility, complying with the Web Content Accessibility Guidelines (WCAG). It includes features that ensure good contrast, appropriate text sizes, clear language use, and distinct page names. All images can include captions to ensure compatibility with screen readers. However, it's important to remember that certain design changes and configurations can potentially disrupt these accessibility features.

For instance, while customizing your site's design, attention should be paid to maintaining good color contrast and text sizes. When adding images, always include descriptive captions to ensure they can be interpreted by screen readers. Similarly, any changes to language settings should be done with the understanding of how it might affect your users' accessibility.

🌋  Disaster Recovery

A disaster recovery plan is crucial for the continuity and security of any online community. Here are the steps to create one:

  1. Identify Potential Threats: Start by listing all potential disasters that could affect your community. This could include data loss, DDoS attacks, excessive spam, or internal conflicts within the community.
  2. Designate Responsibilities: Assign specific roles and responsibilities to your team members. Make sure there's a designated person to handle each potential disaster situation.
  3. Create Action Plans: Develop detailed action plans for each potential disaster. For instance, in case of data loss, the action plan could include restoring data from the most recent backup. For a DDoS attack, it might involve coordinating with your hosting provider to mitigate the attack.
  4. Set Up Communication Channels: Define how you will communicate with your team and your community during a disaster. You might use email, chat platforms, or the community platform itself, depending on the situation.
  5. Prepare a Response for the Community: Plan how you will inform your community members about the situation. Transparency is crucial, but you also want to avoid causing unnecessary panic.
  6. Test Your Plan: Conduct regular drills to ensure that everyone knows their roles and the action plans are effective.
  7. Review and Update Regularly: Technology and threats evolve, so it's important to regularly review and update your disaster recovery plan.

Remember, the goal of a disaster recovery plan is not just to restore normal operations after a disaster, but also to maintain trust and confidence among your community members.

👷‍♂️ Operators

Appointing site operators is a critical step and should be done with great care. Operators can have varying levels of access to the Studio, ranging from Master Operators with full access, to Operators with access to only specific folders in the Studio Launcher. This allows for different roles, such as Designers, Managers, and Developers, to have different access levels suited to their responsibilities. These access levels are defined in the Roles app.

In UNA, some accounts can be designated as Operators. It is important to note that only Operator accounts have access to the Studio and these Operator accounts can have their own roles which define access to categories of apps within the Studio. The Operator account with full access is referred to as the "Master".

It is of utmost importance that Operators keep their access details secure as this not only safeguards community members' data, but is also a requirement under data protection regulations like the General Data Protection Regulation (GDPR).

✋ Permissions

Before launching your site, establish community membership levels and define their capabilities in the Permissions Builder. Other builders such as Pages, Navigation, and Forms offer options to display or conceal items for certain levels.

Permissions should be set up to align with your site structure plan prior to launch. Admins should have the ability to remove and conceal content. Moderators should have limited management rights, such as the ability to hide content. Unauthenticated users should only be able to view public content. Standard and other membership levels should have permissions determined by the site's concept and strategy.

UNA provides preconfigured levels for unauthenticated, unconfirmed, suspended, standard, moderator, admin, and premium members. Nonetheless, it's important to review and adjust these, or add your own as needed.

📑  Pages

To align your community's purpose with its appearance and functionality, create or edit key pages such as the About page, Contact page, Terms page, and Policy page, as well as the pages in different modules. Adjustments can be made in the Pages builder.

The Homepage is the most important of all and should be configured as a landing page for unauthenticated users. This can be achieved by setting blocks for unauthenticated users only, which could include promotional materials and login/signup forms. For authenticated users, the homepage should be tailored to provide a personalized experience, including a feed, member navigation, and personalized blocks.

Another important page is the Dashboard. This page is typically accessible by members only and can be configured to show site moderators tools for moderators and admins. It can also be turned off completely for standard users, or used to provide additional profile and content management tools, reports, etc., for standard users.

For the Homepage, it's also possible to use the "Splash" page option in Studio > Designer and have a fully custom landing page code injected into the splash. This allows for a unique and engaging first impression for new visitors to the site.

↗️ Navigation

Follow these steps to review navigation settings in UNA Studio:

  1. Open Navigation Builder: Log in to your UNA Studio and navigate to the 'Navigation Builder' section, located under the 'Builders' tab in the Studio Launcher.
  2. Review Visible Links: In the Navigation Builder, examine the list of all visible links. Ensure they are set to be visible for the correct user groups.
  3. Set Visibility for Member Links: If there are specific links for members, ensure they are not visible to unauthenticated users. Select the link and set the 'Visible For' field to the appropriate membership levels.
  4. Review Action Menus: Pay attention to action menus, which appear when a user performs an action like clicking a button or a link. Verify these menus are visible to the correct user groups and function as expected.
  5. Check Visibility on Different Viewports: Finally, review the visibility of links and action menus on various viewports. This involves checking how they appear on different devices, such as desktops, tablets, and mobile phones. You can do this by resizing your browser window or using the device preview feature in your browser's developer tools. In Navigation Builder, you can adjust each link's settings to show or hide it.

📇 Profiles

Setting up profiles in UNA involves several steps:

  1. Choose Profile Types: Determine what types of profiles will be available in your community. These could either be individual profiles (using the Persons app) or multi-account profiles (using the Organisations app).
  2. Install Profile Apps: Install the relevant apps for the types of profiles you want to include in your community. You can find these apps in UNA Studio.
  3. Customise Data Collection and Display Settings: Once the profile apps have been installed, you can customise your data collection and display settings using the Forms builder in UNA Studio. This includes determining which fields will be included in the profile creation and editing processes.
  4. Setup Visible Blocks in Profiles: You can choose which blocks will be visible on profile pages using the Pages builder in UNA Studio. This provides you with control over what information is displayed on each profile.
  5. Determine Profile Creation Settings: Decide if users can create multiple profiles or if only one profile should be created automatically. This can be done in UNA Studio under Settings > Site settings.

💬 User Generated Content

Community platforms are predominantly driven by user-created content. Therefore, the types of content you allow on your platform need to reflect its purpose, and this can be achieved by appropriately adjusting the content apps. For instance, you might want to consider integrating content modules such as Posts, Discussions, Videos, Albums, and Photos, depending on the nature of your community.

Let's delve into some of these content modules:

  1. Posts: This module is particularly useful for sharing news and updates. It could be restricted for use by the admins only, or it could be used as a blogging platform by the community members. If your community platform is more professional or business-oriented, posts could be utilized to share industry insights, thought leadership articles, or company updates.
  2. Discussions: This module is perfect for creating a supportive and engaging community. Members can raise questions or topics of interest, and other members can contribute their thoughts, advice, or solutions. For instance, in a tech support community, users could use the Discussions app to ask technical questions and receive assistance from other users or support staff.
  3. Videos: Video content is becoming increasingly popular and can greatly enhance user engagement. With the Videos app, users can upload or embed videos directly onto the platform. This could be especially relevant for communities centered around visual content or learning, such as a fitness community sharing workout videos or a film appreciation group sharing and discussing movie trailers.
  4. Albums and Photos: These modules are ideal for communities where users want to share personal or event-based photos. For example, in a travel community, users might create albums to share their travel photos, or in a photography community, users could share their photo projects.

When setting up these content modules, it's important to identify a few key ones that align with your community's purpose. Once you've chosen your primary content apps, activate them and adjust the permissions so that the right membership levels have the ability to generate content.

Remember, while it's great to offer a range of content types, it's also crucial not to overwhelm your users. Limit the selection to a few relevant options, and consider that many content types can include media attachments like photos and videos.

📂 Contexts

Context-type apps such as Groups, Events, Spaces, and Courses serve as containers for content in UNA. These apps allow you to categorize and structure your community's content in a meaningful way.

  • Groups: This app allows community members to form groups around shared interests or topics. For example, if your community is centered around fitness, you could have groups for different types of exercises, diets, or fitness goals. Within each group, members can create posts, share photos or videos, start discussions, and more.
  • Events: The Events app enables members to create and manage events. These could be virtual events like webinars, or in-person events like meetups or conferences. Each event can have its own discussion board, photo album, and other related content.
  • Spaces: Spaces is a hierarchical structure that lets you create a multi-tiered community. For example, a university community could use Spaces to represent different faculties, with each faculty having its own departments, and each department having its own programs. Each space can house its own content and memberships.
  • Courses: The Courses app is perfect for communities centered around learning and development. Members or administrators can create courses, and these courses can contain lessons, quizzes, and other educational content. Each course can have its own discussion board for learners to interact and learn from each other.

By combining these context-type apps with the content apps mentioned earlier, you can create an organised structure that caters to the needs and interests of your community members.

📋 Timeline Feeds

The Timeline module in UNA introduces a variety of feeds, each catered to different types of content and users. This includes:

  • Subscriptions Feed: A personalized stream of posts from the users, groups, events, and other contexts that a user follows.
  • Channels Feed: Allows users to track content tied to specific topics, perfect for keeping up to date with their interests.
  • Public Feed: Showcases all content shared on the platform, providing a comprehensive view of the community's activities.
  • Hot Feed: Highlights trending content, giving users insight into the most popular topics, discussions, or posts at any given time.
  • For You Feed: Combines subscriptions and suggestions of content from the wider network based on profiles fitting suggested connections criteria, offering a personalized and dynamic content experience.

The Timeline module also includes a content type known as "Updates", perfect for microblogging and social sharing. These allow users to share brief information, thoughts, comments, or media.

To incorporate the Timeline module, follow these steps:

  1. Download and install the Timeline module.
  2. Open the Pages builder in the UNA Studio.
  3. From here, you can select which feeds to display on the homepage, within context modules (such as events, groups, etc.), and in profiles.
  4. To choose the types of content shown in feeds, navigate to the Timeline app settings in the Studio.

The Timeline module not only generates feeds that consolidate posts from other modules, but it also contains its own content, which can be posted into other contexts or in the context of profiles. Its flexible integration makes the Timeline module a key component of the UNA platform, enhancing content discovery, interaction, and user engagement.

🗂️ Taxonomy

You need to structure and categorize the content within your community for better organization and accessibility. Each module in UNA has two categorization fields - 'Category' and 'Categories'.

For instance, in a fitness community:

  • The 'Videos' module may have categories such as:
    • "Workout Routines"
    • "Nutrition Tips"
  • The 'Posts' module may have categories like:
    • "Transformation Stories"
    • "Health and Wellness Advice"

For a book club:

  • The 'Videos' module could have categories such as:
    • "Author Interviews"
    • "Book Reviews"
  • The 'Posts' module could have categories like:
    • "Reading Lists"
    • "Book Recommendations"

For site-wide categorization that spans across all modules, you should use 'Labels' and 'Channels'.

In a travel community, some labels could be:

  • "Travel Tips"
  • "Cultural Experiences"
  • "Adventure Sports"
  • "Local Cuisines"

In a cooking community, some labels could be:

  • "Vegetarian Recipes"
  • "Baking Tips"
  • "Healthy Meals"
  • "International Cuisines"

Remember, as an operator, you need to think of main labels that match the site theme. These labels serve as a way to "suggest" site-wide topics to categorize all types of content.

🧩 Integrations

Before launching your site, it's essential to enable and set up any integrations that are vital for the operation of your community. Here are the steps to do this:

  1. Identify the integrations that best align with your community's needs and objectives. Examples include social login integrations like Facebook, Google, LinkedIn, Mailchimp for newsletters, Google Tag Manager for analytics, FontAwesome for icons, Shopify for physical goods marketplace, and Lasso Moderation for AI-based moderation.
  2. To enable these integrations, you first need to install the respective integration app via UNA Studio. Navigate to the 'Apps Market' in UNA Studio and search for the desired integration. Click 'Download' to install the app.
  3. Once the app is installed, you need to set up the service with the respective vendor. This typically involves creating an account with the vendor, enabling the required services, and granting API access.
  4. After the service is enabled with the vendor, return to UNA Studio to configure the integration. This often involves entering API keys or other details provided by the vendor.
  5. Test the integration to ensure it's working correctly. This could involve creating a test user account to verify social logins, sending a test email for Mailchimp, or checking that analytics data is being correctly received in Google Tag Manager.

Remember, while there are many integrations available, the goal is to select the ones that truly enhance the user experience, contribute to the overall functionality of your site, and align with your community's needs.

🏴‍☠️ Branding

To apply your own branding in UNA CMS, follow this step-by-step guide:

  1. Upload Logos and Icons: Start by uploading your logos, marks, and site icons. Navigate to Studio > Designer. These will be used as default options when a logo is not uploaded in the template. They will also be used for creating site shortcuts for Progressive Web Apps, favicon for tabs and bookmarks, and image for externally shared links to your site.
  2. Upload Logos in the Template: If you are using a template like Artificer that supports a custom logo, upload logos in the template app in the studio.
  3. Apply Styling: Different templates offer different options for styling. You can use Style settings in the template apps to redefine styling. This can include color schemes, fonts, and layout settings to match your brand aesthetics.
  4. Rename Your Site: Navigate to Studio > Settings > General. Here you can rename your site to match your brand name.
  5. Customize Texts: Go to Studio > Polyglot to customize all the text present on your site. This includes button labels, form fields, error messages, and more. Make sure all the text aligns with your brand voice.
  6. Customize Each Page Styles: You can further customize each page's styles via the Pages builder in Studio. This allows you to inject styles to individual pages and choose your own preferences for each page and block layouts. This can help maintain brand consistency across different pages of your site.

Remember, it's essential that your branding is consistent across all aspects of your site. This includes your logos, icons, color schemes, fonts, and even the language used across your site.

📌 Embeds

Embeds in UNA allow you to insert rich media content from external sources into your posts. These can include videos, images, articles, and other types of content. UNA supports four types of embeds: oEmbed, iFramely, Embedly, and Built-in System Embeds.

  1. oEmbed: This open format allows you to embed content from a wide range of providers. To use oEmbed, simply paste a URL into your post, and UNA will automatically convert it into an embedded object. No additional setup is required.
  2. iFramely: iFramely is a commercial service that provides more robust embedding options than oEmbed. It supports over 2000 domains and includes features like responsive embed codes, custom embed designs, and play-from-timeline for videos. To use iFramely, you'll need to sign up for an account, obtain an API key, and input this key into UNA's iFramely app.
  3. Embedly: Like iFramely, Embedly is a commercial service that provides extensive embedding options. It supports over 600 providers and includes features like custom cards, responsive embeds, and video analytics. To use Embedly, you'll need to sign up for an account, obtain an API key, and input this key into UNA's Embedly app.
  4. Built-in System Embeds: This is UNA's default option for embedding content. When you paste a URL into your post, UNA will automatically convert it into an embedded object. No additional setup is required.

To select an embed engine and enter the necessary API keys, navigate to UNA Studio, then go to Settings, and click on System. Here you can choose the embed engine that best suits your community's needs and resources. If you select iFramely or Embedly as your embed engine, you will need to enter the corresponding API keys. Be sure to keep these keys secure and monitor your usage to avoid any unexpected costs.

💰 Payments

To accept payments or to enable site users to accept payments, an app called "Payments" needs to be downloaded and installed. Once installed, you can enable the following providers:

  • Offline: For offline payments. This option does not support payments for visitors, recurring payments, single seller option, or time tracker.
  • Credits: This is a credits payment provider. It does not support payments for visitors but supports one-time and recurring payments, single seller option, and time tracker.
  • PayPal: PayPal payment provider supports payments for visitors and one-time payments. It does not support recurring payments but supports single seller option. However, it does not support time tracker.
  • PayPal API: This is a PayPal payment provider (API). It supports payments for visitors, one time, and recurring payments, and single seller option but does not support time tracker.
  • Chargebee: If enabled, users can support payments for visitors and recurring payments. It does not support one-time payments, single seller option, or time tracker.
  • Stripe: Stripe payment provider supports payments for visitors, one-time and recurring payments. It does not support single seller option or time tracker.
  • Apple In-App: Apple In-App payment provider does not support payments for visitors but supports one-time and recurring payments. It does not support single seller option or time tracker.

After providers are enabled, users, including admin, can add their API keys for each provider to accept payments. For Credits to work, a Credits app should be installed.

📈 SEO

For effective search engine optimization (SEO), enable friendly permalinks and SEO links by navigating to Studio > Settings > Permalinks. Also, review the page titles and meta tags for various types of pages by going to Studio > Pages and selecting Settings for each page. Ensure all pages have search engine-friendly titles, and preferably, meta descriptions and meta keywords that reflect the site's theme. The quality of community-generated content and the site's performance are critical for SEO. Please note that only content available to the "Unauthenticated" user level will be indexed by search engines.

📲 PWA

UNA can also be utilized as a Progressive Web App (PWA), a type of application software delivered through the web and built using common web technologies including HTML, CSS, and JavaScript. It is intended to work on any platform that uses a standards-compliant browser.

To configure your UNA platform as a PWA, head over to Studio > Designer > PWA. Here you will find settings including the Manifest file and service worker settings.

In the Manifest file, you as an operator will need to provide details such as the name of the PWA, brand colors, and a short description. This file is a simple JSON file that dictates how your app appears to the user and ensures that your app can be launched on the device's home screen exactly like a native app.

Service workers are scripts that your browser runs in the background, separate from a web page, opening the door to features that don't need a web page or user interaction. You can define which URLs will need to be cached for offline access in the app through service worker settings.

The app icons and logos will be sourced from Designer. They play a crucial role in the visual identity of your PWA, appearing on the home screen, splash screen, and task switcher of a device. Therefore, make sure they align with your brand identity.

📱 Native Apps

UNA provides native apps for iOS and Android as part of a new frontend universal application known as NEO. This application is offered as a "monorepo" that compiles the code into a NextJS web application and React Native Apps for iOS and Android. However, it's important to note that NEO is currently available only for code preview or as part of a custom implementation service.

For those interested in utilizing this service, a call should be booked through https://cal.com/team/una to discuss further details and requirements. This approach ensures that every client receives a tailored solution that fits their specific needs and expectations.

🍷 Onboarding

  1. Pay Attention to Initial User Experience: The first impression is vital when it comes to user retention. Make sure to create an engaging and intuitive onboarding experience that smoothly guides users through your site.
  2. Configure Registration Forms Carefully: Check and customise the fields for account registration and profile registration forms in the Forms builder. This ensures that you gather necessary information about users right from the start.
  3. Enable the Attendant App: This app provides personalized recommendations to users, helping populate their feeds after registration. Tailor the types of recommendations to match the interests and needs of your target audience.
  4. Use Recommended Subscriptions or Friends Blocks: This can help users quickly find and connect with others, improving their initial engagement with the community.
  5. Check Email Templates: Review your welcome email templates in Polyglot to ensure the tone and message align with your site's proposition. This can set the right tone for the user's journey on your platform.
  6. Provide Immediate Value: Show users the value of your site as soon as they register. This could be in the form of unique content, access to a community, or whatever your site's unique selling proposition may be. Consider posting some content prior to launch and featuring it. You can place blocks with featured content on any page using Pages builder.

👀 Testing

Thorough testing of your site's configuration is a critical step before launching. This process helps to ensure that all features function as expected and provide a smooth user experience.

For more technically-savvy operators, consider using automation tools such as Playwright or Puppeteer. These tools allow you to write automated tests designed for your specific configuration. They can simulate a wide range of user interactions and help identify any issues or bugs that might affect user experience.

For those less familiar with technical testing tools, you can perform manual testing by creating sample users with different access levels. Try various interactions such as posting content, observing notifications, checking feed population, and trying to upload various media types like photos and videos. This hands-on approach allows you to experience the site from a user's perspective and identify any areas that may need improvement.

As the next stage, consider downloading and installing the Invitations app and running the site in an 'invitation only' mode. This mode allows access to interested early users and provides an opportunity for you to collect valuable feedback. Their insights can help you adjust the configuration and improve the user experience before a full-scale launch.

🚀 Launch

Finally, execute a last-minute check on all configurations and settings. When everything is in place, proceed with the launch. Remember, launching is just the beginning. Post-launch involves marketing, promotion, user engagement, retention, feedback collection, continuous improvements, management, development, troubleshooting, and regular audits to ensure the long-term success of your site.