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
   

Tuesday, July 14, 2015

Sitecore Incremental Publishing Revealed

After seen a post in Sitecore Community forum, I thought of writing this post.

I will try to explain how Sitecore Incremental publishing works internally in Sitecore


1) Sitecore item created/edited/deleted

Sitecore will write an entry to "History" table

Note : There is an exception in some cases, where entry was NOT written to History table.
See Cases where an Entry was not written to History table... (coming soon)


2) Incremental Publishing task executed

  • In "Properties" table, there is an entry to store Last Incremental Publishing run time.
  • Sitecore goes to "Properties" table and take the above setting value.
  • Then, go to Publish Queue table and take all the entries which is entered into that table after the Last Incremental Publish runtime property value.
  • Then, it publishes those items one after another, from oldest to latest
  • At the end of the above task, Sitecore Updates the entry in the "Properties" table with the current timestamp.

Practical Scenario :


1) Edit "/sitecore/content/home" item


2) Entry added to History table



3) Run an Incremental Publish


4) Sitecore retrieves the Last Publish time for the language, and publish all the items/rows added to Publish Queue table after that time


5) After publish end, Update/Write Last Publish time entry in the Properties table



Extra Readings :

How Sitecore History table is Maintained...(coming soon)
Cases where an Entry was not written to History table... (coming soon)