+1-888-365-2779
Try Now
More in this section

Forums / General Discussions / SlowCheetah Transformations for Config Files

SlowCheetah Transformations for Config Files

6 posts, 1 answered
  1. Devin
    Devin avatar
    16 posts
    Registered:
    27 Aug 2013
    18 Sep 2015
    Link to this post

    Hi, we use Visual Studio transformations for managing our web.config file for our different environments (development, test, and production) -- it works well for both SVN and deployment.

    We would like to use SlowCheetah to manage the Sitefinity config files (Configuration folder) in the same manner. SlowCheetah should be able to "transform your app.config or any other XML file based on the build configuration." I can successfully create the transform files for each environment but Visual Studio/SlowCheetah will not transform Telerik's config files based on the build configuration when I deploy the project. Is there a way to allow SlowCheetah to transform these config files?

     Thanks,

     Devin

  2. Sabrie Nedzhip
    Sabrie Nedzhip avatar
    534 posts
    Registered:
    06 Dec 2016
    23 Sep 2015
    Link to this post
    Hello Devin,

    I have replied in the support ticket you have submitted related to this and I am pasting the reply here as well:

    Please note that using the SlowCheetah tool in Visual Studio for transforming configuration files is not tested with Sitefinity projects and it is not officially supported.

    The supported way to deploy your Sitefinity project to a production environment is by following the instructions in the following article in order to avoid any issues.

    In addition to this, the best approach to move a project from one environment to another is to copy over the solution folder, create a backup of the database and restore it in the new environment in order to make sure that all the files are moved properly. After you copy the solution folder and database from the development environment and restore the project files and the database in the production environment, you need to fix the connection string to point to the database in the production environment and make any other changes in the configurations if needed.

    The next step will be to run the project locally in the new environment and if it runs properly then you can also set the project on IIS.

    You may also take a look at the following documentation articles for more details about how to configure IIS to host Sitefinity projects and to run projects on IIS:

    http://docs.sitefinity.com/configure-the-iis-to-host-sitefinity-projects
    http://docs.sitefinity.com/run-projects-on-iis-7-0-and-above


    Regards,
    Sabrie Nedzhip
    Telerik
     
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Sitefinity CMS Ideas&Feedback Portal and vote to affect the priority of the items
     
  3. Devin
    Devin avatar
    16 posts
    Registered:
    27 Aug 2013
    23 Sep 2015 in reply to Sabrie Nedzhip
    Link to this post

    Sabrie, thank you for your reply. Unfortunately, the process outlined in your documentation falls short in our multi-developer, multi-environment situation. Our environments include production, testing, and development; and local development for each developer. In an ideal world, a deployment would consist of backing up / restoring the database, copying the project files, and updating <add connectionString ...> in DataConfig.config. However, each of our environments has additional unique settings such as the STS setting for <federatedAuthentication> in web.config, the STS settings for <securityTokenIssuers> and <relyingParties> in SecurityConfig.config, <smtpSettings> in SystemConfig.config, <add defaultSenderEmailAddress ...> in NotificationsConfig.config, etc. -- not to mention the headache of config file tracking, versioning, and merging that's required as multiple developers promote their local changes to the central development environment and then up to the other environments.

    SiteSync does not work for us because it does not work with HTTPS login, I could not get it to authenticate with our LDAP, it only syncs one way, etc.

    In my opinion, if we're going to work with config files we need to have config files for each environment -- but the config files need to be versioned and easily merged, which Visual Studio and a versioning tool can do. And if we're not going to put all the configurations in web.config so that we can use the standard transformation functionality in Visual Studio, a solution like SlowCheetah is needed to produce environmental versions of those config files.

    Thanks,

    Devin

  4. Tim
    Tim avatar
    258 posts
    Registered:
    22 Jun 2011
    30 Sep 2015 in reply to Devin
    Link to this post

    Devin,

     I've used SlowCheetah in the past so, you're not alone. :)

     If you're deploying from Visual Studio, the transforms should be working. If you're not using VS to deploy, there is a NuGet package [for SlowCheetah] that I had to add to the project in order to get the transforms.

  5. Devin
    Devin avatar
    16 posts
    Registered:
    27 Aug 2013
    13 Nov 2015 in reply to Tim
    Link to this post

    Hi Tim,

    Thanks for your reply. I installed the SlowCheetah extension to Visual Studio, installed the NuGet package to my Visual Studio project, and configured transformations for a number of the .config files in the Configuration folder -- but when I publish, the transformation of the .config files in the Configuration folder does not occur. Is there something I'm missing?

    Thanks,

    Devin

  6. Devin
    Devin avatar
    16 posts
    Registered:
    27 Aug 2013
    03 Feb
    Link to this post

    Additional experimentation yielded the solution. The following three elements need to be installed:

    1. In Visual Studio Extensions and Updates, install the "SlowCheetah - XML Transforms" package
    2. In Visual Studio NuGet Package Manager, install the "SlowCheetah" NuGet package to the Sitefinity project
    3. In Visual Studio NuGet Package Manager, install the "SlowCheetah.Xdt" NuGet package to the Sitefinity project

    Devin

    Answered
6 posts, 1 answered