Wednesday, 5 June 2019

5 Tips Before You Appear For Sitecore Interview!

Friends - in this changing world, technology and tools are changing day by day likewise interview method is also changing.


When you appear for an interview, you may think that you have tough job and interviewer has very relaxing job. But it's not like that, in-fact interviewer has to make sure that he selects the right candidate. Interviewer needs to focus on many other parameters apart from technical knowledge of a candidate such as:

- How is candidate's attitude?
- How is candidate's problem solving skills?
- How is candidate's fundamental knowledge of Sitecore?
- Does candidate know about the company where he is applying for job?
- How does candidate behave in some conflicting situation with team of customer?

But many times candidates only focus on preparing technical part of interview and ignore above mentioned parameters. As a result, a technically sound candidate sometimes get disqualified due to lack of preparation in such parameters.



Hence it is highly recommended to think about these points before you appear for an interview and I am sure this video will help you to impress the interviewer.

Have a Happy Interview!

Friday, 25 January 2019

Sitecore ERROR : Exception When Executing Agent Aggregation

Are you facing below mentioned xConnect error? Not able to find out the possible cause and fix?



Well, one of my colleague was struggling with this error on Processing Server. Log files were full of below mentioned error.

8556 13:04:06 ERROR Exception when executing agent aggregation/aggregator Exception: Sitecore.XConnect.XdbCollectionUnavailableException Message: An error occurred while sending the request. Source: Sitecore.XConnect.Client at Sitecore.XConnect.Client.WebApi.CollectionBatchWebApiClient.<ExecuteBatch>d__11.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.XConnect.Client.Operations.HttpOperationInvoker.<Execute>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.XConnect.XdbContext.<ExecuteBatchAsyncInternal>d__79.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Sitecore.XConnect.XdbContext.<ExecuteBatchAsyncInternal>d__79.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.XConnect.XdbContext.<ExecuteAsync>d__72.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.XConnect.XdbContext.<GetAsync>d__35`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.Analytics.Processing.AsyncPoolScheduler`2.<TryGetNextAsync>d__14.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.Analytics.Aggregation.InteractionAggregationAgent.<ExecuteCoreAsync>d__15.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.Analytics.Core.Agent.<ExecuteAsync>d__1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.Analytics.Core.AsyncBackgroundService.<ExecuteAgentAsync>d__22.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.Analytics.Core.AsyncBackgroundService.<RunAsync>d__26.MoveNext() Nested Exception Exception: Sitecore.Xdb.Common.Web.ConnectionTimeoutException Message: A task was canceled. Source: Sitecore.Xdb.Common.Web at Sitecore.Xdb.Common.Web.CommonWebApiClient`1.<ExecuteAsync>d__37.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.XConnect.Client.WebApi.CollectionBatchWebApiClient.<ExecuteBatch>d__11.MoveNext() Nested Exception Exception: System.Threading.Tasks.TaskCanceledException Message: A task was canceled. Source: mscorlib at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.Xdb.Common.Web.CommonWebApiClient`1.<ExecuteAsync>d__37.MoveNext() 

This seems Scaling issue as the error was now completely disappeared after scaling up. So try scaling up your instance to get rid of such issue. Thanks to my colleague Thom for sharing this resoultion!

Let me know if you find any other resolution.

Friday, 11 January 2019

A Tip To Install Sitecore Package Faster!

Are you installing large Sitecore package? It could be update or any other Sitecore package. Is it taking a long time to install?



Then you can follow this tip to make installer 3 times faster.

Tip:
For time being, go and disable ContentSearch event handler in "packageinstall:items:ended"



Please note that installed items will not be indexed automatically as we have disabled above settings. So you are advised to do manual indexing once package is installed and revert above changes by enabling ContentSearch event handler.

Please note that this tip is also shared by someone on twitter and I am just documenting it to spread this tip to others because sharing is caring.

Monday, 31 December 2018

Flashback 2018: My Sitecore Journey

Well, 2018 was one of the fantastic years in my Sitecore Journey. I know I haven't written many blogs posts during this year and was heavily involved on ground work.

It's always a good idea to look back and pen down all gain & loss of the year. This will give you a clear picture about your last year actions and will certainly help you to set your next year's goals. By keeping this in my mind, I am inspired to share my 2018 journey with you, my friends.



2018 - Year in Review

Here are few highlights:
  • 22 Sitecore Implementation Review
  • 10+ Sitecore Training Delivered
  • 20+ Happy Sitecore customer engagement
  • 7 Onsite customer visit/training
  • 7 Sitecore User Group Event held via SUGUAE
  • Sitecore 9 Certification
  • Participated in Guru Bar at Sitecore Symposium
  • Sitecore Commerce Certification
  • Participated in one of the tough jobs of reviewing Sitecore MVP application

And last but not least, completed yet another fruitful year while working with Sitecore! This doesn't mean that I haven't faced any loss in this 2018 year. I faced many personal challenges in this 2018 year and have learned many lessons out of that. 

I wish you all a very Happy & Healthy New Year. 
May God Fulfil all your dreams in this new year 2019!

Looking forward to 2019 with many hopes...

Wednesday, 29 August 2018

Are you getting "No Service Error" while connecting through Sitecore Rocks?

If you are working with Sitecore Rocks and trying to connect Sitecore Rocks with your Sitecore project in Visual Studio then there are some chances to spot No Service Error shown in below screen-shot.


Solution:
Well, there is simple solution. Go to your Sitecore Webroot folder and open Web.config file


Remove <deny> tag from Web.config file for <location path="sitecore/shell"> tag only.


That's it!

Now try to connect again with Sitecore Rocks and you should have connection success.



In case, you are still getting connection error, then it is advised to close Visual Studio project and open again and try.

Hope this may help someone!

Thursday, 2 August 2018

Is You Custom SMTP Connection Not Working in Sitecore EXM?

Most of times you follow Sitecore official documentation or community blog posts to use several features of Sitecore. But even-though after following all instructions very carefully, you end up in a unpleasant situation where the configured feature/functionality is not working.

So are you in same situation where you tried to configure Sitecore Email Experience Manager (EXM) with custom SMTP connection but still you are facing error in Test Connection?



First of all check the logs in Eds.* file to get more details where exactly the connection problem is.


In my case, below lines in log file were game changer. It gave me instant strike that my gmail account is configured for second step verification hence I was not able to connect Sitecore EXM with my custom gmail SMTP details. This could be a case with you also and that's why I wrote this post - to help you friends who caught in the same boat.

readSmtpResponse:
SmtpCmdResp: 534-5.7.9 Application-specific password required. Learn more at
SmtpCmdResp: 534 5.7.9  https://support.google.com/mail/?p=InvalidSecondFactor a5- v6sm1673474wmf.3 - gsmtp

So how to fix this? You would say remove second factor verification from Gmail, right? 
Well, we developer always do everything to allow our application to run :), isn't it? No, we are not going to remove second step verification from Gmail and will fix the connection issue instead.

Here are the steps:
1. Login to your Gmail account
2. Navigate to https://security.google.com/settings/security/apppasswords
3. In 'select app' choose 'custom', give it an random name and press generate button
4. It will generate 16 chars token.


Now copy that 16 character token and replace it with your "password" under SMTP \App_Config\Sitecore\EmailExperience\Sitecore.EDS.Providers.CustomSMTP.config file



That's it, try to test EXM connection and it should work now.


Wednesday, 27 December 2017

Is Your Sitecore Powershell RemoteAutomation Page Not Working?

Recently one of the developers at customer office contacted me as he was facing error while accessing Sitecore Powershell RemoteAutomation Webservice. After helping him to fix the issue, he notified that he couldn't find this fix on internet or may be it was difficult to find it. This encouraged me to write a quick blog post to help our awesome Sitecore community out there.



He was facing resource cannot be found error while accessing Sitecore Powershell Remote Automation page via http://[SitecoreInstance]/sitecore%20modules/PowerShell/Services/RemoteAutomation.asmx URL.


By seeing above error, one can easily say that either the page you are accessing does not exist at desired location or URL is wrong. That's what we also checked and found that page does exist and URL is also correct. 

The next thing to look into was ofcourse logs where we found below error getting logged.

Exception: System.Web.HttpException
Message: The file '/sitecore modules/powershell/services/404.htm' does not exist.

Above line of error gave some hint that while accessing RemoteAutomation.asmx page, it is trying to access 404.htm page. But 404.htm page doesn't exist and that's why it is throwing resource not found error. 

This theory makes sense, but why it is trying to access 404.htm while hitting RemoteAutomation.asmx page? 

Well, that mischief is done by your web.config file sitting under Website\sitecore modules\PowerShell\Services path.


Solution:
Comment above highlighted line or create/place corresponding page to fix this error.

Now try to access your RemoteAutomation.asmx webservice and it should not complain and load fine as shown in below screen.


Hope that this may help someone to save some time!