Sitecore and GatherContent Integration Overview

The only reason people visit your website is for content. You have it; they want it.

Content plays a vital role on the website. Thus, when designing a website, we have to ensure that every silver of content – from microscopic blocks of text to enormous banner images and everything in between – is included.

Every website will try to have a rich content, which engages user to read. It will be packed with thousands of words, images, and interactions. How do we ensure that when a new website launch, it’s filled with right content in the right places?

GatherContent – that’s how.

What is GatherContent?

GatherContent is a content management platform that streamlines the way you gather and organize content. The content team can use the app as a single repository to centralize, collaborate on and approve all content prior to moving it to the Sitecore System. Users can define the architecture of the site structure by adding pages and then adding fields to each page.

Once the content uploaded to GatherContent is approved and sign-off it can be exported directly to CMS in a few clicks, without having to copy and paste. The content development platform gives you a complete overview of all due, assigned and last updated content, as well as all approved content, those pending review, and drafts.

GatherContent provides an interactive view a site’s final hierarchy:

Why GatherContent?

It’s a simple and easy tool for the Content Writers. They just need to focus on writing good and useful content. The content team can sit anywhere in the world and focus on writing the content based on the templates defined in GatherContent. Below are the core features of GatherContent:

  • Gather and organise website content in one place
  • Ensure content is in the right structure, well written and ready for the CMS
  • Set-up a workflow – Write, review and approve content in one place.
  • Migrate approved content into the CMS, ready to go live

How?

GatherContent provide a marketplace Module – GatherContent Integration

I’ll share the basic and important things which will be helpful if you planning to start with GatherContent and share my thoughts by which you can judge whether to go with it or not.

Let’s deep dive into the Sitecore and GatherContent Integration.

Once you install the module – You’ll have to do the connection for GatherContent with Sitecore.

Navigate to /sitecore/system/Modules/GatherContent – Provide the proper details and do Test Connection. Once your connection is established successfully, you’ll see below screen.

If you don’t see this above window then something is wrong with the connection [Check API Key and Credentials]. We faced issue with the Proxy – As it was blocking the connection, so make sure you can access https://*yourgathercontentprojejct.gathercontent.com from the machine where you are installing the module.

Integration between GatherContent and Sitecore is simple – As in Sitecore we have template – similarly, in GatherContent we have a template. Technically it’s the same template as in Sitecore but with only a few supported fields.

Yes – GatherContent only provides few [5] fields but it can cover many Sitecore Fields.

Below is the list of GatherContent Field along with in which Sitecore Field it can be mapped.

GatherContent field type Sitecore field type Comment
Text

 

Single-Line Text, Multi-Line Text, Rich Text, Date, DateTime Field content will be copied as it is
Guidelines

 

Single-Line Text, Multi-Line Text, Rich Text, Date, DateTime Field content will be copied as it is
Checkboxes Checklist, Multilist, Multilist with Search, Treelist System will map selected items in GatherContent field to items specified in Sitecore field DataSource.
Radio Buttons Checklist, Multilist, Multilist with Search, Treelist, TreelistEx System will map selected items in GatherContent field to items specified in Sitecore field DataSource.
Attachment Image, File, Droptree, Multilist, Multilist with Search, Treelist, TreelistEx’

 

All attachments will be placed in the following node structure in Sitecore/media library/GatherContent/.

If a field has a datasource set, all importing files will be uploaded to the location specified in datasource.

In case of mapping Attachment field to Sitecore fields allowing multiple selection (Multilist, Multilist with Search, Treelist, TreelistEx), all attachments/files will be downloaded and will be selected in the corresponding field

 

At this stage – You should have some template in Sitecore – Like which we’ll create a template in GatherContent – We’ll it doesn’t matter if your templates are not yet finalized in Sitecore, but if you have a clear definition then it will be easy to manage at later stage.

I will show you a demo of an item defined by SEO Meta Data template.

As in above template – We’ve Page Title, Meta Keywords and Meta Description – Similarly, we’ll define a template in GatherContent and create a new item in GatherContent based on the SEO Meta Data template.

To map an item, it must be first created in GatherContent and then imported in Sitecore as a new item via GatherContent Module [As said by GC Support Team]. After that whenever it is updated in GatherContent, we just need to select an item in Sitecore and press an Update button available in the GatherContent Tab.

Now once the item is ready to be pulled in Sitecore – We’ll create an appropriate template mapping in Sitecore.

Save Mappings Configuration, after all, mapping criteria are set, click the “Save Mapping Configuration” button. The saved mappings can be edited or deleted at any point.

As in the above screenshot – we’ve mapped GC Template with Sitecore Template. Now, we can pull the new item anywhere by selecting the import button in GC Tab. Select which Item you would like to import and select the parent item where you would like to import. Template mapping we’ve already done in the previous step so it will create an item based on the defined template if any presentation is assigned it will be present and you just need to publish an item to see it live.

Great – We’ve imported an item in Sitecore. It’s that simple.

Ben Hubbard has provided a series of articles and a video which are very simple and easy to understand the mapping and integration between Sitecore and GatherContent.

When I started exploring GatherContent – I had few queries for which I had raised below queries with GatherContent.

  1. How can we update the item which already exists in Sitecore and we don’t want to create a new item?
  • Well – In this instance, I got the answer that we won’t be able to map to it. The item needs to begin in GatherContent, in order for it to be mapped to (first time) create an item in Sitecore, and then (second time) update it in Sitecore.
  • I then tried to import an item and see what it does for mapping – Somehow I wasn’t able to clearly see where the actual Sitecore Item to GatherContent item mapping is stored. I then found that they Inherit a GC Item Link template into the current item template. But the fields in the template are selected as Never display in Content Editor. I then changed the status and could see the mapping between Sitecore Item and GatherContent Item. Now it’s simple, I just need to inherit the GC Item Link template for whichever template item I would like to import from GatherContent and set the proper values in the fields defined in GC Item Link.

2. When we update the item in Sitecore to fetch the data from Gather Content – It should add a new version and import the data, it should not update the existing version.

  • Each migration will always update existing content.

3. How to work with Images in GatherContent and Sitecore?

4. While Import we want the concatenation of two GatherContent field values in Sitecore.

  • Just create mapping where both GC fields point to the same Sitecore field and the corresponding values will be concatenated during the import.
  • GatherContent support one to many relationships. So, as we map the same GatherContent field to same Sitecore field – then while import it will concatenate the values and add in Sitecore Item.

5. How to work with Data-Source Items in Sitecore?

  • The integration doesn’t work with presentation and as a result of rendering data sources.

6. How to map general link (Internal Link) with Sitecore Items?

  • Unfortunately unsupported at this stage.

7. Insert image inside the content from Sitecore Media Library and map as an Internal Link.

  • Unfortunately unsupported at this stage.

8. Changing the status of an item in GatherContent from Publishing to Live – On publish. Item updated/imported should have the Sitecore workflow process.

  • Not supported, unfortunately, can be implemented by standard Sitecore means by creating a custom onpublish event handler.

 

My Initial Thoughts:

  • GatherContent is good for Content Team – sitting anywhere in the world.
  • Based on the given GC field we can map the data to the common fields in Sitecore.
  • Mapping data-source referenced items and a general link field could be challenging.
  • It is the best fit if your content team is going to work with text and attachments.
  • If you are planning to go with GatherContent since the beginning of the project – then Sitecore architecture can also be defined properly, keeping GatherContent template/architecture in mind which will improve the efficiency of the project delivery.

We are still in the initial phase and the team is in the process of adapting the GatherContent. The most important thing with GatherContent and Sitecore is the Content Hierarchy. It needs to be defined very carefully since the beginning. After that, it’s all up to the content team to provide the excellent content for the website.

Do post your queries /suggestions/feedback in the following comment section.

Good Reads/References:

http://help.gathercontent.com/importing-and-exporting-content#sitecore-integration

http://www.nonlinearcreations.com/Digital/how-we-think/articles/2016/02/Why-you-should-consider-using-GatherContent.aspx

https://www.trademarkmedia.com/blog/post/gathercontent-is-a-useful-thing

Share

Read More

Sitecore SXA | How to Export, Update and Import a Web Design with Creative Exchange

Sitecore SXA (Sitecore Experience Accelerator) is the buzzword nowadays in the Sitecore World. The Sitecore Experience Accelerator provides reusable, templated UX layouts and components to help you get up and running quickly. One of the important features of Sitecore SXA is Creative Exchange, which is helpful for executing the development and designing process to be done in parallel. The Creative Exchange process is designed to facilitate several different teams working on a website. For example, the team that is working on the theme of the site can work in parallel with other teams.

In this post, I will go through the step by step process to show you how to export, change the color of the text and then import back in Sitecore with the Creative Exchange.

I installed:

Create New Site

Create new site – I’m creating a new Sitecore site called sxasite. 

(more…)

Share

Read More

Schedule Publishing Items in Sitecore

Hello Sitecorians,

You can now easily configure Sitecore Items for Scheduled Publishing using Sitecore PowerShell Extensions. PowerShell has a great Power. It saves developer life a lot by providing the way of Integrated Scripting Environment and without Web Deployment, you can execute the script on the different environments easily.

Schedule Publishing Items – A Sitecore MarketPlace Module 🙂

Schedule Publishing Items

It allows you to set the following options:

  • Items To Publish
  • Date and Time
  • Publishing Target
  • Publishing Language
  • Publish subitems

On date-time arrival – once the scheduled task is executed the script will start publishing items if the values are selected properly.

Make sure item is not in workflow and is allowed to publish, otherwise it won’t be published.

This module has following Items:

1) PowerShell Script – /sitecore/system/Modules/PowerShell/Script Library/Schedule Publishing Items/Internal/ISE Plugins/Scheduled Publish
2) Schedule Task: /sitecore/system/Tasks/Schedules/Schedule Publishing Items
3) Template Configuration: /sitecore/templates/Modules/Scheduled Item Publish/Schedule Items
4) Configured Item for Scheduled Publishing: /sitecore/system/Modules/Schedule Publishing Items/Schedule Items_DD-MM-YYYY

You can create any number of configured items for publishing at – /sitecore/system/Modules/Schedule Publishing Items/

Schedule Items_DD-MM-YYYY — This is just a sample item without properly selected values. You just need to add the values properly and Enable the checkbox for publishing at Scheduled Time.

Scheduled Publish Item

There is an option to disable an item or delete an item once publishing is done so that it should never process next time when the scheduler looks for the scheduled publishing task. If you do not select to disable an item after publishing is done and do not select to delete an item then it will execute every time the scheduler check for schedule items to publish as the time is passed away.

Note: The script will execute, once the scheduler starts scheduling jobs. The default time is 10 minutes, so every 10 minutes system will check for scheduled publishing. Therefore, while setting the time you need to be aware of the scheduled task execution time. Refer below in your config. If you have changed the value then it will work accordingly.

<!– An agent that processes scheduled tasks embedded as items in the master database. –>
<agent type=”Sitecore.Tasks.DatabaseAgent” method=”Run” interval=”00:10:00″ name=”Master_Database_Agent”>
<param desc=”database”>master</param>
<param desc=”schedule root”>/sitecore/system/tasks/schedules</param>
<LogActivity>true</LogActivity>
</agent>

PowerShell will to your scheduled publishing.

Reaction GIF - Find & Share on GIPHY

And you can enjoy your weekend.

Thread GIF - Find & Share on GIPHY

Happy Scheduling! 🙂

Share

Read More

Publish Bulk Items in Sitecore using Sitecore Powershell Extensions

Every Sitecore site will have a different set of requirement and one of the requirement could be Publish Bulk Items in Sitecore. If you have the same requirement then you are at right place. 🙂

Publish Bulk Items In Sitecore

 

This post is in accordance with my previous two posts:

  1. Export Sitecore Items
  2. Update Sitecore Items

This might be the case for your requirement, first Export Sitecore Items, then it could be Update Sitecore Items in bulk and then I’m sure there would be the third one to Publish Sitecore Items in Bulk.

I’ve written Sitecore Powershell script which would do the job easier. In Update Sitecore Items — I provided the sample file, the same file you can use for Bulk Publish.

Sample CSV File: pt_Publish_Sitecore_Items (I generally prefix the file with language so that we know which language version items are getting published)

Below script will first ask the user for the CSV File. Then it will ask for Target Database to publish Sitecore Items — The reason for providing this option is because every Sitecore site have the staging environment and it’s always better to verify the changes. So you can accordingly select the target database and after verifying you can push it Live. Once processing is done file will be deleted. Publish Mode is set to Smart.

Note, Sample CSV File has two important columns which are required by this script, ItemPath and Language — Items will be published in the provided language.

(more…)

Share

Read More

Remove Sitecore Item Language Versions

In Multilingual Site, Content Authors many times create duplicate items or copy items and in that case, all the versions of the items are getting copied. And they want to remove the language versions in bulk so that no wrong language version with wrong data gets published live.

If you are implementing and looking for the quick solution, see below code:

If content authors are working on many items and if they remove language versions manually then for each it will take hours of them to get it done. This tool will help content authors to remove the unnecessary language versions from the Sitecore Items in few seconds/minutes.

(more…)

Share

Read More

Update Sitecore Items using Sitecore PowerShell with CSV Data

Hello Sitecorians,

 

Are you looking for quick and easy way to update Sitecore Items — Sitecore PowerShell does that job very easily.

 

In my previous blog — I provided the PowerShell script/module by which you can export data using Sitecore PowerShell Extensions. If you see that script/file properly – First two header rows are “ItemPath” and “Language“. These columns are required for the below script to update the data. I’ve kept the language column as required for this because I work on Sitecore Site having more than 10 languages and in that case, we need language option so that correct language version gets updated. And other header rows in the file are the field names. Once I have exported the data in CSV – do the required updates in Excel and import the same file using below script. It will import updated data back to Sitecore Items.

 

I referred a couple of blogs for importing CSV File and in all, we have to provide the Path for the file but for providing the path, that file should reside on the server. So I looked for some other way around and found an easy way to upload the file, process it and then delete it. Let me know if you have any other ideas/suggestions for it.

(more…)

Share

Read More

Export Sitecore Item Data using Sitecore PowerShell

I heard a lot about Sitecore PowerShell – it’s the great tool and one of the best module on Sitecore Marketplace. Also the most downloaded module crossing SIM. One fine day I was installing SXA, that also said — Before you install the SXA package, please make sure that you have installed: Sitecore PowerShell extensions (full 4.5 for Sitecore 8) from https://marketplace.sitecore.net/Modules/S/Sitecore_PowerShell_console.aspx. Then I started exploring PowerShell from the Video Series by Michael West on YouTube. These are awesome videos to learn and understand Sitecore PowerShell. And once you have viewed the videos, after that when you look at the script, you will easily understand it. For every Sitecore Developer, it’s worth exploring Sitecore PowerShell. You’ll really like and enjoy with it. You won’t open Visual Studio to code, you will only open Sitecore for scripting – as it says – Sitecore PowerShell ISE (Integrated Scripting Environment).

 

Export Sitecore Items Data — We are using this tool a lot to give the reports or data to the client, created in a .aspx file – It was written by my friend. And then I modified it based on requirements. After exploring PowerShell. I thought to implement it in PowerShell. And it got ready in couple of hours as I knew how to work with Sitecore PowerShell 😉

(more…)

Share

Read More

An error occurred in Sitecore Experience Editor

While working on Sitecore Site — I faced an error for few pages in the experience editor. As always quickly I tried to search on google to find the solution, but I didn’t found any solution related to an error. And the reason is — The error that I was getting was totally different on the browser while the actual problem was something else.

Error:  An error occurred. [Log message: Value cannot be null. Parameter name: version]

sitecore_experience_editor

(more…)

Share

Read More

Sitecore Items – Get Keyword Reference Items

Challenge:

We need to know in how many Sitecore items word “keyword” is present. This requirement arrived because client had a contract with one third party service and now they have planned to discard the contract with that party and change the service with other party. Now these third party services provide some script which we add in Sitecore item and now for all the items where we have script used by first service need to be replaced with another. And the site is very big and we can’t check each and every item where the “keyword” is present.

So after discussing with Urvesh, we came up with an idea to fetch from Database directly.

001

Solution:

Ultimately sitecore stores the value in Database into three tables — Versioned, Unversioned and Shared fields. So we wrote a query which will hit all the three tables and provide us the item ids where the keyword is present. The site is in many languages and if in any language version the keyword is present then it will be captured. This saved enormous time and money. 🙂 We’ve heavily used this utility for providing the report to the Content Authors and Migration. Additionally we have created many such tools which can update the items in bulk, we will share it soon.

(more…)

Share

Read More

Sitecore Module – Delete Multiple Items

Delete Multiple Items – A module for Content Authors to Delete Multiple Items.

Sitecore 7.0 Sheer UI – ASPX Application
Sitecore 8.2 Speak UI

A Module for deleting Multiple Sitecore Items. This application was built first as an ASPX page (You can access it with /sitecore/admin/DeleteMultipleItems/DeleteMultipleItems.aspx), then provided an option in Sitecore Start Menu which can be used as an application as shown in screenshot. After that I learnt and explored Speak application via Knockout JS and then built a new application based on SPEAK UI which can run on Sitecore 8.2. Download the package based on the Sitecore version in which you are going to install.

Download it from Sitecore Marketplace

Documentation: GitHub

Source Code: GitHub

Well, If you are working on your DEV Machine, then you can easily delete multiple items with the help of Sitecore Rocks. Refer: http://www.sitecore-cms.de/2013/12/how-to-delete-more-than-one-item-in.html

Output:

Delete Multiple Items
Delete Multiple Items – Sheer UI
Delete Multiple Items
Delete Multiple Items – Speak UI

 

Thanks to my friend – Vikram for blogging the very good series of articles for SPEAK application. Thsi helped in gaining basic knowledge about Sitecore Speak application.

Share

Read More