• .Net error when using getList methods

    DescriptionWhen using a getList method in Ektron 9.10, you may get an error:  The parameter data type of UInt32 is invalid.  This error occurs by passing a long value directly to a criteria object. For example: criteria.AddFilter(TaxonomyProperty.Id, CriteriaFilterOperator.EqualTo, 2147484121); This value is passed into a new SqlParameter call, which causes the error. The root cause is a Microsoft .Net 4.5 issue, which was reported to Microsoft for review.ResolutionUse a variable to declare ...

  • Add a collapse option for the Ektron Toolbar

    DescriptionWith the current Ektron Toolbar, when editing a page builder page, there is no way to collapse/hide the toolbar from view. This can be problematic if you have a content item that needs to be edited that abuts the top of the page. The code sample below shows how to add an option to allow you to toggle the toolbar as in the previous implementation of page builder. ResolutionDownload this file: Code DownloadOpen the HideToolbar.txt file inside the zip file.Copy the text from the...

  • Add Language to Metadata Definition using MetadataTypeManager

    DescriptionThis article provides a sample that will take an existing metadata definition and add it into the CMS with a new language. ResolutionCode Download* Note - This sample uses the MessageUtilities. Please refer to this KB for more information. Code files included.

  • Add New Language For Existing Content With ContentManager

    Description This article shows a sample and describes the steps to leverage the ContentManager to programmatically add new language versions of content for existing content items in the CMS retaining the same ID. Resolution 1. Call the ContentManager.GetItem to pull the existing content item in the current language.2. Instantiate a new ContentManager in the language of interest.3. Update the original ContentData object with new language from the GetItem return result.4. Call t...

  • Adding a user data object with required and custom properties to the CMS

    DescriptionIt is a simple task to add users to Ektron via the Ektron Framework API.When entering any user data object into Ektron, you need to complete two types of properties. Below is an example of a user data object for a membership user that has the required properties and customer properties assigned to it.More information on the UserManager can be found here . ResolutionUse this syntax to add information for CMS or Membership users with custom properties. UserManager uMgr = new ...

  • Basic Captcha Example using the Ektron Server Controls

    DescriptionEktron has built in captcha support right out of the box. Here is an example of how you could implement it on a template. Resolution<%@ Page Language="C#" %><%@ Register Assembly="Ektron.Cms.Framework.UI.Controls" Namespace="Ektron.Cms.Framework.UI.Controls" TagPrefix="cms" %><%@ Register TagPrefix="cms" Namespace="Ektron.Cms.Controls" Assembly="Ektron.Cms.Controls" %><!DOCTYPE html>...

  • Best Practices for Service Authentication

    DescriptionWhen using the Ektron Restful Services and Web Services, an authentication method, such as an authentication header or token, is required. Once a user is authenticated, he or she is usually authorized to access desired resources/APIs. For more information on authentication methods, seeUsing Authentication tokens to authenticate a user in a 3-tier environmentWeb Services API  ResolutionThe best practice is to create a user account strictly for service and webservice authentica...

  • Caching: Why it is beneficial and ways to implement it

    DescriptionThis article introduces basic caching concepts and Ektron's caching options.Caching enables you to store data in memory for rapid access. Applications can access the cache instead of retrieving data from the database whenever the data is accessed. This strategy avoids repeated queries for data, and is beneficial because it can improve site performance and scalability. Caching also makes data available when the data source is temporarily unavailable. Types of Caching Page Level Out...

  • Content Manager Add Content not submitting for approval

    DescriptionContent Manager Add Content not submitting for approval ResolutioncontentManager.Add(contentdata);contentdata = contentmanager.GetItem(contentdata.Id); You should now be able to do what you need to with contentdata object.See also Ektron Developer Reference > Framework API > Content > Content Manager > Methods > Update .You can call Submit immediately after Add .

  • ContentManager.GetList(ContentCriteria) -SQL Exception Invalid column name 'nav_name'."

    SQL Exception Invalid column name 'nav_name'." is an error in the API for ContentManager.GetList It occurs commonly if customers use the ContentTypeManager  GetList(ContentCollectionCriteria criteria) public List<ContentType<T>> GetList(ContentCriteria criteria) { Initialize(); List<ContentData> contentList = _contentManager.GetList(criteria); return MakeList(contentList); } When that is called with a ContentCollectionCriteria instea...

  • Customizing eCommerce Checkout Server Control with Phase Change Sample

    DescriptionThis article contains information and a sample on manipulating Ektron Checkout Commerce control phases as described in the documentation.ResolutionCode Download The eCommerce server controls contain event hooks so you can customize or manipulate them. To use these event hooks, create a handler for each needed event in the code-behind of the ASPX page that contains an eCommerce server control. Then, in that page's OnInit method, hook each event. PhaseChange - Used only in the C...

  • Ektron CMS Strategy Samples

    DescriptionThis sample is to provide a quick method of deployment for the Ektron CMS strategies. The sample contains the follow strategies: Blog Strategy Content Strategy Library Strategy Taxonomy Strategy User Strategy ResolutionHow to set up these files: Place the strategy class files for this sample in the App_Code folder under site root.  Typically found at the following path: C:\inetpub\wwwroot\Your Site Name\App_Code Make a backup of the ObjectFactory.config which is found in site ro...

  • Ektron.Cms.UrlAliasing.ICommonAliasManager, is an interface and cannot be constructed

    This error can occur if the code is using legacy alias APIs that existed in 8.5 Ektron versions and an upgrade was conducted to push it to 8.60. For a complete list of UrlAliasing Framework API, click here. Legacy Ektron.Cms.Framework.Settings.UrlAliasing APIs include the following: AutoAliasManager - Manages automatic aliases, which let you assign an alias to several content items at once. CommonAliasManager - Gets alias and target data that is common to any alias. CommunityAliasM...

  • EktronUI: Dialog Button OnClick Event Causes Full Post Back

    With the EktronUI Dialog control in ContentTemplate tag of ASP UpdatePanel, the Dialog Button's OnClick event causes a full post back. Resolution Because of a z-index problem with IE7, the dialog is moved to be an immediate child of the form. In the process, the dialog is moved out of the update panel. Additionally, the dialog (jQuery UI Dialog) does this "out of the box," without any modifications from Ektron. The following code snippet illustrates the prob...

  • Error updating taxonomy data when using the Taxonomy Manger GetItem

    When using the framework API GetItem method for the TaxonomyManager you may get an error when trying to update the taxonomy data back into the system. Below is the error and a sample of code that could cause the error. Ektron.Cms.Framework.Organization.TaxonomyManager tManager = new Ektron.Cms.Framework.Organization.TaxonomyManager(); var tData = tManager.GetItem(taxonomyID); tData.Description = "updated"; tManager.Update(tData); Configurations are only for parent taxonom...

  • Error: Could not create type 'Ektron.Seesmic.SeesmicService'

    When trying to compile/build your 9.02Sp2 website, you're seeing the following error message: Could not create type 'Ektron.Seesmic.SeesmicService'. Resolution Thankfully this is a pretty simple error to correct. The issue lies with a webservice file in the workarea called Seesmic.asmx. In 9.0Sp2 the file is no longer used by Ektron so the simple solution is to simply delete the file. A Little Background: Curious to know a little more about this file? The Seesmic.asm...

  • Examining the Object Factory

    DescriptionThis article shows how to look at objectfactory.config and determine if you are using a strategy, and whether it is using a .DLL or a file from the App_Code folder. ResolutionGo to Siteroot/objectFactory.config .Here is the file from a min site: <objectfactory>   <objectstrategies>           <add name="Content">                  <strategies>                          <add name="GoogleGeoCoder" type="Cms.Extensions.GoogleG...

  • Extending LibraryManager.DataClasses.LibraryData sorting using LINQ

    The Legacy Ektron.Cms.API.Library is replaced by Ektron.Cms.API.LibraryManger() in the current CMS versionThe LibraryManger() uses a LibraryCriteria.AddFilter(...). The sort is limited by the LibraryCriteria.AddFilter use of LibraryProperty. This has a limited set of values.    The retrieved Data is collected in a libraryDataList. This contains column names. Cause The LibraryManger() uses a LibraryCriteria.AddFilter(...) The LibraryProperty  contains a limited set  properties...

  • External Link Disclaimer

    This KB article shows you how to add an "exit disclaimer" to external links on a page.   Resolution You can have "NOTE: External link" after every external link.You can use JQUERY to automatically add alerts or call another function when pressing the link. Here are some examples.You only need to assign class="external" to the external links.$("a.external").click(function () { alert("Note: You are leaving this website...

  • Generate Class for Smart Form

    DescriptionCreate a C# or VB.NET class to programmatically access Smart Form data. Smart Form data is XML and may be processed using XSLT, an XML parser (XmlDocument), Linq/XQuery or even as a string. It may also be deserialized into a .NET object given a C# or VB.NETclass.This article describes how to generate a class from a Smart Form design. ResolutionMicrosoft provides a command-line tool, xsd.exe, that converts an XML Schema to a C# or VB.NET class. 1. Save Schema XSD File. A. Save...

  • getList parameter data type of UInt32 is invalid

    DescriptionUsing getList may generate an error ( The parameter data type of UInt32 is invalid ) because of a Microsoft SQL bug in Framework 4.5. This can occur in any Framework API getList call with the ContentManager, FolderManager, TaxonomyManager, and so on.  CauseSQL interprets a value passed into a getList call as an object rather than a long so the error occurs. long taxid = 2147473650;var TaxonomyCRUD = new TaxonomyManager();var criteria = new TaxonomyCriteria();criteria.AddFil...

  • Google Map API 2.0 Deprecated

    DescriptionEktron is working on patching the Google Map javascript integration. The V2 API will continue to work until May 19, 2013. By that time we should have a patch available for the most recent version of the CMS. Resolution  Google deprecated their older v2 Javascript API of Google Maps.Ektron is currently looking at patching this issue before Google shuts off their older API. A workaround until we release a fix for this (upgrading to use v3 of Google API) is to switch to Bing map...

  • Hide Youtube suggested videos from displaying when using Youtube Widget

    DescriptionWhen using the Ektron Youtube Widget it by default displays the suggested videos Youtube provides at the end of the playback.  Some customers do not want to see these videos as they may not be appropriate with the content they are interested in showcasing. ResolutionThe widget itself does not have that option by default. What is needed is a code change. If you edit the widget code as documented below you will be able to disable the suggested videos. The change made is in th...

  • How do I verify what versions of .NET framework are installed on my server?

    DescriptionHow do I verify what versions of .NET framework are installed on my server? ResolutionIt can be critical to know what versions of Microsoft .NET framework are installed on your server to diagnose different issues. It can be even more critical to know if the FULL or CLIENT version of the .NET Framework is installed. There have been numerous reported instances where having only the client version will cause operational issues with Ektron product among others.You can issue the c...

  • How to adjust the page size on server controls or API

    When you attempt to populate a list of items using a server control or the API (Legacy/Framework), it defaults to displaying up to 50 items. Cause The default for most server controls and API calls are to return 50 results to improve performance. Resolution You can modify the code on a page to allow for more items to be visible.  Server controls , and older API calls, have a PageSize property or MaxResults property that is defaulted to 50. To change thi...

  • How to change the maximum sizes of an avatar image

    DescriptionThis KB article shows how to increase the maximum file size for an avatar.Several fields in the Ektron Workarea let you upload an avatar. For example, when you create/edit users and membership users. By default, an avatar's maximum file size is 200 kilobytes, and its height and width cannot exceed 125 pixels preserving the aspect ratio. ResolutionImportant! Files stored in the siteroot\workarea folder are overwritten (or deleted) when you upgrade. To avoid problems, back up...

  • How to create a Constants class

    DescriptionEktron uses a constants class named "Constants." If you create a similar class called "Constants" in app code, you can prevent Ektron components from working because the Constants class is referenced throughout the Ektron API. ResolutionAdd a namespace to your custom "Constants" class to avoid conflicts. For example:using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MySampleConstants { /// /// Sum...

  • How to customize the Web Calendar Style Sheet

    DescriptionThis KB aticle shows how to customize the Web calendar style sheet ( WebCalendar.css ), located in \siteroot\workarea\WebCalendar\View . ResolutionImportant! Files stored in the siteroot\workarea folder are overwritten (or deleted) when you upgrade. To avoid problems, back up the edited style sheet file to a folder outside the siteroot\workarea folder.Modify the .RadScheduler classes to change the Web calendar's style. See the following examples.Color CSS Style Chang...

  • How to customize the Web Calendar Tooltip

    DescriptionIf you hover over a calendar event, a tooltip automatically shows its details. This KB article shows how to modify the tooltip display. ResolutionThe telerik:RadToolTip properties govern how the tool tip displays.You can apply many changes to a tool tip. The following example makes the tool tip appear without delay and use fade-in animation, using the EktronTech starter site.Before you begin, add a calendar event and observe the default behavior. Then, open the EktronTech w...

  • How To Detect Server Type Setting in CMS via Ektron API

    Description This article demonstrates the Ektron code that can be used to detect the Server Type setting in the CMS>Settings>Setup>General Tab as seen in the image below.   Resolution The code below will retrieve the setting indicated above. protected void Page_Load(object sender, EventArgs e)    {        Ektron.Cms.CommonApi capi = new Ektron.Cms.CommonApi();        if (!capi.EkSiteRef.RequestInformation.IsStaging)        {            Response.Write("This is a ...