| Brad's profileSharePoint BlogPhotosBlogLists | Help |
|
August 24 w00t! A supported way of adding and removing themes from a Web Application!One thing that's always bothered me about theming SharePoint is that essentially you are modifying system files. While this is unsupported, it's the accepted practice – Heck, the theming Queen herself, Heather Solomon takes you step by step through doing it this way… until now :) Robin Meure from Zevenseas has come up with a new Central Admin app page that allows you to select a Web Application and essentially "Nominate" the themes you want to be made available to the site collections within the Web Application. You can also add New Themes without modifying the spthemes.xml file (that we all know and love) – From robin's blog post:
You can download the compiled code from here, and see the blog article with usage instructions here. Thanks Robin! August 17 Talking about SharePoint in Plain EnglishThis is a good video to show at the start of a training course on using SharePoint. This is a short video that explains in simple terms what SharePoint is, and why/how people use it. - Click here - SharePoint in Plain English August 13 Site dedicated to SharePoint and Reporting services integrationJust found this site which is dedicated to SharePoint and Reporting Services integration. A very useful resource in an area that has little available content - http://blogs.msdn.com/prash/default.aspx
Thanks Prash! Keep it up... August 07 Redirecting users to a File Share from within SharePointJust a quick note - you can use a dash of JavaScript and a splash of HTML to redirect users to a UNC path on a file share. We had an issue recently where a user wanted to load 400MB of reference material onto a SharePoint team site. Instead of allowing this travesty to go ahead, I compromised and wrote up the following htm file that did what they wanted without filling my Site's space... It was data that was also being indexed by SharePoint on the file share, so it made sense to keep it there.
<script type="text/javascript">
<!-- window.location = "file://<Server Name>/DATA$/IT/Planning & Design Phase/2. Workstreams"; //delay setTimeout("history.back()",2000);
//--> </script> Save it as a .htm file.
What this does is it opens a file manager window pointing to your UNC path, then after 2 seconds goes back in history on your browser (otherwise the users see a white page and don't know what to do...).
B August 05 "Error: Class not registered" when trying to start WSS SearchHad a puzzling error recently where I was trying to set up a new farm. Single WFE, Separate SQL Server, simple config. So I installed MOSS 2007, then SP 2 for WSS and MOSS. Everything went fine until I started to run through my configuration process – Every time I tried to start the WSS Search Service on the Windows 2003 R2 server I was installing onto, it would come up and say Error: Class Not Registered Like most of the alerts that appear in MOSS, this too was incredibly helpful and told me exactly what I needed. So… here's what I tried: Check the ULS logs – Nothing in there saying that "Driver nnnnn is not registered" or something that would have been useful, just garbage 0 Unassigned Initialize New Project: Search called - File:d:\office\source\search\search\gather\server\gatherobj.cxx Line:653 0 Unassigned Initialize New Project, Remove: Search - File:d:\office\source\search\search\gather\server\gatherobj.cxx Line:739 0 Monitorable CContentSourceCollection::Init in m_pScheduler.CoCreateInstance, Error is 0x80040154 - File:d:\office\source\search\search\gather\server\contentsource.cxx Line:1287 0 Monitorable <Exception><HR>0x80040154</HR><eip>00000000601BE7B0</eip><module>d:\office\source\search\search\gather\server\contentsource.cxx</module><line>1288</line></Exception> 0 Monitorable <Exception><HR>0x80040154</HR><eip>00000000601E29D3</eip><module>d:\office\source\search\search\gather\server\gatherobj.cxx</module><line>837</line></Exception> 0 Unassigned Leaving Initialize New Project: Search ; hr=0x80040154 - File:d:\office\source\search\search\gather\server\gatherobj.cxx Line:954 0 Monitorable <Exception><HR>0x80040154</HR><eip>0000000060107B50</eip><module>d:\office\source\search\search\gather\gthrsvc\cgatherprj.cxx</module><line>690</line></Exception> 0 Monitorable CGatherPrjCollection::AddRecoverOptional: Failed in :pProject->InitializeNew, Error is 0x80040154 - File:d:\office\source\search\search\gather\gthrsvc\cgatherprj.cxx Line:3712 8u6i High Application '544760de-b60e-4da7-aea3-b02d6881ae9b': Class not registered . Failed while configuring the gatherer application with an exception. Attempting to clean up... - System.Runtime.InteropServices.COMException (0x80040154): Class not registered at 0 Monitorable <Exception><HR>0x80070002</HR><eip>0000000000A9369B</eip><module>d:\office\source\search\ytrip\tripoli\query\isreg.cxx</module><line>825</line></Exception> 8wsw High Now terminating ULS (mssearch.exe, onetnative.dll) 8wsv High ULS Init Completed (mssearch.exe, onetnative.dll) 8dw7 High The call to SPSearchServiceInstance.Provision (server 'AUMLC52DIA46') failed. Setting back to previous status 'Disabled'. System.Runtime.InteropServices.COMException (0x80040154): Class not registered at Microsoft.SharePoint.Search.Administration.MSSITLB 8dw7 High ...PSearchServiceInstance.Synchronize(Boolean installGathererApplication) at Microsoft.SharePoint.Search.Administration.SPSearchServiceInstance.Provision() at Microsoft.SharePoint.Search.Internal.UI.SPSearchServiceInstanceSettings.BtnSubmit_Click(Objec 8xqz Medium Updating SPPersistedObject SPSearchServiceInstance Parent=SPServer Name=AUMLC52DIA46. Version: 3105 Ensure: 0, HashCode: 66070359, Id: 53538cac-1888-446d-88ce-38a2106549e1, Stack: at Microsoft.SharePoint.Administration.SPPersistedObject.Update() at Micr 8xqz Medium ...ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() 8xqz Medium ...t context, AsyncCallback cb, Object extraData) at System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) at System.Web.HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr) at System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr 8inc Medium In SSOService::Synch(), sso database conn string:8u3j High Registry key value {SearchThrottled} was not found under registry hive {Software\Microsoft\Office Server\12.0}. Assuming search sku is not throttled. 0 Medium Entering MRU trim routine. 0 Medium Initial table size: 27232355 in 136 entries0 Medium Final table size: 27232355 in 136 entries0 Medium Exiting MRU trim routine. So, maybe the installation didn't go well? I decided to discount that as an option after the third attempt with no change. Maybe it was because I was setting the Search Index to be on D drive prior to enabling search (and MS had hard-coded the default search index path in there as part of the deployment script)? Tried fixing that too, nothing changed. Maybe I'd found a new bug in SP2 (I was applying SP2 before configuring the farm)? It turned out that I was not correct there either. Google had lots of hits, most of which related to MS CMS or .NET Framework development. Then I thought… What if this search service account does not have enough disk access rights based on local privileges? Sure enough, as soon as I added the account to the local Admin group it all went fine. So I tried to refine my search on Google and came up with this little beauty - http://social.technet.microsoft.com/Forums/en-US/sharepointadmin/thread/0cca4e8b-eac0-4c27-9bc2-0e574c8094ad – the response from Microsoft was: Give the Search account more rights. Not what to, or why, or what level of rights… just "More". Sweet! Now I know what it is, I can use this information about the mandatory security required to narrow down the issue – MOSS http://technet.microsoft.com/en-us/library/cc721637.aspx – WSS 3 http://technet.microsoft.com/en-us/library/cc721631.aspx. What's that Roger? Oh, it's a development environment? Well, at least I've got a starting point the next time this issue comes up :) B |
|
|