Helix Project Creation Script

Creating Helix Solutions and Modules with PowerShell

Helix is a set of overall design principles and conventions for Sitecore development, put forth by Sitecore in hopes of providing the community a path toward standardized solution development. As noted in the official documentation:

Helix provide a set of guidelines for your Sitecore projects. The Habitat example provides you with a pre-built and tested set of common modules that you can use as an inspiration to your project. Both improve the efficiency of your projects, reduce costs and time to market. As more and more people and organisations adopt the Helix conventions and principles, it will become a Sitecore standard. This means that people who are familiar with the conventions or the Habitat example will be able to work more easily on other convention-based projects with minimal training. It will be easier for Sitecore Product Support to understand projects built using the conventions, enabling them to resolve issues more quickly. Sitecore will test its software using the conventions so any compatible project that has been implemented for a customer will be more reliable. And since Sitecore will test its software using the conventions, Sitecore will be able to provide better guidance on how to update and upgrade existing Sitecore projects when new versions and new products are released.

(“Why be interested at all in Helix or Habitat?“, http://helix.sitecore.net/introduction/what-is-helix.html#why-be-interested-at-all-in-helix-or-habitat, April 16, 2018)

Some Basic Principles

Before we can dig into the script and creating Helix based solutions and modules, I want to reference some basic principles from the Helix documentation.

A Module is a conceptual grouping of assets which relates to a business requirement. For example, when the company asks that their Sitecore solution contains website search, all assets, business logic and configuration relating to search belongs to the Search module.

In technical terms, project often refers to Visual Studio project, but conceptually can also to the process of implementing the business requirements into an implementation.

The layer concept in Helix supports the architecture by making the dependency flow completely clear everywhere in the solution, in Sitecore, in Visual Studio and even in the file system. Furthermore, the layers provide a structure that is extremely suitable for creating and maintaining solutions of any size and steers both new and experienced developers to producing more maintenance-friendly and clean code. Layers helps control the direction of dependencies the importance of which is described by the Stable Dependencies Principle or SDP, which is one of the cornerstone principles in Modular Architecture:

Helix - Dependencies Direction

File System and Solution Layout

In the Helix documentation, (and a review of the sample Habitat site) one will find a very specific recommended (if not expected) layout and naming of folders both in the Visual Studio Solution as well as the file system. The uniqueness of this ‘recommended’ layout makes the initial setup of a solution very time consuming and increasingly error prone when you start to deal with adding modules at the different layers. The following two images, taken from the Helix documentation show what the Visual Studio Solution and corresponding file system begin to look like.

Helix - Visual Studio Solution, from Sitecore           Helix - File System, from Sitecore

Helpful but difficult

My team enjoys the flexibility as well as cleanliness of a solution built on the Helix principles. What we find most difficult is the extra leg work required in making the file system as well as the Visual Studio Solution appropriate to meet the principles. Trying to solve this problem has led us to try several solutions available in the Sitecore Community, many function very nicely, but didn’t always meet the needs of my teams. So I setout to solve some of these issues, including :

  • No use of custom templates and files to ease setup across machines
  • Option for serialization project creation
  • Pre-loading basic NuGet packages for a module
  • New projects added into the solution by default

Helix Project Creator PowerShell Module

Enough with the intro stuff and into the meat of what you’ve come looking for…a script to ease your Helix headaches and focus on the fun of implementing solutions. TheCodeAttic.Helix.ProjectCreator can be pulled from GitHub at https://github.com/gillissm/TheCodeAttic.Helix.PowerShellProjectCreator.

Setup and Use the Simple Manual Process

The first thing you need to do is retrieve the script from the GitHub repository. As this is hosted on GitHub there are numerous ways you can go about getting things ready to use. In an attempt to make adaption as easy as possible I’ve simplified setup to the following four steps for you:

  1. Open PowerShell command prompt as Admin.
  2. Change the directory to a working/temporary location
  3. Enter the following command
    (Invoke-WebRequest -UseBasicParsing -Uri https://raw.githubusercontent.com/gillissm/TheCodeAttic.Helix.PowerShellProjectCreator/master/ProjectCreatorEasyInstall.ps1).Content | Out-File "ProjectCreatorEasyInstall.ps1"
  4. Then enter
    .\SELRES_09210478-5ac2-4be5-81ef-480eb16e800fSELRES_66c735a3-48ae-4ec2-9967-83d5f083a6f6SELRES_906c181e-dccb-4538-a6c3-1eb25a8f6853ProjectCreatorEasyInstallSELRES_906c181e-dccb-4538-a6c3-1eb25a8f6853SELRES_66c735a3-48ae-4ec2-9967-83d5f083a6f6SELRES_09210478-5ac2-4be5-81ef-480eb16e800f.ps1
  5. Now go implement some awesome Sitecore solutions!

Setup and Configure the Manual Way

As an alternate to the above, you can pull the script from the GitHub repository and load it into Package Manager Console each time you need it with the following steps:

  1. Download from the GitHub repository to your local system in the manner that suits your workflow the best.
  2. Each time you wish to leverage the module in Visual Studio you will need to enter the following in the Package Manager Console
    Import-Module "C:\MyFiles\TheCodeAttic.Helix.PowerShellProjectCreator.psm1"

    Helix - Open Package Manager Console

Manual Process – Full Setup

OR you could download and configure the module manually (this is what ProjectCreatorEasyInstall.ps1 does for you.)

  1. Go to C:\Users\\Documents\WindowsPowerShell\Modules
  2. Create a new folder called “TheCodeAttic.Helix.PowerShellProjectCreator”
  3. Download the GitHub repository into the above directory
  4. Go up a level in the file system, should be at C:\Users\\Documents\WindowsPowerShell\
  5. Open (or create) NuGet_profile.ps1
  6. Add the following
    Import-Module TheCodeAttic.Helix.PowerShellProjectCreator
  7. Each time you run Visual Studio the module will be available to use in the Package Console Manager

Using Helix Project Creation

Create a new Helix Solution

  1. Open Visual Studio as Admin
  2. Open the Package Manager Console
    Helix - Open Package Manager Console
  3. Create a new Helix based solution by running Invoke-VisualStudioSolution
    Invoke-VisualStudioSolution -SolutionPath 'C:\Code\Coffeehouse.Demo.SXA'  -SolutionName 'Coffeehouse.Demo.SXA'

    Helix - Open Package Manager Console

Add a new module to a solution

  1. Open Visual Studio as Admin
  2. Open your Solution
  3. Open the Package Manager Console
  4. ‘Wake-up’ the $dte object by running
    $dte.Solution.FullName
    Helix - Wake-up $dte
  5. Add new module by running Invoke-NewModule
    Invoke-NewModule -ModuleName 'Coffeehouse.Demo.SXA.Coupon' -Layer 'Feature' -UseGlass -UseTDS

    Helix - Executing Invoke-NewModule

    Helix - Invoke-NewModule output

    Helix - Invoke-NewModule output, continued

  6. Go write some Sitecore code!!!!

Proof is in the pudding, they say

After running the Invoke-NewModule command your solution explorer should now look like the following:

Helix - New Module in Solution Explorer

And your file system will have the this:

Helix - New Module in File Explorer

References

The Sitecore Community members are always out to help each other, and some other Helix project creation solutions that may fit your work stream better are:

Advertisements

The Easier Way to Sitecore XP 9

This article was originally posted in its entirety on the Paragon Blog here: http://www.paragon-inc.com/blog/sitecore-9-install-the-easy-way.


You’ve either arrived because you made it through the full series or a quick google landed you here as you where looking for a quick and easy Sitecore XP 9 install.

Most of the following was taken from the Sitecore Installation Guide but is a little buried in all the documentation, so this will be a long term refernece for myself, my teams, and now you!

Prerequisites

The Steps

  1. Install MS SQL 2016 SP1 or later
  2. Install Web Deploy 3.6 for Hosting Servers (done via the Web Platform Installer)
  3. Install Url Rewrite 2.1 (done via the Web Platform Installer)
  4. Install Microsoft SQL Server Data-Tier Application Framework (DacFx) version 2016
  5. To support DacFx, the target SQL server needs to allow users and logins at the DB level, this can be configured/confirmed by running the following SQL script
    sp_configure 'contained database authentication', 1;
    GO
    RECONFIGURE;
    GO
  6. Extract the contents of Sitecore 9.0.1 rev. 171219 (WDP XP0 packages).zip to a working directory. You should see the following
    • Sitecore 9.0.1 rev. 171219 (OnPrem)_single.scwdp.zip
    • Sitecore 9.0.1 rev. 171219 (OnPrem)_zp0xconnect.scwdp.zip
    • XP0 Configuration Files 9.0.1 rev 171219.zip
  7. Extract the contents of XP0 Configuration Files 9.0.1 rev 171219.zip, and you should have the following JSON configuration files, this should be the same directory as the WDP packages in step 6:
    • sitecore-solr.json
    • sitecore-XP0.json
    • xconnect-createcert.json
    • xconnect-solr.json
    • xconnect-xp0.json

    At this point the working directory should look like this:
    Sitecore Easy Install - Working Directory

  8. Open a PowerShell Command prompt as Admin
  9. Change directory to your Working Directory as defined in step 7
  10. Download the install script from Sitecore Easy Install Gist by running the following
    (Invoke-WebRequest https://gist.githubusercontent.com/gillissm/1a3d826e6287e4cd106acea941748643/raw/c59dd9cef02d7e4adec1a90188d099948af43662/SitecoreEasyInstall.ps1).Content | Out-File "SitecoreEasyInstall.ps1"
  11. Open SitecoreEasyInstall.ps1 in your favorite editor (my recommendation is to open the entire working directory in Visual Studio Code).
  12. The first section of the file are global parameters that will define how your environment is configured and installed so update accordingly based on the instructions. At a minimum all values in the ‘CUSTOM TO THE ENVIRONMENT’ section should be completed.
    Sitecore Easy Install - Install Parameters
  13. From the PowerShell prompt run
    .\SitecoreEasyInstall.ps1
  14. Grab some coffee (or beer, I won’t judge) while it runs. (On my machine I was up and runninng in about 10 minutes.)
  15. Enjoy Sitecore Experience Platform 9!!!

 

Experience Sitecore XP

Introduction

There has been a spattering of blogs out there walking through the installation and setup of Sitecore 9. My series has not deviated much beyond many of these. But I feel if I can write about it, explain it, then can claim a certain level of proficiency.

This is the last in the Sitecore Experience Platform install series and at the end of this you should be up and running.

Basic Terminology

As with any new version there is some updated/new terminology used to describe Sitecore and the different elements used for it.

Sitecore is divided into two distinct product areas.

  • Sitecore Experience Management (XM) – the content management and personalization features.
  • Sitecore Experience Platform (XP) – the content management, personalization, marketing and analytics features.

The Sitecore Experience Platform is divided into many logical areas:

  • Sitecore Experience Database (xDB) – where all experience data of the contact is stored.
  • xConnect – an independent service layer that connects the xDB to Experience Applications and allows other channels to add data to the xDB.
  • Experience Applications – with applications such as List Manager, Campaign Manager, FXM, and Experience Analytics.
  • Experience content management – with applications such as the Experience Editor and Experience Explorer
  • Sitecore Installation Framework (SIF) – to PowerShell and JSON based framework for installing Sitecore 9

Topology Options

To better manage the design of a Sitecore installation, there is now better detailed information on the types topology one might use with Sitecore

  • XP0 (XP Single) – Meant for development and testing scenarios. Sitecore Experience Platform is installed as two instances, Sitecore (content management) and xConnect
  • XM1 (XM Scaled) – Installs only the Sitecore Experience Manager elements for Content Delivery and Content Management roles. No xConnect or xDB is installed in this topology.
  • XP1 (XP Scaled) – Performs an installation of the full stack of Sitecore Experience Platform, allowing for each role to be assigned to specific servers.

Environment Needs

The Procedure

This will follow the steps I used to install an XP0 on my local machine for development. This will generate the following for us:

  • The Sitecore stand-alone website that handles content management, content delivery, reporting, and processing.
  • The xConnect and xDB web services.
  • Search indexes on the Solr search engine.
  • A Windows service that runs the Marketing Automation engine.
  • A Windows service that runs the xConnect indexer.
  • The Sitecore content and xDB databases.
  • A self-signed client certificate for secure communication between Sitecore and xConnect.
  • A self-signed server certificate for running HTTPS on the xConnect and xDB web services.

Getting the Basics Ready

  1. Install Solr (a minimum and maximum of 6.6.2 is required), Solr installation does require SSL setup if you follow my instructions for Solr this will be configured for you.
  2. Install Sitecore Installation Framework (SIF), see my article name
  3. Install Sitecore Foundation, see my article name
  4. Install Web Deploy 3.6 for Hosting Servers (done via the Web Platform Installer)
  5. Install Url Rewrite 2.1 (done via the Web Platform Installer)
  6. Install Microsoft SQL Server Data-Tier Application Framework (DacFx) version 2016
  7. To support DacFx, the target SQL server needs to allow users and logins at the DB level, this can be configured/confirmed by running the following
    SQL scriptsp_configure 'contained database authentication', 1;
    GO
    RECONFIGURE;
    GO
    
  8. Extract the contents of Sitecore 9.0.1 rev. 171219 (WDP XP0 packages).zip to a working directory. You should see the following
    • Sitecore 9.0.1 rev. 171219 (OnPrem)_single.scwdp.zip
    • Sitecore 9.0.1 rev. 171219 (OnPrem)_zp0xconnect.scwdp.zip
    • XP0 Configuration Files 9.0.1 rev 171219.zip
  9. Extract the contents of XP0 Configuration Files 9.0.1 rev 171219.zip, and you should have the following JSON configuration files:
    • sitecore-solr.json
    • sitecore-XP0.json
    • xconnect-createcert.json
    • xconnect-solr.json
    • xconnect-xp0.json

Customizing the Install Configurations

Update the parameters for each configuration file, while updating it is helpful to also include a default value for each parameter to help with future re-use as well as avoiding being prompted during the installation. (I recommend opening the parent folder in Visual Code, to easily access all the files as you work through updating them.)

NOTE: Any paths need to have the slash escaped via doubling it. ‘\’ become ‘\’.

Sitecore 9 Install - Configuration files

Sitecore-Solr.json

The first configuration file does manage is for allowing Sitecore to interact with our Solr install. There are four values of concern in this file.

Sitecore 9 Install - sitecore-solr.json

If you followed my Solr install instructions your values should be:

  1. https://sitecoresolr:8983/solr
  2. “C:\sitecoresolr\solr-6.6.2”, this is the path which the directory sever exists in.
  3. “solr-6.6.2”
  4. “coffeehousexp”

xconnect-createcert.json

Sitecore 9 by default is meant to run as a secure application. This default secure state requires that SSL certificates are trusted and in-place at time of installation, instead of as an afterthought. On a local development machine, this means a self-signed certificate needs to be properly created and trusted.

This can easily be accomplished on a DEVELOPMENT machine via the xconnect-createcert.json file.

Sitecore 9 Install - xconnect-createcert.json

  1. Set a name for the certificate, I recommend using the same value as used for your Solr core prefixes for easy identification.
    "DefaultValue": "coffeehouse"
  2. Set the location the newly generated cert was saved, I recommend the same location as all your other install files. (Don’t forget to escape the slashes.)
    "DefaultValue": "C:\Sc9Install"
  3. Set the name of the root certificate.
    "DefaultValue": "SitecoreDevelopmentCert"

Siteocore-XP0.json

Updating sitecore-xp0.json. This file drives the main installation of Sitecore, you’ll note that there a number of items missing ‘DefaultValue’ which we want to complete to allow for easy reproduction.

Sitecore 9 Install - sitecore-xp0.json part 1

  1. Add a new default value pointing to the location of Sitecore 9.0.1 rev. 171219 (OnPrem)_single.scwdp.zip
    "DefaultValue": "C:\Sc9Install\Sitecore 9.0.1 rev. 171219 (WDP XP0 packages)\Sitecore 9.0.1 rev. 171219 (OnPrem)_single.scwdp.zip"
  2. Add a new default value pointing to your local license file.
    "DefaultValue": "C:\SitecoreVersions\license.xml"
  3. Add a default value indicating the prefix all DBs should be named with. (Hint: make this the same as the solr prefix.)
    "DefaultValue": "coffeehouse"
  4. Add a default value indicating the prefix all DBs should be named with. (Hint: make this the same as the solr prefix.)
    "DefaultValue": "coffeehouse"
  5. Name of the certificate as defined in xconnect-createcert.json, step 1.
    "DefaultValue": "coffeehouse"
  6. Enter the name of your site, for my purposes this will be ‘coffeehouse’.
    "DefaultValue": "coffeehouse"
  7. Opportunity to update that admin password (and drive you nuts during development when you change it now but forget.)
  8. and 9. are easy way to make sure all your connection strings are set accordingly.

The next segment shown of parameters continue the thread of security by allowing unique SQL users and passwords to be generated for each connection string. My only suggestion is to prefix all of these with your site name, so for future cleanup it is easy to remove.
Sitecore 9 Install - sitecore-xp0.json part 2
Sitecore 9 Install - sitecore-xp0.json part 3

In portion 4 of the parameter list we get back to values that require updating for a local environment.

Sitecore 9 Install - sitecore-xp0.json part 4

  1. Set the connection to your SQL Server Instance
    "DefaultValue": "PLW\LOCALSQL2017"
  2. If you have a custom Solr install this value you will need updated.

The final portion of the parameters deal with xConnect.

Sitecore 9 Install - sitecore-xp0.json part 5

  1. Enter the URL that will be used for xConnect connectivity.
    "DefaultValue": "https://xconnect.coffeehouse.com"
  2. Another opportunity to make sure things are secure. (Feel free to skip over for your local setup.)

xconnect-solr.json

This configuration setup should mirror what was done for sitecore-solr.json.

Sitecore 9 Install - xconnect-solr.json

If you followed my Solr install instructions your values should be:

  1. https://sitecoresolr:8983/solr”
  2. “C:\sitecoresolr\solr-6.6.2”, like Sitecore-Solr.json this will point to the parent directory of Solr’s server folder.
  3. “solr-6.6.2”
  4. “coffeehousexp” (you should provide the name for your local site, this allows the same Solr instance to be used for all your Sitecore Instances, as each will be named uniquely.)

xconnect-xp0.json

The final file to be updated is for xConnect configuration. A number of these values have been previously set as part of sitecore-xp0.json, in which case the values need to be consistent between the two files.

Sitecore 9 Install - xconnect-xp0.json - part 1

  1. Add a new default value pointing to Sitecore 9.0.1 rev. 171219 (OnPrem)_zp0xconnect.scwdp.zip
    "DefaultValue": "C:\Sc9Install\Sitecore 9.0.1 rev. 171219 (WDP XP0 packages)Sitecore 9.0.1 rev. 171219 (OnPrem)_zp0xconnect.scwdp.zip"
    
  2. Add a new default value pointing to your local license file.
    "DefaultValue": "C:\SitecoreVersions\license.xml"
  3. Name the XConnect instance will be installed as, make sure this is unique to this instance.
    "DefaultValue": "xconnect.coffeehousexp.com"
  4. Name of the certificate as defined in xconnect-createcert.json, step 1.
    "DefaultValue": "coffeehousexp.com"
  5. Add a default value indicating the prefix all DBs should be named with. (Hint: make this the same as the solr prefix.)
    "DefaultValue": "coffeehouse"
  6. Add a default value indicating the prefix all DBs should be named with. (Hint: make this the same as the solr prefix.)
    "DefaultValue": "coffeehouse"
  7. Name of the certificate as defined in xconnect-createcert.json, step 1.
    "DefaultValue": "coffeehousexp.com"

Sitecore 9 Install - xconnect-xp0.json - part 2

This next section deals with SQL accounts and passwords.

  1. and 2. Allow for the SQL Admin account to be setup, this will be used for DB creation and access.
  2. Set the Solr URL if it has been changed from the default setup of ‘https://sitecoresolr:8983/solr’
  3. to 7. are the different SQL User Accounts that are created, these need to match any changes made in sitecore-xp0.json.

Sitecore 9 Install - xconnect-xp0.json - part 3

The final section contains a mixture of SQL setup as well as final XConnect updates.

  1. to 4. are the different SQL User Accounts that are created, these need to match any changes made in sitecore-xp0.json.
  2. Set the connection to your SQL Server Instance
    "DefaultValue": "PLW\LOCALSQL2017"
  3. Setting the type of configuration that is to be setup for XConnect, possible options are unclear at the time, so we will leave it as is.

Finally, Time to Install

The order of installation is very important as the steps are inter-related.

  1. Open a PowerShell prompt as Admin
  2. Confirm that SIF is fully updated by running
    Update-Module SitecoreInstallFramework
  3. Change directory to the location of your config JSON files.
  4. Run
    Install-SitecoreConfiguration -Path .\configs\xconnect-createcert.json

    Sitecore 9 Install - xconnect-createcert.json - Install Output

  5. Run
    Install-SitecoreConfiguration -Path .\configs\xconnect-solr.json

    Sitecore 9 Install - xconnect-solr.json - Install Output

  6. Run
    Install-SitecoreConfiguration -Path .\configs\xconnect-xp0.json

    Sitecore 9 Install - xconnect-xp0.json - Install Output

  7. Run
    Install-SitecoreConfiguration -Path .\configs\sitecore-solr.json

    Sitecore 9 Install - sitecore-solr.json - Install Output

  8. Run
    Install-SitecoreConfiguration -Path .\configs\sitecore-XP0.json

Post-Install Sitecore Steps

After all the scripts have successfully ran it is time for a few final post steps to ensure completion.

  1. Login into the admin side of Sitecore, http://local.coffeehousexp.com/sitecore.
  2. User the Admin password you specified in the sitecore-xp.json
  3. From the Launchpad, open Control Panel then click on Indexing Manager
  4. From the modal be sure all indexes are selected and click Rebuild.
  5. Once that completes, we will need to rebuild the Link Database. From the Control Panel click Rebuild Link Databases
  6. Select Master and Core only, and click Rebuild
  7. Next up is a deployment of the Marketing Definitions. Still in the Control Panel click Deploy marketing definitions
  8. From the shown modal make sure everything is selected and click Deploy
  9. Return to the Launchpad and open the Content Editor and perform a full site republish
  10. Open a new browser and hit your site to be welcomed by the new SC9 base site, http://local.coffeehousexp.com
    Sitecore 9 Install - Homepage

 

Cleaning up log messages for Geo IP Location

Starting with Sitecore 8.1 Geo IP lookup services come pre-installed and configured. All a site owner than need to do is log into the App Center and purchase the service. This is great from an implementer standpoint this is great as it’s one less configuration step that we have to take.

On the downside, if the site owners never purchase the lookup service the log will quickly clutter with ERROR messages.

ManagedPoolThread #12 16:01:15 ERROR Failed to perform GeoIp lookup for dd4795c0-1dca-ea8d-93c4-06d7f7aa5063
Exception: System.Net.WebException
Message: The remote name could not be resolved: ‘discovery-ces.cloud.sitecore.net’
Source: System
at System.Net.HttpWebRequest.GetResponse()
at Sitecore.CES.Client.WebClient.ExecuteRequest(String requestUri)
at Sitecore.CES.Client.ResourceConnector`1.Request(String endpoint, Object[] parameters)
at Sitecore.CES.Discovery.EndpointSource.GetEndpoint(String serviceName)
at Sitecore.CES.GeoIp.SitecoreProvider.GetInformationByIp(String ip)
at Sitecore.Analytics.Lookups.GeoIpManager.GetDataFromLookupProvider(GeoIpHandle geoIpHandle)

The Fix

The fix isn’t hard; all it requires is a simple patch config to disable the lookup service.

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
    <sitecore>
        <settings>
            <setting name="Analytics.PerformLookup">
                <patch:attribute name="value">false</patch:attribute>
            </setting>
        </settings>
    </sitecore>
</configuration>

For the full details on the lookup service checkout the full documentation at https://doc.sitecore.net/sitecore_experience_platform/setting_up__maintaining/ip_geolocation/setting_up_sitecore_ip_geolocation.

Guide To Creating Dimensions And Filters

Quick Refresher: The customer has asked the Sitecore team to provide additional reporting views using data already being collected by Experience Analytics. (To understand the full request take a look at the first part of the guide.)

This post covers the first two steps

Step 1: Create New Dimension

All of the data that is reported against, starts with a dimension. A dimension consist of a Sitecore Artifact in the Marketing Control Panel and a corresponding, compiled aggregation method and table(s) to support the proper data.

Therefore, creating new dimensions is a task that involves both developers and business intelligence analysts. The BI Analysts work with the customer to help define the questions that they want to ask of the data, and then help the developer understand how the currently collected data can be aggregated to get the needed answers.

This is a process in itself, which we will investigate further in future posts.

Step 2: Create New Filter

Filters are created once, and can be reused throughout different segments. Filters are built using the Sitecore Rules engine to define conditions that must be matched so the element will be added to the resulting data set.

  • Launch the Marketing Control Panel from the Sitecore Launchpad
  • In the content tree, expand Experience Analytics -> Filters
  • Right-click on Filters, choose Insert from the context menu, and then select Filter
  • In the dialog box, provide a Name for the filter
  • Click OK to close-out the Message Dialog
    Image One
  • There are minimal data fields to be filled out for a filter. Expand the Data section of the item and you will see a Rule field to complete
  • Click Edit Rule to open the standard rule editor
  • Choose the rule that best fits the data that you are looking to filter. Sitecore has done some backend magic, which spoofs the ‘current contact’ to allow rules to properly pull users into the filter in the form of Sitecore.ExperienceAnalytics.Aggregation.Rules.AggregationAdaptor.AggregationAdaptorTracker object
  • Finally, be sure to select the action ‘add visit to segment’ to ensure that the contacts are added to the resulting dataset
  • Click OK
    Image Two

As always, feel free to tweet me questions or comments @thecodeattic or on Sitecore Slack Community as @gillissm.

This post originally appeared at https://www.paragon-inc.com/resources/blogs-posts/guide_to_creating_dimensions_and_filters.

 

 

Collapse and Expand the Accordion

One click, two click, three click, where is that field? Once a day, I get so lost expanding and collapsing field sections when working in Sitecore’s Content Editor interface, that my poor mouse almost takes a unplanned trip across the office. As the industrious Sitecore developer I am, I decided enough was enough. My decision lead to the creation of Custom Content Editor Buttons.

Solr and Sitecore Upgrade Cocktail

There is nothing worse than getting half-way to three quarters of the way through a Sitecore upgrade, just to be hit in the face with a strange error related to Solr. In the recent months, my team and I have seen an increase interest in Sitecore upgrades involving Solr implementations. In my latest post Sitecore Upgrades Mixed with Solr, I review some of the hurdles we’ve faced to help you on your path.