This article applies to anyone running a custom theme or one that does not support navigation configuration via the control panel. If you are running a theme (such as the default) that supports configuration via the control panel then we highly recommend you use the control panel to change the navigation items.

There are two main files you need to look at, resources.xml and siteUrls.config. You can find the resources.xml file at <install drive>:\program files\telligent\community server\web\languages\<language code>\ on a default installation. You can find the siteUrls.config file at <install drive>:\program files\telligent\community server\web\ on a default installation.

First, let's make the necessary modifications to the siteUrls.config file. To modify the siteUrls.config file you will need to open up the siteUrls.config and scroll to the bottom, there you will see a set of tags that look something like this:

<navigation> 
  <link name="home" resourceUrl="home" 
        resourceName="home" roles="Everyone" />
  <link name="blog" resourceUrl="webloghome"
        resourceName="weblogs" roles="Everyone"
        applicationType = "Weblog" />
  <link name="forums" resourceUrl="forumshome"
        resourceName="forums" roles="Everyone"
        applicationType = "Forum" />
  <link name="gallery" resourceUrl="galleryhome"
        resourceName="photos" roles="Everyone"
        applicationType = "Gallery" />
  <link name="files" resourceUrl="fileshome" 
        resourceName="files" roles="Everyone"
        applicationType = "FileGallery" />
  <link name="controlpanel" resourceUrl="controlpanel" 
        resourceName="controlpanel" roles="Everyone" />
  <link name="other" resourceUrl="Test"
        resourceName="other" roles="Everyone" />
</navigation>

Once you've found the <navigation> section, you can remove the links for the default navigation bar, change or add your own links, The best way to add a new menu item is to simply copy and paste one of the existing <link> tags.

Attribute Attribute Description

name

name simply identifies the element within the siteUrls.config file. The name must be unique to the config file. 
resourceUrl resourceUrl value maps to a <url> tag elsewhere in the siteUrls.config file (where the path or url for the navigation item is actually stored)
resourceName resourceName value maps to a resource name in the resources.xml file (where the actual text for the navigation element is stored)
roles roles determines what users can view the navigation link. You can specify multiple roles by separating them with a comma.

Note: you can specify an actual link, text, etc. right in the siteUrls.config file using an entry similar to the following:

<link name="examplelink"
      navigateUrl="
http://example.com/mycustomnav.html
      text="New Menu Link!" />

In the example above, the name attribute must be unique within the siteUrls.config document. The navigateUrl attribute should contain the actual URL of the navigation item and the text will contain whatever text we want users to see for the new navigation item.

We need to set the text value for the navigation item. To modify the text, we need to open the  Resources.xml file. All of the text values used in Community Server are stored in resource files. This is important because without language specific resource files it would be very difficult to make Community Server available in more than one language. Once you've opened the Resources.xml file, scroll down just a bit and you'll see a section similar to this.

<!-- Main Navigation -->
<resource name="other">other</resource>
<resource name="home">Home</resource>
<resource name="weblogs"></..........

These <resource> tags mark the main navigation items. You will need a corresponding <resource> tag for any new entries you create in the siteUrls.config file. The name attribute value must be unique within the Resources.xml file. The text inside the <resource> tag ("other" using an example from above) is the actual text for your navigation item.

Be sure to save the file once you've added the necessary tags. Community Server caches this data so you'll need to open and save your web.config (commonly referred as "touching the web.config") to force Community Server to reload the data.