Monday, July 27, 2015

EXM 3.1 for Sitecore CMS 8.0 Update-3 Upgrade Note

Recently Sitecore relase a new version of Email Experience Manager - EXM 3.1 rev. 150703 for Sitecore 8.0 rev. 150427

This EXM version includes drastic changes from its earlier version, like moving dispatch queue into SQL database instead of MongoDB, etc

I tried to upgrade from 3.0 to 3.1 and the process went smoothly except in one occation.

When tried to run the Update Installation Wizard with the EXM 3.1 Update file (Email Experience Manager 3.1 rev. 150703.update), at the end of the installation process, it returned a critical error stating a .js file deletion failed error.



But, I later found in the upgrade documentation (EXM 31 Update Instructions.pdf) that, they are asking to manually deleting this file and its containing folder.

Remove the following files from all instances of EXM :
sitecore\shell\client\Applications\ECM\EmailCampaign.Client\Pipelines\UpdateMessagevariant\UpdateVariant.js
sitecore\shell\client\Applications\ECM\EmailCampaign.Client\Pipelines\UpdateMessagevariant

Saturday, July 18, 2015

How to change the tool/profiles used as the Rich Text Field Editor in Sitecore

Today we will discuss about the Rich-Text fields.

How to change the tool/profiles displayed as the Rich Text Field editor

  1. Login to Sitecore Desktop
  2. Change the database to "Core"
          

      3. Open "Content Editor"
      4. Under the "/sitecore/system/Settings/Html Editor Profiles", you will see different profiles for the editor.

         

       5.  Select the preferred profile (or create a new profile with the properties/tool tips that you want) and copy the path of that item.
As for my example, I have selected the "Rich Text Full" editor profile and copied the path of that item
/sitecore/system/Settings/Html Editor Profiles/Rich Text Full

       6.  Change the database back to "master"
       7.  Open the "Content Editor"
       8.  Select the Rich-Text type field of the template that you need have the Rich Text Editor
       9.  In the "Source" field, enter the path of the Editor Profile that you copied from the Core database.
            /sitecore/system/Settings/Html Editor Profiles/Rich Text Full

       10.  Now, when you click the "Show Editor" button for an item created from the above template, you will get the full tool tip options.















Configuration setting for HTML encoded field types

Following setting can be used to skip HTML Encoding of values, when they are rendered.
   
    <!--  RENDERING - HTML ENCODED FIELD TYPES
            Specifies a pipe-separated list of field types that should be HTML encoded when rendered by the <renderField> pipeline.
            Default value: text|single-line text
      -->
      <setting name="Rendering.HtmlEncodedFieldTypes" value="text|single-line text" />


Good articles :

http://sitecore.stockpick.nl/english/single-line-text-with-html.aspx
http://sdn.sitecore.net/Forum/ShowPost.aspx?postid=10087

Wednesday, July 15, 2015

Data Flow - Sitecore WebForms For Marketer (WFFM) - Part 2

Welcome to Part 2 of the Data Flow blog series


1) Data Flow - Sitecore WebForms For Marketer (WFFM) - Part I
2) Data Flow - Sitecore WebForms For Marketer (WFFM) - Part II

In our Part 1 blog post, we discuss about the WFFM data flow from front-webpage to MongoDB database.

In this blog post, I will discuss about the WFFM data flow from MongoDB database to MSSQL Reporting database.


Fixing/Setting-up WFFM data transfer

1) WFFM Post-Installation SQL Script


Make sure that you have run the WFFM Post-Installation SQL Script in your Reporting database.
/data/...

this script will create following tables in your "Reporting" database.

2) WFFM Bug Fixes

Also, before we proceed to discuss Data Flow, we need to fix some bugs in WFFM 8.0 update-2/update-3 releases.
see Sitecore 8 WFFM Data Aggregation Error


Data Flow

MongoDB to MSSQL Reporting Database

Sitecore process data from MongoDB to MSSQL Reporting database in four ways
i.e. Aggregation, Continuous Update, Rebuilding the reporting database, Maintanence

More information on these process, visit sitecore documentation 

So, when data was written to MongoDB, Sitecore will Aggregate those data to suite into Reporting database tables. Then, by Continuous Update process, data will be transferred into Reporting database tables.

Below I tried to show the MSSQL "reporting" database tables structure.

Tables :

FormFieldValues  -  contain all the submitted form field values
    FieldValueId
    FieldValue

Fact_FormSummary  -  contain summary of the submitted form values   
    FormId
    FieldId
    FieldValueId
    FieldName
    Count

Fact_FormEvents  -
    ContactId
    InteractionId
    InteractionStartDate
    PageEventDefinitionId
    FormId
    Count

Fact_FormStatisticsByContact  -  all statistics of form submitions
    ContactId
    FormId
    LastInteractionDate
    Submits
    Success
    Dropouts
    Failures
    Visits
    Value
    FinalResult