Monthly Archives: October 2015

Lucene.Net Upgrade Issue with Sitecore 6.6.0 rev. 120918

I am performing an upgrade for a client from Sitecore 6.5.0 rev. 110818 to Sitecore 6.6.0 rev. 120918.  When I tried installing the update I got this critical error when the update finished:

“Could not load file or assembly ‘Lucene.Net, Version=X.X.X.X, Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference.”

In the upgrade instructions on the SDN, it clearly states that after you install the update you may receive this message:

Note: The upgrade process might fail with the following error message: “Could not load file or assembly ‘Lucene.Net, Version=X.X.X.X, Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference.”
This error happens because Sitecore CMS 6.6 uses a new strongly-named version of Lucene.NET and can occur if one of the installed modules or your custom code refers to an old version of Lucene.NET.
To fix this, disable any modules and custom code in your solution that depends on Lucene.NET, then rerun the process. If you cannot determine the exact module or code that should be disabled, or if your changes do not resolve the problem, please contact Sitecore Product Support Services.

After working with support to get some hints, it turned out that the following .dll’s and includes were causing the problems as they were referencing the old .dll’s.

Here is a list of the of the following includes and dll’s in my solution that I had to copy out of the website:

Problem Includes

Problem Includes

Problem DLL's

Problem DLL’s

Once, I copied them out into another folder and reran the update, the update successfully finished upgrading my instance.  Hopefully, this saves you some time.  Happy coding!

3 Basic Steps to Help You Become a Sitecore MVP

At the end of the year 2014 when the Sitecore MVP’s were awarded their MVP status, it was then that I decided I wanted to become a Sitecore MVP.  Below are some simple steps that I used to obtain my Sitecore MVP status for 2015 in as little as 30 minutes a day, which is 2.5 hours a week added on to your daily/weekly routine.

I have been bodybuilding this year, and I am going to relate becoming a Sitecore MVP to bodybuilding.  Here’s the secret:

It’s all about passion and consistency!

When you walk into the gym you will almost always see the guys that are bigger and ripped.  So you ask yourself, “What are they doing to get that size and definition?”  Yes, they could be on steroids, which is what most believe, but I assert that’s not the case.  More often than not, they have just made it a habit to show up every day, and made it a point to not let anyone else outwork them in the gym.  It’s their passion, and they are consistent in showing up and working hard 5-6 days a week to reach their bodybuilding goals.

Becoming a Sitecore MVP is very similar to bodybuilding in the aspect that it’s much easier and less stressful to work on your MVP status daily/weekly.  This is a much better strategy than waiting until nominations come around in October/November of every year to start getting to work on the MVP award.  That can be time-consuming and stressful if you need to play catch up on a lot of the things that Sitecore is looking for to reward you with the MVP award.  To make this even more clear, if you relate this to bodybuilding, that’s like walking into the gym after you haven’t worked out all year long and stacking 500 pounds on chest press, and going for it.  It’s just not a smart idea!

Below is a brief list of things you should focus on when seeking to obtain the Sitecore MVP status.  The panel looks at the quality, quantity, and the level of impact of these particular contributions:

  • General (technical) advocacy
  • Contributing to the Sitecore community via blogs
  • Contributing to Sitecore Community forums (SDN forums have moved)
  • 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
  • Sitecore Marketplace contribution
  • Support tickets contribution

Consistency and involvement is key and I will give you some pointers on where you should spend your time below to help you in your quest to become a Sitecore MVP.

Step 1: Become selfless not selfish

I still remember about 6 years ago when I was the Lone Ranger in my company that just got a license for Sitecore.  I was tasked with learning and becoming the sole developer/resident expert on Sitecore 6.0.  At that time, I was a complete Sitecore rookie, and my only source of knowledge was the documentation that Sitecore provided on the SDN.  Back then there wasn’t much for Google searches when it came to troubleshooting. I struggled to take in all the information and learn on my own, but I was determined to rise up as a solid Sitecore developer. It was at that time that I vowed that should I ever become knowledgeable with the product that I would help others in the Lone Ranger situation. Hence, the reason I share my knowledge today, which is to share and give back to the Sitecore community as they have given back to me in my time of need.

Start with a selfless heart when seeking to obtain the Sitecore MVP status. Realize that most of the MVP’s would probably still do all these things even if there wasn’t an MVP program. It’s just a unique character attribute to possess where you want to help others and not keep all this information to yourself.

Step 2: Set daily/weekly goal on hourly commitment

Nothing is free.  If you want to become a Sitecore MVP or a have a healthy, fit body you simply have to commit to how much time you are going to spend to obtain that which you seek.  What I do every morning is try to wake up about 30 minutes early before work and focus on those contributions above that can help the Sitecore community.  Once you have a time commitment you can then decide where to spend that time.

Step 3: Setup this time allotment in your calendar and stick to it

Take the time to put in your calendar this time commitment so you can keep yourself accountable. When the time comes to work on knowledge sharing, hopefully, you will already have a plan of what you are going to do.  But here is what you can do with your time allotment of simply 30 minutes a day:

  • Jump on the Sitecore Community forums and/or Stack Overflow and help others to work through their issues. You may not know the answer, but maybe you can help lead someone in the right direction.  Try answering the issues or offering input where you can with your knowledge and experience. It all helps even to stir up thought that may help that person reach a final solution. Make sure to set up your notifications to come directly to your email inbox so you can see what’s new and respond promptly to ones that you previously were helping with.
  • Use this time to blog on a topic that you find would help the Sitecore community.  I usually have found that as I am working through my normal work, I have these moments where I say to myself, “I bet others could benefit from what I just went through.”  And that is the starting point of a new blog that I start while it’s still fresh in my mind. So as you are working always be thinking of what it is that you’re doing that could help others.
  • Use this time to build a Sitecore Marketplace module.  If different clients are asking for the same type of component or module and it’s not on the Sitecore marketplace consider developing a Sitecore marketplace module.  Chances are that other Sitecore clients will want to use it.  Just be ready to support it as well i.e. bugs, new features, updating to work with newer releases of Sitecore.

In addition, to what is above that you can spend 30 minutes a day on you should also get involved in the social Sitecore community via Twitter and Slack.  Slack is used to bounce ideas around on the Sitecore Slack channel.  Great to see what other Sitecore developers are talking about and get involved.  What’s best about slack is it’s real-time chat with other Sitecore developers from around the world!

If you live in a state where you have a Sitecore User Group that meets regularly get involved! Definitely show up to the meetings on a regular basis but if there is something you would like to present on then let the User Group leader know. For those of us, that live in areas where there is not a Sitecore User Group consider starting one up.  Here is a link to the Sitecore User Groups directory. Here you can see where a User Group is located near you.  For us that live in disparate areas, there is a Sitecore Virtual User Group but it’s based on presenters.  No presenters, no meeting.  Hence, another area where you can pitch in and contribute towards becoming an MVP if you feel comfortable enough to present on a topic.

Lastly, as you go about your day and encounter issues with Sitecore that can’t be resolved with your technical ability and the help of Google, then consider putting in a support ticket to Sitecore Support.  Again, chances are it’s a bug that needs to be addressed and fixed in the next release. Sitecore wants to know about all these bugs so don’t think you’re being a pain in the neck, it’s helping them to build the most solid, robust, enterprise level CMS system in the world.

So remember, do it because Sitecore is your passion and you love to share NOT because you have to.  Next, set aside time each day to make it simple and easy for yourself to reach your goal of MVP. Lastly work your plan daily/weekly to share to the best of YOUR abilities with your knowledge and expertise. Happy coding!


Why use Anti-Package functionality with Sitecore Rocks?

I wanted to gain an understanding of utilizing the Anti-Package feature of Sitecore Rocks not only the creation process for use as a backup, but also I wanted to verify what happened when I restored with the anti-package in the event just to verify what was taking place.

I started by taking a look at Trevor Campbell’s post on the creation of Anti-Packages here:  Since, the creation process is pretty well documented, that will not be covered here.

I created a package using Sitecore Rocks and named it MyPackage.

The following items were added:

Items In Package

Items In Package

The following files were added:

Files In Package

Files In Package

The following files were created in a folder I specified:

Created Files

Created Files

Now, that I have my package created I create the anti-package using the process Trevor described in his post.  Take a look at the information at what the creation of the Anti-Package does:

Anti Package Information

Anti Package Information

I added some basic content to the Sample Item using Sitecore Rocks and saved the item as seen below:

Content Added To Sample Item

Content Added To Sample Item

Now, when I install the Anti-Package the Sample Item gets reverted back to its original state as seen below:

Sample Item Original

Sample Item Original

So, I couldn’t help but ponder the question, what is the point of an anti-package when you can make a normal package and re-install it and it should do the same thing right?  As a matter of fact, if I look into the .zip files for my and they are the exact same.

I believe the benefit lies with using the Anti-Package as a backup strategy particularly in module development for Sitecore.  I think it’s a great habit to get into when working on a module that is continually being updated to create Anti-Packages as you are putting out updates.  The benefit of the anti package is the naming convention ( and in Sitecore Rocks the Anti-Package will have its own area for designated Anti-Packages, which could be seen as backups that can be restored at any time. This simple strategy allows you to be able to rollback to most recent release of your module.  For example Excel Transfer Utility Version 1.0, when you are putting together the updated package for 1.0.1, which may contain bug fixes.

Overall, Anti-Packages are beneficial in my opinion.  Not only with Sitecore module development, but as a best practice to have a backup of any important packages you may need to revert back to over time.  Happy coding!