Skip to main content

Posts

Sitecore 9 Dynamic CRM Connector: Sync CRM field with Sitecore custom facets (Part 7)

Sitecore 9 Dynamic CRM Connector: Sync CRM field with Sitecore custom facets (Part 7) In previous blog, we have discussed how to sync Sitecore custom facets to CRM. Dynamic CRM Connector comes with out of box functionality to sync CRM with Default facets, but we are going to discuss how we can sync CRM with Sitecore custom facets. Step 1: Specify how to read from the Dynamics contact Navigate to this location “/sitecore/system/Data Exchange/XXX/Data Access/Value Accessor Sets/Providers/Dynamics/Dynamics Contact” Add the following item: Template: Entity Attribute Value Accessor Item Name: GraduateYear on Dynamics Contact Set the following field values: Attribute Name: CRM Field Name Value Type: Option Set Value (If dropdown, if checkbox select Formatted Value otherwise blank for single line) Step 2: Specify how to write to the Contact facet Navigate to this location “/sitecore/system/Data Exchange/XXX/Data Access/Value Accessor Sets/Providers/xConnect” Add t

Create custom data attribute for Sitecore 9 Form Field

Create custom data attribute for Sitecore 9 Form Field Sitecore Forms provides you default form field like Text, Single-line text, Multi-line text, Email, Telephone, Checkbox except this it is very easy to create our custom Sitecore form field and custom Sitecore form field attribute. In this blog, we are going to discuss how to create custom Sitecore form field attribute in existing Single-line text. Move to the location /sitecore/templates/System/Forms/Fields/Field  and add CustomAttribute field with Single-Line Text Switch to Core db and go to this location /sitecore/client/Applications/FormsBuilder/Components/Layouts/PropertyGridForm/PageSettings/Common/Styling Create duplication item of CssClass and rename it with CustomAttribute Update FormLabel to Custom Attribute Add BindingConfiguration to customAttribute Now go to this location "/sitecore/client/Applications/FormsBuilder/Components/Layouts/PropertyGridForm/PageSettings/Settings/SingleLine

Sitecore 9 Dynamic CRM Connector: Conditionally Sync Sitecore Field (Part 6)

Sitecore 9 Dynamic CRM Connector: Conditionally Sync Sitecore Field (Part 6) Part 5:  Schedule Pipeline Batches in Sitecore 9 Dynamic CRM Connector   There can be the situation while you are syncing xDB contacts to CRM and you want to update some field on the basis of some logic. Just like the below condition where I wanted to sync to “Birthdate” when it is above 1990 otherwise, it will be blank in CRM. Apply Mapping Rules To apply mapping rules firstly create custom class “BirthdateValueMappingRule”         namespace Namespace { public class BirthdateValueMappingRule : IApplyMappingRule { public readonly int Year = 1990; public readonly string FacetName = "Personal"; public bool ShouldMappingBeApplied(object value, IMapping mapping, MappingContext context) { if (value != null && context != null) { var MappingSource = (EntityModel)context.Source; var MappingFacets = Mappin

Schedule Pipeline Batches in Sitecore 9 Dynamic CRM Connector (Part 5)

Schedule Pipeline Batches in Sitecore 9 Dynamic CRM Connector (Part 5) Part 4 :  Sitecore 9 Dynamic CRM Connector: Custom pipeline to filter contacts Scheduler is a simple way to execute some task with intervals. To schedule a Dynamic CRM Connector task, Sitecore provides you out of box functionality. There are two steps which need to follow: Step 1: Create Command         Navigate to this location “/sitecore/system/Tasks/Commands/Data Exchange” and create an item        There will be a two type of command “Run All Pipeline Batches Command” and “Run Selected Pipeline Batches Command” Create command according to your requirement Navigate to “Pipeline Batched” field for “Run Selected Pipeline Batches Command” and “Pipeline Batches Root” for “Run All Pipeline Batches Command” and select relevant pipeline Step 2: Create Schedule Navigate to this location “/sitecore/system/Tasks/Schedules” Create new “Schedule” Select “Command” which you have create

Sitecore Certification Sample Questions

Sitecore Certification Sample Questions I have completed the Sitecore 9 certification in 2019 and Sitecore 8.2 Certification in 2018. Let me tell you if you have some knowledge about Sitecore then it will be easier for you to understand questions and clear certification exam. Your main focus should be to understand the questions and answers carefully because it is too confusing There will be two options to give the exam: Install the software in your laptop (Laptop should have mic and webcam) Authorized training Center If you have proper Internet, then you can choose option 1 otherwise option 2 is a good choice. Disclaimer : Please note that the below question is only for information purpose only. Below question does not claim the accuracy of the content. Sample Questions: Question 1: What is the name of Component architecture guideline of Sitecore? Answer : Helix Question 2 : What is horizontal scaling and vertical scaling? Answer :  https://doc.

Sitecore 9 Dynamic CRM Connector: Custom pipeline to filter contacts (Part 4)

Sitecore 9 Dynamic CRM Connector: Custom pipeline to filter contacts (Part 4) Part 3 :  Sitecore 9 Dynamic CRM Connector: Sync Known contacts (Part 3) As per my requirement, I had multiple Sitecore 9 Forms, in each form I am saving contacts in xDB but I want to sync contacts to CRM which is submitted by a specific form. To fulfil this requirement, I have created custom model & facet and according to custom facets, I have applied logic that only those contact will be sync which contact has the custom model.  Also, I have created a pipeline to get the required properties. Step 1: Create custom pipeline template         Navigate to this location “/sitecore/templates/Data Exchange/Framework/Pipeline Steps” and create new template o    Template : /sitecore/templates/Data Exchange/Framework/Pipeline Steps/Base Pipeline Steps/Base Pipeline Step o    Item Name: Custom Filter Pipeline Step       Add IterableDataLocation field: o    Name: IterableDataLocation

Create Sitecore Custom Admin Page

Create Sitecore Custom Admin Page Sitecore provides you lots of Admin pages just like ShowConfig.aspx, cache.aspx, Logs.aspx, howServicesConfig.aspx, etc. which you can check from here http://<yoursite>/sitecore/admin/. All Sitecore Admin pages is available in this folder “sitecore/admin/*” Sometimes there can be requirement that you want to create custom Admin page which will be accessible to Admin/Non-Admin user. Here is an example: Create aspx page “CustomAdminPage.aspx” inside “<root>/sitecore/admin” folder <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomAdminPage.aspx.cs" Inherits="Namespace.CustomAdminPage" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Custom Admin Page</title> <link rel="stylesheet" type="text/css" href="/sitecore/she

EXM Error: TypeError: ribbonFrame is undefined in Sitecore 9.0.2

EXM Error: TypeError: ribbonFrame is undefined in Sitecore 9.0.2 In Sitecore 9.0.2, have you seen this error in console “EXM Error: TypeError: ribbonFrame is undefined” while you are creating custom EXM message template and applying components?  Solution: Below patch file will be the solution: If you does not have Experience Accelerator (SXA) module installed, please use the link below: https://sitecore.box.com/s/6lrwqkwkjyq6cppbk5qrg3vfamfrolzg But if you do have SXA installed, use the link below instead https://sitecore.box.com/s/uqkmvuernr6kv56lyopt8t8zevui47lo

Sitecore 9 Dynamic CRM Connector: Sync Known contacts (Part 3)

Sitecore 9 Dynamic CRM Connector: Sync Known contacts (Part 3) In the  previous  article we have created custom facets and sync custom facets to CRM.  As you know Sitecore saves "Anonymous" contacts and "Known" contacts as well. Basic requirement while we are doing syncing is that sync only “Known” contact. Sitecore Dynamic CRM Connector provides you out of box functionality to Sync only “Known” or “Anonymous” contacts. Navigate to this location “/sitecore/system/Data Exchange/XXX/Pipelines/xConnect Contacts to Dynamics Sync Pipelines/Read Contacts from xConnect Pipeline/Read Contacts from xConnect” . Navigate to “Contact Filter” field. Select “Known Contact Expression” and save the item. Next  article will be about "Custom pipeline to filter contacts"

Sitecore 9 Dynamic CRM Connector: Sync Sitecore custom facets with Dynamic CRM (Part 2)

Sitecore 9 Dynamic CRM Connector: Sync Sitecore custom facets with Dynamic CRM (Part 2) In  previous  article I have created custom facets in Sitecore for CRM connector, Now in this article I am going to sync these custom facets with Dynamic CRM. Step 1: Specify how to write to the Contact facet Navigate to this location “/sitecore/system/Data Exchange/XXX/Data Access/Value Accessor Sets/Providers/Dynamics/Dynamics Contact” Add the following item. Template : Entity Attribute Value Accessor Item Name: GraduateYear on Dynamics Contact Set the following field values: Attribute Name: CRM Field Name Value Type: Option Set Value (If dropdown otherwise blank for single line Step 2: Specify how to read from the Dynamics contact Navigate to this location “/sitecore/system/Data Exchange/XXX/Data Access/Value Accessor Sets/Providers/xConnect” Add the following item. Template : xConnect Entity Facet Value Accessor Set Item Name: xConnect Contact Custom Information F

Sitecore 9 Dynamic CRM Connector: Create custom facets (Part 1)

Sitecore 9 Dynamic CRM Connector: Create custom facets (Part 1) Dynamic CRM Connector will provide you default facets like first name, last name etc. but you can also create custom facets and sync to CRM. Step 1: Create a Visual Studio project Create Class Library (.Net Framework) project Add below reference from NuGet:  Sitecore.DataExchange.Tools.DynamicsConnect.NoReferences Sitecore.XConnect.NoReferences Step 2: Implementation of Custom facets Create new class to create custom facet “Student” and add following code: using Sitecore.XConnect; using System; namespace YourNamespace { [FacetKey(DefaultFacetKey)] [Serializable] public class StudentFacets: Facet { public const string DefaultFacetKey = "Student"; public string GraduateYear { get; set; } } } Step 3: Implementation of collection model After creating Custom facets class, you need to create Collection model w