Sitecore Publishing Service tips and tricks

I have been using Sitecore Publishing Service 3.1.3 in Sitecore 9.0.2 for a while in a big solution and I have encounter different problems in the past months.

Here are some tips and tricks that will help you too.

#1 If you want to see more detailed information in the log files, without much fuss, you have to edit \config\sitecore\sc.logging.xml and replace this

<Sitecore>Information</Sitecore>

with

<Sitecore>Debug</Sitecore>

Please note that you will have to restart your Publishing Service after changing the configuration to apply it. If you are in the middle of the publishing it will start again with the job that was running and will execute it and then execute whatever was already in the Queued jobs list. After you have analyzed your logs do not forget to  revert the change, as in time with this setting will fill up your disk.

#2 If you have made lots of publishing into your solution and things started to pile up you might get a much bigger table Publishing_PublisherOperation then you need to investigate. In the logs I had this:

2019-05-06 08:15:01.147 +02:00 [Information] Executing Cleanup Task : "PublishJobCleanupTask-0cefad14c0664e1d8c114e55bef1007d"
2019-05-06 08:15:03.122 +02:00 [Information] Cleanup Task Complete. Cleaned up 40 job(s).
2019-05-06 08:15:11.154 +02:00 [Information] Executing Cleanup Task : "PublishOperationCleanupTask-33d69c5bc36a457caab958fbc3d7e757"
2019-05-06 08:17:16.198 +02:00 [Error] Error processing scheduled task : "PublishOperationCleanupTask-33d69c5bc36a457caab958fbc3d7e757"
System.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

By default, this task uses a command timeout of 120 seconds while trying to delete old records.
This timeout is defined as CommandTimeout for the sql-backend-default DB connection behavior in the \config\sitecore\publishing\sc.publishing.xml file by default.
I suggest you try increasing this timeout to allow PublishOperationCleanupTask more time to delete old records.
Please note that you will have to restart your Publishing Service after changing the configuration to apply it.
I would also like to mention that such an increased command timeout might be not needed after the accumulated extra records are deleted.

#3 If have removed or renamed a language from your Sitecore solution some elements can remain to hang in the table Publishing_PublisherOperation. For instance we have in there rows that have Language code ja-jp when in Sitecore we have ja.

Overall, deleting those rows simply means that the corresponding items will not be checked during incremental publishing in that language (e.g. ja-jp).
Since you don’t use those specific languages in your Sitecore instance and the records themselves are quite old, it should be safe to just delete those rows.

The mentioned records can be added if an item has a version in a language (e.g. ja-jp) that is not registered under /sitecore/system/Languages.
Such behavior ensures that the information about item changes is saved even if the language wasn’t added under /sitecore/system/Languages yet (but you can always add it later).

Nevertheless, it seems like such records might be kept in the database for a long time and thus become outdated in some cases.

#4 Also might happen when you have a scaled environment that when using Publish related items option your related items are not getting published.

The LinkDatabase is used by Publishing Service to get a list of the related items. By default, Publishing Service expects that the connectionStringName of the LinkDatabase is set to core. The Publishing Service Installation Guide (Scaled Environment Considerations section) has the following line:

If you are running the Publishing Service in a scaled environment and if your Links Data is stored in a different database than the Core database, you must update the Publishing Service configuration accordingly.

So you have to perform necessary changes in file \config\sitecore\publishing\sc.publishing.xml and for example, if the Links Data is stored in the Web database, then the Publishing Service configuration needs the following override:

<DefaultConnectionFactory>
  <Options>
     <Connections>
       <Links>
          <Type>Sitecore.Framework.Publishing.Data.AdoNet.SqlDatabaseConnection, Sitecore.Framework.Publishing.Data</Type>
          <Options>
            <ConnectionString>${Sitecore:Publishing:ConnectionStrings:Web}</ConnectionString>
          </Options>
      </Links>

Again, please note that you will have to restart your Publishing Service after changing the configuration to apply it.

#5 To access your Publishing Service website, enter http://<sitename>/api/publishing/operations/status in your browser.
If you receive a value of { "Status" : 0 }, the application is installed correctly. If you receive any other value, check the application logs for further details.

Sitecore Community Meetup #6 Review

2 weeks ago we had another Sitecore User Group meetup in Cluj-Napoca.

I was  nice evening where we gathered and talked about some interesting subjects.

Fist we kicked off with JSS and Marketing Automation presented by our friends from USA: Corey Smith https://twitter.com/sitecorey and Rick Bauer https://twitter.com/Sitecordial. Focusing on developers, this session provided a high-level understanding of what the end product of Sitecore Marketing Automation should look like from a marketer’s perspective based on real-world use cases. Then we pop open the hood and show how it was achieved using JSS, including tips, tricks, and lessons learned. This presentation was online and we recorded it so you can watch it latter https://www.youtube.com/watch?v=aiBpVIML43o .

Second we had Vlad Iobagiu https://twitter.com/SitecoreClimber and he showed us how to Extend Commerce Engine in Sitecore. He made as well a live demo and he promised that he will try to blog more about Sitecore Commerce.

Last presentation, by Sebastian Tecsi https://twitter.com/sebastiantecsi it was of SUGCON Europe 2019 follow up. Where we talked about some selections of presentations from SUGCON Europe 2019.

Our meetup photos are published here http://bit.ly/2wRUoyD .

And you can take our session slides from https://github.com/SUGCLJ/Sitecore-Community-meetup-6.

Also you can look at session slides from SUGCON Europe 2019 in here, and we are still waiting for session videos.

In the meanwhile SUGCON India 2019 happen and they were quite fast: session slide are here and session videos are already online in here.

Thank you all for joining, specially the visitors from other cities that came to Cluj-Napoca for our small meetup.

PS: If you want to present at our next Sitecore Meetup in Cluj-Napoca? Now is your chance! Please fill up the form http://bit.ly/SUGCLJ or get in contact with us! We are looking specially for people that can present on location in Cluj-Napoca.

PSS: Here is the links with the Chrome Extensions that are related with Sitecore:

Sitecore Support introduces Sitecore Support Box Storage

In case you have not used Sitecore Support Portal in a while, Sitecore made a change on where to upload the files needed in order to investigate a ticket.

This message can be seen in email notifications from Sitecore Support:

NOTICE:
Sitecore Support File Server available at ftpes://dl.sitecore.net/upload is scheduled for decommissioning on 01-Feb-2019.
Please use an alternative approach for exchanging files with Sitecore Support team via Sitecore Support Box Storage.
Additional information is available here: https://kb.sitecore.net/articles/862874

Basically if you wish to upload files larger than 10 MB to the Sitecore you will need to use the new option that is available to everyone Sitecore Support Box Storage.

After you login to Sitecore Support Portal its quite easy to find Sitecore Suport Box Storage:

Sitecore Box

 

As a limitation you cannot upload more than 3 files at once and each file not bigger than 1 GB.

You also have the possibility to mark the files to what ticket number it belongs to:

Sitecore Box Reference

Compared with the old ftp option, now you have the option to remove yourself old files, and sort them too.

Sitecore Box Delete

Sitecore Box Sort

Sitecore Support Box Storage security:

1. Files uploaded via this dialog are accessible only to Sitecore Support engineers and are automatically cleaned up 90 days after the upload date.

2. Your colleagues are able to see the full list of files but cannot download them.

For more information, refer to the following article: https://kb.sitecore.net/articles/862874.

Sitecore MVP 2019

For the second year in a row, I am happy to announce that I have been named Most Valuable Professional (MVP) by Sitecore! I am one of only 186 Sitecore professionals worldwide that have been awarded with an MVP title in the Technology category.

sitecore mvp technology 2019

For more information check out the announcement by Sitecore and the full list of 2019 MVP’s. The list contains 315 individuals that are doing great work for the Sitecore community.

This year, I am one of 3 MVPs in Romania and all 3 of us are located in Cluj-Napoca the heart of Transylvania.

Hope to see you in London and Orlando in 2019!

Thank you Sitecore!

New Sitecore Meetup in Cluj-Napoca, Romania

We hade a quite busy year, and we are gonna finish it with a new Sitecore Meetup in Cluj-Napoca, Romania

The meetup is in the evening of 22nd November 2018 and the the agenda is:

  • What’s new in Sitecore 9.1 – Sebastian Tecsi, Sitecore MVP
  • Sitecore xConnect & Marketing Automation – Dani Mocan, Sitecore MVP
  • Tips and Tricks in Commerce 9 – Vlad Iobagiu, Ex Sitecorean, Ex Sitecore MVP

You can RSVP and read more details in here.

See you there.