Verint | Telligent Community
Verint | Telligent Community
  • Site
  • User
  • Site
  • Search
  • User
Telligent Community 10.x
  • Verint Community
Telligent Community 10.x
User Documentation What is a theme?
  • 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?

What is a theme?

Themes are used by Telligent Community to layout, style, and organize the functionality of the web user experience.

A theme defines the cascading stylesheets, global javascript, and the functionality included in the header, content, and footer of every page within a specific context: site, group, or blog. Within each context, a theme can be selected and customized.

[toc]

Theme Components

Each theme contains multiple components:

In essence, the header script renders HTML headers (think of the contents of the <head></head> element) and the body script renders HTML body (contents of the <body></body> tag). These scripts are implemented in the Velocity templating language and can make use of the Telligent Community widget API and theme-specific rendering APIs as well as the other theme components:

Stylesheets

Stylesheets are CSS, LESS, or Velocity (VM) files in a configurable order with specific styling-specific configuration options used to provide global styling to the theme. Stylesheets are generally rendered via the header script using the $context_v2_themeHeader.RenderStylesheetFiles() API.

Javascripts

Javascripts are JS or Velocity (VM) files in a configurable order that implement global client-side behaviors using javascript. Javascript files are generally rendered via the header script using the $context_v2_themeHeader.RenderJavascriptFiles() API.

Configuration Options

The theme can also expose its own configuration options. These options could be specific values (how large should the base font be?) or full files or lists of files (what should the favicon be?). The theme can read configuration values in Velocity and LESS files to adjust how the theme looks or behaves.

Palette Types

Palettes types are categories of palettes used for a specific purpose. Generally palettes are used to provide a set of selectable options to widgets within the theme. For example, the site banner uses a palette defined in the Social theme that includes configuration for colors, lines, and shadows in a single selectable list. Within a specific site, group, or blog, palette defaults can be selected in the front UI when configuring the theme. The theme and widgets can make use of palettes to centralize sets of selectable options.

Supplementary Files

Supplementary files is a general location to put files required by other components of the theme--for example, images, fonts, or CSS/LESS files to include in stylesheets. 

Or, in other words, a theme is a set of configuration (which may include embedded files such as CSS, images, fonts, etc) with a header, footer, and set of one or more pages. Each header, footer, and page defines a layout containing multiple regions which may contain zero or more configured widgets. 

Header / Page / Footer

The header, page, and footer represent selections of widgets in layouts that implement the functionality of individual pages rendered in a theme. The header is at the top of every rendered page. The footer is at the bottom of every rendered page. Each page is used to implement the behavior of one or more specific URLs or a custom page (created by adding a page within the Manage Pages theme management option). Generally, the body script decides where to render the header, page, and footer using the $context_v2_themeBody.RenderHeader(), $context_v2_themeBody.RenderPage(), and $context_v2_themeBody.RenderFooter() APIs. Each header, page, and footer contains similar components:

Layout

A layout is a visual arrangement of regions where widgets can be placed. For example, Telligent Community includes a layout with a wide content column on the left or a narrower right sidebar column. The layout's regions provide the framework into which widgets can be added to define the look and functionality of a page, header, or footer.

Widgets

Widgets are functional pieces of the user interface that can be rearranged within the layout of a header, page, or footer. Widgets provide the content and interaction on each complete page of the theme. Developers can create new widgets for use within themes--see Widgets in Developer Training for more details.

Theme Versions

Headers, footers, and pages exist in up to three different versions:

The factory default represents the original implementation that is used if no edits have been made within the community UI. After installing Telligent Community, all pages that are rendered are from the factory default version of the theme.

The default version overrides the factory default version without editing it. Defaults are editable through the community UI and enable visual configuration of the default used for all contexts of a theme, for example, all groups or all blogs.

The contextual version is the version most edited. When directly editing within a group or blog, for example, the contextual version of the theme is edited. Changes apply only to that context (that group or blog) and not the default (which applies to all groups/blogs) or the factory default (which should represent the original/known-good version).

When loading theme components, if the requested component is not available from the requested version, the next lower version is requested. For example, if the contextual version of a page is requested for a group but the group never edited the page, the default version would be requested. If the default version was never edited, the factory default would be used.

Theme Inheritance

Some theme components can also be inherited. Headers/footers and pages are inherited differently.

Header/Footer Inheritance

   

When rendering a header or footer, first, any locked configured widgets from the default implementation are merged into the header/footer. Next, if the theme is configured to inherit headers/footers from the parent theme, the parent's configured widgets will also be merged into the header/footer before rendering.

The parent theme is the logical parent of the current context. For example, the parent of a blog is the group in which the blog belongs and the parent of a group is the site. If a theme of the same name is available for the parent context, the parent header or footer is retrieved from that theme. If a theme of the same name is not available, the parent context's current theme is used to retrieve the parent header or footer.

Page Inheritance

When rendering pages, only locked widgets from the default implementation of the page are merged into the page before rendering.

Widget Merging in Headers, Pages, and Footers

When merging widgets, the platform first attempts to find the source widget on the target header/footer/page. A match is found when a widget of the same type (same name, for example) and same configuration is found or a widget that was a direct descendent of editing the default implementation of the header/footer/page still exists on the target header/footer/page.

If no matching widget is found (or the matching target widget is already identified as matching a different source widget), the source widget will be copied to the target  header/footer/page. When copying, the widget will be placed in a region appropriate/comparable to the location of the widget in the source header/footer/page at the same region-specific offset. So, if the source widget was the third widget in the right sidebar in the source page, it will be placed (if a matching widget wasn't found in the target page) in the right sidebar (or similar region) as the third widget in the target page when merging.

Note that when merging widgets due to inheritance, only locked widgets are merged. Locking is an option when editing the default version of a page or when editing headers/footers.

Inheritance

The theme can decide whether to inherit configuration values, javascripts, stylesheets, or the entire header from parent themes. A theme can chose to make the inheritance an option for end-users or dictate how inheritance will work within the theme.

  • 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