Setting up the plugin: 

First step is to ensure you have the ability to override Umbraco Image processor.  You need to check your solution for the following files:

  • Cache.config
  • Processing.config
  • Security.config 

If you don’t have the config files you can install them via nuget found here:

https://www.nuget.org/packages/ImageProcessor.Web.Config/

 You can next install the Rackspace file provider package either through Nuget or Umbraco package manager. 

Once installed you will need to update the image process file config files.

 

Cache.config 

<?xml version="1.0" encoding="utf-8"?>

<caching currentCache="RackSpaceBlobCache">

  <caches>

    <cache name="RackSpaceBlobCache" type="Fabric8.RackspaceCloudFilesWithUmbraco.Caching.RackSpaceBlobCache,  Fabric8.RackspaceCloudFilesWithUmbraco" maxDays="365">

      <settings>

        <setting key="ApiKey" value="[RackspaceApiKey]"/>

        <setting key="UserName" value="[RackspaceUserName]"/>

        <setting key="Container" value="[RackSpaceContainer]"/>

      </settings>

    </cache>

  </caches>

</caching>

 

You will need to update all the settings in the “[]” to your own rackspace settings. 

 

Security.config

<?xml version="1.0" encoding="utf-8"?>

<security>

  <services>

    <service name="LocalFileImageService" type="ImageProcessor.Web.Services.LocalFileImageService, ImageProcessor.Web" />

    <service prefix="media/" name="CloudImageService" type="ImageProcessor.Web.Services.CloudImageService, ImageProcessor.Web">

      <settings>

        <setting key="Container" value="media"/>

        <setting key="MaxBytes" value="26214400"/>

        <setting key="Timeout" value="30000"/>

        <setting key="Host" value="[Rackspace CDN location]"/>     

      </settings>

    </service>

    <service prefix="remote.axd" name="RemoteImageService" type="ImageProcessor.Web.Services.RemoteImageService, ImageProcessor.Web">

      <settings>

        <setting key="MaxBytes" value="4194304" />

        <setting key="Timeout" value="3000" />

        <setting key="Protocol" value="http" />

      </settings>

      <whitelist>

        <add url="[Rackspace CDN Url]" />

        <add url="[Domain of site]" />

        <add url="http://localhost" />

        <add url="http://127.0.0.1" />

      </whitelist>

    </service>

  </services>

</security>

 

You will need to update all the settings in the "[]" to your own rackspace settings.

 

You will also need to update your umbraco File system to point to the new dll

 

<?xml version="1.0"?>
<FileSystemProviders>

   <!-- Media -->
   <Provider alias="media" type="Fabric8.RackspaceCloudFilesWithUmbraco.RackspaceFileSystem, Fabric8.RackspaceCloudFilesWithUmbraco">
       <Parameters>
           <add key="apiKey" value="[RackspaceApiKey]" />
           <add key="username" value="[RackspaceUser]" />
           <add key="container" value="[RackspaceContainer]" />
           <add key="containerName" value="media" />
        </Parameters>
</Provider>
</FileSystemProviders>

 

You will need to update all the settings in the "[]" to your own rackspace settings.

 

Finally you will need update the web.config located in the media folder. You will need to add the following:

"<add name="StaticFileHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.StaticFileHandler" />"

Your media web.config should like this:

<?xml version="1.0" encoding="UTF-8"?>
   <configuration>
     <system.webServer>
        <handlers>
        <clear />
        <add name="StaticFileHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.StaticFileHandler" />
        <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
         </handlers>
      </system.webServer> 
   </configuration>

Follow the steps below to find your Rackspace API and Username

Step 1, Login into rackspace(https://login.rackspace.com/)

Step 2, Click on your user name and select "My Profile & Setting"

Rackspace Login

 

Under “User” is your username and if you click “show” for Rackspace API Key to display your Rackspace API Key.

Rackspace API

 

 

 

You can find more information about your rackspace user settings here:

https://support.rackspace.com/how-to/view-and-reset-your-api-key/

Follow the steps below to create your own Rackspace Container to store your cloud files

Step 1, Login into rackspace(https://login.rackspace.com/)

Step 2, Click Storage -> Files

Rackspace Cloud Files

 

Step 3, Click on Create container button.

Step 4, Enter the name of your container and ensure you select Public (Enabled CDN)

Rackspace Create Container

 

 

Step 5, Once the container is created then click on the “Cog” beside your container and select “View All Links..”

Step 6, A menu should appear and display all you newly created CDN links. Pick the appropriate one and copy it into your config file.

 

More information can be found here.

https://support.rackspace.com/how-to/getting-started-with-cloud-files-and-cdn/