sip_developers_guide_41-a4
-
Upload
eugene-lymar -
Category
Documents
-
view
86 -
download
0
Transcript of sip_developers_guide_41-a4
Sitecore Intranet Platform 4.1 Developer's Guide Rev: 20 March 2014
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Sitecore Intranet Platform 4.1
Developer's Guide A Guide and Configuration Reference for Administrators and Developers
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 2 of 35
Table of Contents
Chapter 1 Introduction .......................................................................................................................... 4 Chapter 2 The SIP Modules ................................................................................................................. 5
2.1 Draft Mode ............................................................................................................................... 6 2.1.1 Draft Versions ...................................................................................................................... 6 2.1.2 The Draft Workflow.............................................................................................................. 6 2.1.3 Sharing a Draft Version ....................................................................................................... 6 2.1.4 Who Is the Author of the Draft Version? ............................................................................. 7 2.1.5 How to Discard the Draft Version ........................................................................................ 7 2.1.6 Enabling Draft Mode ........................................................................................................... 7 2.1.7 Creating a Draft Workflow ................................................................................................... 8 2.1.8 Public API ............................................................................................................................ 8
Interfaces ...................................................................................................................................... 8 Classes ....................................................................................................................................... 10
2.1.9 Settings ............................................................................................................................. 11 2.1.10 Interaction with Other Modules ..................................................................................... 11
2.2 RSS ....................................................................................................................................... 12 2.2.1 RSS Settings ..................................................................................................................... 12 2.2.2 Disabling RSS Feeds ........................................................................................................ 12 2.2.3 The Feed Entry Content Field ........................................................................................... 12 2.2.4 Public API .......................................................................................................................... 13
Interfaces .................................................................................................................................... 13 Classes ....................................................................................................................................... 14 Pipelines ..................................................................................................................................... 15 Processors ................................................................................................................................. 16 Pipeline Arguments .................................................................................................................... 16
2.3 Language Engine .................................................................................................................. 18 2.3.1 How to Use the Language Engine Module ....................................................................... 18 2.3.2 Public API .......................................................................................................................... 18
Interfaces .................................................................................................................................... 18 Classes ....................................................................................................................................... 19 Pipelines ..................................................................................................................................... 20
2.3.3 User Interface .................................................................................................................... 21 2.3.4 Interaction with Other Modules ......................................................................................... 21
2.4 Profiles .................................................................................................................................. 22 2.4.1 Public API .......................................................................................................................... 22
Interfaces .................................................................................................................................... 22 Classes ....................................................................................................................................... 23 Processors ................................................................................................................................. 23 Pipelines ..................................................................................................................................... 23 Pipeline arguments .................................................................................................................... 23
2.5 Easy Upload .......................................................................................................................... 24 2.5.1 Settings ............................................................................................................................. 24 2.5.2 Managing Attachments ..................................................................................................... 24 2.5.3 Using the Silverlight Easy Upload Control ........................................................................ 24 2.5.4 Share Media ...................................................................................................................... 24 2.5.5 Public API .......................................................................................................................... 24
Interfaces .................................................................................................................................... 24 Classes ....................................................................................................................................... 25 Processors ................................................................................................................................. 25
2.5.6 Package Contents ............................................................................................................. 25 Layouts ....................................................................................................................................... 25 Models ........................................................................................................................................ 25 Renderings ................................................................................................................................. 25 Sublayouts .................................................................................................................................. 25 WebEdit buttons ......................................................................................................................... 25
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 3 of 35
2.5.7 Commands ........................................................................................................................ 26 2.6 Site Tools .............................................................................................................................. 27
2.6.1 Package Contents ............................................................................................................. 27 2.6.2 Commands ........................................................................................................................ 27 2.6.3 Public API .......................................................................................................................... 27
Pipelines ..................................................................................................................................... 27 Pipeline arguments .................................................................................................................... 28
2.7 Send Email ............................................................................................................................ 29 2.7.1 Templates .......................................................................................................................... 29 2.7.2 Public API .......................................................................................................................... 29
Interfaces .................................................................................................................................... 29 Classes ....................................................................................................................................... 29 Pipelines ..................................................................................................................................... 30 Pipeline Arguments .................................................................................................................... 31
Chapter 3 Obsolete and Deprecated Modules................................................................................... 32 3.1 Search ................................................................................................................................... 33
3.1.1 Configuration ..................................................................................................................... 33 3.1.2 API ..................................................................................................................................... 33
3.2 DCF ....................................................................................................................................... 34 3.2.1 Obsolete Module API ........................................................................................................ 34 3.2.2 Obsolete Controls.............................................................................................................. 34
Offered Replacement ................................................................................................................. 34 3.2.3 Obsolete Templates: ......................................................................................................... 34
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 4 of 35
Chapter 1
Introduction
The Sitecore Intranet Platform Developers Guide gives an overview of Sitecore Intranet Platform (SIP) 4.1 modules and describes how to configure and use them. The guide provides basic information about the architecture, features and editing of SIP. It is primarily designed for SIP local developers who have permissions to edit a specific SIP website.
The Developer's Guide contains the following chapters:
Chapter 1, Introduction This chapter is a description of the content, aims, and the intended audience of this manual.
Chapter 2, Description of Modules This chapter describes the modules and how to configure SIP.
Chapter 3, Obsolete and Deprecated Modules This chapter describes the modules that have been removed from the SIP package and outlines how to replace the features.
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 5 of 35
Chapter 2
The SIP Modules
SIP 4.1 is “modular.” The key pieces of functionality that make up the product can be deployed together or as separate modules and easily integrated into the CMS and other Sitecore products. To provide a flexible platform for intranet deployments, all front-end customization and implementation is left to the partners. If certain modules are not required or deployed, the rest of the modules will still work together.
This chapter describes all the SIP 4.1 modules, their usage, and configuration, and it provides a detailed description of the public API for each module.
This chapter contains the following sections:
Draft Mode
RSS
Language Engine
Profiles
Easy Upload
Site Tools
Send Email
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 6 of 35
2.1 Draft Mode
SIP lets users save draft pages. This feature is called draft mode. The Draft Mode module is based on CMS workflows. Draft mode is only enabled for specific workflows and sites. For more information on how to configure workflows and sites, see the section Settings.
Draft mode can be configured in the Intranet.DraftMode.config file. The Draft Mode module
replaces ItemProvider. Unlike the Language Engine or Profiles modules, you do not need any code to use this module. You can use public API to work with draft versions.
Important
To make draft mode work correctly in live mode, you must ensure to turn the enableWorkflows and
filterItems settings on for the sites that you want to use draft mode on.
2.1.1 Draft Versions
SIP supports draft versions. This allows users to save an item without publishing it on the intranet, and these items are only visible to the author in edit mode. A draft version is created when you edit an item that is in the Final workflow state. Similarly, a draft version is also created when you create a new item that is based on a template that has been assigned to the Draft workflow.
2.1.2 The Draft Workflow
SIP comes with the Draft workflow.
The Draft workflow contains two workflow states:
Draft – the item is unpublished
Published – the item is published
You can configure any number of Draft workflows.
The Use Draft Mode Workflow base template uses the Draft workflow by default. All the templates that are based on this template will also use the Draft workflow. If the item’s workflow has not been added to the draft mode configuration, the draft mode will not be applied to the item. It will use the standard CMS logic.
Note If a workflow has more than two states, all of the states before the final one are draft states. The items can only be published when they are in the final workflow state
2.1.3 Sharing a Draft Version
The draft version of an item can be accessed using a shared link. This may be useful when you want to share a draft version with another user before the item is published.
The given functionality is implemented using the GetDraftShareLink() method of the
IShareLink interface.
The shared link is a link to the item that uses the special dmdf query. There is a
Sitecore.Intranet.DraftMode.Pipelines.DraftModeDisablingProcessor in the
httpRequestBegin pipeline, which reacts on the query and allows a non-author to receive the draft
version.
When you receive a shared link, you can access the draft version during a single browser session. If you close the browser or begin a new session, you must use the shared link. Consequently, if you open this item again during the same session, you will see the shared draft version.
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 7 of 35
2.1.4 Who Is the Author of the Draft Version?
The author of the draft version is the only person who can see and edit this version in the Page Editor. Even if you share the draft version with another user, for example, a manager, and that person edits the item, as the original author you are still the owner of the item until it is published.
SIP uses the following prioritization to determine who the author of a draft version is:
1. The user who has locked the item.
2. The user specified in the Owner field of the item security section.
3. The user who has updated the item.
4. The user who has created the item.
2.1.5 How to Discard the Draft Version
If you want to discard the draft version of the item, you can use the bool Execute() method of the
IDiscardChanges interface. In this case, discarding means that you delete the version. The bool
IsAvailable() method of the IDiscardChanges interface checks whether discarding is available
for a specific user.
Note If there is only one version of the item and this is a draft version, you cannot discard it.
2.1.6 Enabling Draft Mode
Use the Enable Draft Mode tool to assign the Draft workflow to templates. The Use Draft Mode Workflow template contains the Draft workflow in __Standard Values by default. The Enable Draft Mode tool adds the Use Draft Mode Workflow template as the base template to the selected templates. As a result, all the selected templates use the Draft workflow by default.
Note To use the Enable Draft Mode tool, you must have SIP administrator rights.
To enable or disable draft mode for a template:
1. In the browser, in the address bar, type: http://your instance name /sitecore/admin/enabledraftmode.aspx.
2. On the Enable Draft Mode page, select the Enable draft mode for templates or the Disable draft mode for templates option.
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 8 of 35
3. On the Select templates page, select the templates that you want to enable draft mode for. To select all the templates in a folder, select the folder.
4. Click Next to implement these changes. You can see a list of the changes on the Results page.
2.1.7 Creating a Draft Workflow
You can create any number of draft workflows.
To create a draft workflow:
1. In the Content Editor, under the Sitecore/system/workflows item, create a new workflow.
2. In the Quick Info section of the new workflow item, in the Item ID field, copy the value.
3. In the Intranet.DraftMode.config file, find the
Intranet.DraftMode.DraftWorkflows setting and paste the item ID of the new
workflow to a value attribute of the setting node.
If more than one user needs to be able to edit an item in this workflow, for example, a content editor and the manager who has to approve the item, you must configure the Owner field to ensure that it always reflects the current author.
To configure the Owner field to support multiple users, create a SetOwnerAction command for the
Draft workflow. The SetOwnerAction command defines the Owner field. You define the
SetOwnerAction command in the Sitecore.Intranet.DraftMode.dll file in the
Website\bin folder.
2.1.8 Public API
Interfaces
Namespace Sitecore.Intranet.DraftMode.Abstractions
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 9 of 35
IDraftMode describes the main public API and contains the following methods:
Method Description
bool IsItemInDraftWorkflow
(Item item)
Determines whether a specific item is in the Draft workflow.
bool
IsVersionEditable(Item
version, string userName)
Checks whether the version of the item can be edited by a specific user.
string
GetOwnerOfVersion(Item
item)
Returns the UserName of the user, who is the owner of the
draft version.
IDisposable
GetDraftModeDisabler(bool
disableFilterItems)
Gets an instance of the DraftModeDisabler to disable the
draft mode during runtime.
If the disableFilterItems attribute is true, item filtering will
also be disabled.
bool
HasAnyPublishableVersion(I
tem item, bool
includeAllLanguages)
Checks whether there are any published versions of a specific
item. If includeAllLanguages is true, it checks the versions
in every language.
bool
IsVersionInDraftMode(Item
item)
Checks whether a specific version of an item is a draft.
bool IsVersionAccessible(
Item item, string
userName)
Checks whether a specific version of an item is accessible for a specific user.
IDisposable
GetFilterItemsDisabler()
Gets an instance of FilterItemsDisabler to disable the
filter items logic during runtime.
IDiscardChanges enables to discard the draft version and contains the following methods:
Method Description
bool Execute(Item item) Removes the draft version of the item.
bool IsAvailable(Item
item)
Indicates whether you can discard the changes that have been made to an item.
IShareLink – enables to share draft version with other users and contains the following method:
Method Description
string
GetDraftShareLink(Item
item)
Gets the link for Sitecore.Context.Site, which is used to
access the specified draft version by other users.
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 10 of 35
Classes
Namespace Sitecore.Intranet.DraftMode
Class Description
DraftModeItemProvider Extends the Sitecore.Data.Managers.ItemProvider class. Overrides the GetItem method to apply the draft mode
logic. To extend DraftMode, you must inherit your Item
Provider class from this one and set it up to be used as an
item provider in the configuration file.
Settings Implements BaseSettings.
abstract BaseSettings — enables basic settings. The class contains:
Property Description
Public abstract
Dictionary<string,
SiteContext> Sites { get;
}
Gets a collection of the sites, which Draft Mode should apply to.
public abstract List<ID>
DraftWorkflowIDs { get; } Gets a collection of the Draft Workflow IDs If an item is in one of these workflows the Draft Mode logic will be applied to it.
Namespace Sitecore.Intranet.DraftMode.FilterItems
Class Description
FilterItemsDisabler Disables the filter items logic.
FilterItemsSwitcher Enables/disables the filter items logic.
Namespace Sitecore.Intranet.DraftMode.Pipelines
Class Description
DraftModeDisablingProcesso
r Represents a processor for the httpRequestBegin pipeline
that allows you to share a draft item.
Namespace Sitecore.Intranet.DraftMode.Utils
Class Description
DiscardChanges Implements the IDiscardChanges interface.
DraftModeUtil Implements the IDraftMode interface.
ShareLink Implements the IShareLink interface
DraftModeXslHelper - allows using DraftMode in xslt renderings. The class contains:
Method Description
public string
GetDraftShareLink Gets the shared link for the draft version.
public bool
IsVersionInDraftMode Checks whether a specific version of the item is a draft.
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 11 of 35
2.1.9 Settings
The Draft Mode module configuration has the following settings:
Setting Description
Intranet.DraftMode.Sites Contains a pipe-separated list of sites for which draft mode is enabled. The default value is website.
Intranet.DraftMode.DraftWo
rkflows ID of the Draft workflow. It can contain a pipe-separated list of workflows. It is useful if you have your own workflow-based solution. The default value is "{7526E6AB-57BE-4AB9-A7C5-9EBB401375DE}" (/sitecore/system/Workflows/Draft Mode Workflow).
Note The Intranet.DraftMode.config file is located in the
Website/App_Config/Include/Intranet/Modules folder.
2.1.10 Interaction with Other Modules
When the Draft Mode module is installed, it affects CMS entry behavior, because it replaces the
GetItem method.
The DraftMode API is used by the Site Tools module. The module checks if the current user can edit the item. If the user cannot edit the item, the Draft Mode module disables the Property button.
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 12 of 35
2.2 RSS
SIP supports RSS feeds. These RSS feeds deliver the content of the updated pages as page body, images, a title, a short introduction, and so on. The exact content of the RSS feed is set up by a SIP administrator. The RSS module can contain updates for all the subpages as well as updates for the current page.
There are three default types of RSS feeds in SIP:
Content feeds (containing all the updates to a page):
o Are used by all the feeds on the intranet site except for the Updates page and News section pages.
o Contain only one feed for each intranet page that you have subscribed to. This feed is automatically updated every time the page is updated.
o Include updates for all the subpages of the page that the user has subscribed to.
News section feeds (containing the new articles in the News pages):
o Only contains updates to news pages.
Updates feeds (containing the more advanced information for each update):
o New feeds are generated every time an item is updated.
2.2.1 RSS Settings
The /sitecore/system/Modules/Intranet/RSS/Settings item contains the following settings:
NewsSectionTemplate – the News section feed is generated for every item based on this template.
NewsTemplate – the News section feed only contains items based on this template.
Item where the UpdateList is placed – is used to set the path to the item for generation of update feeds.
Updated items - include templates – update feeds contain only items of the specified templates.
Number of days to show history for – the number of the days to display new items in RSS feed.
2.2.2 Disabling RSS Feeds
RSS feeds are enabled in SIP by default.
To disable the RSS feeds on every page on the intranet site:
1. In Windows Explorer, navigate to the
Website/App_Config/Include/Intranet/Modules folder.
2. In the Intranet.RSS.config file, set the Intranet.RSS.Enabled parameter to false.
2.2.3 The Feed Entry Content Field
The Feed Entry Content field specifies a template of the RSS feed body of the item. You can customize this field. The value can be set for an individual item, an item template, and for all the templates that inherit the RSS Feed Entry Content template. Use tokens to replace the appropriate field values and configure the way information is displayed in this field. You can also apply rich text formatting to these tokens.
The format of these tokens is: [field_name].
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 13 of 35
A SIP administrator can configure how intranet pages are presented in the RSS feed. using the Feed Entry Content field or in the Content Editor, on the Presentation tab, using the RSS Feed Design button.
Note Tokens cannot contain spaces between square brackets and a field name. For example, [title], [body] are valid values, whereas [ title ], [ body ] are invalid values.
To find the correct field name to use in the token:
1. In the Content Editor, navigate to any item.
2. In the Quick Info section, click the template link.
The Template Manager window displays a list of template fields.
You can use any field as a token. Just copy and paste the field name when configuring the Feed Entry Content field.
To configure the Feed Entry Content field in the RSS Feed Entry Content template:
1. In the Content Editor, navigate to sitecore/templates/Intranet/RSS/RSS Feed
Entry Content/__Standard Values.
2. In the _Standard Values item, select the Feed Entry Content field and click Show Editor.
3. Edit the field.
In this example, we use the [title], [shortintro] and [body] tokens:
4. Save the changes.
This is how the RSS feed for this page looks:
2.2.4 Public API
Interfaces
Namespace Sitecore.Intranet.RSS.Abstractions
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 14 of 35
IRSS – describes public API.
Method Description
string GetFeedUrl(Item item) Gets the feed URL for a specific item.
bool IsEnabled(Item item) Gets value indicated whether RSS feed is enabled for a specific item.
Namespace Sitecore.Intranet.RSS
IDataService - defines the methods to get the items to include in the RSS feed.
Method Description
List<Item> GetUpdatedItems() Gets sorted list of updated items.
List<Item> GetUpdatedItems(int
maxDays, string[] templates)
Gets sorted list of updated items for a specific period and filtered by a specific template IDs.
List<Item> GetNewsItems(Item
root)
Gets the list of the news items for a specific root item.
List<Item> GetNewsItems(Item[]
roots)
Gets the list of the news items for specific roots items.
Namespace Sitecore.Intranet.RSS.Pipelines.Feeds
IProcessorHelpersFactory – defines the method to create an instance of the appropriate helper
based on the item type. Helper specifies the way item will be added to the feed.
Method Description
GeneralProcessorHelper
GetProcessorHelper(Item
feedRootItem)
Creates an instance of the helper depend on the type of a specific item.
ProcessorHelpersFactory - implements the IProcessorHelpersFactory interface.
Classes
Namespace Sitecore.Intranet.RSS
abstract BaseSettings - specifies a set of RSS Engine settings.
Property Description
public abstract string
NewsSectionTemplate { get; }
Gets a template which news section items are based on.
public abstract string
UpdateListLink { get; }
Gets an ID of the Updates root item.
public abstract string
NewsTemplate { get; }
Gets template ID which news items are based on.
public abstract string
UpdatedItemsIncludeTemplates {
get; }
Gets pipe separated list of templates which updates items are based on.
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 15 of 35
Property Description
public abstract string
RSSPatternField { get; }
Gets a name of the field that contains template presentation of an item in the feed.
public abstract string
UpdatedDays { get; }
Gets a number of days to get updates.
public abstract SiteContext Site
{ get; }
Gets a site context for processing feed requests.
Class Description
DefaultRSS Represents the default implementation of the IRSS
interface.
RSS Implements the IRSS interface.
Settings Implements BaseSettings.
DataService Implements the IDataService interface.
Namespace Sitecore.Intranet.RSS.Pipelines.Feeds.ProcessorHelpers
abstract GeneralProcessorHelper - represents the base handler of items to include in the
feed.
Method Description
public virtual List<Item>
GetFeedContentItems(Item
feedRootItem)
Gets source list of item that should be in the RSS feed for a specific root item.
public virtual SyndicationItem
GetItemPresentation(Item
feedContentItem)
Gets default syndication presentation for a specific Item.
Class Description
ContentHelper Represents handler of content RSS items.
Implements GeneralProcessorHelper.
NewsSectionHelper Represents handler of news RSS items. Implements GeneralProcessorHelper.
PortalUpdatesHelper Represents handler of updated RSS items.
Implements GeneralProcessorHelper.
Namespace Sitecore.Intranet.RSS.Feeds.FeedTypes
Class Description
RSSEngineFeed Overrides the members of the ClientFeed class to
customize rendering of RSS feeds.
Pipelines Pipeline Description
getFeedEntryPresentation Gets the syndication presentation for the item.
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 16 of 35
Pipeline Description
getFeedContentItems Gets the feed source items for the root item.
getIsFeedEnabled Checks whether the feed is enabled.
Processors
Namespace Sitecore.Intranet.RSS.Pipelines.RenderField
Processor Description
ExpandRSSBodyMarkers Defines the processor that is added to the
RenderField pipeline that replaces tokens in the
Feed Entry Content field with the appropriate field values.
Namespace Sitecore.Intranet.RSS.Pipelines.Feeds.Processors
Processor Description
DefaultFeedPresentation Represents processor of the
getFeedEntryPresentation pipeline. Builds
RSS presentation for the item.
DefaultIsFeedEnabled Represents the processor of the
getIsFeedEnabled pipeline. Checks whether
RSS is enabled in the Config file.
DefaultItemsSet Represents a processor of the
getFeedContentItems pipeline. Gets the items
that should be shown in RSS feed
Pipeline Arguments
Namespace Sitecore.Intranet.RSS.Pipelines.Feeds
FeedContentPipelineArgs - represents arguments of the getFeedContentItems pipeline.
Property Description
public Item FeedRootItem { get;
set; }
Gets or sets root item to get RSS feed for.
public List<Item>
FeedContentItems { get; set; }
Gets or sets source items to build RSS feed for.
FeedEnabledPipelineArgs - represents arguments of the getIsFeedEnabled pipeline.
Property Description
public bool FeedEnabled { get;
set; }
Gets or sets a value indicating whether RSS is enabled.
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 17 of 35
FeedPresentationPipelineArgs - represents the argument of the
getFeedEntryPresentation pipeline.
Method Description
public SafeDictionary<string>
Parameters { get;}
Gets additional parameters of pipeline call.
public SyndicationItem
SyndicationItem { get; set; }
Gets or sets syndication item presentation.
public Item ContentItem { get;
set; }
Gets or sets an item to generate presentation for.
public Item FeedRootItem { get;
set; }
Gets or sets a root item to generate RSS feed for.
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 18 of 35
2.3 Language Engine
The Language Engine module is used to show an item in a different site language if the item is not available in the requested language, but available in one of the languages that the user can understand.
Another feature of the module is to provide separate sets of languages for the content and the UI.
To do that, the module:
Contains the API to get an item in a particular language (content language, site language)
Automatically sets the context language to the site language
Provides the ContentAreaPlaceholder control to display child controls in the content
language
Provides pipelines (getContentLanguageList, getSiteLanguageList) to simplify
configuration of language lists
Provides the LanguageSwitcher class to simplify the setting of the context language for a
piece of code
2.3.1 How to Use the Language Engine Module
The Language Engine module provides the API to get an item in an alternative, available language.
To use the Language Engine module, you need to call one of the GetItemInSiteLanguage,
GetItemInContentLanguage, GetItemInContentOrSiteLanguage methods from the
ILanguageResolver interface instead of the standard CMS methods (for example,
Database.GetItem).
In addition, you can use the ContentAreaPlaceholder placeholder (or
sc:сontentAreaPlaceholder in xsl renderings) to add a control that you want displayed in the
content language, but not in the context language.
2.3.2 Public API
Interfaces
Namespace Sitecore.Intranet.LanguageEngine.Abstractions
The ILanguageResolver interface describes the public API. It contains the following methods:
Method Description
Language GetSiteLanguage() Gets the first language from the site language list.
Language GetContentLanguage() Gets the first language from the content language list.
Item GetItemInSiteLanguage(Item
targetItem)
Gets a specific item in the first available site language or null if there is no any version in any site language.
Item
GetItemInContentLanguage(Item
targetItem)
Gets a specific item in the first available content language or null if there is no any version in any content language
Item
GetItemInContentOrSiteLanguage(I
tem targetItem)
Gets a version of a specific item in the content language. If there is no version in the content language, it returns the item in the site language. If the item is not available in the site language, it gets the item in the current language.
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 19 of 35
Method Description
IDisposable
GetLanguageSwitcher(Language
language)
Returns the LanguageSwitcher object, which can be
used to switch context language, namely
Context.Language, to a specific language in the
runtime.
Namespace Sitecore.Intranet.LanguageEngine
ILanguageListSource interface describes properties to get Site and content language lists:
Property Description
IList<Language>
SiteLanguageList { get; }
Gets the list of site languages.
IList<Language>
ContentLanguageList { get; }
Gets the list of content languages
Classes
Namespace Sitecore.Intranet.LanguageEngine
BaseSettings - represents base settings of the Language Engine module:
Property Description
public abstract Language
CorporateLanguage { get; }
Gets corporate language.
public abstract IList<string>
Sites { get; }
Gets a list of sites language engine will be applied to.
ContentAreaSwitcher - contains methods to check whether code is running inside the content
area placeholder:
Method Description
public static void
EnterContentArea()
Should be called at the start of the content area.
public static void
LeaveContentArea()
Should be called at the end of the content area.
public static bool
IsContentArea()
Gets value indicates whether code is running inside the content area.
LanguageSwitcher - switches the context language. Implements the IDisposable interface, so it
can be used in statements:
Method Description
static void Enter() Pushes the current language to the language stack and sets the context language.
static void Exit() Takes the language out of the stack and sets is as the context language.
Settings - Implements BaseSettings.
LanguageResolver - Implements the ILanguageResolver interface.
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 20 of 35
Namespace Sitecore.Intranet.LanguageEngine.Xsl
LanguageEngineXslHelper - makes it possible to use Language Engine API in xslt renderings:
Method Description
public void EnterContentArea() Should be called at the start of the content area.
public virtual LeaveContentArea() Should be called at the end of the content area.
public virtual string
GetSiteLanguage() Gets the first language from the site language list.
public virtual string
GetContentLanguage()
Gets the first language from the content language list.
public virtual XPathNodeIterator
GetItemInSiteLanguage(XPathNodeItera
tor iterator)
Gets a specific item in the first available site language or null if there is no any version in any site language.
public virtual XPathNodeIterator
GetItemInContentLanguage(XPathNodeIt
erator iterator)
Gets a specific item in the first available content language or null if there is no any version in any content language
public virtual XPathNodeIterator
GetItemInContentOrSiteLanguage(XPath
NodeIterator iterator)
Gets a version of a specific item in the content language. If there is no version in the content language, it returns the item in the site language. If the item is not available in the site language, it gets the item in the current language.
Pipelines
Namespace Sitecore.Intranet.LanguageEngine.Pipelines.GetSiteLanguageList
getSiteLanguageList - sets the site language list to the arguments. The following processors are
added to the pipeline by default:
Processor Description
GetCorporateLanguage Adds the corporate language to the language list. You define the corporate language in the sitecore/system/Modules/Intranet/Language
Engine/Settings item, in the CorporateLanguage
field.
GetQueryStringLanguage Adds the language from the contentlang query string
to the list.
Namespace Sitecore.Intranet.LanguageEngine.Pipelines
getContentLanguageList - sets the content language list to the arguments. The following
processors are added to the pipeline by default:
Processor Description
GetDefaultLanguage Adds Sitecore.Context.Site.Language to the
language list.
The Language Engine module adds the Sitecore.Intranet.LanguageEngine.Pipelines.HttpRequestBegin.SetContextLanguage processor to the
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 21 of 35
httpRequestBegin pipeline. SetContextLanguage sets the context language to the site
language. The context language will be set only for sites that are defined in the
Intranet.LanguageEngine.Sites settings. By default, this setting contains only “website”.
2.3.3 User Interface
The Language Engine module provides the ContentAreaPlaceholder control. It switches the
context language to the content language for child controls.
The control can be used in layouts and sublayouts.
The sc:сontentAreaPlaceholder control can be used in xsl renderings.
There is an extension method ContentAreaPlaceholder in the
Sitecore.Intranet.LanguageEngine.UI.Mvc namespace that extends the SitecoreHelper
class.
To use the MVC control, add @using Sitecore.Intranet.LanguageEngine.UI.Mvc to your
razor page, and then add the placeholder
@Html.Sitecore().ContentAreaPlaceholder("placeholder name").
2.3.4 Interaction with Other Modules
The User Profile module adds the GetUserPreferredLanguage processor to the top of the
getSiteLanguageList pipeline. This means that the preferred language of the current user
becomes the highest priority site language.
The Language Engine module interacts with the following modules:
Easy Upload
o Gets a settings item in the site language
o Gets shared media in the site language
RSS
o Uses content or site language for feed items
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 22 of 35
2.4 Profiles
The Profiles module provides customers with a simple and customizable way of storing and editing user information and settings in the content tree.
The Profiles module uses the User Profile template, which contains a set of default fields including Name, Favorites, Preferred Language, and so on. You can change the User Profile template in the settings.
The Profiles module has the following features:
A processor for adding the user preferred language to the site language in the
getSiteLanguageList pipeline.
Storing profiles in the tree with custom depth to reduce the amount of items under each node. The possibility to use a custom template.
A list of exclude domains. Users in these domains cannot have profiles.
Storing a list of favorite items.
2.4.1 Public API
Interfaces
Namespace Sitecore.Intranet.Profiles.Abstractions
IUserProfile - The main interface to work with the profile of a user. It contains the following
methods:
Method Description
item ProfileItem { get; } Gets user profile item.
language PreferredLanguage { get; } Gets the user preferred language.
string Username { get; } Gets the name of the user.
bool AddFavorite(string favoriteID) Adds an item with a specific ID to user favorite items.
bool RemoveFavorite(string
favoriteID) Removes an item with a specific ID from user favorite items.
bool IsFavorite(string favoriteID) Checks whether item with a specific ID is user favorite item.
ItemCollection GetFavorites() Gets a set of the user favorite items.
IUserProfileProvider - the interface to get or create a profile. It contains the following methods:
Method Description
IUserProfile GetProfile(string
username) Gets a profile for a specific user.
bool CreateProfile(string userName) Creates a profile for a specific user.
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 23 of 35
Classes
Namespace Sitecore.Intranet.Profiles
Profile - implements the IUserProfile interface.
Settings - implements BaseSettings.
abstract BaseSettings - represents settings of the module. This class contains the following
properties:
Property Description
public abstract string
UserProfilesFolder { get; } Gets a path to a folder where all user profile are stored.
public abstract int
UserProfilesTreeDepth { get; } Gets the number of levels in the profile tree that the user profile will be in.
public abstract ID
UserProfileTemplate { get; } Gets an ID of the user profile template.
public abstract List<string>
ExcludeDomains { get; } Gets the list of the domains. Users in these domains cannot have profiles.
Namespace Sitecore.Intranet.Profiles.Providers
UserProfileProvider - implements the IUserProfileProvider interface.
Processors
Namespace Sitecore.Intranet.Profiles.Pipelines.GetSiteLanguageList
Processor Description
GetUserPreferredLanguage The processor of the getSiteLanguageList
pipeline. It adds preferred language to the
SiteLanguage list (from the language
engine).
Pipelines
Pipeline Description
intranetUpdateUserProfile Is called after profile creation. Make it possible to customize profile item once it is created.
Pipeline arguments
Namespace Sitecore.Intranet.Profiles.Pipelines.Args
UpdateUserProfileArgs - represents arguments of the intranetUpdateUserProfile
pipeline:
Property Description
public Item ProfileItem { get; set;
} Gets or sets profile item of the user.
public User User { get; set; } Gets or sets a user, whose update process is performing.
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 24 of 35
2.5 Easy Upload
The Easy Upload module allows uploading attachments in the Sitecore Intranet Platform. It can upload files not only to the FDA field, but also to a media library folder. The MVC Easy Upload control is also available for the Easy Upload module.
2.5.1 Settings
The Intranet.EasyUpload.ShowInBrowseMode setting in the configuration is set to true by
default, which indicates that the Easy Upload control is visible in normal mode. If this setting is set to false, the Easy Upload control is only visible in Edit mode. Use the following path to change the setting: Intranet App_Config\Include\Intranet\Modules\Intranet.EasyUpload.config file
2.5.2 Managing Attachments
Users can attach files to intranet pages by:
Using the Silverlight Easy Upload control. This is the fastest way to upload files.
Using the WebDAV Drag & Drop window. This method allows users to add and edit files.
2.5.3 Using the Silverlight Easy Upload Control
SIP users can use the Silverlight Easy Upload control to upload files. To use this control, you must ensure that Silverlight 4.0 or later is installed on the client computer.
It is possible to upload files to the media folder or an FDA field of the current item. To set up that, select the needed item; in the Content Editor, on the Presentation tab, in the Layout group, click Details. Click the Easy Upload control. The Control Properties window appears. Set the upload path in the UploadTarget field.
Note To use the FDA field for upload, clear the path in the UploadTarget field. To use the media folder for upload, set the path in the UploadTarget field.
You can set the size of the control in pixels or specify its height and width as a percentage of the size of the parent container.
The default size of the Silverlight Easy Upload control is 200 x 200 pixels.
2.5.4 Share Media
Do the following steps to share attachments between different languages of the item:
1. Add the Share Media field to the template of the item.
2. Check the Share Media field of the item.
In this case, the FDA field in all the item languages will point to the same attachments. Changing the attachments in one language will affect all other.
2.5.5 Public API
Interfaces
Namespace Sitecore.Intranet.Attachments.Abstractions
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 25 of 35
IAttachments - defines the methods to operate with item attachments
Method Description
Language GetAttachmentsLanguage(Item
item)
Gets the attachments language of a specific item.
FileDropAreaField
GetAttachmentsField(Item item) Gets the FDA field of a specific item in the appropriate language.
Classes
Namespace Sitecore.Intranet.Attachments
Attachments – implements the IAttachments interface. Makes it possible to share attachments
between the languages of the item. All the methods take into account ShareMedia setting of the item.
Processors
Namespace Sitecore.Intranet.EasyUpload.Pipelines.Upload
Processor Description
Save Adds the number of the copy to the name of an item. If you load the same file several times, you will get several items with different names, for example image.png, image (2).png, image (3).png.
2.5.6 Package Contents
Layouts
The Slideshow Manager Form is located in
\sitecore\layout\Layouts\Intranet\Attachments\Slideshow Manager Form and
used in SlideshowManageDialog.
Models
The Easy Upload model is located in
\sitecore\layout\Models\Intranet\EasyUpload\EasyUploadModel and used in the
Easy Upload MVC control.
Renderings
The Easy Upload rendering is located in \sitecore\layout\Renderings\Intranet\EasyUpload\Mvc\Easy Upload rendering
and used in MVC layouts.
Sublayouts
The Easy Upload sublayout is located in \sitecore\layout\Sublayouts\Intranet\Easy
Upload\Easy Upload sublayout and used in Web Form layouts.
WebEdit buttons
The Manage Files button is located in sitecore\content\Applications\WebEdit\Edit
Frame Buttons\Intranet\Attachments and belongs to the core database. All previous items
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 26 of 35
in the section belong to the master database. It is the Manage attachments button in the Page
Editor, which executes the filedroparea:manage command to upload files to the attachments.
2.5.7 Commands
Command Description
filedroparea:manage Opens the WebDav window in IE and
SlideshowManageDialog in other browsers.
media:intranetupload Shows the Sitecore FlashUpload dialog if
flash upload is configured, otherwise it shows
the Sitecore UploadMedia dialog box.
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 27 of 35
2.6 Site Tools
The Site Tools module extends the Page Editor ribbon with:
A Save and close button on the Page Editor toolbar, which allows you to save the document and leave Edit mode in one click.
A Property button on the Edit group of the Home tab in Page Editor, which allows you to edit fields in the standard field editor, even not visible on the layout. This button shows the fields
with checked ShowInFieldEditor only.
2.6.1 Package Contents
The Site tools package contains the following items:
Core database:
\sitecore\content\Applications\WebEdit\Ribbons\WebEdit\Buttons\Save
and close item – represents the Save and close button.
\sitecore\content\Applications\WebEdit\Ribbons\WebEdit\Page
Editor\Edit\Properties item – represents the Property button.
Master database:
The ShowInFieldEditor field was added to the
\sitecore\templates\System\Templates\Template field template. It specifies whether
the field should be available for editing in the Properties dialog box.
2.6.2 Commands
Command Description
webedit:intranetclose Closes the Page Editor by setting DisplayMode to
normal and calling the webedit:close command.
webedit:changedocument Allows editing of fields using the field editor. It uses
the getFieldEditorFields pipeline to get the list
of fields for current items that can be edited.
2.6.3 Public API
Pipelines
getFieldEditorFields - gets the list of field that should be displayed in the Property dialog box.
Processor Description
Sitecore.Intranet.SiteTools.Pip
elines.GetFieldEditorFields.Get
MarkedFields
Gets the list of item fields with checked
ShowInFieldEditor field.
Sitecore.Intranet.SiteTools.Pip
elines.GetFieldEditorFields.Get
FDAField
Replaces the FDA field with the one in the appropriate language. The share attachments logic is taken into account.
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 28 of 35
Pipeline arguments
Namespace Sitecore.Intranet.SiteTools.Pipelines.PipelineArgs
GetFieldEditorFieldsArgs - represents argument of the getFieldEditorFields pipeline:
Method Description
public Item TargetItem Gets an item which fields should be show in the Properties dialog box.
public List<FieldDescriptor> Fields
{ get; } Gets a collection of fields that should be available for editing in the Properties dialog box.
public void AddField(string field,
Item item) Adds field to a set of fields that is available for editing in the Properties dialog box.
public void AddField(Field field) Adds field to a set of fields that is available for editing in the Properties dialog box.
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 29 of 35
2.7 Send Email
The Send Email module provides a simple, flexible, and customizable way to send emails. You can get the email data from an item and perform replacements of the defined tokens.
The module allows you to:
Create an email using a template from the item and send it using the
System.Net.MailMessage type.
Replace tokens in email template fields.
Specify default tokens, which are used for all emails.
Convert email body to html.
Use special pipelines to customize each step.
2.7.1 Templates
The Email template is located at /sitecore/templates/Intranet/Send Email/Email. It has
the following fields:
Field Description
From The email sender address.
To The recipient address or recipients in a comma-separated list, which can contain tokens.
Cc The cc address or a comma separated list, which can contain tokens.
Subject The mail subject, which can contain tokens.
Body The message, which can contain tokens.
IsBodyHtml The checkbox indicating whether the body is html.
CssFile The path to the css file included in the html <style></style> tag if isBodyHtml is selected.
You can extend the default fields and use them in a custom processor through ItemMailDataSource.Item property of SendEmailArgs arguments.
2.7.2 Public API
Interfaces
Namespace Sitecore.Intranet.SendEmail.Abstractions
ISendEmail - specifies methods to compose and send emails based on the email templates.
Method Description
void Send(Item messageTemplate,
NameValueCollection replacements)
Sends email composed from the template stored in specific item using specific replacements and sends it.
Classes
Namespace Sitecore.Intranet.SendEmail
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 30 of 35
SendEmail - implements the ISendEmail interface. It also contains the additional method.
Method Description
public void Send(ItemMailDataSource
itemMailDataSource,
NameValueCollection replacements)
Composes an email from a specific source using specific replacements and sends it.
ItemMailDataSource - represents a source of the email template.
Property Description
public string From { get; set; } Gets or sets an address of email sender.
public string To { get; set; } Gets or sets receiver address or comma separated list of receiver addresses.
public string Cc { get; set; } Gets or sets carbon copy (CC) receiver address or comma separated list of CC receivers addresses.
public string Subject { get; set; } Gets or sets a subject of the email.
public string Body { get; set; } Gets or sets body of the email. The body can be ether plain text or HTML markup.
public string CssFile { get; set; } Gets or sets a path of the css file that contains styles of the mail body.
public Item Item { get; } Gets the target email template item.
public bool IsBodyHtml { get; set;
}
Gets or sets value indicates whether Body is plain text or HTML markup.
The class has two constructors:
Constructor Description
public ItemMailDataSource() Default constructor.
public ItemMailDataSource(Item
item) Fills the properties from item fields.
Pipelines
Pipeline Description
sendEmail.addDefaultReplacements Appends default replacements to the replacement set. By default, this pipeline contains a single processor Sitecore.Intranet.SendEmail.Pipelines.A
ddDefaultMailReplacements.AddDefaultRep
lacements, which appends the current user
$CurrentUser$ and the current site $CurrentSite$ to the replacements collection.
sendEmail.sendMessage Sends email message using the
Sitecore.MainUtil.SendMail method.
sendEmail.createMessage - composes the email based on the specified template. By default, it
consists of two processors:
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 31 of 35
Processor Description
Sitecore.Intranet.SendEmail.Pipeline
s.CreateMailMessage.CreateMailMessag
e
Performs replacements in the following fields: to, cc, subject and body and set IsHtml property in MailMessage.
Sitecore.Intranet.SendEmail.Pipeline
s.CreateMailMessage.ConvertToHtml
Converts the body to html and appends a style to it from the css file style if IsHtml property is set.
Pipeline Arguments
Namespace Sitecore.Intranet.SendEmail.Pipelines.Args
SendEmailArgs - sends email pipelines arguments.
Property Description
public ItemMailDataSource
MessageTemplate { get; } Gets the source of email template.
public NameValueCollection
Replacements { get; } Gets the replacements collection.
public MailMessage MailMessage {
get; } Gets the result email
(System.Net.Mail.MailMessage).
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 32 of 35
Chapter 3
Obsolete and Deprecated Modules
This chapter describes the obsolete modules and those that have been removed from SIP 4.1 and possible replacements for their features.
This chapter contains the following sections:
Search module (removed).
DCF module (obsolete).
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 33 of 35
3.1 Search
All features of the Sitecore.Intranet.Search have been removed from the Platform package
and are not supported anymore.
3.1.1 Configuration
The Platform package does not provide the "intranet" search index. Parsing of documents using
IFilter is included into CMS by default.
3.1.2 API
You can use Sitecore 7.x API instead of the
Sitecore.Intranet.Search.Abstractions.ISearch interface.
The following code searches all items in the master database, which use the Samples template and have English language assigned:
var index = ContentSearchManager.GetIndex("sitecore_master_index");
using (var context = index.CreateSearchContext())
{
var searchResultItems =
context.GetQueryable<SearchResultItem>()
.Where(item => item.TemplateName == "Sample Item")
.Where(item => item.Language == "en")
.ToList();
}
For more information about Sitecore 7.x search, please refer to the Sitecore Search and Indexing Guide and Developer's Guide to Item Buckets and Search guides.
Sitecore Intranet Platform 4.1
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 34 of 35
3.2 DCF
The DCF module is obsolete and will be removed in a later version of SIP. You can use the Sitecore tagging system instead (Sitecore 7.x).
3.2.1 Obsolete Module API
IDCF interface - contains the following methods:
Method Description
bool
AreTargetGroupsSupported(Item
item)
Checks whether the specified item contains a field that stores target groups. This method is not necessary anymore.
bool IsUserSubscribedTo(Item
item) Checks that an item matches the subscription filters set by the current user. You can add “Semantic” field to the user profile template from the Profiles module to store subscribed user tags and compare this field with the item Semantic field, included to the standard fields in Sitecore 7.x.
This piece of the DCF feature can be implemented using the __Semantics field instead of target groups.
3.2.2 Obsolete Controls
Target Group Field – allows you to assign target groups to items. The control is used in the Content Editor.
User Target Groups control – contains a link to open the Target Groups Form. This control can be used at frond end.
Target Group Form – allows user to view or change subscribed Target Groups. This control can be used at frond end.
Offered Replacement
Target Group Field – there is no need for this control because the tagging assignment is already part of the CMS.
User Target Groups control – the control, which utilizes the tagging feature, can be created, or the Properties dialog box (from the Site Tools module) can be used.
Target Group Form – the control, which utilizes the tagging feature, can be created or the Properties dialog box from the Site Tools module can be used.
3.2.3 Obsolete Templates:
Templates
o Target Group – describes a target group.
o Target Groups – describes a target groups section.
Target Group field – the source points to the target group tree.
Publish to All Users field.
Target Groups Form – describes the Target Groups dialog box.
Developer's Guide
Sitecore® is a registered trademark. All other brand and product names are the property of their respective holders. The contents of this document are the property of Sitecore. Copyright © 2001-2014 Sitecore. All rights reserved.
Page 35 of 35
There is no need for these templates.