This has been a Sitecore Burst!

One of my new ventures this year was to try my hand at creating short Sitecore help videos, under a minute. I wanted to be able to speak not just to developers, but sitecore admins and content authors as well. My good colleague Grant (@GrantReadAccess) has been helping out and together we’ve got a few videos up on the ol’ YouTube for you to enjoy!

I’ll be updating this post as new ones come out, and I also have a PlayList you can watch to catch ’em all!

See the videos…

Continue reading This has been a Sitecore Burst!

Corello brings dashboards to your Trello life

A while back, Corello came across my desk as something to look into for reporting on Trello boards. It took me some time to finally get around to it, but I’m glad I finally did. If you use Trello at any scale, you have probably hit the limits of your capacity to really get a portfolio glance of your organization in Trello. Corello aims to help with that very problem through cross-board reporting dashboards. I’ll try to give a quick synopsis here as well as a few scenarios where this tool fits well.

What is the problem being solved here?

Let’s say you have a few boards. Scratch that… a LOT of boards. Continue reading Corello brings dashboards to your Trello life

Continuous Everything: The Art of Repetition

It is very fashionable to apply a single word to pretty much ANYTHING to try to get in on the latest trend. The current ‘Whatever-Ops’ trend (MarketingOps, ChatOps, OpsOps) is one such example. For a while, though, we’ve been having the word ‘Continuous’ thrown in front of a whole lot of activities in the software development world: Continuous Delivery, Continuous Improvement, Continuous Management. There’s a reason for this… repeatable processes are a key ingredient to predictable delivery. And predictable delivery means money in the bank!

Continue reading Continuous Everything: The Art of Repetition

TeamCity FTP plugin 501 error: Cannot accept argument

While investigating options for deploying Sitecore to Azure, I found a TeamCity deploy plugin that supported FTP (among other things). Unfortunately, after trying to get it up and running I ran into the following 501 error while using FTPES (explicit FTPS):

“Failed to upload artifacts via FTP. Reply was: 501 server cannot accept argument”

Investigating on the server, I found the following in the IIS server logs:

“Client IP on the control channel didn’t match the client IP on the data channel”

A little bit of Google digging later, I found some chatter on the issue on the plugin’s GitHub issues list. That thread pointed to a patch build with options to specify Active versus Passive in the FTP mode. It turns out I needed Passive, but the original plugin download didn’t support it.

If you also need this functionality, this is the link to the plugin developer’s build which supports an option to specify Passive versus Active on the FTP mode:

https://teamcity.jetbrains.com/guestAuth/repository/download/bt402/662499:id/deploy-runner.zip?guest=1

 

Patch delete Sitecore elements based on element content

Recently, I wrote about patching Sitecore instances for specific roles. During my research on how to do this, I was able to use a manner of Sitecore patching I had not previously known about. With a patch:instead, instead of targeting an attribute of the element you can actually target the contents of that element. (Thanks to @jammykam for that Stack Overflow post!)

Why is this useful?

Typically patch:instead is used to replace one value with another in the settings, but because of the matching capabilities of this syntax you can use this to patch:delete elements you couldn’t otherwise match against.

So, when you need to remove an element from the configurations that have multiple elements with no distinguishing characteristics, you can target the inner content instead to distinguish them.

Yummy Config example!

Below is a sample config file which can remove a <using> tag by targeting the text inside the using tag.

<?xml version="1.0"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/">
  <sitecore>
    <ui>
      <usings>
        <!--Target based on text in the tag-->
        <using patch:instead="using[.='Sitecore.Social.Client.Wizards.AddNetworkAccount']">
          <patch:delete />
        </using>
      </usings>
    </ui>
  </sitecore>
</configuration>

Sitecore DevOps: Deploying instance role configurations with solution

Those of you who have installed Sitecore in a scaled environment (i.e. multiple instances) know that the process can be somewhat tedious. To configure an instance to use a specific role, you need to manually enable/disable/modify config files to make the instance act as a delivery, authoring, or processing instance. Oh, do you also want to upgrade to the latest update? Be prepared to have to do it all over again.

While we wait for Sitecore to make this process a little bit easier, I decided that enough was enough and I wasn’t doing those steps anymore. Introducing the Sitecore Role Configs!

https://github.com/jst-cyr/Sitecore-Role-Configs

Inspired by the work in @kamsar’s SwitchMasterToWeb, the role configs capture the manual steps from those guides in a single role-specific file. Need to configure a processing instance? Drop the processing config file for your version of Sitecore.

Note: Hardening is not covered in these files, so keep that SwitchMasterToWeb handy!

At the time of writing, I’ve got Sitecore 8.0 Update 3 to Update 7 supported and will be working to get other versions in there as time goes by.

One day, I hope that the need for these files will be completely obsolete and I will laugh at how easy it is to deploy new roles of Sitecore. For now, though, happy deployments, and let me know if you find any issues and I’ll fix them up!

Swimming against the waterfall…

Follow

Get every new post delivered to your Inbox.

Join 66 other followers