Skip to main content

Posts

Using Feydra with Sitecore and a custom ViewEngine

When working with Sitecore and Front End Developers (FED) you can use a tool called Feydra from Hedgehog. Feydra is a great framework that makes life a bit easier for the FED team. If your solution uses a custom view engine processor you can't use Feydra though. As of this writting Feydra does not support working with a solution that is using a custom view engine (because a custom view engine is how Feydra does it's magic). With the power of Sitecore rule based configuration maybe there is a way.

The benefits of using Feydra were pretty big so we began to wonder if there might still be a way to do this. As we looked into the Feydra code we realized it was using VirtualPathViewEngine as the view engine which inherited RazorViewEngine. Since we know the interface for this class we know it works just like any other view engine. So what if we had our view engine inherit from VirtualPathViewEngine? Could we add the same logic Feydra execute to decide if we needed to pass processing…
Recent posts

How to find Givers when Hiring

How do you hire the best talent into your organization? If you believe your people are your best asset how do you make sure you are hiring in a way that will protect and lift those assets? I believe employees can be a company's biggest asset, but that is not to say anyone you hire immediately becomes a huge asset. Too many companies during the interview process focus on understanding the person's skill level. While this is important I believe it is the soft skills and the personality type that is most important. However, most interviews spend very little time trying to flush these traits out. The personality traits of a person are hard to flush out in a 60 minute interview, which is probably why most people don't try.


A while back I watched a talk from Adam Grant on TED about giver's and taker's. This talk really rang true for me and my experience at different companies. I really believe that if a company can fill their ranks with Givers (or at least Matchers) they…

Sitecore Experience Forms Validation

Recently I was adding Sitecore Experience Forms (NOT WFFM) to some existing views I had. Sitecore provides a walk-through on how to set this up, however, when I set the page up as they noted when I clicked submit I was always sent to a URL like this:

http://<domain>/formbuilder?osa_did=C0020166&fxb.FormItemId=b41b7d6a-592c-415f-bb56-a9d7c803c148&fxb.HtmlPrefix=fxb.37b94ac0-596b-4b2d-999e-c9814ee8ff98

To try and resolve this I took a step back and approached this like I did not already have an existing view. So I created the base view like they call out in the walk-through. Then I created the layout view and set its base to the base I just created (the one that holds the references to the Sitecore script commands). When I did this the form worked! So I moved the same script commands to my existing view again, and the form stopped working and on click sent me to the "formbuilder". What!? I decided it was time to talk with Sitecore supported.

After talking it thro…

Variables for pipelines

I recently stumbled on a post about adding configuration variables to Sitecore pipelines. This is one of the coolest hidden features of Sitecore and its pipelines! As you build custom pipelines one thing you will probably encounter pretty quickly is the need to pass in a parameter that changed based on the environment the code is deployed into. This is where pipeline variables save the day.

The first thing you need to do is create a variable that will hold the data you want to pass into your pipeline processor. This variable can be udpated by your deployment process to hold the value you want in each environment.

<sc.variablename="mySites"value="mySitesValue"/>
Important: You of course want to create this variable in a patch file and not directly in any of the default Sitecore configuration files.

Next, you want to setup your pipeline configuration. This, of course, is also done by using a patch file.

1 2 3 4 5<processorsites="$(mySites)"patch:after…

Backing up your computer files with OneDrive

I have had a lot of people ask how to back files from their computer so they can get rid of it or replace it or rebuild it with a new operating system (OS). There are a lot of options out there that can do this in different ways. I tend to bucket all these into two main categories. Cloud-based back and physical back-ups.

Cloud-based backups are services that sync files into an online service run by some other company. Your files are synced to servers they run and manage and provide some level of guarantee about reliability, security, and availability.

Here is some popular option:

CarboniteiCloudOnedriveDropboxGoogle Drive Physical back-ups are backups you make of the files with some type of physical storage you have alongside the computer you are backing up. Normally these are point-in-time backups. Meaning your data is only backed from that last time you remembered to do a copy of the files yourself (I know there are physical devices that will do scheduled backups but we are not going…

Setting a Sitecore Business Rule Operator Programatically

Normally when you create a Sitecore business rule you would define an operator configuration and let the user define the type of operator they want to use. An example of this is the "StringConditionOpertator" (found here /sitecore/system/Settings/Rules/Definitions/String Operators). In a lot of cases, the user would select what type of operation to perform on the value they set. By type I mean things like "equals" or "contains" etc. Below is a list of operators you can use for a string condition.


What if you wanted to create a custom rule that did a string operation but you always wanted it to be the same type of operator? You did not want to, for whatever reason, allow the user to specify how the string should be compared. You can do this by setting the OperatorId to the GUID from the item above. A word a warning here though. Make sure the string stays in the proper casing. If you create a constant for this and/or a GUID and do something like "ToStr…

Anatomy of Sitecore Business Rule - Macros

In previous posts, we talked about field syntax and the basic structure of business rules. This time we are going to dive into macros in the business rules. Macros are used as part of the business rule syntax. The syntax looks like this and calls for 4 parameters. [Property to set, Operator/Macro, AdditionalParameters, Display text].

When I first started working with business rules the difference between operator and macro was confusing. To add to this confusion some of the out-of-the-box macros are named with the term "operator" (like ListOperator who's configuration points to a class called ListMacro and the class implements IRuleMacro). Anything under the path /sitecore/system/Settings/Rules/Definitions/Macros should be a macro and should implement IRuleMacro.

Macros have the follow characteristics:

They inherit the IRuleMacro interfaceThe interface requires this execute method void Execute(XElement element, string name, UrlString parameters, string value)The execute m…