Skip to content
May 1, 2013 / kiranpatils

Exception while handling event Sitecore.Publishing.StartPublishingRemoteEvent

Challenge:

Last week, whenever we tried to publish anything in our local development environment, publishing was being shown as “Queued” and it was never publishing an item. When we had a look at log file, we found following error:

Heartbeat 10:25:07 ERROR Exception while handling event Sitecore.Publishing.StartPublishingRemoteEvent
Exception: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Source: Sitecore.Kernel
at Sitecore.Publishing.PublishOptions.GetPublishingTargets()
at Sitecore.Publishing.PublishOptions..ctor(Database sourceDatabase, Database targetDatabase, PublishMode mode, Language
language, DateTime publishDate)
at Sitecore.Publishing.DistributedPublishingManager.DecodeOptions(DistributedPublishOptions options)
at Sitecore.Publishing.DistributedPublishingManager.GetOptions(DistributedPublishOptions[] options)
at Sitecore.Publishing.DistributedPublishingManager.StartPublishing(StartPublishingRemoteEvent event)
at Sitecore.Publishing.RemotePublishingEventHandler.OnStartPublishing(Object sender, EventArgs args)

You are also facing the same error? And struggling to find a solution! (So, as we did last week!). Then this post is for you only!

Solution:

Rather than sharing solution only, we would like to share full troubleshooting way with you.  So, during such challenges, you will be able to know what to check and what not to check during! :-) (Because, it takes lot of time to learn, what not to do. And once you learn that you can do anything!)

  1. By looking at error message “System.NullReferenceException ……. Sitecore.Publishing.PublishOptions.GetPublishingTargets()” you may quickly say that — Publishing targets items do not exist in Database. But my dear friend, we verified it for you and they do exist!
  2. When we disabled EventQueue then it worked fine! (Sorry, you are new to EventQueue, no worries — read my earlier post on EventQueue basics) So, something with EventQueue for sure and error message also says so!
  3. Tried same with Plain Sitecore (A good step to follow every time!) – and it was working fine with plain Sitecore. So, for sure something with our application only!
  4. Create a simple page, which published item programmatically and also tried to access publishing targets programmatically, the way it does in publish dialog and it worked!

Tried to had a word with our common friend — Google, and the thing which happens very less happened — Google said I don’t know! :-( (And that was the motivation behind writing this blog post!)

Then we thought to discus this challenge with our best friends in Sitecore planet — Sitecore support champs!. But as per Sitecore developer’s best practice, It’s always good to have a look at SDN forum (Where all Sitecore friends — discuss their challenges with each other and help them to get out of it! — It’s a great forum) and it turned to be our indeed friend! (Because, a friend in need is a friend in-deed!)

http://sdn.sitecore.net/Forum/ShowPost.aspx?postid=46582

Above link helped us to find a solution!

“Interesting, I wanted to try the security disabler test in isolation and it fixes the problem, so it seems there is something going on with security after all, the context user is default/Anonymous and looking at permissions… In this instance default/Anonymous has not been granted read access to the sitecore Item.

I’ve tested a few other instances and in those read access has been granted on the sitecore Item for default/Anonymous

I don’t know how that happened, I certainly did not edit permissions on the sitecore Item

Thanks for the suggestion Steve “

Basically the reason for this error is access rights only.

So, we had a look in our Database (Master) and found that rights for default\anonymous was removed for /sitecore item. We assigned it and it worked like a charm!

Happy Publishing! :-)

April 4, 2013 / kiranpatils

Sitecore MVPs blog, feed and Twitter list along with a combined RSS feed from Sitecore MVP’s blog feeds

Challenge:

Since starting of my Sitecore childhood, and till date. I always love to read and try what other Sitecore aficionados are posting! (Yes, I’m talking about you!). They really post loads of cool stuff, tips and tricks, new ideas, new things etc.

There are few blogs which you follow, and which you have subscribed. Now, what happens. Due to one or other reason. If you forget to check “What’s new In Sitecore world?”, you may miss few important things. Which you should haven’t missed (Don’t worry, same happens with me as well!).

One of the solution is Sitecore RSS Feed — most of you might be knowing that there is an Official Sitecore RSS feeds, syndicated, last 30 days, by Lars Fløe Nielsen, Sitecore (Strongly recommended!)

Now, there are a lot of useful posts comes via Sitecore MVPs and each one of them got their individual blog. Now, It will be practically impossible for you to check what each one of them posted.  And lot of nice posts comes from Sitecore MVPs [Obviously, that's why they have been selected as Sitecore MVP :) ]. But the Sitecore RSS Feed is not having all MVPs feed details.

Which is the challenge, and this post got a solution for you!

So, If you have all/few of following questions answers as yes, then this post is for you!

  • If  you would like to know all Sitecore MVP’s blog links
  • If you would like to know all Sitecore MVP’s blog’s feed links
  • If you would like to keep yourself updated on What’s getting posted by Sitecore MVPs? [What you are so busy that you are not able to keep your self updated? Come on, it's as similar as you are driving car so fast, and you don't have a time to fuel it! :) ]
  • If you would like to get all Sitecore MVP’s RSS feed via one RSS Feed

Solution:

Derived Lars idea and created list of blogs, feeds and twitter handle from Sitecore MVP List (http://sdn.sitecore.net/MVP/MVPs.aspx) and created a Yahoo Pipe (If you haven’t heard about Yahoo Pipes, don’t worry – nice post on this)

SC-MVP-Blogs-RSS-Feed

Sounds great!?

Apologize in advance, If I’ve missed your blog. But all this information whatever I’ve gathered has been gathered via Gooogle and it might have happened that I might have missed your detail or Google might have missed me to show your details [First one, is most possible than the second one! :) ]. If So, feel free to post me your blog link, blog feed and twitter feed via comments section. Will sync it ASAP!

All Sitecore MVP’s list along with Blog link, Blog feed link and Twitter handle can be viewed from here! (Derived from : http://seankearney.com/page/Sitecore-MVP-Twitter-List.aspx)

Just a note : Google is going to shut down Google RSS Reader. (Which is very sad news! I was a big fan of it! You too?!) But don’t worry Feedly is a good option! (Feedly has already seen an influx of over 500000 Google Reader users just in 48 hours of shutting down announcement of Google Reader by Google)

So, lot of stuff getting posted by Sitecore aficionados, and it’s getting delivered in your RSS reader. Now, you just need to read them and Most Important get your hands on it, and you and only you need to do it! (And I’m sure you will do it!)

Happy Sitecoring! :-)

March 27, 2013 / kiranpatils

Sitecore Troubleshooting Path

Challenge:

We have invested a lot of time in troubleshooting Sitecore challenges, e.g. CM/CD/PI is slow, CM/CD/PI is crashed, CM/CD/PI is slow etc.

When we started working on these challenges, we had either no path to look at OR lot of paths to look at. And trust me it has been always fun and learning to work on such challenges, It teaches you a lot! And when you fix it, you really feel great!

During our journey (“Performance is a Journey, not a Destination”) we learnt the lot of new  things by doing few things that were right and doing few things that were wrong! Right/wrong they were need of the time!

And the sole purpose of writing this post is to share our learning with you! (“Knowledge shared is knowledge gained!”) So, you may not face the challenges which we faced while working on these challenges.

Solution:

Just a note : Before, we start one thing I would like to share with you, which is not technical. But it is as important as technical knowledge. When you troubleshoot any challenge, things might be burning. Because your live servers are down. People looking at you for solution. You are getting chased for solution. Whatsoever happens, keep your self cool and calm!. This is the most basic required thing to troubleshoot and solve any challenge (Virtual/Real world!). And always Stick to your basics! Wish you luck! I’m sure you will solve it!

There are plenty of things to share, and was wondering what will be the best way to write an article which will share knowledge with you in an interesting way! And as someone rightly said “A picture is worth a thousand words“. Finalized to create a poster which will describe Sitecore Troubleshooting Path. Eager to see it?!, here you go!:

You can have a quick look from below and if you find it interesting then only you can download from link given in left side of preview area :-)

Sounds simple, correct? Let me explain few basic things, how this poster has been designed:

Environments:

  • CM – CM stands for Content Management server, a server which is responsible for your content editing and content management.
  • PI – PI stands for Publishing Instance server, a server which is responsible for your publishing operation only!
  • CD – CD stands for Content Delivery server, a server which is responsible for serving your front-end/live content only!

Troubleshooting source detailed information:

  1. Sitecore log – Sitecore log file from your data folder. Good to use Log Parser Lizard/SCLogExplorer/Sitecore’s log analysis tool for analyzing SC log files.
  2. Sitecore Diagnostics Log – Sitecore Diagnostics log, for more information, please refer earlier post — https://sitecorebasics.wordpress.com/2011/07/30/basics-of-counterdumpagent/
  3. Sitecore configurations – Your sitecore configurations.
  4. Windows Event Log – Windows event log files
  5. IIS Log — IIS logs, in some case if your server becomes slow/gets crashed, it may due to one of the page which is having a rendering which may cause slowness or crash. But you need to build URL pattern to conclude from this source. And good to use Log Parser Lizard for analyzing IIS log files.
  6. Performance counters – Performance counters, you can use PAL to generate reports easily!
  7. Server configurations – Your server configurations, If your CM/CD becomes slow at particular time. Do check that is there any windows service/scheduled task/Scheduled Antivirus scan runs on that particular time.
  8. SQL Server (Performance counters, System usage) or Optimize Sitecore databases (DB cleanup, Rebuild,  etc.) – Your SQL server performance. Good to check CMS Performance Tunning guide or http://sdn.sitecore.net/Scrapbook/Optimizing%20Sitecore%20Performance.aspx
  9. Database Test Page results (/sitecore/admin/DatabaseTest.aspx) – DatabaseTest page from Sitecore,  for more information, please refer earlier post – DatabaseTest
  10. Is cache tuning required? /sitecore/admin/cache.aspx or Cachetuner.aspx- Cache tuning is required?,  for more information, please refer earlier post on Cache Tuning
  11. Your Custom code – If possible disable it and check it, else do logging for it, deploy it and verify – It might be due to custom code, if possible disable it and check it or do detailed logging and verify.
  12. Sitecore Debugger/Profiling –  for more information, please refer earlier post, Basics of Sitecore Debugger
  13. Sitecore Admin Pages (Cache.aspx, Stats.aspx,  Showconfig.aspx) – Nice post Sitecore admin pages explained
  14. Monitoring tool if any e.g. New Relic — New Relic is APM
  15. Your environment e.g. Network, Load Balancer, Local Switch, If your servers are on VM then VM performance and other  Information from your Hosting provider.
  16. Memory Dump – If you are new to Memory Dump and Crash Dump, then I would suggest you to read Ekaterina, Tess and Muktesh‘s blog. Basically, using DebugDiag you can generate dump automatically/manually and using WinDbg and SOS.dll you can analyze what was the root cause of your challenge. Initially you will find it bit complex. But once you got to know it you will be the champ! [Similar as Maths! :-) ]
  17. Crash Dump
  18. MemoryThreshold related details from Sitecore log file – It is not good idea to use this if you are hosting multiple websites from single Sitecore – For more information, please refer earlier post – Threshold exceeds and MemoryMonitorHook
  19. Cache Debug related information from Sitecore log file (Caching.DebugEnabled) —  For more information, please refer earlier post – Caching Debug
  20. Detailed event level details from Sitecore log file (events timingLevel=”high”) –  For more information, please refer earlier post – EventQueue troubleshooting
  21. IIS worker process configuration – Idle Timeout may shutdown your Worker process, if not configured properly.Also, it’s always good to run your SC worker Process on 64 bit –  For more information, please refer earlier post – KeepAlive, CD server crash
  22. GC mode – server or workstation? -  For more information, please refer earlier post – Do you really need AccessResultCache on CD Server?
  23. System usage – CPU, Memory etc.
  24. Any custom/Sitecore agent causing issues?

Hope this helps!

Eager to listen your views/suggestions/comments/feedback.

Happy Sitecore Troubleshooting! :-)

Worth to read :

http://blog.navigationarts.com/sitecore-performance-analysis-profiling-debugging-caching-more/
http://sitecorebasics.wordpress.com/category/performance/
http://sitecorebasics.wordpress.com/category/caching/
http://sitecorebasics.wordpress.com/category/publishing/

March 23, 2013 / kiranpatils

Customize contexmenu for TreeViewEx

Challenge:

If you want to modify contextmenu options based on your logic then this post is for you!  For example, you have two options available to access media library one is from CE and one is from PE. Now, when user is accessing Media Library from CE it should show 10 options and from PE, you would like to show 5 options only! And as you know contextmenu comes from Core DB and TreeViewEx is responsible for generating contextmenu, and it  will not allow you to do so!

What, you really have similar challenge in front of you?! Wow, so as we, had similar challenge and we were also searching for solution same as you, and finally we’ve done it with the help of Sitecore support team! Sharing the steps with you!

Solution:

Create a custom TreeviewEx class that derives from standard one and extend it to show your custom menu.

Steps are as under:

1. Create a class based on TreeviewEx one i.e. MyTree

<pre>public class MyTree : TreeviewEx
    {
        protected override void GetContextMenu(string where)
        {
            Assert.ArgumentNotNullOrEmpty(where, "where");
            string source = Sitecore.Context.ClientPage.ClientRequest.Source;
            string control = Sitecore.Context.ClientPage.ClientRequest.Control;
            int num = source.LastIndexOf("_");
            Assert.IsTrue(num >= 0, "Invalid source ID");
            string id = ShortID.Decode(StringUtil.Mid(source, num + 1));
            Item item = Sitecore.Context.ContentDatabase.GetItem(id);
            if (item != null)
            {
                SheerResponse.DisableOutput();
                MyMenu menu = new MyMenu();
                CommandContext context = new CommandContext(item);
                context.Parameters.Add("menu", this.MenuId); // Main thing!
                Menu contextMenu = menu.Build(context);
                contextMenu.AddDivider();
                contextMenu.Add("__Refresh", "Refresh", "Applications/16x16/refresh.png", string.Empty, string.Concat(new object[] { "javascript:Sitecore.Treeview.refresh(\"", source, "\",\"", control, "\",\"", item.ID.ToShortID(), "\")" }), false, string.Empty, MenuItemType.Normal);
                SheerResponse.EnableOutput();
                SheerResponse.ShowContextMenu(control, where, contextMenu);
            }

        }
        public string MenuId
        {
            get;
            set;
        }
    }</pre>

2. Add a string property MenuId to it. As shown above.

3. Create a custom ContextMenu class that replicates logic of the Sitecore.Shell.Framework.ContextMenu one. I.E. MyMenu

4. Modify  public void Build(CommandContext context, Menu menu) method of MyMenu class.

<pre>public void Build(CommandContext context, Menu menu)
        {
            context.IsContextMenu = true;
            if (context.Items.Length == 1)
            {
                Item item = null;
                string id = context.Parameters["menu"]; // Our change!
                if (!string.IsNullOrEmpty(id))
                {
                    item = Context.Database.Items[id];
                }
                string contextMenu = context.Items[0].Appearance.ContextMenu;
                if (!string.IsNullOrEmpty(contextMenu))
                {
                    item = Context.ContentDatabase.Items[contextMenu];
                }
                if (item != null)
                {
                    Context.ClientPage.ClientResponse.DisableOutput();
                    if ((this.ID == null) || (this.ID.Length == 0))
                    {
                        this.ID = "AutoContextMenu";
                    }
                    this.Build(menu, item, context);
                    Context.ClientPage.ClientResponse.EnableOutput();
                }
            }
        }</pre>

5. Override void GetContextMenu(string where) method in MyTree class, full class is shown in Step1.

6.  In core database create a copy of the “/sitecore/content/Applications/Content Editor/Context Menues/Default” item
(MyMenuRoot) and remove unnecessary sub-items from it.

7. In you xml dialogue use the following definition for the TreeView control:


<MyTree ID="Treeview" DataContext="InternalLinkDataContext" Root="True" ContextMenu='Treeview.GetContextMenu
("contextmenu")' MenuId="<id of the MyMenuRoot from step 6>"  /

Just a note :  If you change ID attribute of  TreeView in your XML dialogue e.g. MyTreeView, then you might get this error “Control “Treeview” does not exist on form..” And to resolve that you need to modify the same in ContextMenu attribute as well with same name as your ID e.g. MyTreeView.GetContextMenu(“contextmenu”)

8. Add namespace of  MyTree control to the <controlSources> section in web.config

9. Add your assembly to the <references> section in web.config.

10. That’s it! Build your Sitecore solution and see your changes!

After doing all above steps, we were able to see ContextMenu (I’m sure you too!). But whenever contextmenu was firing a command attached to it. CommandContext was not passing selected command, and after discussion with Sitecore we resolved it as well!

You should override HandleMessage method in your dialogue class and dispatch the message in it. For example:


public override void HandleMessage(Message message)
{
Assert.ArgumentNotNull(message, "message");
string id = message["id"];
Item item;
if (!string.IsNullOrEmpty(id))
{
item=Sitecore.Context.ContentDatabase.GetItem(id);
}
else{
item=this.ImageDataContext.GetFolder();
}
Dispatcher.Dispatch(message, item );
base.HandleMessage(message);
}

Easy and Interesting, correct?! I just love Sitecore architecture! (One of my reason  Why I love Sitecore?!)

Happy Custom Context Menuing! :-)

PS : Special thanks to  Yuriy Zakharov, Ivan Sheyenko(Sitecore Support) for providing this suggestion and Devashri who did all this investigation and worked on this challenge!

March 14, 2013 / kiranpatils

Why . is required in script tag within XAML?

Challenge:

This blog post is from my question, which I asked on SDN forum http://sdn.sitecore.net/forum//ShowPost.aspx?PostID=51789

Basically,Whenever we create our custom XAML# form. We need to add . in script tags and it works fine! For example
http://sdn.sitecore.net/Scrapbook/Add%20custom%20dialog%20to%20Rich%20Text%20Editor.aspx

Here, you will observe that Ivan Sharamok has used . for script tags, as shown below:

<script type="text/<span class=">// <![CDATA[
javascript</span>" Language="javascript" Src="RadControls/Editor/Scripts/6_5_2/RadWindow.js">.
// ]]></script>
<script type="text/<span class=">// <![CDATA[
javascript</span>" Language="javascript" Src="Controls/Rich Text Editor/Custom Dialog/customdialog.js">.
// ]]></script>

So, if we remove . from Script tag. It will stop working and if we keep it, it works like a charm! We are very happy when it works. But an engineer inside us asked why it works?! And to get answer of this raised it in SDN forum. But haven’t got concrete answer from forum (And it’s obvious as the reason was bit in-depth). So, raised it with Sitecore support guys. And as usual they provided nice explanation for the same. Which I would like to share with you. So, you also know why you have to put . inside your script tags?! :)

Solution:

Reply from Alexandr Povar (Thank you!) – Sitecore support engineer!

I’ve investigated this issue more thoroughly and found the actual reason of such “requirement”.
As you know, the SCRIPT Tag
http://stackoverflow.com/questions/69913/why-dont-self-closing-script-tags-work

During the source file’s transformations (xml transformations) the empty script tag will be transformed to self-closing script tag. As the result, the browser will not load it. But if you add a dot, the tag will not be empty and will not be transformed in such way.

Here is a little example:

Original:

<script type="text/<span class=">// <![CDATA[
javascript</span>" Language="javascript" Src="/sitecore/shell/Controls/Rich Text Editor/InsertImage/InsertImage.js">.
// ]]></script>

Result with dot:

<script type="text/javascript" src="/sitecore/shell/Controls/Rich Text Editor/<span class=" language="javascript">// <![CDATA[
InsertImage</span>/InsertImage.js">.
// ]]></script>

Result without dot:

<script Type="text/javascript" Language="javascript" Src="/sitecore/shell/Controls/Rich Text Editor/InsertImage/InsertImage.js" />

From now you are free to smile each time you insert these weird dots and understand the actual need of their presence :)

Interesting!

We still had one question, that who does XML transformation? How our XML file will get compiled to .cs file? And here’s the reply for the same:

After an initial review I can state that the current issue is related to the XAML# part of Sitecore functionality which is an undocumented feature and it falls outside the coverage of the Sitecore Support.

Please feel free to use Sitecore Forum for further inspiration where you can expect to receive a feedback from the Sitecore community.

Also you may use any reverse engineering tool (e.g. Reflector) to examine the sources and realize how it works. Pay attention to the Sitecore.Web.UI.XmlControls.ControlFactory class of the Sitecore.Kernel.dll. The implementation of the ParseControlFile() method should answer you to your question.

So, now each time you add . to script tag in your XAML form. You know the reason behind it!

Happy Sitecoring! :-)

February 13, 2013 / kiranpatils

Basics of Sitecore MVP Award

I’m sure you will be very pleased to know that, your very own SitecoreBasics blog author has been announced as Sitecore MVP for 2013. Cordially thanks to you! (Yes, you!) for inspiring me by your comments, visits, and reads on SitecoreBasics blog! Also, thanks to Sitecore development team who developed such a nice environment to work on, Sitecore support team members who are always there to answer our questions in tough time and sharing their technical expertise with us! Thank you Sitecore!

MVP-2013-red-portrait-large

It was my dream (really!) to be a Sitecore MVP, and today it really feels special when got awarded as Sitecore MVP! (Just a note : Chase your dreams, dreams do come true! – Sachin Tendulkar. And trust me it does! So, ask yourself now what’s your dream? If you have a dream, wake-up and start doing actions and keep refreshing your dream in your mind. Which will keep you awake! and I guarantee that one day it will be true!  If you don’t have any dream, then do dream it! Because it’s better late than never!)

During this time so many people asked me:

  • What’s the Sitecore MVP award all about?
  • What’s the process?
  • How to get nominated?
  • What’s the selection process?
  • What are the benefits?

You also have the same set of questions? (Honestly, I also had before!) So, this questions inspired me to write this post. In this post will cover following things:

Just a note : I follow one formula to understand anything from basics and that formula is “W-W-H” it stands for What-Why-How. You take anything in life and apply this formula, it will work! (It works at-least for me! I hope it will work for you as well!)

What?

In this section we will cover What is Sitecore MVP?

The Sitecore MVP Award is given to exceptional community leaders who foster the free and objective exchange of knowledge by actively sharing their real-world expertise with technology users.

The Sitecore MVP Award celebrates the most active Sitecore community members from around the world who provide invaluable online and offline expertise that enriches the community experience and makes a difference.

Worldwide, Sitecore counts more than 5000 certified developers, and more than 15,000 active community participants. Of these participants, there are fewer than 100 active Sitecore MVP’s.

The Sitecore MVP Award is awarded for the period of one year. The period can be extended by re-nomination.

Source  –  Sitecore MVP official document

The Sitecore MVP program recognizes the top technical community leaders of Web Content Management Systems. The Sitecore MVP award honors the most active Sitecore members around the world who share their knowledge through their invaluable involvement within the Sitecore community. Lars Fløe Nielsen, Senior VP of Technical Marketing, states that, “Sitecore MVPs are technology experts who inspire others to learn and grow through active participation in the Sitecore technical community. The MVPs share the same passion for technology and a demonstrated willingness to help others innovate and advance the use of Web strategies.”

Source  –  http://www.sitecore.net/Company/News/Press-releases/2012/04/2011-Sitecore-MVPs.aspx

So, basically, to get awarded as Sitecore MVP you need following qualities (You already have?!):

  • Passionate about Sitecore
  • Ready to share knowledge
  • Ready to help others
  • Ready to contribute to the community
  • Inspire others to learn and grow through active participation in the Sitecore technical community (Lead by example!)

Why?

Why someone would like to be Sitecore MVP?
  1. Sitecore MVP Lead – All Sitecore MVPs have a Sitecore MVP Lead, a Sitecore employee who is the MVPs’ dedicated point of contact with the Sitecore MVP Award Program. The Sitecore MVP Lead is the MVPs’ advocate, keeping them informed of news, events, and opportunities within the MVP Award Program and in Sitecore, both locally and around the world.
  2. Sitecore MVP logo – The Sitecore MVP may use the logo on their business cards, email signatures, on their company’s web site, on their personal blog and on social network web sites. Also, Sitecore MVP’s may use the logo on speaker listings.
  3. Sitecore Developer Network – The Sitecore MVP may be promoted on the Sitecore developer network, with their area of expertise, their sponsor’s reason, image and a description of who they are and what they do.
  4. Access to technical resources (requires NDA) – Sitecore MVPs get privileged access to a number of technical resources such as:
    1. Technical previews of Sitecore software as well as first releases of modules. Pre-release.
    2. Full access to the Sitecore developer network and download section.
    3. Sitecore MVP Product Feedback closed circuit community forum allows Sitecore MVPs a direct channel to submit comments,suggestions related to Sitecore technologies.
    4. Sitecore MVP Private Newsgroups provide forums for Sitecore MVPs from around the world to share ideas on Sitecore with Sitecore employees.
    5. Other privileged resources.
  5. Events – The Sitecore MVP will receive invitations to significant events in their region.

How?

If someone has decided to be a Sitecore MVP? Then how one can achieve it?

In order to receive the Award, Sitecore MVP nominees undergo an evaluation process. A panel that includes Sitecore technical marketing and sales, the Sitecore product group teams and Sitecore marketers evaluate each nominee’s technical expertise and voluntary community contributions for the past year. The panel considers the quality, quantity, and level of impact of the Sitecore MVP nominee’s contributions, including:

  • General (technical) advocacy
  • Contributing to the Sitecore community via blogs
  • Contributing to Sitecore Developer Network forums
  • Helping others on online communities like Stackoverflow
  • Visiting and/or Contributing to the Sitecore User Groups
  • Writing and/or publishing content such as white papers and articles

The Sitecore MVP is internally awarded in January, and the award list will be published on the Sitecore developer web site with a description of the individual and with a list of achievements.

Source  –  Sitecore MVP official document

Apart from above list, I think your following contribution will also help community and will be getting considered:

  • Sitecore Marketplace (Formerly known as “Sitecore Shared Source“  module)
  • Your Sitecore support tickets

So, a question might come to your mind. What all you’ve contributed. And it is really a good question.  Here it is:

  1. Blog: Writing regular posts on my Sitecore blog at : http://sitecorebasics.wordpress.com/ [92 posts, 183 comments, 51,933 hits, and lot of blogs and forums referring to this blog].
  2. Forums: Active at SDN forums: http://sdn.sitecore.net/forum//user/Profile.aspx?UserID=6906 [374 Posts, 2nd Post Rank, and in Top 25 Posts]
  3. Shared source modules/Sitecore Marketplace: Contributed three modules:
    1. SC Log Explorerhttp://marketplace.sitecore.net/en/Modules/SC_Log_Explorer.aspx
    2. Quick Item Searchhttp://marketplace.sitecore.net/en/Modules/Quick_Item_Search.aspx
    3. Cache Tunerhttp://marketplace.sitecore.net/en/Modules/Cache_Tuner.aspx
  4. Whitepaper: Developing and deploying with Sitecore in four levels – Sitecore Development to Deployment Guide – http://sitecorebasics.wordpress.com/whitepapers/

Let’s see the flow diagram of becoming Sitecore MVP process:

Sitecore-MVP-Process

As shown in above diagram, there are mainly three main entities involved in this process, you, your knowledge and Sitecore! Let’s understand it step by step!

  • Step 1 : The first and most important step is you need to decide that you would like to be Sitecore MVP! If you’ve done that trust me, rest of the steps will automatically follow!
  • Step 2 : Second step is learning Sitecore (Follow Sitecore blogs, Subscribe to RSS feed, follow Sitecore champs on twitter, be active on SDN forums etc.) and sharing what you learned! (Blog, forum, module etc.) Whatever it is big or small! Advance or Basic! Just share it! [Because Knowledge shared is knowledge gained!]
  • Step 3 : Once you’ve started contributing then it’s time to nominate yourself. You can’t directly nominate yourself. It should be done via your company if it is Sitecore certified partner (Thank you Investis for recommending me!) OR Sitecore Employee(Thank you Kimberly McCabe for recommending me!). Sitecore starts accepting Nominations in November.
  • Step 4 : Once you’ve been nominated then Sitecore Panel will evaluate your last year’s contribution. If you got selected then you will get an e-mail in January.
  • Step 5 : Receive your Sitecore MVP award — Well done!  Time to celebrate and time to start working again from step 2 because this award’s validity is only for this year. You’ve to re-nominate yourself for next year!

So, basically you need to start sharing your knowledge as much as possible then in November, when nominations gets opened. Nominate yourself. And cross your fingers [But please don't forget to learn and share during this time as well!] still the result gets announced! Wish you luck! (I’m sure, you will do it!)

As we all know, nothing big can be achieved by a single person. There are a lot of others involved to make things happen. And same holds true in my case as well. This award would have been impossible without lot of people’s support! Would like to cordially thanks to each one of them!

Hope to see you in next year’s Sitecore MVP list! Wish you luck! Still then Keep reading, Keep learning, Keep sharing!

Happy Coding! :-)

Reference

  1. http://www.sitecore.net/Company/News/Press-releases/2013/02/Sitecore-MVPs.aspx
  2. http://sdn.sitecore.net/MVP.aspx

February 6, 2013 / kiranpatils

Transfer tool – Media transfer bug

Challenge:

In a small city, there are two developers cum friends named as Dex and Gabe. They work on Sitecore. And whenever they face any challenge in Sitecore they discuss it internally, try it out and solve it! They are really happy Sitecore developers! (Same as you and I!).

One day they faced a challenge. And this blog post is about how they overcome that challenge.

Disclaimer — All characters in this publication are entirely fictitious and any resemblance to real persons, living or dead, is purely coincidental.

Solution:

Read it from left to right

Transfer-Part1

Transfer-Part2

So, Basically Gabe has suggested to use Transfer tool – http://sdn.sitecore.net/Reference/Archive/SC53%20End%20User/Control%20Panel/Database/Transfer%20Items%20to%20Another%20Database.aspx to Gabe for transferring an item from one DB to another DB without publishing [Worst case scenario!].  And while doing it they found Sitecore Bug in which for media items, it transfers an item. But not a media item itself.

They raised a support case, and Sitecore support guys (Thank you Ivan Sheyenko and Alen Pelin) has provided a solution to them. You also want that solution? You can get it from Sitecore support champs by mentioning them Ticket Reference#’s — #375516 and #376422 [Sitecore.Support.345233.dll]

Just a note : Transfer is not an option of publishing. Because Transfer only copies item from one DB to another DB. It will not do cache clearing on your CD servers. Which you need to do manually. But publishing will do all this for you! Transfer should be used only for worst case scenarios only!

Now, Dex and Gabe are really happy and they are enjoying their time! I’m sure they will keep sharing such things with us!

Happy Item Transferring! :-)

Follow

Get every new post delivered to your Inbox.

Join 147 other followers

%d bloggers like this: