<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6287833433294801239</id><updated>2024-10-24T03:46:58.709-05:00</updated><title type='text'>Everything SharePoint - From MOSS 2007 to SharePoint 2010</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fabedeen.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://fabedeen.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6287833433294801239.post-7184376285094165867</id><published>2012-03-04T17:23:00.007-06:00</published><updated>2012-03-04T17:26:58.676-06:00</updated><title type='text'>&quot;MOSS Migrations&quot;</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;b style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; font-size: x-large;&quot;&gt;Presentation To&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;color: orange; font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;&lt;b&gt;Chicago SharePoint Mid-West User Group&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;&lt;b&gt;March 4, 2012&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; font-size: x-small;&quot;&gt;This is the slide show part of the presentation, audio to be added shortly...&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Arial, Helvetica, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dy4m06mvErvfvGsMoUPPkkqkl1CE77VQPI8zQJroWMx57eagjbMk6Zff1LetYCCzvthjl1UmSPNnDNPjaWKCQ&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fabedeen.blogspot.com/feeds/7184376285094165867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabedeen.blogspot.com/2012/03/moss-migrations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/7184376285094165867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/7184376285094165867'/><link rel='alternate' type='text/html' href='http://fabedeen.blogspot.com/2012/03/moss-migrations.html' title='&quot;MOSS Migrations&quot;'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6287833433294801239.post-5452309794836689156</id><published>2011-11-21T11:39:00.001-06:00</published><updated>2011-11-21T20:01:27.519-06:00</updated><title type='text'>Completing the SharePoint 2010 Certifications</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Last week I accomplished what I&#39;d been putting off for the past two years - I passed the SharePoint Certifications!&amp;nbsp; So I&#39;d like to share my experiences and recommendations on these exams.&amp;nbsp; Let&#39;s start with the purpose of these - the four exams are the gateway and one of the pre-requisites&amp;nbsp;to the MCM (&lt;a href=&quot;http://www.microsoft.com/learning/en/us/certification/master-sharepoint.aspx&quot; target=&quot;_blank&quot;&gt;Microsoft SharePoint Certified Master&lt;/a&gt;) and the MCA (&lt;a href=&quot;http://www.microsoft.com/learning/en/us/certification/architect.aspx&quot; target=&quot;_blank&quot;&gt;Microsoft Certified SharePoint Architect&lt;/a&gt;) levels.&amp;nbsp;&amp;nbsp;Years of SharePoint experience in an Architect role is the other main pre-requisite.&amp;nbsp; But training for these 4 exams covers vast material and will most certainly make you better prepared for the Architect role. &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-573&quot; target=&quot;_blank&quot;&gt;MCTS 70-573&lt;/a&gt; SharePoint Development&lt;/strong&gt;&lt;br /&gt;
This is the basic exam for the Developer.&amp;nbsp; You&#39;ll be tested on basics of .NET as applies to SharePoint development.&amp;nbsp; You may be able to pass this exam even if you are new to SharePoint, as I believe it&#39;s moderately difficult.&amp;nbsp; But you&#39;ll need to carefully prepare a task list for the exam based on the objectives as needed by Microsoft.&amp;nbsp; Most of the questions are from key areas and references from MSDN.&amp;nbsp; You should focus on the key namespaces and classes.&lt;br /&gt;
&lt;br /&gt;
If you have a solid asp.net background, the study will be much easier.&amp;nbsp; If you have a non-development background, I suggest taking the &lt;a href=&quot;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-515&quot; target=&quot;_blank&quot;&gt;70-515&lt;/a&gt; training as&amp;nbsp;preparation and get your C# and ASP.NET basics in place first.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-576&quot; target=&quot;_blank&quot;&gt;MCPD:PRO 70-576&lt;/a&gt; SharePoint Development&lt;/strong&gt;&lt;br /&gt;
As expected, this was more difficult as compared to the 573 but&amp;nbsp;several questions were very similar.&amp;nbsp; So if you did a good job studying on the objectives for 573, you should have no trouble here.&amp;nbsp; Again, your C# and .NET needs to be well grounded.&amp;nbsp; Again, carefully prepare a task list for the exam based on the objectives as needed by Microsoft.&amp;nbsp;&amp;nbsp; As this is a more advanced exam, you may benefit by getting a years experience before taking this one.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-667&quot; target=&quot;_blank&quot;&gt;MCTS 70-667&lt;/a&gt; SharePoint Configuration&lt;/strong&gt;&lt;br /&gt;
This is going to cover a large number of topics from the Administration and Configuration aspect.&amp;nbsp; If you have&amp;nbsp;some years of SharePoint and network administration experience, you may have no trouble here and might even be able to walk in and take the exam based on experience.&amp;nbsp; However if you are new, or from a pure development background, consider picking up one of the many guides available and carefully look at the objectives.&amp;nbsp; If you have a networking background you&#39;ll obviously find it much easier.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-668&quot; target=&quot;_blank&quot;&gt;MCITP:PRO 70-668&lt;/a&gt; SharePoint Administration&lt;/strong&gt; &lt;br /&gt;
This is the &quot;daddy&quot; of all SharePoint exams.&amp;nbsp; It is a difficult exam and almost all the questions are testing architectural concepts from SharePoint.&amp;nbsp; The fun part is you can pretend you own the Farm and have full control over your IT Department -:)&amp;nbsp; Expect lots of case studies and wordy scenarios.&amp;nbsp; But although at first the full page descriptions seem challenging, they rarely require reading and memorizing all the requirements.&amp;nbsp; The exam tests your ability to convert a Business Requirement into a Technical Requirement and in turn an Architectural Plan.&amp;nbsp; And yes, it does also test your ability to understand english and your analytical skills.&lt;br /&gt;
&lt;br /&gt;
If you are new to SharePoint or from a pure development background, consider getting a years experience before taking this one.&amp;nbsp;&amp;nbsp; It covers a huge variety of topics.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Summary&lt;/strong&gt;&lt;br /&gt;
These were fun exams for me!   Preparing for them took a few weeks (exclusively dedicated time off from working) but it was worth it as I learnt a lot despite several years SharePoint experience.  If you were to study all the areas that the Microsoft objectives cover, you can vastly&amp;nbsp;improve your knowledge.&amp;nbsp; I took the SharePoint and other&amp;nbsp;courses at a Microsoft Learning Partner training center.&amp;nbsp; You will find the study guides, demonstrations, hands-on labs and virtual environments provided via the MOC material very helpful. &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fabedeen.blogspot.com/feeds/5452309794836689156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabedeen.blogspot.com/2011/11/completing-all-sharepoint-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/5452309794836689156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/5452309794836689156'/><link rel='alternate' type='text/html' href='http://fabedeen.blogspot.com/2011/11/completing-all-sharepoint-2010.html' title='Completing the SharePoint 2010 Certifications'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6287833433294801239.post-5170734884776450381</id><published>2011-09-24T15:37:00.000-05:00</published><updated>2011-11-06T06:22:16.376-06:00</updated><title type='text'>My Koenig Experience in New Delhi Sept - Nov 2011</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;a href=&quot;http://www.koenig-solutions.com/&quot;&gt;Koenig Solutions Private Ltd&lt;/a&gt; is a Training Provider.  In their words:&lt;br /&gt;
Koenig is &quot;world&#39;s #1 in offshore IT training and certification. Offshore training provides significant advantages: (1) World class quality (2) Affordable cost (3) Small batch size (&amp;lt;=5) (4) Distraction free environment (5) Opportunity to visit Incredible India. &lt;br /&gt;
Koenig is the Best Place to Work 2010 and 2011 in the Education and Training industry. &lt;br /&gt;
Koenig is the Winner of Microsoft Citizenship Partner of the Year award for 2009 and Microsoft Learning Partner of the Year Finalist for 2008.&quot;&lt;br /&gt;
&lt;br /&gt;
So I took their word for it, registered for some SharePoint and .NET Exam Certification Courses and decided to see if they are as impressive as they sound.  You will see my weekly summary and recommendations on this Blog.  Please note I&#39;m comparing them to the Training Courses that I have taken in the past from US based Training providers.
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;background-color: white; color: #351c75;&quot;&gt;Week 1 at Koenig Delhi&lt;/span&gt; &lt;/b&gt;&lt;br /&gt;
In New Delhi since 1 day. Plane trip was great..landed 3 am, immigration and customs was no hassle, new airport is excellent, Koenig guys were there to receive me. The temperature is about 80...but humidity is high.
 
Picked up my training material from the Office yesterday, training starts Monday. Not sure yet what to do all day tomorrow. &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin-ftWeNTlGaXa9Ag950nnuVkXKabMd-b3-7dFUd3dHdWjq6xbx8xwD-ZSn5XtEj8JTOyTAhNpX7ctkATCe1zJ3_5cUP1uocQmv0zx9zDG6Ck6VwgoFBfCHv_mVLOrQqEoAsvTjDCUHvQ9/s1600/P9240002.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin-ftWeNTlGaXa9Ag950nnuVkXKabMd-b3-7dFUd3dHdWjq6xbx8xwD-ZSn5XtEj8JTOyTAhNpX7ctkATCe1zJ3_5cUP1uocQmv0zx9zDG6Ck6VwgoFBfCHv_mVLOrQqEoAsvTjDCUHvQ9/s1600/P9240002.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin-ftWeNTlGaXa9Ag950nnuVkXKabMd-b3-7dFUd3dHdWjq6xbx8xwD-ZSn5XtEj8JTOyTAhNpX7ctkATCe1zJ3_5cUP1uocQmv0zx9zDG6Ck6VwgoFBfCHv_mVLOrQqEoAsvTjDCUHvQ9/s200/P9240002.JPG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;Apartment has basics, caretaker is friendly and helpful, but some issues with A/C unit not working properly, plaster coming off the wall (huge area on 1 wall ) and previous roomer said shower heater has leaking electric ugh. Requested changing Room ASAP...hope the replacement room is nicer. WiFi is strong and electricity is stable and so far power is great. Food and drinking water arrangements are satisfactory at the Apartment. Will also have to find a place to workout like an indoor gym.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6QPPWZQ0-lfhaMlifipPUYvsfSBMEof96S4DNqJUvlmW3BjMugyzQFnR2CfEFR8z7eXIu4IcCjqGeBC9SNulLQ0sfoOym_PKqKjocjKTHuGLst5xJGgy2WUFSXBCx-pmQg467hX5-iJAo/s1600/P9240001.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6QPPWZQ0-lfhaMlifipPUYvsfSBMEof96S4DNqJUvlmW3BjMugyzQFnR2CfEFR8z7eXIu4IcCjqGeBC9SNulLQ0sfoOym_PKqKjocjKTHuGLst5xJGgy2WUFSXBCx-pmQg467hX5-iJAo/s200/P9240001.JPG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;The certs that I have signed up for are listed:&lt;br /&gt;
SharePoint Administrator (Exams 70-667 &amp;amp; 70-668) fast track&lt;br /&gt;
SharePoint Developer (Exams 70-573 &amp;amp; 70-576) regular track&lt;br /&gt;
.NETFramework 4.0&amp;nbsp;(Exam 70-515) fast track&lt;br /&gt;
&lt;br /&gt;
Total Cost: US $4,800 (includes boarding, lodging, travel to lab)&lt;br /&gt;
Total Time: approx 5 weeks&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style=&quot;color: #20124d;&quot;&gt;Week 2-5 at Koenig&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge8VP85uB7HK5KqKS54uE_xxGzvbx0Rl8xP4mAIIioNeCYSxnf3D8ZUd7jF4j2ozlKFux9PhN52UlisK7zXgrgBnDoo2UOqj3xxsM1DzCxd1VcAcQQaLFROg7O3JnPEKGWof89OxUWEtEE/s1600/PA050009.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge8VP85uB7HK5KqKS54uE_xxGzvbx0Rl8xP4mAIIioNeCYSxnf3D8ZUd7jF4j2ozlKFux9PhN52UlisK7zXgrgBnDoo2UOqj3xxsM1DzCxd1VcAcQQaLFROg7O3JnPEKGWof89OxUWEtEE/s320/PA050009.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;color: black;&quot;&gt;So I&#39;m back with updates from the past few courses that I completed here.&amp;nbsp; The first two courses (shown above) were for SharePoint 2010 Administration and Configuration (70-667 and 70-668) on a &quot;Fast Track&quot;.&amp;nbsp; The Course Instructor Rajesh was very impressive and had a really solid understanding of the Networking, ADS and Security that&#39;s a core part of these courses.&amp;nbsp; I enjoyed the mode of instruction and learned a few new things.&amp;nbsp; Most of it was a refresh of my past years of experience but my burning questions as well as gaps in knowledge were answered.&amp;nbsp; After the completion of the two I reviewed the material and labs from the study guide and passed the first certification, yay!&amp;nbsp; I&amp;nbsp;plan to start working towards the second certification next week, hopefully.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
After this course I took the courses for the 70-515 ASP.NET 4.0 Web Development.&amp;nbsp; To my surprise there were 3 MOC&#39;s (Microsoft Official Curriculum) and six study guides.&amp;nbsp; Wow!&amp;nbsp; That&#39;s a load of work for one exam.&amp;nbsp; The first course was dedicated to C# fundamentals, the second to ASP.NET basics and the last one on MVC 2.0.&amp;nbsp; It&#39;s a lot of labs, demos, instruction and code.&amp;nbsp; I registered for this on the &quot;Fast Track&quot; as well, so it kept me really busy for two weeks.&amp;nbsp; Unfortunately, I didn&#39;t get a chance to study for the exam as of yet because the following two courses began the day after this one ended.&amp;nbsp; Bad idea for anyone trying to get certified!&amp;nbsp; Always leave at least 2 days for exam study.&amp;nbsp; I&#39;ll come back to this one at the end of my courses.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg08Z_HtT7FFrxaMgQP8ZPcYbqiDtvsA6GahpwsTV6VmX1Kmr2HOjWgJqIY34pBR5NJF12bmBKxTZzm2YKOYc6VP3XVkJtfKRRB5VI486f6-3hTgTrBXnE0PHO5w4JUh4qzzx0z5S9eo_UF/s1600/PA230052.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg08Z_HtT7FFrxaMgQP8ZPcYbqiDtvsA6GahpwsTV6VmX1Kmr2HOjWgJqIY34pBR5NJF12bmBKxTZzm2YKOYc6VP3XVkJtfKRRB5VI486f6-3hTgTrBXnE0PHO5w4JUh4qzzx0z5S9eo_UF/s320/PA230052.JPG&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg08Z_HtT7FFrxaMgQP8ZPcYbqiDtvsA6GahpwsTV6VmX1Kmr2HOjWgJqIY34pBR5NJF12bmBKxTZzm2YKOYc6VP3XVkJtfKRRB5VI486f6-3hTgTrBXnE0PHO5w4JUh4qzzx0z5S9eo_UF/s1600/PA230052.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqnPhlKytUbYouRh14rjH8mrhyphenhyphenjsIr5HaU0WpHOfhvVnjv78cwKTa_jUot921o676Cm89NU_4O0yv2Mjc6qCY0dJDc7TOL12Ng2MzcRP90N0bJxvqpunZ4TO6SFu3138yY1fMWC9pq1eUz/s1600/PA190006.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqnPhlKytUbYouRh14rjH8mrhyphenhyphenjsIr5HaU0WpHOfhvVnjv78cwKTa_jUot921o676Cm89NU_4O0yv2Mjc6qCY0dJDc7TOL12Ng2MzcRP90N0bJxvqpunZ4TO6SFu3138yY1fMWC9pq1eUz/s320/PA190006.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2UMDX8wBHOS8Df4ANgoPdvPH3RPtt94L8K5i5PGCfL9AmrD0bS6ByyVyO-k4Z0sdKgzUmObtfGGngMuTVsWJnYkYF9UPEBOBLLuHuadsrBkvT3-A51y6A93Xp2eQ94qxkemx5y4Yi2AAT/s1600/PA220034.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2UMDX8wBHOS8Df4ANgoPdvPH3RPtt94L8K5i5PGCfL9AmrD0bS6ByyVyO-k4Z0sdKgzUmObtfGGngMuTVsWJnYkYF9UPEBOBLLuHuadsrBkvT3-A51y6A93Xp2eQ94qxkemx5y4Yi2AAT/s320/PA220034.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim6CCHshUBHo4bY3BBLFwMxiGWN_gRpONMWBMapBwRraJamLacGH39BozUclkiyLzQw6zNxK6WQSRSRowFbF9CAe3I5RGHqlc7JhexJptfEfa0UHWbJM6IUZEI8tHRINj8mCNMDsB5ggDo/s1600/PA220044.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim6CCHshUBHo4bY3BBLFwMxiGWN_gRpONMWBMapBwRraJamLacGH39BozUclkiyLzQw6zNxK6WQSRSRowFbF9CAe3I5RGHqlc7JhexJptfEfa0UHWbJM6IUZEI8tHRINj8mCNMDsB5ggDo/s320/PA220044.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
The next set of courses was for SharePoint 2010 Application Development (70-573 and 70-576).&amp;nbsp; The instructor was available in Shimla Koenig Training Center, so I took the train the following day.&amp;nbsp; Shimla is a hill station dating back to the 1800&#39;s and is quite a peacefull and quiet location.&amp;nbsp; What will also impact a visitor is the honesty and simplicity of the local people.&amp;nbsp; You will find many temples to visit, places to hike, a Europe style mall with lots of local crafts as well as grocery supplies, restaurants and coffee houses.&amp;nbsp; But this is a slow paced city.&amp;nbsp; Be prepared for bands of monkeys which for the most part are well settled in the valley.&amp;nbsp; Be prepared for daily hikes to get to the mall area and cool weather.&amp;nbsp; But if you like a serene scenic location at 5,000 ft, this is your ideal place for study.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fabedeen.blogspot.com/feeds/5170734884776450381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabedeen.blogspot.com/2011/09/my-koenig-experience-in-new-delhi-sept.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/5170734884776450381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/5170734884776450381'/><link rel='alternate' type='text/html' href='http://fabedeen.blogspot.com/2011/09/my-koenig-experience-in-new-delhi-sept.html' title='My Koenig Experience in New Delhi Sept - Nov 2011'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin-ftWeNTlGaXa9Ag950nnuVkXKabMd-b3-7dFUd3dHdWjq6xbx8xwD-ZSn5XtEj8JTOyTAhNpX7ctkATCe1zJ3_5cUP1uocQmv0zx9zDG6Ck6VwgoFBfCHv_mVLOrQqEoAsvTjDCUHvQ9/s72-c/P9240002.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6287833433294801239.post-2728835643788834948</id><published>2011-09-23T11:58:00.000-05:00</published><updated>2011-09-23T11:59:48.058-05:00</updated><title type='text'>SharePoint Training Towards MCA</title><content type='html'>&lt;b&gt;The Koenig Experience
&lt;/b&gt;
The Microsoft Certified Master (MCM) for SharePoint Server 2010 certification provides recognition by Microsoft as the top SharePoint experts in the world. To be accepted into the MCM program, applicants must meet or exceed the prerequisites, which include:

1.A thorough understanding of Microsoft SharePoint Server 2010 design and architecture.

2.A thorough understanding of Microsoft ASP.NET, Windows Server, Internet Information Services, and other core technologies related to SharePoint products and technologies.

3.The ability to speak, understand, and write fluent English.

4.Three or more years of hands-on experience with Microsoft Office SharePoint Server 2010: installing, configuring, troubleshooting, and custom development

5.Candidates must have passed the following certification exams prior to applying to the MCM program:

Exam 70-573: TS: Microsoft SharePoint 2010, Application Development
Exam 70-576: PRO: Designing and Developing Microsoft SharePoint 2010 Applications
Exam 70-667: TS: Microsoft SharePoint 2010, Configuring
Exam 70-668: PRO: SharePoint 2010, Administrator

After looking at all my options within the US, I chose &lt;a href=&quot;http://www.koenig-solutions.com/&quot;&gt;Koenig Solutions Private Ltd&lt;/a&gt; as a training provider.  The catch - they are located half way around the world in New Delhi, India. </content><link rel='replies' type='application/atom+xml' href='http://fabedeen.blogspot.com/feeds/2728835643788834948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabedeen.blogspot.com/2011/09/sharepoint-training-towards-mca.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/2728835643788834948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/2728835643788834948'/><link rel='alternate' type='text/html' href='http://fabedeen.blogspot.com/2011/09/sharepoint-training-towards-mca.html' title='SharePoint Training Towards MCA'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6287833433294801239.post-2189624716268430437</id><published>2011-08-01T19:00:00.002-05:00</published><updated>2011-08-01T19:04:47.140-05:00</updated><title type='text'>Are Migration Tools Necessary for MOSS to SharePoint 2010 Migration?</title><content type='html'>I&#39;m in the last phase of designing and completing a large MOSS upgrade to SharePoint 2010 for a Fortune 100. No third party tools were used, and I thought it would be usefull to list some findings:&lt;br /&gt;
&lt;br /&gt;
* We used a Content DB hybrid upgrade path like some mention in the previous comments.&lt;br /&gt;
&lt;br /&gt;
* Because of this, we had far better control over the processes involved&lt;br /&gt;
&lt;br /&gt;
.* We achieved an unintended result: we mastered the understanding of the Farm and realized it&#39;s capabilties and limits.&lt;br /&gt;
&lt;br /&gt;
* It ensured more granular enforcement of Best Practices at all stages.&lt;br /&gt;
&lt;br /&gt;
* Money saving was not a factor for selecting the Content DB Hybrid upgrade path as most 3rd Party tools were relatively inexpensive (compared to the licensing for a 8 server farm within a virtual environment running a 16 CPU  Blade Server).&lt;br /&gt;
&lt;br /&gt;
* The process was tedious, took many hours of technical design and upgrade testing. We needed advanced level developers, consultants and architects and constant calls with Microsoft Tech Support. There needs to be an adequate budget for this&lt;br /&gt;
&lt;br /&gt;
.* Cleaning up and perfecting most major issues on the MOSS environment made it possible for a clean upgrade without too much reworking, though some elements could not be avoided.&lt;br /&gt;
&lt;br /&gt;
* We achieved a highly customized and optimized Farm which may have been hard to accomplish with 3rd Party tools.&lt;br /&gt;
&lt;br /&gt;
* We ended up with a dozen or more custom utilities and PowerShell scripts that in a nutshell &quot;probe, adjust, review, update, report&quot; on various aspects of the Farm far beyond the pre-upgrade advisor. But these are reusable tools that can be utilized going forward to ensure a healthy SharePoint 2010 environment.&lt;br /&gt;
&lt;br /&gt;
In my opinion 3rd Party Tools would be handy for the scenarios such  as:&lt;br /&gt;
&lt;br /&gt;
* Company does not have an extensive IT Department and is unable to hire architects, consultants and business analysts for the migration.&lt;br /&gt;
&lt;br /&gt;
* Farm does not require a high level of customization and optimization.&lt;br /&gt;
&lt;br /&gt;
* Existing Farm is a standard out of the box MOSS environment.&lt;br /&gt;
&lt;br /&gt;
* Has a company policy that allows use of external tools as an accepted practice.&lt;br /&gt;
&lt;br /&gt;
* Don&#39;t care for the inner workings of the background processes, just want the job done.&lt;br /&gt;
&lt;br /&gt;
Under these circumstances, a 3rd Party Tool makes sense, but it won&#39;t be all magic. I&#39;m certain there will still be hurdles and fixing to be done.</content><link rel='replies' type='application/atom+xml' href='http://fabedeen.blogspot.com/feeds/2189624716268430437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabedeen.blogspot.com/2011/08/are-migration-tools-necessary-for-moss.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/2189624716268430437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/2189624716268430437'/><link rel='alternate' type='text/html' href='http://fabedeen.blogspot.com/2011/08/are-migration-tools-necessary-for-moss.html' title='Are Migration Tools Necessary for MOSS to SharePoint 2010 Migration?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6287833433294801239.post-807609186145632748</id><published>2011-02-17T15:13:00.000-06:00</published><updated>2011-02-17T15:13:42.821-06:00</updated><title type='text'>Moving from 2007 to 2010 this summer? - the major gotchas...</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;A few recommendations based on my experience of a few global SharePoint upgrade projects: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Timeline - Don&#39;t be in a huge hurry - it can take as long as a year or longer for a large migration (eg. 50K users, 50K+ sites). Break into 2-3 phases and provide plenty of time for testing. At the minimum you are going to need phases: planning, optimization, migration testing, and upgrade, with some overlap. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Customizations - not just unghosted pages but any SharePoint objects written to the content DB, will cause some grief. You may need to write custom code to detect and list any of these, besides of course the upgrade tool. Then decide on a course of resolution for each type. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Past History - How &quot;clean&quot; is your MOSS 2007 environment? This is the other &quot;gotcha&quot; - if there was no proper governance, rules enforcement by SC Admins, and users had too much access, you have a headache. You will need to resolve those errors that have been put off for oh so long. A well maintained SharePoint or event log on the other hand is a great positive. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Test Environment - Build robust Dev and QA Farms for real testing, involve your entire Staff and SCA&#39;s. In addition, you may, for a while, need to maintain two separate environments for development work - for example one for VS 2008/.net 2.0/MOSS 2007 and the other for VS 2010/.net 3.5/SP 2010. This needs to be planned as individual pieces are individually migrated and quality tested, ready for upgrade. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Separation of Areas - database migrations (content DB, user profile DB), development work (features, web parts, custom pages), site administration (security, permissions, network access, service applications), and branding (look and feel, site themes, site definitions, navigation) should ideally be done by separate teams or individuals with specialized skill sets in those areas. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is of course a short list, by no means a complete one. Good luck with your upgrade project! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fabedeen.blogspot.com/feeds/807609186145632748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabedeen.blogspot.com/2011/02/moving-from-2007-to-2010-this-summer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/807609186145632748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/807609186145632748'/><link rel='alternate' type='text/html' href='http://fabedeen.blogspot.com/2011/02/moving-from-2007-to-2010-this-summer.html' title='Moving from 2007 to 2010 this summer? - the major gotchas...'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6287833433294801239.post-4471324153319396560</id><published>2010-12-29T15:37:00.001-06:00</published><updated>2010-12-29T16:04:51.914-06:00</updated><title type='text'>Preparation for MOSS Upgrade to SharePoint 2010 - Part 1</title><content type='html'>In order to prepare for a major upgrade from MOSS 2007/WSS 3&amp;nbsp;to SharePoint 2010/SPF 4, one of the steps involved was to identify &quot;unghosted objects&quot; in the current Farm.&amp;nbsp; After some analysis, that list narrows down to the following types:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Masterpage and page layouts for Publishing Portals&lt;/li&gt;
&lt;li&gt;View Forms&lt;/li&gt;
&lt;li&gt;List Forms&lt;/li&gt;
&lt;li&gt;Root Level files&lt;/li&gt;
&lt;/ul&gt;The outer code to iterate through objects in the Farm will be something like that shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;try&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;//Get all Root Web Applications&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;SPWebApplication webApp = SPWebApplication.Lookup(new Uri(webappURL));&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;//Get all Sitecollections in farm&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;foreach (SPSite opsite in webApp.Sites)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;try&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;foreach (SPWeb web in opsite.AllWebs)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;try&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;GetUnghostedForms(webApp, opsite, web);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;GetUnghostedFilesfromLibraries (webApp, opsite, web);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;catch (Exception ex)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;errors += &quot;\n\nWEB ERRORS: &quot; + ex.ToString();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;continue;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;finally&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;if (web != null)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;web.Dispose();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;//Console.WriteLine(&quot;DEBUG: site&quot; + site.ToString());&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;catch (Exception ex)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;errors += &quot;\n\nSITE ERRORS: &quot; + ex.ToString();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;continue;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;finally&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;if (opsite != null)&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;opsite.Dispose();&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;catch (Exception ex)&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;errors += &quot;\n\nWEBAPP ERRORS: &quot; + ex.ToString();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: black;&quot;&gt;The methods shown above expand as follows:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;strong&gt;static void GetUnghostedFilesfromLibraries(SPWebApplication webApp, SPSite site, SPWeb web)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;string errors = string.Empty;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;string printout = string.Empty;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #ea9999;&quot;&gt;region Pages and masterpage Library&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;SPList masterList = web.Lists[&quot;Master Page Gallery&quot;];&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;SPQuery oQuery = new SPQuery();&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;oQuery.Query = string.Format(&quot;&lt;query&gt;&lt;where&gt;&lt;or&gt;&lt;contains&gt;&lt;fieldref name=&quot;FileLeafRef&quot;&gt;&lt;value type=&quot;File&quot;&gt;.aspx&lt;/value&gt;&lt;/contains&gt;&lt;contains&gt;&lt;fieldref name=&quot;FileLeafRef&quot;&gt;&lt;value type=&quot;File&quot;&gt;.master&lt;/value&gt;&lt;/contains&gt;&lt;/or&gt;&lt;/where&gt;&lt;/query&gt;&quot;);&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;SPListItemCollection colmasterListItems = masterList.GetItems(oQuery);&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;foreach (SPListItem currentItem in colmasterListItems)&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;SPFile file = web.GetFile(currentItem.File.Url);&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;if (file.CustomizedPageStatus == SPCustomizedPageStatus.Customized)&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;//add code to collect data...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;catch (Exception ex)&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;errors += &quot;\n\nPAGE ERRORS: &quot; + ex.ToString();&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;continue;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;catch (Exception ex)&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;errors += &quot;\n\nPAGE ERRORS: &quot; + ex.ToString();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #ea9999;&quot;&gt;#endregion&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style=&quot;color: blue;&quot;&gt;static void GetUnghostedForms( SPWebApplication webApp, SPSite site, SPWeb web)&lt;/span&gt;&amp;nbsp; &lt;/strong&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;string errors = string.Empty;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;string printout = string.Empty;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;try&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ea9999;&quot;&gt;#region Root Level Files&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;SPFileCollection filesList = web.Files;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;foreach (SPFile ifile in filesList)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;try&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;if (ifile.CustomizedPageStatus == SPCustomizedPageStatus.Customized)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;//code to collect data&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;catch (Exception ex)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;errors += &quot;\n\nPAGE ERRORS: &quot; + ex.ToString();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;continue;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ea9999;&quot;&gt;#endregion&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;foreach (SPList listForms in web.Lists)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;SPFormCollection collForms = listForms.Forms;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;SPViewCollection collViews = listForms.Views;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ea9999;&quot;&gt;#region List Forms&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;foreach (SPForm oForm in collForms)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;try&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;if (oForm.Url.EndsWith(&quot;.aspx&quot;))&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;SPFile file = null;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;file = web.GetFile(web.Url + &quot;/&quot; + oForm.Url);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;if (file.CustomizedPageStatus == SPCustomizedPageStatus.Customized)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;//code to collect data&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;catch (Exception ex)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;errors += &quot;\n\nFORM ERRORS: &quot; + ex.ToString();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;continue;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ea9999;&quot;&gt;#endregion&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ea9999;&quot;&gt;#region View Forms&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;foreach (SPView oView in collViews)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;//exclude hidden views&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;if (oView.Hidden == false)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;try&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;string url = oView.Url;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;if (oView.Url.EndsWith(&quot;.aspx&quot;))&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;SPFile file = null;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;file = web.GetFile(web.Url + &quot;/&quot; + oView.Url);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;if (file.CustomizedPageStatus == SPCustomizedPageStatus.Customized)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;//code to collect data&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;catch (Exception ex)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;errors += &quot;\n\nVIEW ERRORS: &quot; + ex.ToString();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;continue;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #ea9999;&quot;&gt;#endregion&lt;/span&gt;}&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;catch (Exception ex)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;errors += &quot;\n\nWEB ERRORS: &quot; + ex.ToString();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Unghosted SharePoint objects pose an unusual challenge to the upgrade process in the sense that any default or out of the box items may replace customized ones. The end users almost always are upset when the functionality is missing and may tend to start believing that the upgrade was done poorly and their &quot;work was lost&quot;. It will be upto the Department Managers to inform users that MOSS upgrades will require some fine tuning to maintain and restore full functionality. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So now that we have identified these customized or unghosted objects, what do we do next? This will determine on the organization structure. If you have thousands of Site Collections as we did, the responsibility will trickle down to the SCA&#39;s (Primary and Secondary Site Collection Admins). The organization will have to determine a global strategy. While code may be written to reset the definitions back to the default, in other cases, it may be necessary to recreate some of these pages once the upgrade is completed.</content><link rel='replies' type='application/atom+xml' href='http://fabedeen.blogspot.com/feeds/4471324153319396560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabedeen.blogspot.com/2010/12/preparation-for-moss-upgrade-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/4471324153319396560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/4471324153319396560'/><link rel='alternate' type='text/html' href='http://fabedeen.blogspot.com/2010/12/preparation-for-moss-upgrade-to.html' title='Preparation for MOSS Upgrade to SharePoint 2010 - Part 1'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6287833433294801239.post-3759486919870989708</id><published>2010-12-22T13:11:00.001-06:00</published><updated>2010-12-22T13:27:26.396-06:00</updated><title type='text'>The object has been updated by another user since it was last fetched&quot; when programmatically updating a child content type</title><content type='html'>We ran into the same issue and spent hours trying to resolve the error, and finally found a solution so I thought it would be helpful to someone else.&lt;br /&gt;
&lt;br /&gt;
The scenario is a little different and actually simpler that what&#39;s described above by Dj&lt;a href=&quot;http://social.msdn.microsoft.com/Forums/en/sharepointdevelopment/thread/cd62c403-d46b-419c-81d4-18745cb811a0&quot;&gt;amel Chagour&lt;/a&gt;. We are adding a SPFieldLink to an existing SPContentType, the document library content type. We require a special column to be added to all document libraries and children of document libaries. Earlier we had tried the standard code snippet as shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;SPFieldLink fieldlink = new SPFieldLink(field);&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;libContentType.FieldLinks.Add(fieldlink);&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;libContentType.Update(true, false);&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;thisweb.Update();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
- surrounded within using statements for SPweb and SPSite ofcourse. This was giving the error:&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Microsoft.SharePoint.SPException: &lt;strong&gt;The object has been updated by another user since it was last fetched. &lt;/strong&gt;at Microsoft.SharePoint.SPContentType.UpdateOnWeb(Boolean bPushdown, Boolean bThrowOnSealedOrReadOnly) at Microsoft.SharePoint.SPContentType.Update(Boolean updateChildren, Boolean throwOnSealedOrReadOnly) at EnterpriseTaxonomySharePointFeature.FeatureReceiver.FeatureActivated(SPFeatureReceiverProperties properties)&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
We changed the code to the following:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: blue;&quot;&gt;SPFieldLink fieldlink = new SPFieldLink(field);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: blue;&quot;&gt;libContentType.FieldLinks.Add(fieldlink);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;//update parent&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;libContentType.Update(false, false);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;thisweb.Update();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;UpdateChildren(osite, libContentType);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;private void UpdateChildren(SPSite site, SPContentType type)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{ &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;using (SPWeb web = site.RootWeb)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;//update children&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;Type.Update(true, false);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;web.Update();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This prevents the SPException error. Hope this helps anyone else looking for a soultion.</content><link rel='replies' type='application/atom+xml' href='http://fabedeen.blogspot.com/feeds/3759486919870989708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabedeen.blogspot.com/2010/12/object-has-been-updated-by-another-user.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/3759486919870989708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/3759486919870989708'/><link rel='alternate' type='text/html' href='http://fabedeen.blogspot.com/2010/12/object-has-been-updated-by-another-user.html' title='The object has been updated by another user since it was last fetched&quot; when programmatically updating a child content type'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6287833433294801239.post-1770348078929568115</id><published>2010-09-04T13:53:00.002-05:00</published><updated>2010-09-06T15:47:04.703-05:00</updated><title type='text'>SharePoint Online Services via BPOS</title><content type='html'>BP&#39;s Oil Spill Response included two key data collection systems.&amp;nbsp; One was called Vessels of Opportunity (VOO) and the other Vessel Demobilization System (VDS).&amp;nbsp; This post is about the innovative use of SharePoint Online Services for both these systems.&amp;nbsp; The business requirement was to create site collections for each of the branches of BP&#39;s response centers for access by Admins, Ship Owners, key Business Stakeholders, including the US Coast Guard and BP.&amp;nbsp; So what were the key requirements for these systems?&amp;nbsp; Here&#39;s a short list:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Fast development and deployment process&lt;/li&gt;
&lt;li&gt;Unified security and easy access from anywhere in the world&lt;/li&gt;
&lt;li&gt;Simple to implement with relatively low cost&lt;/li&gt;
&lt;li&gt;Inherently well oranized and structured pages with proper taxonomy&lt;/li&gt;
&lt;li&gt;Easy to extend across other departments, divisions or agencies&lt;/li&gt;
&lt;/ul&gt;Guess what technology meets these needs: SharePoint Online Services via the Business Productivity Suite or BPOS.&amp;nbsp; Using BPOS, the Site Admins were able to create Users as requested, and the SharePoint Developers (including myself) were able to respond to the business needs within hours of the request.&amp;nbsp; We created several &quot;department dashboards&quot; that allowed Users to see their department status in one area.&amp;nbsp; The Site Permissions took care of the security and access levels.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
So if these were the pros of this technology, you ask what the cons were?&amp;nbsp; The downside was that Developers had no access to the Servers, or in effect there was no straight forward ability to run stsadm commands.&amp;nbsp; Here&#39;s a summary of features NOT Available in Microsoft BPOS:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Anonymous users supported&lt;/li&gt;
&lt;li&gt;UI enhancements&lt;/li&gt;
&lt;li&gt;Server control&lt;/li&gt;
&lt;li&gt;Customization / Code Deployment&lt;/li&gt;
&lt;li&gt;3rd party web parts installation&lt;/li&gt;
&lt;li&gt;Unlimited user account creation with no additional fees&lt;/li&gt;
&lt;li&gt;Daily site backups &lt;/li&gt;
&lt;li&gt;Custom domain names supported&lt;/li&gt;
&lt;li&gt;Dedicated solution for any number of users&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;The other interesting aspect of this project was that there was a &#39;consultant circus&#39; with so many IT Consulting firms all involved with parts of the same project, from Infosys to Microsoft Consulting, to Neudesic, to ComSys, Deloitte and private contractors. However, it all worked out well on these projects at Houston, TX, Houma, LA and Mobile, AL.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;One of the&amp;nbsp;technical challenges came about when one of the business requirements for the VDS system was custom workflows, custom access levels and real time data charting.&amp;nbsp; That&#39;s where SharePoint Online Services began to appear as not fitting the bill.&amp;nbsp; So we migrated the technology to Windows Azure, writing a custom .NET application hosted in the Cloud.&amp;nbsp; It was a classic example of where .NET still rules, when customization and granular access outweigh simplicity, ease of use and fast deployment times.</content><link rel='replies' type='application/atom+xml' href='http://fabedeen.blogspot.com/feeds/1770348078929568115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabedeen.blogspot.com/2010/09/sharepoint-online-services-via-bpos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/1770348078929568115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6287833433294801239/posts/default/1770348078929568115'/><link rel='alternate' type='text/html' href='http://fabedeen.blogspot.com/2010/09/sharepoint-online-services-via-bpos.html' title='SharePoint Online Services via BPOS'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>