Giter VIP home page Giter VIP logo

sitecoresidekick's People

Contributors

beyondsun avatar cassidydotdk avatar coreyasmith avatar jamesskemp avatar jeffdarchuk avatar kamsar avatar maheshjwagh avatar michaellwest avatar muso31 avatar paulloe avatar sebastianlay avatar sjoerdpiepenbrinkmacaw avatar yousleepy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sitecoresidekick's Issues

Javascript error in 1.5.8 release

In the latest 1.5.8 release I am getting the following errors in javascript console:

main.js:129 Uncaught TypeError: Cannot read property '0' of null
    at main.js:129
Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.4.7/$injector/modulerr?...
    at scsangular.js:7
    at scsangular.js:149
    at m (scsangular.js:11)
    at h (scsangular.js:144)
    at fb (scsangular.js:165)
    at d (scsangular.js:58)
    at zc (scsangular.js:60)
    at Zd (scsangular.js:55)
    at HTMLDocument.<anonymous> (scsangular.js:1276)
    at j (jquery.min.js:2)

UI seems to be not functioning properly (it shows "Not Logged In" message)

image

Could it be related to this change? 990f461#diff-62128033a7c055c30e7914a4d55acaf5

"Not logged in." message after install

Hi,

We've just installed the Content Migrator using the Nuget package, however when I try to open it within Sitecore I am seeing the following message: "Not logged in.
Log into Sitecore to use Sidekick."

I have logged in however the message persists. Any idea what could be causing this?

Thanks

Trouble with the Item Blaster in Content Migrator

Hi,

I started using Sitecore Sidekick for a project that uses Sitecore 8.2 update 4. I successfully implemented Sidekick, but I'm having difficulty using the Item Blaster as no items are actually created when pulling content.

Weird thing about this is, that pulling content from the production environment works locally, but it doesn't work on our Test or Acceptance (UAT) environment. The pull completes, according to Sidekick and the logging is accurate, but when I look back at the content editor, I can't find the desired item that was "created" according to Sidekick.

If I disable the Item Blaster by unchecking the checkbox, it works fine on all environments, but ofcourse it's slower than it should be.

Is there anyone who can help me? Is it related to resource allocation, or is my configuration setup wrong?

Alternatively we could uncheck the checkbox for the usage of the Item Blaster by default, but then I would like to ask how to do just that in the configuration?

Thanks in advance.

TreelistEx migration issue?

Hi, we have v1.5.2 of the Sitecore Sidekick NuGet package installed in all our environments, and have recently come across an issue with a TreelistEx field. (Please bear in mind that, although in our organization we’ve worked with Sitecore for a few years now, we don’t have a great knowledge of the inner workings of Sitecore and have no experience whatsoever with Unicorn, so this might well be an issue with Unicorn rather than Sidekick… or no issue at all. 😊)

Basically, we have an item with a TreelistEx field, which references five items in our PROD environment. Now, when we try to pull that item into any of our non-PROD environments, that field clearly gets updated in the target environment, but only the first one of those five referenced items ends up in the target environment —and, yes, all the referenced items do exist in all the environments.

If you then try to pull that item again, the Content Migrator seems to think the item in the target environment is the same as the one in PROD and nothing happens (we’ve tried this with several different combinations of the Content migration options and the Sitecore advanced options).

Is this a known issue, or is there something in our set-up that might cause this behaviour?

Many thanks.

Unable to enable Sidekick for appropriate role.

How should modify zSCSAuditLog/zSCSContentMigrator/zSCSEditingContext config files to enable Sidekick only for "sitecore\Developer" role?

Variants like "sitecore\Developer", "sitecore\developer", "Developer", "developer" do not work!

Sidekick iframe on desktop not loading correct URL

Our current development sever has a url with a port different to the normal 80 or 443. The iframe url added when opening the Sidekick button on the Sitecore Desktop doesn't append the port number and therefore can't open the content migrator

False authenticationSecret mismatch

Hello,

we installed Sitecore Sidekick Foundation and the Content Migrator via Nuget Package and did setup the configurations as indicated in the examples. Each client can select the other client in the drop down menu an error is shown indicating that the secret is different. The authenticationSecret is the same on both clients, because we use the same file. Also the secret does contain only numbers and characters.

Any idea what could be the reason or where we should investigate further?

Best regards
Martin

We are using:

SitecoreSidekickFoundation 1.3.2
SitecoreSidekickContentMigrator 1.3.2
Sitecore 8.2

Not logged in

Hello there. Just installed Content Migrator on my local instance and another environment. When I try to use it, all I see is "Not logged in" even though I am definitely logged in. Am I missing something? Thank you!

Jessica

sidekickIssue

Sitecore Dropdowns are getting cropped

The Dropdowns in the sitecore backend are getting cropped because Sidekick renders a additional div on that request that is not needed.

image

In the scscommand.js file are allready checks for that situation but they need to be reviewed. The Dropdowns are rendering a Iframe with a url like
http://sitename/sitecore/shell/default.aspx?xmlcontrol=Gallery.Archives&id=...&la=en&vs=1&db=master&sc_content=master&ShowEditor=1&Ribbon.RenderTabs=true

SCS CM enhancements

Based on IRL conversation just now:

  • moving system fields diff option into diff panel (disable option if all diffs in system fields)

  • diff supporting multiple versions in one language

  • option to snipe single field value from equivalent remote version in diff view

  • some sort of advanced checksum that enables diff icons to show (at least on a per item level) diffs without system fields applied

Refactor infrastructure to use MVC

As we talked about on Slack, HTTP handlers are kinda ghetto here.

Use explicit controller namespaces to register a normal controller route instead:
http://stackoverflow.com/a/7560079

This will gain you:

  • Simplicity
  • Security
  • A solid basis for the future

Moving views to cshtml would be nice but also a pain in the rear to manage due to the dependencies thereof (and the lack of precompiled view support pre-8.2). Would suggest using templating techniques like these to improve readability (with literal + interpolated strings, calling methods to render body pieces that may repeat).

Sourcecode for Sitecore 7.2 version of Sidekick

Hi,
Is there any way you could point me to the Sourcecode (Revision number) for Sitecore 7.2 version of Sidekick? Because current version seems to be supporting 8.2+ version with dependency injection and a lot of other enhanced SDKs of Sitecore 8.2+.

Sidekick and commerce storefront

Hello,

I have a question if Sidekick was tested when the commerce is installed on Sitecore.
I installed the newest Sidekick version and have this error when trying to open Sidekick?

[ArgumentNullException: Value cannot be null.
Parameter name: element]
System.Attribute.GetCustomAttributes(MemberInfo element, Type type, Boolean inherit) +14690038
System.Attribute.GetCustomAttribute(MemberInfo element, Type attributeType, Boolean inherit) +14
Sitecore.Commerce.XA.Foundation.Common.ControllerFactory.StorefrontControllerFactory.GetControllerSessionBehavior(RequestContext requestContext, Type controllerType) +87
System.Web.Mvc.MvcRouteHandler.GetSessionStateBehavior(RequestContext requestContext) +195
System.Web.Mvc.MvcRouteHandler.GetHttpHandler(RequestContext requestContext) +45
System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase context) +216
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +223
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +213
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +91

Regards,
Robert

AccessDeniedException when RemoveLocalNotInRemote is enabled

I am getting the following error during content migration, when RemoveLocalNotInRemote is enabled:

Sitecore.Exceptions.AccessDeniedException: User does not have the necessary rights to recycle the item (<ItemId>)
   at Sitecore.Diagnostics.Assert.HasAccess(Boolean accessAllowed, String message)
   at Sitecore.Data.Items.Item.Recycle()
   at SitecoreSidekick.Services.SitecoreDataAccessService.RecycleItem(String id)
   at ScsContentMigrator.Core.ContentItemInstaller.CleanUnwantedLocalItems()

Had a quick look into the code, seems like SitecoreDataAccessService.RecycleItem is missing a SecurityDisabler?

Should SetupTrackerForUnwantedLocalItems be asynchronous?

When RemoveLocalNotInRemote is enabled, SideKick is gathering all descendant items for the root Ids (IContentItemInstaller.SetupTrackerForUnwantedLocalItems).

In case there is a big amount of items to sync, this process takes a while and a call to /scs/cm/cmstartoperation.scsvc does not return unless that is finished. On large item trees, this call will most likely timeout.

I think it would be better if this code would be running asynchronously as a part of the actual migration and the /scs/cm/cmstartoperation.scsvc API call would immediately return, acknowledging that migration operation is registered and returning OperationId.

What do you think? This is quite relevant when using Scripting via Powershell, A call to the /scs/cm/cmstartoperation.scsvc quite often results into a timeout. After receiving timeout it is not clear if operation has started or not and what is the OperationId.

Sidekick dependencies compatible with sitecore installation?

If I install Sidekick with the nuget package, it comes with dependecies like "Microsoft.AspNet.Mvc", which is the System.Web.Mvc.dll. Is this System.Web.Mvc.dll compatible with the System.Web.Mvc.dll from the sitecore installation, because it will get overridden?

Cancelling a pull recycles items

In 1.5.10, if you pull a root item where you already have some of the tree but not all populated, and then hit Cancel, it recycles a lot of items that shouldn't be.

Here I waited while it skipped past 543 existing items, then pressed cancel and it immediately recycled a lot of items. I don't understand why certain items are being recycled but they definitely exist on the source server.

image

image

Also attached the error

{002aeb82-067c-455b-a1be-bfd35a0254b7}
System.Exception: Transaction (Process ID 108) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. ---> System.Data.DataException: Error executing SQL command:  INSERT INTO [ArchivedFields] ( [RowId], [ArchivalId], [VersionId],
          [FieldId], [Value], [Created], [Updated]) 
          SELECT [Id], @archivalId, @versionId, [FieldId], [Value], [Created], [Updated]
          FROM [VersionedFields] 
          WHERE [ItemId] = @itemId and [Language] = @language AND [Version] = @version ---> System.Data.SqlClient.SqlException: Transaction (Process ID 108) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Sitecore.Data.DataProviders.Sql.DataProviderCommand.ExecuteNonQuery()
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at Sitecore.Data.DataProviders.Sql.DataProviderCommand.ExecuteNonQuery()
   at Sitecore.Data.DataProviders.Sql.SqlDataApi.<>c__DisplayClass33_0.<Execute>b__0()
   at Sitecore.Data.DataProviders.NullRetryer.Execute[T](Func`1 action, Action recover)
   at Sitecore.Data.Archiving.SqlArchive.ArchiveVersionedFields(ID itemId, ID archivalId, String language, Int32 version)
   at Sitecore.Data.Archiving.SqlArchive.ArchiveVersionedFields(ID itemId, ID archivalId)
   at Sitecore.Data.Archiving.SqlArchive.ArchiveData(Item item, ID archivalId)
   at Sitecore.Data.Archiving.SqlArchive.<>c__DisplayClass41_0.<DoArchiveItems>b__0(Item item)
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
   at Sitecore.Data.Archiving.SqlArchive.DoArchiveItems(IEnumerable`1 items, ID archivalId)
   at Sitecore.Data.Archiving.SqlArchive.DoArchiveItems(IEnumerable`1 items, ID archivalId)
   at Sitecore.Data.DataProviders.NullRetryer.Execute[T](Func`1 action, Action recover)
   at Sitecore.Data.Archiving.SqlArchive.ArchiveItem(Item item)
   at SitecoreSidekick.Services.SitecoreDataAccessService.RecycleItem(String id)
   at ScsContentMigrator.Core.ContentItemInstaller.CleanUnwantedLocalItems()

[Feature Request] Content Migrator - Content Push

My understanding is this can work via Powershell, would this be able to be added to the UI - instead of "Pull From" you can select "Push To"?

My use case is for content items that I don't want to include in Unicorn such as one-off new items / new media items / one-off updates to existing items. I know that Unicorn has the NewItemsOnly feature but this would be far easier with my DevOps workflow.

Content Migrator not detecting all children

I'm trying to sync in a site into a clean instance.
From: Sitecore 9.2 with SXA, SCS 1.5.9 Rainbow 2.1.2
To: Sitecore 10.0 with SXA, SCS 1.5.9 Rainbow 2.1.2

It does not seem to be consistent with items further down the tree.
For example it brought in /sitecore/media library/open-your-way/open-your-way-landing-page/Image Text Block/image-text-block-ColouringIn but not /sitecore/media library/open-your-way/open-your-way-landing-page/Image Text Block/image-text-block-sale-and-service which is on the same level. I have also seen where it didn't bring in any child items after level 6. I then have to rerun the sync to bring those in, up to 5 times to bring everything in.

All advanced options are unticked.

Wrong compare result?

Hey,

I compared the test and production system and always I have some items, which cannot be synchronized. The parent items are also not marked, that the items below has some changes:
grafik

After some investigation I found out, that the values which are shown there, are from standardvalues. But the value is the same on both systems.
So I checked the code and it seems that locally the value is retrieved by field.Value (which is internally doing: this.GetValue(allowStandardValues: true, allowDefaultValues: true)).
And remotely I am not sure, because there are multiple Implementations, but it seems that the fieldvalue in the database is used.

This would explain why there is always a difference and after sync it wont go away, because both items are equal (in sql database)

I changed it locally in ContentMigrator/Data/CompareContentTreeNode.cs > AreFieldsEqual the .Value to GetValue(false,false) and the same in ContentMigrator/CMRainbow/DefaultLogger.cs.
The result looks better, but I am not sure about it.

Maybe you can confirm my suspicion.

best regards

[Feature Request] Presets for content migrator

Would be nice if there is a way to save the selected items in the "content item to pull" area for reuse. It's not uncommon to want to pull on-demand the same parts of the tree. In the case of SXA, this gets really tedious.

image

I could imagine a presets section where in just one click you rerun the preset steps. All the options that were checked are reused.

Perhaps look something like this:

image

Adding a button to the launchpad

I would to see the possibility of adding a Sidekick button to the Launchpad because this is the default page editors see when they login Sitecore.

Feature request - continue on TemplateMissingFieldException

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Rainbow.Storage.Sc.Deserialization.TemplateMissingFieldException: The field 209d3b2f-0daf-4a38-a1a6-3c9f1ee60689 (likely FixLanguageUrls) is not present in Sitecore on the Settings template.
   at Rainbow.Storage.Sc.Deserialization.DefaultDeserializer.Deserialize(IItemData serializedItemData, IFieldValueManipulator fieldValueManipulator)
   at Rainbow.Storage.Sc.SitecoreDataStore.Save(IItemData item, IFieldValueManipulator fieldValueManipulator)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at ScsContentMigrator.Services.DatastoreSaver.Save(IDataStore store, IItemData data)
   at ScsContentMigrator.Core.ContentItemInstaller.ProcessItem(PullItemModel args, IItemData localData, IItemData remoteData)

In cases like this I would like the option to continue to install the item, but just warn about the missing field instead.

Media library sync with item blaster issue.

Hello, recently, we have faced an issue when tried to sync media library items via sidekick content migrator with the enabled "Item blaster" option - the result was that the item was without a preview icon in the media library. Once "Item blaster" was disabled the sync was done successfully, but only for the new items old still were without preview - during a quick check I have found that the preview URL is correct but for some reason, the preview image was not created/generated.
image
We have checked on syncing via Sitecore 9 to 9, Sitecore 10 from 9, the result is the same - no preview image if "Item blaster" option is enabled.

Content Migrator quick diff - problems detecting changes on child nodes

image

Splitting this issue out from #58

The mechanism which uses checksums calculated on both the source and target systems to compare seems to have issues in some scenarios. It is hard to set up a test case, but perhaps some debug logging code could be added to the mechanism so that we can see what the comparisons are and why it thinks there are no changes to child nodes / leaf nodes when there are.

Filtering

Is it possible to filter items that needed to be synced in an automated scenario?
We only want to sync items that are marked to be allowed to be synced e.g. items of a specific template.

Local Environment Cannot See All CM Items

The Content Migrator on my local environment cannot see all of the items in our CM environment.
I've attached images of what our content tree looks like in our CM environment and what the tree looks like the Content Migrator. Red blocks are the items it cannot see and green are the items it can see.

Our CM tree:
sitecoretree

Content Migrator tree:
sidekicktree

Uncaught TypeError: Cannot read property 'innerHTML' of null

Recently having issues with my Sitecore 9.1.1 instance. Content editor is throwing a whole bunch of Uncaught TypeError: Cannot read property 'innerHTML' of null. Relating to scscommand.js:44 and jsnlog.min.js:1.

I recently had some dll issues (unrelated) but have checked I have the expected files:
image

and configs:
image

The error:
image

This is on my local single instance environment. I also recently installed a google invisible recaptcha package for sitecore which I have since removed as I thought it was responsible for these script errors until I realised it was sidekick related so I'm not sure if it's coincidence this happened at the same time or has somehow affected the sidekick files.

I don't use Unicorn at all.

Sidekick is not showing the right differences from remote and local system

hi, I got some problems that sidekick is not showing if the item is the same locally and remote.

I am using Sitecore 9.0.2 with SXA and for item sync I am using unicorn and for content sync I would use sidekick. The SXA nodes on my remote systems where created with unicorn.

In the below example the complete Data List inclusive Subitems is under Unicorn control, but the items below each Data Item are not under unicorn control. I've just synced the hole data Tree with sidekick don't know if this was right, but after that it shows me that nearly all items are different

grafik

and here the home Folder is under unicorn control but not the subitems. I've pulled the subitems from my remote system and after that they are not shown as equally "green"

grafik

let me know when you need more Informations. I've used the latest stable nuget package from sitekick.

Error 400 - Bad Request when signed in with different users

After using Sitecore with three or four different users (each editing a number of items) the Content Editor throws an "Error 400 - Bad Request" which makes the whole Sitecore backend unusable.

As far as I can see this is caused by the Editor Context module, which saves a base64-encoded list of last viewed items which get saved into the "scseditorcontext[username]" cookie. This cookie can reach a size of over 2500 bytes. Having a few of those cookies you can reach the limit for the HTTP request headers which is typically 8K.

unable to register action for SCS Editing Context

Seeing this a fair bit in the CM logs

9968 05:55:06 WARN unable to register action for SCS Editing Context
Exception: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Source: Rainbow.Storage.Sc
at Rainbow.Storage.Sc.ItemData.get_DatabaseName()
at SitecoreSidekick.ContentTree.ContentTreeNode.Initialize(IItemData item, Boolean open)
at ScsEditingContext.TypeContentTreeNode..ctor(IItemData item)
at ScsEditingContext.Pipelines.HttpRequestBegin.RegisterEvent.<>c.b__2_0(IItemData x)
at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() at System.Linq.Buffer1..ctor(IEnumerable1 source) at System.Linq.OrderedEnumerable1.d__1.MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at ScsEditingContext.Pipelines.HttpRequestBegin.RegisterEvent.Process(HttpRequestArgs args)

Would be good to know what causes this and if there is a problem?
If there's no problem then can we change the log level or disable this warning somehow?

Consider optimizing GetContentSelectedRelated

Not a big deal for most use cases, but based on our conversation just now we talked about optimizing the number of calls to GetContentSelectedRelated (and the remote variant thereof) by changing it as a per-node boolean result to a single call that returns the ancestor ID(s) of the currently selected item into a shared scope.

This would improve scaling on low bandwidth connections as well as folks moving deep content items or those with a lot of sibling parents.

Possible race condition in ContentItemInstaller

I have noticed that for some reason Delete local items not in remote server functionality removes extra items. I have run content sync between 2 Sitecore instances with exactly the same content. After sync had been finished I noticed that in the first instance some item trees were missing. So I started digging into code and noticed the following piece in ContentItemInstaller:

using (new SecurityDisabler())
using (new SyncOperationContext())
{
	while (!Completed)
	{
		if (!itemsToInstall.TryTake(out var remoteData, int.MaxValue, cancellationToken))
		{
			break;
		}

In case itemsToInstall.TryTake(out var remoteData, int.MaxValue, cancellationToken) returns false, the installer stops installing and eventually CleanUnwantedLocalItems kicks in. This code can return false when collection is empty.

I might be wrong, but how does the ContentItemInstaller know that ContentItemPuller has finished pulling? I cannot find any reference to ContentItemPuller.Completed property. It seems to me that when itemsToInstall becomes empty then ContentItemInstaller will stop installing even though ContentItemPuller might eventually put more items in the collection?

[Feature Request] Don't override Desktop Button if it exists already

Hi,

thank you for the module and for continuing to update it!

During the initialization the EnsureDesktopButton method overrides some fields on the desktop button item and makes sure that the security field is set to ar|sitecore\\Sitecore Client Authoring|pd|+item:read|pe|+item:read|.
It would be nice if these rights could be customized (and not reset with every start) so the button is not shown to every editor. Or is there another reason the item has to have exactly these rights that I am not aware of?

I could also change the code myself and create a pull request if you'd prefer that.

Thanks!

ScsHttpHandler no longer available

In our use of Sidekick I've found a JobViewerHandler that has been in place but won't build after the upgrade to 1.4.2:

public class JobViewerHandler : ScsHttpHandler

I see that there are three handlers here, including the ScsHttpHandler:
https://github.com/JeffDarchuk/SitecoreSidekick/tree/master/Source/SitecoreSidekick/Handlers

However the SCSHttpHandler isn't included in the classes to compile in the csproj file:
https://github.com/JeffDarchuk/SitecoreSidekick/blob/master/Source/SitecoreSidekick/SitecoreSidekick.csproj

Was this by design or just an oversight and needs the csproj file updated? If by design, is there any info on how to get it working in the new version?

Content Migrator Error Handling

The Rainbow.Storage.Sc.Deserialization.TemplateMissingFieldException should be caught and handled as a warning, as opposed to an error as it is informational.

e.g.

image

Checksum generation failed

Hi,

our log got spammed by the following error

32004 15:43:02 WARN Checksum generation failed. Exception: System.Data.SqlClient.SqlException Message: Conversion failed when converting from a character string to uniqueidentifier. Source: .Net SqlClient Data Provider at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean& moreRows)
at System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more)
at System.Data.SqlClient.SqlDataReader.Read()
at ScsContentMigrator.Data.ChecksumGenerator.Generate(List1 ids, String database)

How to fix this?

Multi thread issue when using 4 databaseWriterThreads

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Data.SqlClient.SqlException: The parameterized query '(@p0 uniqueidentifier,@p1 nvarchar(6),@p2 uniqueidentifier,@p3 n' expects the parameter '@p980', which was not supplied.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Sitecore.Data.DataProviders.Sql.DataProviderTransaction.Flush()
   at Sitecore.Data.DataProviders.Sql.DataProviderTransaction.Dispose()
   at Sitecore.Links.SqlBatchLinksOperationWorker.<TryStartProcessingBatches>b__21_0()
   at Sitecore.Data.DataProviders.NullRetryer.ExecuteNoResult(Action action, Action recover)
   at Sitecore.Links.SqlBatchLinksOperationWorker.AddItemLink(SqlInsertLinksModel sqlInsertLinks)
   at Sitecore.Data.SqlServer.SqlServerBatchLinkDatabase.UpdateLinks(Item item, ItemLink[] links)
   at Sitecore.Data.Managers.ItemProvider.RemoveVersion(Item item, SecurityCheck securityCheck)
   at Sitecore.Data.Items.ItemVersions.RemoveAll(Boolean includeAllLanguages)
   at Rainbow.Storage.Sc.Deserialization.DefaultDeserializer.CreateTargetItem(IItemData serializedItemData, Item destinationParentItem)
   at Rainbow.Storage.Sc.Deserialization.DefaultDeserializer.GetOrCreateTargetItem(IItemData serializedItemData, Boolean& newItemWasCreated)
   at Rainbow.Storage.Sc.Deserialization.DefaultDeserializer.Deserialize(IItemData serializedItemData, IFieldValueManipulator fieldValueManipulator)
   at Rainbow.Storage.Sc.SitecoreDataStore.Save(IItemData item, IFieldValueManipulator fieldValueManipulator)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at ScsContentMigrator.Services.DatastoreSaver.Save(IDataStore store, IItemData data)
   at ScsContentMigrator.Core.ContentItemInstaller.ProcessItem(PullItemModel args, IItemData localData, IItemData remoteData)

Getting about 500 or so errors like this out of a 3k item pull.

image

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.