Introducing Coast for Sitecore

November 7, 2016

Blog | Technology | Introducing Coast for Sitecore

Coast for Sitecore enables authors and developers to quickly move items between databases, between instances (dev, staging, production) and even between versions.

Download the module now.

What is it?

Coast for Sitecore allows Sitecore users to copy and paste items or entire content trees between instances.  It relies on the native Sitecore API’s that serialize and deserialize Sitecore items.  The Developer tool bar has several commands that rely on these same API’s.  Keep in mind these options serialize to the file system.

developer-toolbar

These API’s are the driving force behind many popular Sitecore tools: Team Development for Sitecore, and Razl, to name a few.  Each of these utilities have their own niche role.  Coast for Sitecore fills a gap that these tools do not address.

Getting Started

Coast for Sitecore can be installed in moments.  It is a standalone product that will not interfere with an existing solution, regardless of how much it’s been customized.  It supports all Sitecore versions that support the SPEAK dialogs- Sitecore 7.1+.  To see the fully rendered dialogs, Sitecore 8 is required as the SPEAK dialogs were immensely overhauled in this version.

Installation Instructions for Sitecore 7.x

Installation Instructions for Sitecore 8.x

As mentioned in the videos, after installation, the module is fully functional, however the number of items that can be copied is severely limited.  To increase this limit, we must modify the Web.config to allow larger JSON string to be sent.  Immediately before the final closing tab “</configuration>” add the following:


  <system.web.extensions>
    <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="2147483647">
        </jsonSerialization>
      </webServices>
    </scripting>
  </system.web.extensions>
</configuration>

2147483647 is the Int32.MaxValue, which is the largest value that can be passed to the server.  Your development team can decrease this value if desired.

Usage

After installation, open Content Editor.  Right click the item you would like to copy and select either Copy item or Copy Tree.  As the names imply, Copy Item copies the selected item, Copy Tree selects the Item and all descendants.

menu

Selecting Copy Item will open a SPEAK dialog with the contents of the serialized item (or tree) within the text area field.

copytree copyitem

Clicking the Copy command will copy the text onto your clipboard.  Note: if this functionality fails, you can manually select all and copy (Ctrl + A, Ctrl + C).  With the item data copied, you may now paste the data wherever you wish:

  • Different location within tree
  • Switch databases- Web to Master, Master to Web
  • Switch instances- Dev, Staging, Production, etc.
  • Switch versions- 7.1 to 8.2

To paste, right click the parent item where you wish to add the item data.  In the SPEAK dialog that pops up, paste in the contents from your clipboard and select Paste.

paste

Strategy

Coast for Sitecore is not designed to replace Package creation.  It’s primary use-case is to quickly update environments that have become outdated.  For example, a developers workstation rarely has the same content as a Production environment.  With Coast for Sitecore, a developer can have two tabs open and quickly move item data from Production to their local machine.  Another example is how it benefits a QA person.  Often the QA environment is out of sync with Production which makes it difficult to confidently sign-off on tickets.  The small learning curve makes it ideal for a QA person to manage an instance without the need for developer interaction.

The three commands: Copy Item, Copy Tree, Paste Item Data are all located within the Core database at (/sitecore/content/Applications/Content Editor/Context Menues/Default).  Knowing this, security permissions may be applied to limit the users or roles that have access to these functions.  A best practice is to delete the Paste Item Data option in a Production environment to ensure no users accidentally replace Production content.

While it is possible to serialize hundreds of thousands of items, the performance will suffer as the number of items and item versions grows.  In large tests, the browser became unresponsive for several moments before catching up with GUI.  If performance becomes irreconcilable, select smaller portions of the content tree instead and use a bucketed approach.

Coast for Sitecore 2.0

We are nearing completion of version 2.0 of Coast for Sitecore.  In this version, large copy/paste applications are replaced with a download option automatically.  The small text file is a much quicker transfer than the bulky clipboard action.  The threshold for downloading, along with many other settings are configurable as needed.  With the saved file, you can still paste (aka upload) to any other instance using the same familiar Coast dialogs.  This change makes large operations exponentially faster and more reliable.

As this is primarily designed as a QA tool – we are looking into additional features like: limiting the copied content to the latest version, close upon successful copy, more friendly error messages and more.  With all of these features, we expect to maintain the same level of efficiency (or better) and ease-of-use.

Check back soon for this update!

Want to contribute to Coast for Sitecore? Check out this blog post to learn how.

 

 

John Rappel

.NET Practice Lead
Tags
  • Community
  • Development
  • Education
  • Innovation
  • Productivity
  • QA
  • Sitecore
  • Technology
  • Tutorial
  • Web Development
subscribe to GeekHive's newsletter

Never miss out on a Sitecore update again!

Our newsletter features a blog roundup of our top posts so you can stay up to date with industry trends, tutorials, and best practices.

Recent Work

Check out what else we've been working on