Gather Content & Sitecore

I have to say I truly love any tool such as Gather Content ( https://gathercontent.com/) that has all the tools for ensuring right sort of marketing content is prepared for a website. It has a good and fair game of workflows, content templates and statuses for each to assure that you need everything that can give more power to you on a pre-CMS lifecycle. With new sitecore integrations, Style labs should be the way to go for some of this chores ahead of Sitecore’s role.

Now, when you and your team does decide to use a product such as Gather Content, it is very important to start strong and correct issues right in the begining of content load if you ever wish to use the connector ( https://gathercontent.com/resources/how-to-use-gathercontent-for-sitecore-projects) provided by Gather Content to pre-load some content on to Sitecore when the templates are ready up there. You do not have to match the architecture of your Gather Content templates to Sitecore because the connector does provide some cool mappings that you could spin up. What you should rather be focusing on from day one –

  1. What is it that I would like to store on Gather Content
  2. What specific content areas/items do I want to migrate on to Sitecore.
  3. How can I help ensure that the data loaded on GC is website ready – Meaning all image having good dimensions, any design directions or important design guidelines to follow.
  4. Keep it simple and organized — That is the reason you have a system like Gather Content – Focus on painful and heavy content areas.

Also, keep in mind the shortcomings of a system like gather content. Though they do their job close to perfect on providing the tools needed for the goals of such system. Automated content migration need not be a seamless, dreamy world because as always we are talking about two unique systems which expose different data types, hierarchies and tools. So, nail down what you care about on this migration. Establish an question equation that when Sitecore is up and running, that should be the tool for content entry. Gather Content is a pre-CMS tool and should be used and respected for that.

Few Caveats as of this writing. I am pretty sure Gather Content Sitecore connector will mature to accommodate some of this very frequently needed tasks on hand while working with Sitecore.

  • Is the connector Sitecore 9.0+ compatible 
    • Yes, per their documentation and video tutorial. It is very much compatible.
  • How do items get created when the location where we chose to put items is a bucket? Does that affect your connector at all or it should work as expected 
    • GC team will get back to me on this shortly and I will update the blog or post as a comment as soon as I receive feedback
  • Where do we maintain source listing if any on Gather Content 
    • This is a manual task for now, in the future there will be options for more dynamic tagging – GC suggests adding a character code to the title of an item to “tag” it
  • Do you have a demo available that showcases porting of multi list complex items from Gather Content on to Sitecore. 
    • general link – Curious on how this is setup on Gather Content and ported over to Sitecore
      • Need to check with GC team – Could potentially put this off and only load on Sitecore to minimize not needed effort
      • GC: No, wouldn’t be able to work with multifaceted integration, more basic for template mapping – GC will follow up with integration partner
    • For multilist, Should datasources noted on Sitecore template first mapped and entered properly so Gather Content can then have that mapped correctly.  
      • I  guess is there a way to ensure the data sources are replicated on Gather Content as a feed for multi list to ensure they are in SYNC?
      • Again very name specific and no way at this time to source from somewhere else other than defining on template all options again
  • Images – We want a very organized tree on Sitecore for media.  Is there is a set up configuration we can do for to ensure this is streamlined. 
    • Need to check with Gather Content team
    • It seems like it does respect the source set on Image field when importing the images on to sitecore from Gather Content based on Template mapping, but, confirmation might help
    • GC: Confirmed, you can choose a location for porting images – GC will still double check with the integration partner
  • Shareable Content 
    • Say, we have shareable content across the templates of Gather Content.  Is there some kind of picker that ties between different entities on Gather Content? 
    • OR 
    • Should we expect to have all the mappings for this shareable content across multiple sections of different templates.  What happens to duplication at the point of using Connector in this case? You should go this route, but, do understand there is no association that can be provided between two sets of Gather Content Items. It is all manual at this time.
  • Any special filter we could do and ensure that when Connector does port a list of items that match specific query go to different location on the Sitecore Tree. 
    • Not present at this moment as standard functionality, but, can be extended. If I do receive details on how to do so I will add a comment to this post as and when I get more info.

Performance is the Key

Imagine yourself building an excellent functional website, but, it does not load fast enough, would people actually use the awesome functionality you pulled off.  The answer would be no! People are impatient and busy with their hectic lives and they would not care to wait 3 seconds that the functionality might take to load.  So, performance is a balancing act to make wise decisions when coming to impeccable functionality.  Asking the right questions and following the best practices around everything as much humanely or scope wise possible is the way to to go and key to success.  In the past, i did write a blog about performance gain in few steps which was more web site page load speed driven.  You can see it here

A different paradigm to bump up your site performance

This time around, I will highlight few key things you could do in improvising your Content management experience.

When building a sitecore site, considering the routine and daily chores of content author are the most important to ensure we are using full potential of what Sitecore has to offer with it’s platform.  But, often times this is forgotten along the way and more attention is given to how the website looks, feels and functions.  It is important to ensure the content author experience is still taken in to consideration while pulling off an amazing looking site.

Couple things to keep in mind while coming up with Architecture and Sitecore content structure for the site –

  1. Placeholder settings
  2. Insert Options
  3. Experience editor support
  4. Available renderings
  5. Compatible Renderings
  6. Standard Values

I will drill more on to how each of the above when thought and configured correctly would be of great help to ensure content author has seamless experience.  For now, jumping on to performance.   I have seen many folks complain that their content authoring is slow and sometimes take a while to load.  This could be due to customization done, but, we should not forget to try the below things first to ensure we have basic foundations covered.   They do not take long time to do, but, could be that it is often given least importance because again end user experience is given more weight  than content author experience. 🙂

Below is the drill that could be done to instantly bump up your content author experience.

  • Clean up Databases :  It should be either done regularly via control panel or a script that could be scheduled to run from SQL server to help mitigate performance issues.
  • Maintenance Plans: Sitecore performance tuning guide screams that this is important, it is simple to do, but, I noticed this is almost always ignored and not done.  This is important and critical for content authoring performance
  • Ensure there are less than 100 items within a node, this is a best practice suggested by sitecore, so, the content author does not click on expand and wait few seconds before he see’s the list load.
  • Few critical settings that could help content tree load would be those mentioned on performance tuning document, below are the two for reference, both have good gain of performance
    RenderCollapsedSections
    CheckHasChildrenOnTreeNodes
    Check tuning guide for more information:  https://sdn.sitecore.net/upload/sitecore7/70/cms_tuning_guide_sc70-72-usletter.pdf
  • Limit number of versions: User version manager to ensure you have upper bound to number of versions on your implementation.
  • Ensure workbox and draft versions are cleaned up frequently for better maintenance and quicker load.
  • Clean  up broken links
  • Rebuild your indexes
  • Use publishing service if you are on newer versions of sitecore.
  • Go cloud – So, nearest available node would serve the content avoiding any network delay
  • Ensure you set cache limits and not use limitless cache option that sitecore provides on CM
  • Check your logs for any errors and fix them.

After doing all the above, if your content authoring is still slower then look into any overridden code in Sitecore pipelines and do some performance tests.

Happy Sitecoring and Have a great weekend!