Experience Sitecore ! | All posts tagged 'Sitecore-8'

Experience Sitecore !

More than 200 articles about the best DXP by Martin Miles

Sitecore XP 8 Upgrade for .NET Developers training - how was that?

Last Friday I have attended Sitecore XP 8 Upgrade for .NET Developers training in their London office. Unlike WND (4-days-long) training, to attend this 1-day-long UPG (upgrade) course, you have to already have one of previous full development certification courses done in past.

My major purpose for that training was to get clear understanding about both internals and integration of xDB with the rest of platform, mostly due to the big number of questions I prepared well in advance. I got everything what expected from that day!

There were only 4 trainees in the class; instructor was a guy who works for head office in Copenhagen - Alin Pârjolea - I knew him from community activity previously. Alin was just a bit shy in the beginning, admitting that is was his first time training to such an advanced auditory, but he did well and in an hour we found ourselves very involved in progressing the course and had nice engrossing conversations every break time.

Certification exam itself was typical - 40 questions from which you need to get 70% of correct answers, three options one and only of them is correct. However I found it to be quite complex. Many questions were worded quite confusingly - and the answers also were not quite easy to select from, sometimes we had two answers suiting question, sometimes none, so had to try to read between the lines and try thinking an questioner - what in fact was intended to ask. Also questions were from the whole Sitecore experience, not only what was covered by the upgrade course that day, so those who have little experience in general and little knowledge of best practices are very unlikely to pass that test. All four of us were quite experienced Sitecore developers and all four have passed, I personally got 82% of correct answers.

Also after the course Alin shared with us some best solutions already existing, that was how I knew about Sitecore Habitat - probably the best approach to moduleness, simplicity and extensibility for big and multisite Sitecore solutions.

So, I am quite glad I managed to get certified with Sitecore 8 and do recommend as well!

Sitecore 8.1: what does new CMS-only mode mean?

That is the most wanted features that prevented my current organization from upgrade to Sitecore 8.0.

Having pretty complex infrastructure, big codebase, number of legacy code, wide range of third-party external services and data providers altogether with lack of human resources, it was not easy task to perform such a massive migration (from 6.6) at one time. The decision was taken to migrate part by part, starting with CMS itself without analytics, leaving xDB to second phase of upgrade.

But it happened that in 8.0 Sitecore had wired dependency on MongoDb and you had to have it regardless whether you plan to use analytics or not, even for content authoring environments. As we are limited in resources, we chose Sitecore xDB Cloud as the solution for our analytics, but it turned out that xDB Cloud was yet in beta, and business took a (conservative, as usual) decision to wait until it goes out of beta.

We consulted with Sitecore - they advised us about that issue would be sorted out in 8.1 - and that is exactly what happened. So, welcome CMS-only mode!

First of all, what is that?

As per documentation, CMS-only mode separates CMS functionality from analytics and drops CMS dependencies from xDB for those who don't need them. That also related to licensing changes in 8.1 - now there should be an explicit license for xDB functions (re-)issued for 8.1 and later, otherwise (and if you got license from any of previous versions) Sitecore will run in CMS-only mode by default.

There is a boolean configuration switch in Sitecore.Xdb.config file to enable / disable CMS-only mode:

<setting name="Xdb.Enabled" value="true" />

To draw a line between CMS and xDB, Sitecore revised all existing functions and introduces 3 modes of compatibility: Fully compatible, partly compatible and incompatible. As per documentation distribution looks like below:

Fully compatible:

  • Content editing in the Experience Editor
  • Device detection
  • IP Geo-location detection
  • Experience Explorer

Partly compatible

  • Campaign Creator – runs without analytics functionality
  • Commerce Connect – currently incompatible, but will run with limited functionality in future releases
  • Personalization – in-session personalization works, while personalization based on historical data is unavailable
  • Web Forms For Marketers – will provide a SQL solution in the future


  • Content testing
  • Email Experience Manager
  • Experience Analytics
  • Experience Profile
  • List Manager
  • Path Analyzer
  • Segmentation

To my mind, introduction of CMS-mode is big step ahead; also such a separations of functions is logically cleaner than it was before in 8.0. For example previously you could run Sitecore 8.0 with old license and could even see and run, let's say Federated Experience Manager, but unless you had an explicit license for 8.0 you wouldn't be able to see any parent for placeholder. That was confusing and led to misunderstanding in past, but has more sense.

Hope you are going to get use of CMS-only mode and understanding how it works!

Sitecore 8.1 has been released!

As we have been waiting for it, Sitecore 8.1 is now released. That is a feature version, and it has such a massive what's-new and improvements list, that it may take you just 20 minutes to read it through!

Everything can be downloaded from official SDN website, as usual. If you are using Sitecore Instance Manager, please update it to latest version to support latest build (and rename it according to SIM naming convention -Sitecore 8.1 rev. 151003.zip. If not - it is now a good time to consider that handy software (read my article about it).

Also Sitecore xDB Cloud should get out of beta along with 8.1 release - there is now xDB Cloud Usage Policy available there.

So, briefly, what are new / fixed features?

  • SPEAK updated to 2.0 - now there's less SPEAK plumbing to go with it, more time to concentrate on business logic (link)
  • Sitecore 8 may now function as normal with xDB disabled - this is called CMS-only mode (link)
  • MVC Areas now work out-of-the-box (link)
  • Experience Editor improvements (both functional and performance)
  • Multiple xDB and Analytics improvements, new Path Analyzer
  • Contact Behavior Profile - enabled "dynamic" personalization based on previous contact activity (sort of artificial intellect)
  • Language Fallback now works out-of-the-box
  • xDB now fully support Mongo 3.0
  • Analytics got more missing UI
  • Sitecore subscription-based services
  • Device Detection (as subscription-based service) now identifies device types out of box bases on hundreds of params
  • Geo IP now is a subscription-based service
  • Sitecore now logs client-side javascript errors along with its own backend exceptions
  • CMS-only mode (link)
  • Shared / versioned layouts improvements
  • All associated modules updated as well (WFFM, ECM, etc.)

Breaking licensing change: Sitecore 8.1 now requires a license with the “Sitecore.xDB” key to enable all features of the Experience Platform. If your license file does not contain this key, Sitecore will default to Experience Management (CMS-only) mode. Any customers or partners with a license to Experience Platform should contact their account manager or login to SPN if they are missing this key.

Read more by official Release Notes link

How to check your license in Sitecore

From time to time you may need to obtain your licensing information, for instance when you need to submit support ticket.

License information is displayed right at the loging screen in Sitecore 6.X - 7.X (as per screenshot below):

Once you need more details about current license, (for example to see which modules you are licensed to) you may find that from two menus (Licenses and About) under Sitecore button in Content Editor:

However Sitecore 8 login screen does not show this information by default anymore. To enable displaying licensing info, you need to change one configuration file switch:

<setting name=”Login.DisableLicenseInfo” value=”false” />

Then you'll get a button that reveals your licensing information, including the License key:

Sitecore button in the left top corner of Content Editor has now become "hamburger" button, but provides all the same functionality:

For me (being a developer), the quickest option to remind the license number is just looking up directly at License.xml file:

Hope this helps!

Sitecore 8.0 Update 5 is released

Sitecore 8.0 Update 5 is released

Now with Mongo 3!

  • Support has been added for MongoDB 3.0.
  • The MongoDB driver has been upgraded to 1.10.
  • Generic security enhancements have been made.

It works fine with previous SIM (Sitecore Instance Manager) release revision 150618 as soon as you place webroot archive Sitecore 8.0 rev. 150812.zip into repository folder. To retrieve your repository folder with SIM navigate Settings -> Local Repository.

Web Forms for Marketers 8.0 - missing Save to Database action and making it work with SQL database again

As we know, Sitecore version 8.0 incorporated popular the module called Web Forms for Marketers (WFFM), and it became an integral part of Sitecore. WFFM is still shipped as a package, however now through Sitecore SDN portal, rather than via Marketplace as before.

So, let's assume you have a brand clean install of Sitecore (I have 8.0 Update 4 for this example). In order to download WFFM for 8.0 Update 4 please follow to https://dev.sitecore.net/Downloads/Sitecore_Experience_Platform/8_0/Sitecore_Experience_Platform_80_Update4.aspx and find download link below in the module section.

Remark 1: zip archive you download is not a package - it is normal archive containing 2 child packages - first is package for CM instance and additionally contains all dialogs etc. while another is just CD installation package. For our demonstration, unpack Web Forms for Marketers 8.0 rev. 150625.zip into /Data/Packages directory and use Development Tools - Installation Wizard, as you normally install packages.

Remark 2: ensure you have Mongo up and running, otherwise it will come to "package never installs" issue (more details about that bug here). it is required just for installation, after you have it installed you it is safe to turn off Mongo - WFFM will save data to database without any problems.

Remark 3: it may take up to 5 minutes to install the package, so please do not panic, as soon as you got Mongo running - you'll reach the point when it prompts you for setting Placeholder settings.

After WFFM installation is complete, you may configure a form. By default WFFM contains several pre-created forms as an example for people to play with it and get acknowledges with the module. For those who are new to WFFM here is a screenshot below displaying how to locate Form Designer:

Selecting Form Designer above loads a screen with the list of existing forms. Let's pick Get Our Newsletter form and click OK. Form Designer will load form configuration screen with fields and Subscribe button at the bottom. A click to that button opens Submit panel left hand side with several settings for pre-save (validation), save and post-save (success page / success message).

Remark 4: Those who used to work with previous versions of WFFM will be frustrated by missing Save to Database action from save actions menu. These are save actions that come out of box:

There is nothing to worry about, Save to Database action is still there but is not displayed only because as it always happens. However:

Remark 5: SQL database itself is not coming with the package, so you need to pick database backup from one of previous versions - its schema remains the same. To make you life easier, I have attached forms empty database backup so you may download it by this link. In WFFM 8.0 there is the setting that references connection string name (in you ConnectionStrings.config file) that is used by WFFM.

<!-- CONNECTION STRING - Sets the name of the connection string -->
<setting name="WFM.ConnectionString" value="wfm" />
<add name="wfm" connectionString="Data Source=.;Initial Catalog=test2_Forms;Integrated Security=False;User ID=sa;Password=your_password" />

To make Get Our Newsletter form work, we need to assign it to some page. Default landing page called Home will work well for our purpose. This is how you set a form to a placeholder:

Image above displays webform, because we use default layout that comes with webforms aspx page. For MVC there is rendering called Form MVC. With next step below (as clicking Edit button) you need to specify which exact form should be served by this sublayout (or rendering for MVC):

Now you may verify /Home page in Publish - Preview screen or publish web site and then load the page normally (http://your.site.name/) so you end up with something like on a screenshot below:

After you fill in valid email and click Subscribe button, you'll get "Thank you for filling in the form" message, that's in case database was references correctly. if not - there will be message abut unexpected error and corresponding exception details will appear in log file.

Let's get physically into database to verify the data has been stored correctly. In successful case you'll see one record in Form table and few records in Field table, one record per each form field.

That's all!

Following blog post will demonstrate how to make WFFM result screen display forms records from SQL database.

Sitecore Boilerplate - the repository of best practices all at the same place

I decided to create an ultimate "boilerplate" solution for Sitecore, implementing all the best Sitecore practices in one place, well documented and cross-linked with the support on this blog.

As a multi-language website with Experience Editor (ex. Page Editor) support utilizing with Glass Mapper, Lucene indexes and test-driven codebase and much more working well all together - it will be a perfect place for newbies to familiarize themselves with Sitecore platform. It aims also to simplify work of more senior Sitecore developers in terms of quickly searching for desired features and grabbing them into their working solutions.

The project originated out of my R&D activities as I decided it would be beneficial to share my workouts with Sitecore community. Any suggestions, comments and criticism are highly welcome!

List of the features I desire to supply into Sitecore boilerplate:

  • Support for Page Editor
  • Usage of Glass Mapper for ORM purposes
  • Unit testable code
  • Synchronization of user-editable content from CD environment to CM and further re-publish to the rest of CDs
  • Support for multi-language environment
  • Custom Lucene indexes
  • Custom personalisation of components and data
  • Workflows based on user permissions
  • Make all mentioned above working together as a solid and stable website
  • Implement new Sitecore 8 marketing features on top of that

.. for the moment I have planned and implemented several of mentioned features as a starting point, so it is coming soon on GitHub and further blog posts here.

Sitecore extensions for Google Chrome review

  1. Sitecore Developer Tool
  2. Sitecore Analytics Testing Tools
  3. Sitecore Expand Collapse Sections
  4. Sitecore Keyboard Shortcuts
  5. Sitecore Helper
  6. Dan's Sitecore Shortcuts

1. Sitecore Developer Tool

This is a nice, elegant and non-obtrusive shortcut extension located at the top right of your Chrome browser. It has several most useful shortcuts logically grouped by tabs.

Admin Pages tab contains useful admin pages hotlinks.

Database tab allows to quickly change context database.

Mode tab has 6 switchers - the names are self-describing.

There is also options tab, where you can add / edit favourites, add more databases and perform other settings for the extension.

You may install Sitecore Developer Tool by this link.

2. Sitecore Analytics testing tools

As it comes clear from its name, this is an extension to fit specific analytics purrposes, which are: clearning analytics-related cookies and specifying a forwarded IP address for GeoIP lookups.

Below there are screenshots of its settings screen:

Download and install exension: the link.

3. Sitecore Expand Collapse Sections

Minimal extension that serves just one purpose - expand and collapse data section panels in Sitecore.

What can be easier?

Unfortunately, at the moment this extension does not support Sitecore 8, so the last funcional verison is 7.5

You may install Sitecore Expand Collapse Sections by this link.

4. Sitecore Keyboard Shortcuts

It presents

It is a powerfull extension that allows you to create hot keys to quickly complete common tasks in Sitecore. This is especially useful for demos or for quick access to frequently used items. No need to repeatedly expand the content tree any longer.

it works well for Sitecore 8 as well as with all previous versions I have tested with. It also works well on Mac computers, however mac-specific keyboard extensions (ie. Cmd) are not supported. screenshot below shows settings screen:

And here is a dropdown containing list of possible actions. Quite impressive!

Download and install exension: the link.

5. Sitecore Helper

This extension brings upgrades the Sitecore interface with toggleable usability fixes.Applies several fixes & updates to the Sitecore user interface, use the options menu to toggle them on / off.

Download and install exension: the link.

6. Dan's Sitecore shortcuts

Extension provides a drop down with features and shotcut buttons.

Download and install: the link.

Hope these extensions may help you to improve your productivity while working on Stecore projects!

Sitecore Desktop usability improvements (package)

While playing with core database for some useful stuffies - I came across some improvements that can save little of my time in day-to-day activities. A screenshot below can say better than few paragraphs of text, so here it is:

It works across all the versions of Sitecore, I in fact had opportunity to test that package against 6.6 and 8.0 Update 4.

Enjoyed that and want to get for yourself?

Download the package: Sitecore Desktop Improvements-1.1.zip (47.5KB)

Previous version: Sitecore Desktop Improvements-1.0.zip (30.8KB)

SwitchMasterToWeb.config for Sitecore 8

I have just tested the one on my Sitecore 8.0 Update 4 instance - it works pretty well!

For those who has never met this config before - SwitchMasterToWeb is a configuration patch file, that aims to be placed into App_Config\Include folder on content delivery server (CD) in order to remove references to master database, that should not present there by design.