Verint | Telligent Community
Verint | Telligent Community
  • Site
  • User
  • Site
  • Search
  • User
Telligent Community 10.x
  • Verint Community
Telligent Community 10.x
User Documentation How Do I Deploy my Site to Microsoft Azure?
  • Ask the Community
  • User Documentation
  • API Documentation
  • Manager Training
  • Developer Training
  • Tags
  • More
  • Cancel
  • New
  • +Telligent Community 10.x User Documentation
  • Changing system terminology
  • Community and GDPR
  • How are wiki page editing conflicts handled?
  • How can I adjust what makes a thread popular within forums?
  • How can I administer available emoticons and emoji?
  • How can I allow members to customize their homepage/dashboard?
  • How can I allow users to delete their own accounts?
  • How can I change the requirements for requesting friendships?
  • How can I configure how members can join the site and their initial experience?
  • How can I control the RSS feeds that are provided for a blog?
  • How can I control the types and sizes of files that members can upload?
  • How can I control types, number, and total storage allowance for files in a media gallery?
  • How can I control whether forum thread and reply authors can edit or delete their own posts?
  • How can I control which actions members can perform on a blog?
  • How can I control which actions members can perform within a forum?
  • How can I control which actions members can perform within a media gallery?
  • How can I control which types of files can be embedded within forum threads and replies?
  • How can I customize messaging to new members?
  • How can I customize the content in aggregate blog RSS feeds?
  • How can I customize the content or delivery time of email digest?
  • How can I customize the fields available on members’ profiles?
  • How can I diagnose a problem or get help?
  • How can I enable a guest blogger on a blog?
  • How can I enable authentication via Windows / Active Directory (AD)?
  • How can I enable multiple members to manage a single blog?
  • How can I enable single sign-on (SSO) with another Microsoft .net-based website?
  • How can I enable single sign-on (SSO)?
  • How can I enable support for emailing to start or reply to a forum thread?
  • How can I enable visitors to authenticate through Facebook?
  • How can I enable visitors to authenticate through Google?
  • How can I enable visitors to authenticate through LinkedIn?
  • How can I enable visitors to authenticate through Live Connect?
  • How can I enable visitors to authenticate through Salesforce?
  • How can I enable visitors to authenticate through Twitter?
  • How can I enable visitors to contact the owners of a group?
  • How can I hide a member's forum posts from the community?
  • How can I identify abuse or SPAM within the community?
  • How can I impersonate a user to act on their behalf?
  • How can I include forum behavior in an external website?
  • How can I integrate my community with other websites and services?
  • How can I join a group?
  • How can I limit who or when someone can comment or trackback on a blog post?
  • How can I make a thread stick to the top of the thread list within a forum?
  • How can I manage blog posts with Open Live Writer (formerly Windows Live Writer)?
  • How can I mirror content from another blog or RSS feed?
  • How can I moderate tags within an application?
  • How can I move content from one area of my community to another?
  • How can I prevent SPAM accounts from being created using the ReCaptcha service?
  • How can I prevent spam content from being shown on my community?
  • How can I provide new members with a default set of friends?
  • How can I rebrand my community in an upgrade-safe way?
  • How can I render previews of documents (Word, Excel, PowerPoint, PDFs) in my community?
  • How can I require acceptance of terms of service before member registration?
  • How can I set the default theme and theme selection options for all blogs?
  • How can I set the default theme and theme selection options for all groups?
  • How can I show or require additional profile fields to be completed when members join my community?
  • How can I specify which types of member avatars are allowed and the default member avatar?
  • How can I split a forum thread into multiple threads?
  • How can I start or stop the job service?
  • How can I stop receiving updates from a forum thread?
  • How can I synchronize Active Directory (AD) groups with Telligent Community roles?
  • How can I uninstall the job service?
  • How can I use snippets within blogs to save time or reuse content when writing posts?
  • How can I use the REST API to automate data migrations or data modifications?
  • How can I write blog posts using email?
  • How do I add a community member?
  • How do I add an Achievement?
  • How do I add an idea to an ideation?
  • How do I add or upload a file to a media gallery?
  • How do I administer members?
  • How do I allow users to export their data?
  • How do I ask a question or start a discussion in a forum?
  • How do I automatically create a blog for each new member of the community?
  • How do I ban or disapprove a member?
  • How do I cancel an event in a calendar?
  • How do I capture a forum thread to a wiki?
  • How do I change my avatar?
  • How do I change the types of threads or thread answer and auto-locking configuration for a forum?
  • How do I chat with another member?
  • How do I compare wiki page revisions?
  • How do I configure email integration?
  • How do I configure Telligent Community to meet the privacy requirement of my locale?
  • How do I connect my community to my Verint Knowledge Management site?
  • How do I control the type and functionality of content that can be posted on my community?
  • How do I control types and sizes of files that members can upload?
  • How do I control whether members can post status messages within a group?
  • How do I control which Active Directory (AD) fields are synchronized and editable on member profiles?
  • How do I create a custom page within a theme?
  • How do I create a group?
  • How do I create a Knowledge Collection?
  • How do I create a wiki page?
  • How do I create an application?
  • How do I create an event in a calendar?
  • How do I create rules to automate my community?
  • How do I customize direct communication options such as email, notifications, and private messages?
  • How do I customize email sent from the community?
  • How do I customize the look and feel of my community?
  • How do I delete a blog post?
  • How do I delete a group?
  • How do I delete a Wiki Page?
  • How do I delete an application?
  • How do I delete an event from a calendar?
  • How Do I Deploy my Site to Microsoft Azure?
  • How do I edit a blog post?
  • How do I edit a file or URL in a media gallery?
  • How do I edit a forum thread or reply?
  • How do I edit a wiki page?
  • How do I edit an Achievement?
  • How do I embed custom forms in my community?
  • How do I enable moderation within a forum?
  • How do I enable moderation within a media gallery?
  • How do I enable visitors to contact me through my blog?
  • How do I export my data?
  • How do I get to the administration panel?
  • How do I get to the contextual management panel?
  • How do I implement single sign-on (SSO) with an existing authentication system using cookies?
  • How do I insert a poll into content?
  • How do I install chat support?
  • How do I install Telligent Community?
  • How do I lock a wiki page?
  • How do I manage advertisements in my community?
  • How do I manage comments?
  • How do I manage licenses?
  • How do I manage membership within a group?
  • How do I manage registrations for a calendar event?
  • How do I manage roles and permissions to control what members can do on the community?
  • How Do I Migrate My Existing File Storage to Azure?
  • How do I moderate a forum to move, split, merge, lock threads?
  • How do I moderate content a member creates?
  • How do I monitor the health of my community?
  • How do I preview UI changes in the community?
  • How do I register for an event?
  • How do I rename, change the avatar, or move a group?
  • How do I revert to a previous version of a wiki page?
  • How do I see download counts of files in a media gallery?
  • How do I send an ad-hoc mass email to community members?
  • How do I set the default timezone and date/time formats for my community?
  • How do I setup an about page for a blog?
  • How do I store some files in different locations than others?
  • How do I translate my community?
  • How do I update the status of an idea?
  • How do I upgrade Telligent Community?
  • How do I upgrade the user experience of my community?
  • How do I use the content editor?
  • How do I use wiki link syntax?
  • +How do I view reports?
  • How do I vote on ideas?
  • How do I write a blog post?
  • How does moderation and abuse work?
  • How does Telligent Community support mobile devices?
  • How does Telligent ensure the quality of Telligent Community?
  • How should I define groups and applications in my community?
  • How should I store user contributed media?
  • How should I support multiple languages on my community?
  • Release Notes
  • What are jobs?
  • +What are the system requirements?
  • What best practices should be followed when customizing the user interface?
  • What is a blog?
  • What is a calendar?
  • What is a forum thread?
  • What is a forum?
  • What is a gallery?
  • What is a group?
  • What is a hashtag?
  • What is a Knowledge Document?
  • What is a mention?
  • What is a theme?
  • What is a wiki?
  • What is an Achievement?
  • What is an activity stream?
  • What is an application?
  • What is chat?
  • What is document preview?
  • What is featured content?
  • What is friending and following?
  • What is ideation?
  • What is liking?
  • What is private messaging?
  • What is RSS?
  • What is the question and answer workflow in forums?
  • What type of video files can I embed in my community?
  • What types of videos can I embed in or attach to content?

How Do I Deploy my Site to Microsoft Azure?

As of 10.1 Telligent Community can be run as an Azure WebApp using  an Azure SQL database, Azure Service Bus, Azure Storage account and Azure Web Jobs.   This guide will assist in helping you understand the technologies being used and where they need to be deployed in Azure, however there is an expectation that your organization has an understanding of how Azure works, its components and infrastructure, and utilization of the Azure portal.  

[toc]

Limitations

Currently, Azure is only a supported solution for a new community running version 10.1 or later.  There is currently no supported migration path from an on-premise installation of Telligent Community to an Azure based installation unless you are currently running version 10.3 or higher and only if you currently use the default local filesystem for file storage.

You will still need to have at least a single windows virtual machine(VM) to install and run search (SOLR).   This machine should only be accessible by the website and job service, not publicly.

Planning

It is important to plan out your architecture before building it as it requires a functional knowledge of Azure and how to configure all aspects of Azure topology.   This guide will go through the components needed for Telligent Community to run in Azure, but to ensure a secure, stable and efficient infrastructure you will need to understand parts of Azure that are beyond the scope of this article.

The biggest consideration is that Telligent Community requires a mix of App Services and at least 1 virtual machine.  The App Services need to be able to communicate with the VM while still being available over the internet publicly, however the VM itself must not be accessible. 

Required Components

Azure Web Application (WebApp)

This is where the actual Telligent Community web components will be deployed.   Create a new WebApp in Azure App Services and in its application settings ensure the following:

  • .NET Framework is set to version 4.7 (or higher)
  • Web Sockets are ON
  • Always On is set to ON
  • ARR Affinity is set to ON

Other options can be left in their default state.   Once set up be sure to STOP the WebApp itself.

Job Server

The job server runs as a continuous Azure Web Job that you configure as part of the WebApp  itself or it can run as its own WebApp .   To set up the job server as a web job, access the WebApp  responsible for running the jobs, select WebJobs and add a new one.  Or you can do this on its own separate WebApp but the steps are the same.

  • It should be configured as continuous.
  • The required command file is Telligent.Jobs.AzureWebJobs.cmd  and it can be found in your Telligent Community installation package in the JobServer folder.

Be sure the Web Job remains in a stopped state.

SQL Database

The database portion of the community utilizes an Azure SQL database.  Your community requires a dedicated SQL database(it should not be shared with any other applications) but can share a SQL Server.   Never make alterations to the database schema even if a third party tool or Azure itself makes recommendations.  When configuring a SQL database be sure to:

  • Automatic Tuning options for FORCE PLAN, CREATE INDEX, and DROP INDEX are set to OFF for their desired state. Do not use INHERIT to ensure these settings are not accidentally applied to the server.

Service Bus

You can create a new service bus on in Azure or utilize an existing one, however whichever you choose that service bus must support topics.   This means as of the publication of this document you must use a standard pricing tier or higher.  Basic does not support topics.

You should create a community specific shared access key on the bus.  Avoid using the default.  This way, especially in a shared bus, an access key can be revoked without impacting other services.  When creating a new shared access policy/key it needs the following permissions:

  • Manage
  • Listen
  • Send

Storage Account

The Centralized File Storage(CFS) portion of of your community is housed in a Azure storage account you will need to create.  This storage account needs to be dedicated to your community and not utilized for any other application or other storage purpose.   Telligent Community manages the contents of the storage account and therefore unless directed by support you should never manually manipulate the contents of the storage account or configure it outside of the recommended settings outlined below:

  • Configure the storage account as "Blob Storage", not general purpose
  • Production storage accounts should always be on a "Hot" tier.

Migrating Your Files to Azure

If you are currently running version 10.3 or higher and you already have an existing community that uses the default local file system for file storage  you can migrate files to Azure.

CDN

It is highly recommend you place your storage account behind a CDN.  CDNs offer expanded capabilities and features such as compression that blob storage directly does not.  You can create a new CDN end point directly from the storage account itself.  Be sure to note the endpoint url for later use.

NOTE:  At the time of publication, the Standard Akamai CDN was not compatible with Telligent Community.   Please select one of the alternative solutions such as standard Verizon.

Search

As noted previously, search currently does not utilize any Azure specific services or features.  It must be installed on a windows virtual machine powerful enough to handle the search traffic and enough disk space to store the search index.  This  server should never be accessible over the internet publicly.  It does however have to be accessible to the WebApp and Jobs.

Because search is run on a virtual machine, its installation is no different than installing it on a windows machine on-premise and those instructions should be consulted.

Deployment

Preparation

It is assumed at this point you have you created the infrastructure as defined above and have all the components in place.   If not please review the required components again and setup as necessary.

Configure Connection Strings

If you are used to on-premise installations you are familiar with having to setup connection strings in the connectionstrings.config  file.  In an Azure deployment all the connection strings are stored as part of the WebApp and configured in the portal.  Access the WebApp's  Application settings and locate the connection strings section.   You need to add and configure the keys below.

***DO NOT SET the Slot setting for any key.  It should remain unchecked

Name Value Category
SiteSqlServer The connection string value of the SQL Database.  You can obtain this from the connection strings area of the SQL database itself.  Be sure to substitute the correct name and password. SQL Database
AzureServiceBus The connection string to the service bus you configured.  It can be copied from the access keys area of the service bus instance. Service Bus
AzureServiceBusTopic A user defined string that will be used as the topic in the service bus.  A good value to use is the name of your community. Custom
AzureFilestorageContainer The connection string of the storage account created for CFS.  It can be copied from the access keys area of the storage account instance. Custom
SearchContentUrl The url that points to the search index.  It should be http://[solrvm]:8983/solr/telligent-content/  where [solrvm] should be replaced with the IP or DNS name or your search virtual machine Custom
SearchConversationsUrl The url that points to the search index for conversations.  It should be http://[solrvm]:8983/solr/telligent-conversations/  where [solrvm] should be replaced with the IP or DNS name or your search virtual machine Custom

IMPORTANT:  If you are running the web job as part of of the main WebApp, then you needn't set up separate connection strings.   However if you chose to run the web jobs in their own dedicated WebApp , you will need to also set these connection strings up on that WebApp .

Prepare Web and Job Files For Deployment

  1. Locate your Telligent Community Installation Package and be sure the .zip file is unblocked.  Extract the zip file.
  2. Locate the Azure deployment zip file you obtain from Telligent Support.  Ensure it is unblocked after download and extract it.
  3. In the Azure package, copy the contents of Web Folder to the Telligent Community package's web folder.
  4. In The Azure package, copy the contents of JobServer Folder to the Telligent Community package's JobServer folder.
  5. Edit the communityserver_override.config file in the Telligent Community web package and un-comment the 2 override nodes for the filestoragegroup.
    1.  If you are using a CDN for your storage account, edit the fileStoreGroup  node with the name or "Azure" by adding the attribute cdnUrl and a value equal to the url of your cdn like below:

       <Override xpath="/CommunityServer/CentralizedFileStorage" mode="add" where="end">
        <fileStoreGroup name="Azure"
            default="true" 
            type="Telligent.Evolution.Azure.Filestorage.AzureBlobFilestorageProvider, Telligent.Evolution.Azure.Filestorage"
      	  cdnUrl="https://yourcdn.azureedge.net"
            />
       </Override>  
  6. Repeat step 5 for the communityserver_override.config file in the Telligent Community package's Job Server folder, or if this is the only override you can simply copy the web version into the JobServer folder.

Installation

Database

Previously you had already created a new dedicated database, setting up your community database is no different than an on-premise installation.   Connect to the database using the tool of your choice that will allow you to execute SQL scripts and do the following:

  1. In the Telligent Community Installation package execute Install.sql.
  2. Once the install script has finished with no errors, set up your community by executing the following:

    EXECUTE[dbo].[cs_system_CreateCommunity]
        @SiteUrl = N'http://yoursite.com',
        @ApplicationName = N'telligent',
        @AdminEmail = N'notset@localhost.com',
        @AdminUserName = N'temporary-admin',
        @AdminPassword = N'[PUT A TEMPORARY PASSWORD HERE]',
        @PasswordFormat = 0,
        @CreateSamples = 0


    NOTE: As with an on-premise installation, the temporary-admin account should be removed after you have created an alternate administrative account via the community itself for security purposes.

Job Server

Using a deployment method of your choice  such as FTP, deploy the contents of the Telligent Community package's JobServer folder  [site/wwwroot/App_Data/jobs/continuous/[Web job Name]] to the WebApp's job folder.   You will be prompted to override the command file as you uploaded it to create the job, this ok or you can skip it. 

Web Site

Similar to job server, using a deployment method of your choice  such as FTP, deploy the contents of the Telligent Community package's Web folder [site/wwwroot] to the WebApp's site  folder.  

Search

As mentioned previously, because you are installing search on a windows VM, its installation is the same as on-premise installations.   See the search installation section of How do I install Telligent Community?.   Remember your VM will need to have a Java JRE installed (8+).

IMPORTANT:  Search cannot be publicly accessible.  You will need to configure your environment in such a way as to allow communication from the WebApp to the search VM on its virtual network while ensuring that any public traffic is being blocked to the VM itself.

Upgrading

You must bring your community down completely to upgrade.  You cannot rely on slot deployments or upgrading single nodes at a time.   The database and ALL web files must be updated for your community to function.   Failure to do this could result in instability, data corruption or failure of your installation.  Run backups of all components for safety.

  1. Repeat the section Prepare Web and Job Files for Deployment to get the new package ready.   Instead of re-manipulating the community_server.config file, you can simply back up the existing one and use it instead.
  2. STOP the Web job for the job server.  DO NOT Rely on shutting down the web app to shut it down.
  3. STOP the WebApp
  4. Using FTP or another deployment option, clear the contents of the [site/wwwroot/App_Data/jobs/continuous/[Web job Name]]
  5. Using FTP or another deployment option, clear the contents of the [site/wwwroot] folder leaving the App_Data folder in tact.
  6. Connect to your database using a tool of your choice and execute the Upgrade.sql file.
  7. Re-Install the job the same was as you did in the Job Server section of the Installation.
  8. Re-Install the web files the same was as you did in the Web Files section of the Installation.
  9. Restart the WebApp and Web Job
  • Share
  • History
  • More
  • Cancel
Related
Recommended
  • Telligent
  • Professional Services
  • Submit a Support Ticket
  • Become a Partner
  • Request a Demo
  • Contact Us

About
Privacy Policy
Terms of use
Copyright 2022 Verint, Inc.
Powered by Verint Community