Telerik UI for ASP.NET AJAX

Product overview Download Free Trial
What's new

Telerik UI for ASP.NET AJAX

Release History

UI for ASP.NET AJAX 2009.2701

June 30, 2009

New Controls:

Rad Binary Image Icon

RadBinaryImage

RadBinaryImage gives you an easy way of showing an image stored as binary data in a database. The control can be used in any data bound control (Repeater, DataList, GridView, etc.) to display images which originate from binary image field in the data source. RadBinaryImage uses an internal http handler which streams the image from the binary source to the page in which it has to be visualized.

The most important properties of the RadBinaryImage control are presented in the list below:
  • DataValue - property which specifies the source field from which the data will be passed as a byte array
  • Height - specifies the height of the binary image
  • Width - specifies the width of the binary image
  • AlternateText - the text that will replace the image when it is not available/cannot be streamed
  • ToolTip - the text that will be displayed in a browser tooltip when you hover the image
  • AutoAdjustImageControlSize - scales the image based on explicitly set width/height dimensions to avoid stretch or blur effect when its original dimensions do not fit. The default value is true.
  • HttpHandlerUrl - can be used to specify the location of a custom http handler which extends the default RadBinaryImage http handler. When not set, RadBinaryImage has its own handler which is invoked through the common Telerik.WebResource.axd handler.
  • ImageUrl - applicable when no DataValue is specified to gracefully degrade to regular asp Image mode.
  • ImageAlign - specifies the image alignment inside its container.
RadCaptcha Icon

RadCaptcha

Telerik RadCaptcha is UI control that provides two major strategies for protection against automated form submissions:
  • Image With Modified Symbols (Captcha Image) - They are displayed in a form, and the user is required to input the symbols in a textbox. The Image is generated with an HttpHandler.
  • Automatic Robots Discovery - this strategy uses predefined rules which decide whether the input comes from a robot or not. At this point, there are two implemented rules that could be applied either separately or simultaneously.
    • Minimum form submission time - the presumption is that a human cannot input the fields in a form correctly for a time less than 3 seconds (this is set by default, and could be modified). If the submission is executed faster than the predefined value, it is assumed that the executor is a robot.
    • Hidden textbox in the form (the so-called "honeypot") - this rule requires the insertion of a textbox which is not visible when the form is styled. Still, it will be detected by a robot, and therefore if any data is entered, the executor is considered to be a robot.

Key features:

  • Three Modes for Protection - you can easily define which spam protection strategies to be used for spam protection. For maximum security, by default, all of them are used.
  • Set Custom Error Message - the error message that is displayed when the condition being validated fails. Depending on which protection strategy is used, the respective error message is displayed.
  • Background and Line Noise Level of the Captcha Image - you can easily control the background and the line noise of the Image by setting the respective value (None, Low, Medium, High or Extreme). The default level of the background noise is Low and of the line noise is None.
  • Font Family and Font Warp of the Catcha Image - you can easily choose which font family to be used for the Image text. Arial is used as a default value for the font family. Furthermore, the amount of random font warping to apply to the rendered text can be changed by setting the CaptchaFontWarp property. The default amount of font warping is Low.
  • Text Length and Possible Characters of the Catcha Image - the default length of the text is 5 characters, and the characters could be either letters or either numeric characters. Alternatively, you can choose what kind of characters to be used (only letters or only numeric characters), and change the length of the text.
  • Maximum time interval of the Captcha Image - the maximum number of minutes the Captcha Image will be cached and valid.
  • Minimum Timeout - minimum number of seconds the form must be displayed before it is valid. If you're too fast, you must be a robot. This is set when “Minimum form submission time” mode is used for Spam Protection.
RadListBox Icon

RadListBox

RadListBox is a powerful ASP.NET AJAX control to display a list of items. It allows for multiple selection of items, reorder and transfer between two listboxes. Drag and drop is fully supported as well. You can easily control the appearance by arranging the buttons in different layouts or changing their text. Icons and checkboxes are also supported within the listbox items.

The ListBox implements a highly efficient semantic rendering, which uses list items and CSS instead of tables. As a result the HTML output is significantly reduced, which dramatically improves performance.

RadListBox can be bound to all ASP.NET 2.0 declarative datasources (ObjectDataSource, XmlDataSource, SqlDataSource, etc) as well as the ASP.NET 3.5 LinqDataSource. Binding to XML strings as well as automatic database updates are fully supported.

The ListBox control has a rich client-side API and comprehensive set of events guaranteeing full control over various functions performed on the client. You can easily add/delete/update items at the client side and all the changes will be persisted on the server as well. The rich client-side API provides unbeatable performance and desktop-like experience.

RadListBox is shipped with a rich set of skins that allow you to easily build slick interfaces with the look-and-feel of Windows Vista, Office 2007, Outlook, etc. The skins can be easily switched using a single property.

RadXmlHttpPanel Icon

RadXmlHttpPanel

Telerik RadXmlHttpPanel is an UI control that serves as a container for rapid content loading. You can place diverse content on the RadXmlHttpPanel: rich user content, user controls or just about anything that could be added on a page.There are three ways for loading data on the RadXmlHttpPanel. These are: AJAX, Client Callback and WebService. Each of them has strong or weak points, so which one should be used depends solely on the scenarios the RadXmlHttpPanel is used in.

  • AJAX - It is the slowest of the three. This is happening because, when AJAX is used the controls affected are destroyed and recreated on the page, so the state of the controls is saved and posted back from the server, together with the content of the RadXmlHttpPanel. On the other hand the AJAX framework is flexible and universal. It can be used in many different scenarios.
  • Callback - When a client callback is used, only the RadXmlHttpPanel content is retrieved from the server, in contrast when using AJAX. The client state is not affected by the postback, so no need the state of the controls to be restored. Moreover, a handler for the OnServiceRequest event of the RadXmlHttpPanel should be specified to handle the data request which is not the case when using a WebService.
  • WebService - can be used to handle the data request of the RadXmlHttpPanel. The WebMethodPath and the WebMethodName properties should be set and the RadXmlHttpPanel automatically retrieves and loads the data. Similarly as in the Client Callback the client state is not affected.
  • The WebService and the Callback are maybe faster ways to load content, but their usage is specific and not as flexible as in the case when AJAX is used.

New Installer

  • RadControls for ASP.NET AJAX Visual Studio Extensions are now shipped with the controls, allowing the creation, configuration and upgrade of a Telerik Web (WebSite or Web Application)
  • A new model of toolbox item installation, allowing more stable toolbox items and improving the developer experience.
  • Improved installation/uninstallation time.
  • Improved status messages and progress information during the install
  • Following the new trends, the installer is now based on WiX.
  • And last, but not least, for your viewing pleasure – the improved UI.

Visual Studio Extensions

What’s New:

  • ObjectDataSource can now be used when creating DataBinding scenario pages.
  • LinqDataSource can now be used when creating DataBinding scenario pages.
  • The Upgrade and Configure wizards now check for the Telerik.Web.Design assembly existence in GAC or in the Telerik.Web.UI assembly source location to help avoiding design time errors.
  • New template added - RadWindow login form.
  • AccessDataSource can now be used when creating DataBinding scenario pages.
  • XmlDataSource can now be used when creating DataBinding scenario pages.
  • When creating a DataBinding scenario page with SqlDataSource, there is a new wizard page asking if to save the connection string to the web.config file.

What’s Fixed:

  • When reconfiguring a WebSite with a file-based Telerik.Web.UI, which is in GAC, the IDE now displays a warning message that GAC reference is used instead and the assembly does not get copied to the local bin folder.
  • All templates are now reworked to use the new DataSourceSelector instead of having only SqlDataSource.
  • When creating a new project or reconfiguring an existing one the wizard now displays only assemblies with matching website Target Framework version (applicable for Visual Studio 2008). In Visual Studio 2005 only .NET 2.0 assemblies are displayed.
RadCalendar Icon

RadCalendar

What’s New:

  • Screen boundary detection for calendar/time view popup
  • Explicit expand popup direction setting for expand calendar/time view popup
  • RadDateTimePicker property - ZIndex
  • RadDateTimePicker popups can now be opened/closed with a space bar keypress if the respective button is focused
  • RadDateTimePicker buttons' focused style
  • RadDateTimePicker property - ShowPopupOnFocus

What’s Fixed:

  • Fixed: Inconsistent behavior of RadDateInput and RadDateTimePicker when setting min/max date client-side
  • Fixed: set_enabled() client method not working as expected for RadCalendar and RadDateTimePicker in some scenarios
  • Fixed: set_presentationType() client method not applied until the user navigates to another month
  • Fixed: RadDateTimePickers expand incorrectly to 100% in VS2008 design time
  • Fixed: Dynamically set RadTimeView TimeFormat and Culture properties not persisted after PostBack
  • Fixed: RadDateTimePicker should behave like an inline-block element in IE8 compatibility mode (with meta tag)
  • Fixed: Calendar popup won't show after AutoPostBack when using shared calendar
RadColorPicker Icon

RadColorPicker

What’s New:

  • Two new values for the PaletteModes property – HSB, HSV
RadEditor Icon

RadEditor

What’s New:

  • Added a new function to the editor server API - SetPaths(). Used to set the paths for one or more editor dialogs.
  • Updated server API of RadEditor class. File manager properties (ImageManager, DocumentManager, etc.) now have setters (they were read-only)

What’s Fixed:

  • Fixed: A problem with previewing animated GIF files in the Image Manager dialog in Internet Explorer
  • Fixed: A problem where the editor makes an extra request for the page if the table layout CSS property is empty
  • Fixed: Document Manager does not update the link text field properly when selecting files
  • Fixed: Custom dialog handlers could throw an exception if they need to access dialog parameters early in the page lifecycle
  • Fixed: Document Manager does not load correctly if you have added custom tabs to the Link Manager dialog
  • Improved localization support - allowing custom localization strings to be used in editor dialogs and fixing an issue with image/document manager localization
  • Fixed: A problem with the RealFontSize tool in Safari 4 and latest version of Google Chrome browsers
  • Improved handling of < pre > tags under Firefox (new lines are no longer converted to < br > elements)
  • Fixed: When using the real font size dropdown in Safari 3, the applied font name is sometimes removed from the selected content
  • Fixed: The editor should run its content filters when submitting the content in HTML mode
  • Fixed: Allow empty file name suffix in Image Editor dialog (instead of the default "_thumb")
  • Fixed: The editor should not copy stylesheets that are not intended for the content area (e.g. with media='print')
  • Fixed: Media manager dialog does not display some of the media options in IE
  • Fixed: Document Manager insert button should not do anything if no file is selected
  • Fixed: The editor is not editable in FireFox when "Remember passwords for sites" option is disabled
  • Fixed: Relative URLs become absolute in IE when they are between comment tags
  • Fixed: A problem with editor size when it was originally invisible, and then made visible.
  • Fixed: A problem with FormatBlock command in a scenario with selected block tag which happens to be the top element in the content area.
  • Fixed: ImageEditor dialog's crop Mechanism to work correctly with large images with scrolling.
RadFormDecorator Icon

RadFormDecorator

What’s New:

  • New, faster rendering: The new RadFormDecorator is more flexible, as it covers a number of scenarios that the old rendering was not possible to accommodate in a seamless cross-browser manner. Examples are: changing the text of a button on the client-side with javascript, attaching event handlers to a button, providing additional styling to fieldset elements, etc. The new rendering works much faster because it takes heavy advantage of the browser’s CSS engine. The old rendering relied stronger on JavaScript because of its IE6 support. Now the core implementation targets newer browsers, and the code is branched for IE6 where necessary. The new rendering also performs much better with partial page updates (AJAX).
  • Support for styling SELECT (asp: DropDownList and asp:ListBox) elements.
RadFileExplorer Icon

RadFileExplorer

What's New

  • Eliminated the initial AJAX request to bind the grid. Grid data is rendered on the page now
  • Optimized rendering when paging is enabled (grid used to render 100 empty rows in HTML). Optimized initial load time - 1 Ajax request made instead of 2.
  • Added localization for the grid pager when AllowPaging is set to true. The new localization string in RadEditor.Dialogs is Common_GridPagerText
  • Remove unneeded context menu and toolbar items. If UploadPaths is empty, no Upload, New Folder, or Rename. If DeletePaths is empty - no delete.
  • Updated file explorer serialization to work in web applications without ReflectionPermission (modified Medium trust level)
  • Added a new server property - ExplorerMode. When set to FileTree, the grid will be hidden and the files will be displayed in the tree (treeview only mode for the FileExplorer)
  • Renamed the "pathSeparator" property in the content provider model to "PathSeparator" (correct case for public properties)
  • Added file and folder copying feature for the control. To enable, set the EnableCopy server property to true. Added two new methods to content provider model (CopyFile, CopyDirectory).
  • Update server API to allow using custom columns with the explorer grid
RadGrid Icon

RadGrid

What’s New:

  • New GridBinaryImageColumn - each cell in a GridBinaryImageColumn contains an image streamed from a binary image source field (specified through the DataField property of the column). When used this column will show a RadBinaryImage control in view mode and RadUpload in edit mode to upload an image.
  • New GridImageColumn - can be used to display images by specifying image urls with options for sorting and filtering by field in the grid source specified through the DataAlternateTextField property of the column.
  • Keyboard support improvements - shortcuts for gaining focus, displaying the insertion form or refreshing the grid, improved navigation when editing/inserting records, options to toggle the active row cycle/multiple selection, built-in synchronization for active and selected grid row, etc.
  • NestedViewTemplate relations - the nested view template supports server-on-demand load mode and declarative hierarchy relations
  • Added support for indexing the GridGroupFooterItem by column uniquename.
  • Improvement: new implementation of Telerik.Web.UI.Grid.ScrollIntoView method in RadGrid client API
  • Added OnDataSourceResolved and OnDataBindingFailed client-side events raised for declarative client-side databinding
  • Added support for exporting checkboxes' value to html excel format
  • Improvement: JPEG files compatibility in the RadGrid's PDF export engine

What’s Fixed:

  • Fixed: MasterTableView object is not correctly instantiated when OnPopupShowing client-side event is raised
  • Fixed: HeaderContextMenu column's checkboxes are not checked initially with IE6
  • Fixed: Should be able to drag an item without selecting it first when multirow selection is enabled and EnableDragToSelectRows is false
  • Fixed: Setting column's datatype declarative should be case insensitive
  • Fixed: RadGrid GridCheckBoxColumnEditor - does not apply styles if external edit is used
  • Fixed: RadGrid pager - does not show current page if client OnCommand is handled
  • Fixed: GridDateTimeColumn AutoPostBackOnFilter does not behave correctly when PickerType is different than None
  • Fixed: Client-side databound grid does not show/hide properly columns that are previously shown/hidden with client API
  • Fixed: PageSizeCombo does not reflect changes of page size when RadGrid is populated client-side
  • Fixed: RadGrid hideColumn client method does not hide column in FireFox if only 1 column in RadGrid
  • Fixed: RadGrid row resize does not work properly in Chrome/Safari + clears event handlers for hovered controls
  • Fixed: RadGrid GridClientDeleteColumn does not generate proper script when client-side data-binding
  • Fixed: Column's width is not persisted when columns are reordered client-side
  • Fixed: RadGrid header is not displayed when UseStaticHeaders="true", PagerStyle Position="Top" / "TopAndBottom" and AllowPaging is not set to "True"
  • Fixed: Headers should be shown if there are no records when exporting to ExcelML
  • Fixed: RadGrid footer does not expand properly when static headers and auto layout are used
  • Fixed: Filtering with calculated column when grid is bound to a collection of custom objects with LinqExpressions enabled throws an exception
  • Fixed: Column resizing does not work as expected in IE8/Firefox/Chrome after hiding a column
  • Fixed: AlternatingItemStyle from higher hierarchy level not merged with the lower level styles in some cases
  • Fixed: Overflowing cell content in IE8 and non-IE browsers when using fixed table layout
  • Fixed: ButtonCssClass property not applied to DetailTable columns
  • Fixed: Popup edit form modal background not sized correctly in quirks mode in IE
  • Fixed: Column resizing and item resizing does not work in IE8 if the < body > margin is not zero
  • Fixed: Misplaced group/columns reorder indicators in IE8 if the < body > margin is not zero
  • Fixed: Multirowselector area should not appear during item resize
  • Fixed: Client-side performance improvements related to high CPU load when hovering RadGrid
  • Fixed: Group arrows should not be visible while dragging a column, when the mouse is outside RadGrid
RadInput Icon

RadInput

What’s New:

  • Context parameter for RadInputManager's validation through web service
  • Rounded corners support by RadFormDecorator (only when RadInput is in tableless rendering mode) get_visible, set_visible client methods

What’s Fixed:

  • Fixed: RadInputManager - NumericTextBoxSetting does not parse correct if value of input control is "0"(zero)
  • Fixed: RadNumericTextBox and RadDateInput should prevent page scroll when focused and value is incremented/decremented with the mouse wheel
  • Fixed: InputManager's empty message fails validation on readonly textbox set as target controls to a NumericTextBoxSetting
  • Fixed: RadTextBox EmptyMessage is editable if textbox has focus and press Ecs twice
  • Fixed: RadInputControl OnError does not reflect arguments.set_cancel properly
  • Fixed: RadInputManager setting value on blur event is not parsed correctly
  • Fixed: RadMaskedTextBox shows incorrect value when Escape is pressed
  • Fixed: Validation through webservice under .NET 3.5 does not work as expected
  • Fixed: RadTextBox EmptyMessage is editable if textbox has focus and press Ecs twice
  • Fixed: OnError does not reflect arguments.set_cancel properly
  • Fixed: Textbox height and spin buttons' position not correct in quirks mode
  • Fixed: RadNumericTextBox incorrect value restored after form reset in some cases
  • Fixed: Enter keypress should not bubble in non-IE browsers when AutoPostBack="true"
  • Fixed: Incorrect value when using EmptyMessage and drag-n-drop of text in Firefox
  • Fixed: Textboxes expand incorrectly to 100% in VS2008 design time
  • Fixed: Multiline RadInputManager textboxes cannot be focused in IE if the value is multiline and SelectionOnFocus="CaretToEnd"
  • Fixed: Firefox preserves the value of password textboxes after manual page refresh
  • Fixed: SelectionOnFocus does not work in Firefox and Opera when focusing by tabbing
  • Fixed: Pressing Tab in Opera does not move the focus out of a RadMaskedTextBox
  • Fixed: RadDateInput DateFormat is ignored if contains time and the order of days and months differs from the culture's order
  • Fixed: Javascript errors in RadInputManager caused by unexpected expandos attached to Array objects
  • Fixed: RadInputManager numeric textboxes do not return a correct value with get_value() if the textbox is still focused and during validation
  • Fixed: RegisterRequiresPostBack should not be called
  • Fixed: Incorrect RadNumericTextBox value is generated when incrementing an empty textbox with a culture with a no-dot sign as a decimal separator
  • Fixed: RadNumericTextBox did not obey MaxLenth when its value was incremented with the arrow keys or mouse wheel
  • Fixed: Incorrect RadNumericTextBox value when pasting invalid characters inside the textbox
  • Fixed: MaxLength does not work in Safari and Chome when pasting
  • Fixed: RadInput should behave like an inline-block element in IE8 compatibility mode (with meta tag)
RadMenu Icon

RadMenu

What’s New:

  • Implemented selection support
  • The AccessKey property of RadMenuItem is now Localizable
  • New property: EnableSelection; Indicates if the currently selected item will be tracked and highlighted. The default value is "true" for RadMenu and "false" for RadContextMenu

What’s Fixed:

  • Fixed: The menu item CSS classes (rmFirst, rmLast, etc.) can be rendered incorrectly when using the client-side API to add, remove and reorder items
  • Fixed: The RadMenuItem get_level method can return incorrect values for root items
  • Fixed: When the menu is disabled on the client, items with NavigateUrl still navigates (under IE only)
  • Fixed: Root item scrolling behaves incorrectly in right-to-left mode in IE8
  • Fixed: JavaScript error occurs when using keyboard navigation and having hidden items
  • Fixed: JavaScript error occurrs when RadMenu is cleared and repopulated with items
  • Fixed: Vertical RadMenu with no items throws a JavaScript error
  • Fixed: JavaScript error occurrs if a RadMenu item is clicked while another one is still opening (IE only)
RadScheduler Icon

RadScheduler

What’s New:

  • The advanced pop-up form can now be opened as a popup and can be moved/dragged
  • Redesign of the advanced form
  • Introduced two new client-side methods: deleteAppointmentWithConfirmation(appointment) and editAppointmentWithConfirmation(appointment). Use them to display the standard RadScheduler confirmation dialogs when editing and deleting appointments.
  • New client-side event: OnClientAppointmentSerialized; Allows you to populate appointments with custom data before sending them to the Web Service
  • New event: OccurrenceDelete that is raised when a single occurrence is deleted, but no exception is created in its place
  • New client-side property: RadScheduler.get_resourceTypes
  • TimelineView grouped by resource when using web service data binding
  • Moved advanced form related properties to the AdvancedForm nested property - EnableAdvancedForm, EnableResourceEditing, EnableCustomAttributeEditing, EditFormDateFormat, EditFormTimeFormat. The old properties have been obsoleted.
  • New properties: AdvancedForm-Width, AdvancedForm-MaximumHeight to control the size of the modal advanced form
  • New localization strings for the advanced form title bar: AdvancedNewAppointment ("New Appointment"), AdvancedEditAppointment ("Edit Appointment"), AdvancedClose ("Close") and new localization key for the advanced form - AdvancedSubject ("Subject"); Replaces AdvancedDescription which will remain for future use
  • Potentially breaking change: The Subject text box in the integrated advanced form is now of type RadTextBox (was TextBox)
  • Potentially breaking change: The custom attribute editing text boxes in the integrated advanced form are now of type RadTextBox (were TextBox)
  • Breaking change: Customized advanced templates will not be styled correctly due to rendering changes. Please, see this KB article

What’s Fixed:

  • Fixed: AppointmentFactory is serialized in design-time in VS2008
  • Fixed: The header in week view displays wrong end date when the all-day row is hidden
  • Fixed: The ShowHeader="false" property does not work for Day and Month view grouped by resource
  • Fixed: Navigating to the next week using the right arrow button doesn't always work the first time it's clicked
  • Fixed: A JavaScript error occurs when ShowViewTabs is set to false and using Web Service data binding
  • Fixed: The root item scroll does not function correctly when the menu size is changed on the client
  • Fixed: Recurrence rule parsing (client-side) might fail for rules containing certain dates
  • Fixed: Changes done to the master appointment in the AppointmentUpdate event are discarded while removing recurrence exceptions
  • Fixed: The RadScheduler.RemoveRecurrenceExceptions method doesn't work with LinqDataSource
  • Fixed: The client-side Appointment.clone() method does not clone custom properties
  • Fixed: The WebServiceAppointmentController.RemoveRecurrenceExceptions method does not work correctly when using custom appointment type
  • Fixed: Dragging very long appointments in Timeline view causes scrolling glitches if horizontal scrolling is enabled
  • Fixed: Newly added appointments are rendered incorrectly after switching between business hours/24 hours when using web service data binding
  • Fixed: Appointments are rendered incorrectly in month view if the time zone of the browser is not an exact hour (for example +5:30) when using web service data binding
  • Fixed: JavaScript error occurrs when clicking "Options" in the inline insert form (IE only)
  • Fixed: Multiple resource values do not work when using web service data binding
RadSplitter Icon

RadSplitter

What’s Fixed:

  • All RadSplitter skins are updated so now it is easier to modify a built-in skin.
    • Moved most of the styles to the common CSS file and the skin-specific CSS files only set the correct background-images and background-colors.
    • The splitter no longer uses border-collapse:collapse - solves problems in all browsers with determining the position of elements in the splitter
    • RadSplitBars use one CSS class name that sets the correct styles to the elements of the RadSplitBar and the "over" and "error" classes simply modify some of those styles
    • Changed the elements for the RadSplitbar buttons from DIVs to INPUTs - those are more easily positioned in the middle of the RadSplitbar. As a result, there is a small change in the common CSS file of the RadSplitter. Apart from it all changes to the skins are backwards compatible.
  • The RadSplitter now calculates the correct size of its panes on the server when possible, minimizing the cases when the RadSplitter renders with its default size and then calculates and sets the correct size to its elements on the client.
RadUpload Icon

RadUpload

What’s Fixed:

  • Fixed issues that caused the browse for file dialog to never open after clicking the select button

Telerik UI for ASP.NET AJAX

Product overview Download Free Trial

New features & Roadmap

Have a feature request?

Post your feedback via the ASP.NET AJAX Feedback Portal.

What's new across all Telerik products?

See all updates

Next Steps

Launch demos

See Telerik UI for ASP.NET AJAX in action and check out how much it can do out-of-the-box.

Compare pricing

Check out the offers. Purchase an individual suite, or treat yourself to one of our bundles.

Download free trial

Try Telerik UI for ASP.NET AJAX with dedicated technical support.