| Brijesh's profileBrijesh's spacePhotosBlogLists | Help |
|
|
June 07 Other caveats of using MS Office 2003 with Microsoft SharePoint 2007 productsI have already discussed caveats of using MS Office 2003 with Microsoft Office SharePoint 2007 products in my last post. Before I talk about the other caveats, I would strongly recommend you to go through following white paper,
Issues:
1. Unable to check out document from SharePoint document library for editing it in MS Office 2003.
Error - "Edit Document' requires a Windows SharePoint Services-compatible application and Microsoft Internet Explorer 6.0 or greater."
2. Internet Explorer crashes (stops responding) when you try to open an Office document in a SharePoint document library.
Here is how you fix these issues,
There is no need to remove any Office 2007 applications from your computer.
Step 1: Repair Office 2003: 1. Go to Start => Control Panel
2. Double Click on "Add/Remove Programs" 3. After this list populates, locate and click "Microsoft Office 2003 Professional Edition" or any other version of Microsoft Office 2003. 4. Click on the "Change" button 5. On the window that appears, click on the button "Reinstall or Repair" and select "Next" 6. Click on the radio button "Detect and Repair errors in my Office installation" then click "Install" 7. A message will appear once the repair is complete. Step 2: Click this link to a hotfix file from Microsoft and select "Run" to install this hotfix: http://download.microsoft.com/download/f/5/1/f511cec6-d8c5-444e-bd76-5161b2a16c9f/office-kb938888-fullfile-x86-glb.exe Information about this hotfix can be found here: http://support.microsoft.com/default.aspx/kb/938888 Additionally, you may refer to following KB article if above steps do not resolve your issue,
Note: Above issues may occur with MS Office 2007 applications (Word, Excel, PowerPoint etc.) too. You need not to uninstall any MS Office 2007 applications in order to resolve them.
We do not have MS Office 2007 available yet so all above issues were reported while using MS Office 2003 with Microsoft Office SharePoint Server 2007. June 06 Content types in Microsoft Office SharePoint Server 2007 and MS Office 2003Let’s talk about custom content type in Microsoft Office SharePoint Server 2007 and how it works with MS office 2003. To help visualizing this, I have taken screen captures for every little step.
1. Create a custom content type for your test site. I am going to use “SCTest” top level site (site collection) for the demo. Go to Site Actions => Site Settings and click on “Site Content Types” link under Galleries category.
2. Click “Create” link on the top left corner of Site Content Type Gallery.
3. Create a new site content type as shown below. I have chosen Document content type for simplicity. You can add this content type to “Custom Content Types” by selecting it for Group category but I have created a new group called “Test Group” to add this new content type. Please note that I have named new custom content type as “Project Release Documents”
4. You will see following screen on adding a new custom content type. Click “Add from existing site columns” link under “Columns” category.
5. Add appropriate columns for this new content type. I have chosen few as shown below.
6. This is how a new custom content type looks like after adding few existing site columns.
7. I am creating a new document library for “Test Site Collection” (SCTest) to use this custom content type.
8. As usual, I have used shortest possible name for my document library to keep URL for this document library as short as possible. You can always change the “Name” field later on by going to Title, description and navigation under General Settings of document library settings.
9. Go to Settings => Document Library Settings.
10. This is an additional step. I have modified the document library name from TCTL (to keep URL short) to Test Content Type Library as by going to Title, description and navigation under General Settings
11. Click “Advanced Settings” link under General Settings category.
12. Select “Yes” for “Allow management of content types?” and click “OK”.
13. Select “Add from existing site content types” link under Content Types.
14. Select a new custom content type – “Project Release Documents” which you have created in previous steps as shown below.
15. This is an additional step – I am changing order for content types and making “Project Release Documents” as default content type. Select “Change new button order and default content type” link under Content Types.
16. Change the order and select number “1” for “Project Release Document” content type to make it default content type for this document library.
17. So finally content types and columns for your document library will look something like this. Please adjust your column order by clicking on default view – “All Documents”.
18. Now, something very interesting…how content types work with MS Office 2003. Well, keep reading…
As you can see from the screen capture, “Project Release Documents” is the default content type for your document library. Click New menu and select “Project Release Documents” to add a new document (content) to your document library.
19. You will see following message on your screen, if you have MS Office 2003 installed on your machine. Click “OK”
20. It will allow you to use MS Office 2003 (Word 2003) to create a new document. As you have already noticed MS Office 2003 will not allow you add/edit metadata in Word application itself. Add some text to this document and click “Save” icon.
21. Now, you can add those metadata properties for your document however I have noticed that couple of document properties is still missing…I don’t know why. I need to check it out later but anyways it will allow you to add metadata properties for your document using MS Office 2003 and that is what is more important.
23. Adding those missing metadata properties, which I could not see in MS Office 2003 for some reasons.
Now, here is the scenario for those unlucky people who can not work with content types using MS Office 2003.
Note: This site belongs to different SharePoint test environment than the previous one.
1. I have created ProjDocs document library and it has “Test Content Type” as default content type.
2. Attempt to create a new document in ProjDocs document library. Same message will pop up, which is shown is previous screen capture before opening MS Office 2003 (Word 2003) for creating a new document.
3. Unfortunately when you try to save this document, it will give you following error message. When you (keep) clicking on either “Yes” or “No” button, it will finally add this new document to ProjDocs but all metadata properties will be missing and you can not add metadata properties even by editing properties in SharePoint.
4. Document “Test2” was added.
5. Trying to edit metadata properties by right clicking “Test2” document in ProjDocs document library and selecting “Edit Properties” link.
6. Unfortunately it does NOT allow adding those missing metadata properties.
7. Here is the work around. If you want to create a new document, simply upload a new document and it will allow you to add those metadata properties but if you want to edit metadata properties of existing document unfortunately you have to download that document to your local computer first and then upload it back to edit/update its metadata properties. Here is the screen capture for uploading a new document to ProjDocs document library.
8. Enter metadata properties for this document and you are done!
9. Here is how ProjDocs document library looks like after uploading those two documents.
Note: Error: 'length' is null or not an object is environment specific. It happened in our environment after we installed one of the hot fixes (http://support.microsoft.com/kb/935958) for resolving the other issue.
Here is the hot fix for those who are unable to work with content types using MS Office 2003.
http://support.microsoft.com/default.aspx?scid=kb;EN-US;950292 This hot fix also resolves issues to work with multiple content types using MS Office 2003. Note: I have taken screen captures from two separate SharePoint environments. Step 1-24 are from the enviornment, that does NOT have http://support.microsoft.com/kb/935958 hot fix applied and we can work with content types using MS Office 2003 without any issues. Step 1-9 are from the environment, that has http://support.microsoft.com/kb/935958 hot fix applied and for some reasons we are unable to work with content types using MS Office 2003 after applying that hot fix. We have to apply http://support.microsoft.com/default.aspx?scid=kb;EN-US;950292 hot fix to resolve errors explained in these steps but we will have MS Office 2007 available very soon so we have NOT applied it yet. June 05 How to make "All Sites" scope available to a top level site created using "Team Site" template?One of my friends had an issue in making “All Sites” scope available to a top level site (site collection) created using “Team Site” template. So I thought of writing this blog. This post assumes that you have Microsoft Office SharePoint Server 2007 implemented in your environment.
First of all, why “All Sites” scope is not available, when you create a top level site or site collection using “Team Site” template? Because team site template is designed for WSS site and WSS does not have enterprise search feature available by default. In other words you can search only within that site itself and cross site search will not be available. Cross site search or Enterprise search feature is available only for Portal Site templates. If you will create top level site using templates under “Publishing” category, you will have “All Sites” scope available.
So here is how you can make “All Sites” scope available to a top level site, which is created using “Team Site” template. For simplicity, I have taken screen capture for everything right from creating a new site collection (top level site) using “Team Site” template to making “All Sites” scope available to it.
1. Create a new site collection using “Team Site” template. We have created a new site collection called “SCTest”.
Note: If you have 50 site collections and all those site collections are created using “Team Site” template then I would suggest you to create 50 “Search Center” sites – one for each and with the same name (for naming conventions), if you want “All Sites” scope available to all those top level sites.
5. Now, you need to change search settings for SCTest site collection. So go to Site Actions=> Site Settings and click “Search Settings” link under Site Collection Administration.
9. You may also need to activate “Office SharePoint Server Publishing” feature by going to “Site Actions=>Site Settings” and clicking “Site Features” link under Site Administration category.
That’s it! You are all set. You can start using “All Sites” scope for cross site search capabilities. May 23 Unable to activate Office SharePoint Server Publishing Infrastructure from site collection featuresIssue: Unable to activate "Office SharePoint Server Publishing Infrastructure" from site collection features. We had "Office SharePoint Server Publishing Infrastructure" activated since beginning but for some reasons it was deactivated and when I tried to activate it, I received "Access denied" error. Note: We have followed Microsoft Guidelines for setting up administrative and service accounts. Solution: 1. Open IIS Admin. 2. Locate the Web Site for your MOSS web application. 3. Go to the properties and select "Home Directory" tab. 4. Make a note of Application Pool used for this web site. 5. Expand Application Pools in IIS. 6. Go to the properties of Application Pool, which you have noted in step 4 and select "Identity" tab. 7. Make a note of the account used under "Configurable". 8. Change the Application Pool identity to SharePoint Service Account - This is the same account, which you have used for installation of MOSS 2007. 9. IISRESET 10. Activate "Office SharePoint Server Publishing Infrastructure" from site collection features. 11. Change the Applciation Pool identity back to the original (same account which you have noted in step 7). 12. IISRESET. May 22 Permission issues in SharePoint 2007Issue: Unable to access Spell Checker in Rich Text Editor of Content Editor web part. Your sub site has custom permissions (NOT inherited from parent site) and you have "Full Control" access to your sub site but you are unable to use Spell Checker in Rich Text Editor of Content Editor web part. Solution: Create a custom permission level and name it "Reader Plus" (or any other appropriate name) by copying "Reader" permissions and adding "Browse Directories" permission at top level site. Allow "Reader Plus" access to the account at top level site, which has this issue. Issue: Unable to access "Information management policy settings" from Document Library settings or List settings. You have "Read" permissions at top level site and "Full Control" permissions to your sub site but you are unable to access "Information management policy settings" from Document Library settings or List settings. Solution: Same As Above Note: These permission issues seem to be addressed in Service Pack 1 for SharePoint 2007 however I haven't got a chance to install Service Pack 1 in our SharePoint environment yet. May 20 Crawl doesn't work and Query server is not responding; Search works only for old (crawled) contentsWe had this search issue in January' 2008 and here is the description,
We have following three servers with MOSS 2007 STD deployed in SharePoint server farm,
App01- Query Server
App02 - Index Server (We are using this server as dedicated web front end computer for crawling)
SPDBServer - SQL 2005
Search was working fine till 01/05/2008 and it stopped working after this date only for new contents meaning search is still working fine for the old contents which were added before 01/05/2008 but not for new contents added after 01/05/2008.
We have been working to find out reasons why did that happen? We have found following event ids on Query server,
Event ID:10042 - A new query machine, 'App01', has been added to the query rotation based on changes to farm topology.
Event ID:27745 - The following information is part of the event: #50071: Unable to connect to the database SharePoint_Config on SPDBServer. Check the database connection information and make sure that the database server is running..
Event ID: 7888 - A runtime exception was detected. Details follow.
Message: A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 0 - Not enough memory is available to complete this request)
We had some database backup client issue on database server but after fixing that issue and rebooting all the three SharePoint servers, we noticed that crawl was not responding. Last incremental crawl, started on 01/05/2008 did not stop even on Monday (01/07/2008).
We have incremental crawl scheduled at every 6 hrs. everyday and full crawl scheduled on every saturday.
After coming back to work on Monday 01/07/2008, we tried search and noticed that it was working only for existing contents(added before 01/05/2008) and not for all the new contents, which were added after 01/05/2008.
When we check Search settings, it says "Query server not responding" and we are unable to stop/pause the incremental crawl, which was started on 01/05/2008. Only way to stop that crawl is to stop Office SharePoint Server Search service from services.msc on both App01 and App02 server.When we stop the crawl this way and start it again, it goes on and on and never stops. We have tried to start both full and incremental crawl this way but that didn't help.
Only resolution to this issue, I have found is to readd App01 - Query server to the farm from SharePoint Central Administration however I am still wondering, if that will fix our "Query Server not responding" error. As per our research, it seems few other people also have noticed this issue for some unknown reasons and if SharePoint doesn't have any operational errors, we can safely ignore them. Microsoft is aware of this isse and they are expecting to get this resolved in SharePoint 2007 Service Pack 1.
I was also thinking of resetting all crawled contents and rebuilding the content index. I was affraid, if resetting the crawled contents will not regenerate/rebuild the new content index. If crawl will not work after resetting the crawled contents then SharePoint search will be completely down and it will stop working even for old contents.
Has anybody tried this KB?
Can we move content index(search catalogs) from shared location to some other location on Query server and then try resetting crawled contents? Can we move content index back to its original location if resetting crawled contents will not generate a new content index or it will not propagate it to Query server?
If above KB article gives us the flexibility of reusing content index in case of resetting crawled contents fails to build a new content index or propagating it to Query server, we would like to try it first before we can try readding Query server to the SharePoint server farm (Stop and then restart Office SharePoint Server Search service for Query server from SharePoint Central Admin)
Does anybody know an appropriate solution to fix this issue? Search works only for old (Crawled) contents and not for new contents, Crawl never stops (hangs) and there is "Query server not reponding" message on search settings so basically it is not propagating the content index.
Solution:
Here is how we fixed this issue in our environment. This issue might be specific to our environment and this resolution may not work for similar issue in the other environment.
- We noticed few memory leaks in SQL Server 2005. We(our Windows Server team with SQL Administrator) fixed those issues first however fixing memory leaks in SQL didn't help us to fix search issues in SharePoint and we still had "Query Server not responding" error in SharePoint and Search was not working.
- We created a new location for content index propagation on Frontend Server, which is also a Query Server.
Note: Do not move existing crawled contents from old propagation location to a new location manually. In fact, SharePoint does it automatically once you create a new location for content index propagation with the following command. It is strongly recommended that you start a "Full Crawl" after this to rebuild content index for updated contents.
- Ran following command to propagate search index to the new location,
stsadm.exe –o osearch –propagationlocation index file path
Please allow some time to move existing content index from previous location to a new location. You may see few known events in event viewer while SharePoint is moving content index to a new location however you can safely ingnore them. Please check status on Search Administration (SSP => Search Settings) page and for Query Server response. You can start a Full Crawl after few minutes once you see Query Server starts responding in Search Settings.
This has fixed our SharePoint search issue and it works fine now.
- Hope this will help others to resolve similar issue. Please make sure you do not have any SQL Server issues before you troubleshoot it in SharePoint. References:
http://support.microsoft.com/?kbid=925609
http://blogs.msdn.com/pdesai/archive/2007/09/27/moss-2007-search-scope-error-query-index-server-event-log-error-how-to-fix-it.aspx Technet Post on this issue: May 08 Incoming e-mail feature in SharePoint 2007I am pretty excited about enabling incoming e-mail feature in our SharePoint production environment in this week ends finally. We have really tested it thoroughly in our SharePoint stage environment before enabling it in production envionment. In fact, we follow this process all the time to be on safe side :-)
Alright, so we will talk about incoming e-mail feature and e-mail enabled lists and libraries in SharePoint 2007 today. Before I start, let me tell you that we do NOT have MS Exchange server setup in our organization for e-mail routing but we have unix based mail routing system called - Majordomo. So it may differ from configuring incoming e-mail feature in MOSS 2007 with Microsoft recommended mail routing system- MS Exchange. As you all know we can enable incoming e-mail in MOSS 2007 by going to Central Administration > Operations > Incoming E-Mail Settings. Here is how we have configured it, 1. Enable sites on this server to receive e-mail? Yes 2. Settings mode: Automatic 3. Use the SharePoint Directory Management Service to create distribution groups and contacts? Yes Note: This setting is required ONLY if you want contacts to be created in your organization's user directory allowing people to find e-mail enabled SharePoint lists in their address book. This service also provides support for the creation and management of e-mail distribution groups from SharePoint sites. If you don't want contacts to be created in your organization's user directory you can choose "No". Incoming e-mail feature will work regardless of what you select for this option. If you have selected "Yes", you need to provide additional information. If you are not sure of this information, please contact the person who manages Active Directory and domain services for your organization. For example, we have 4. Active Directory container where new distribution groups and contacts will be created: OU=SPOU, OU=Organization, OU=ControlledObjects, DC=hq, DC=MyDomainName, DC=com Note: I have changed few settings to keep the privacy. 5. SMTP mail server for incoming mail: MOSSServer1.hq.MyDomainName.com 6. Accept messages from authenticated users only? Yes (We have enabled incoming e-mail feature for intranet use only however we don't want any spam e-mails in our system when we enable it for external accounts so it is always safe to select "Yes" option here. 7. Allow creation of distribution groups from SharePoint sites? Yes 8. Distribution group request approval settings: Create new distribution group and Delete distribution group are selected. 9. E-mail server display address: sharepoint.hq.MyDomainName.com Note: This option is little tricky to provide a custom address here. Please note that the SMTP server name for incoming mail is "MOSSServer1" however we want contacts for e-mail enabled lists and libraries with suffix "@sharepoint.hq.MyDomainName.com". We can do this by adding another domain alias in IIS for SMTP Virtual Server. Here are the steps to add the domain alias for SMTP Virtual Server, (i) Open IIS, where you have SMTP Virtual Server installed. (ii) Expand Default SMTP Virtual Server. (iii) Right click on Domains and select New => Domain. (iv) Select Alias. (v) Provide Name (Another Alias of this SMTP Virtual Server e.g. we have used sharepoint.hq.MyDomainName.com and click Finish button. Note: MS Exchange or your mail distribution system (Majordomo in our case) must be configured to route all emails that suffix with @sharepoint.hq.MyDomainName.com to C:\Inetpub\mailroot\Drop folder of SMTP Virtual Server installed on MOSSServer1. May 07 How to install Office 2003 web parts in MOSS 2007?Back in September 2007, we upgraded SharePoint Portal Server 2003(SPS 2003) to Microsoft Office SharePoint Server 2007 (MOSS 2007). For some unknown reasons, after finalizing upgrade to MOSS 2007, We have MOSS 2007 environment depending on configuration database of SPS 2003. We are unable to create a new site collection/site if we detach old SPS 2003 configuration database. So if you upgrade SPS 2003 to MOSS 2007 or if you reconfigure existing MOSS 2007 environment and if you want to reinstall Office 2003 web parts (to use it with MS Office 2003, I know nobody would personally prefer it over MS Office 2007 but if your company is still using MS Office 2003 with MOSS 2007), you can download and install Office 2003 Add-in from above link, which will allow you to use Office 2003 web parts in MOSS 2007. April 17 Custom code to get the list of site collection administrators for all the site collections in SharePoint server farmAlright
we have changed our idea of giving "Administrator" level access to all
the site collections to the outsourced team. Instead we decided to
deliver them an Excel document with the URL and site collection
administrators for each site collection. In fact, all the outsourced
team members have access to their own team site. So we are going to
upload this Excel document to their team site. As usual, I wrote C# console application to achieve this. Note: 1. This code assumes that you have all the site collections created under "sites/" 2. This is a console application so you have to use it the way you use stsadm command. 3. This code will output a text file with comma separated values when you run it as follows, SCAdmin.exe -url http://sharepoint.domain.com > SCAdmins.txt 4. Finally you can import SCAdmin.txt file to an Excel document with ","(comma) selected as separator for creating a new column. 5. SCAdmin.txt file should look like this, http://sharepoint.domain.com/sites/SC1, domain\spadmin; http://sharepoint.domain.com/sites/SC1, domain\spadmin; domain\user2; domain\user3 http://sharepoint.domain.com/sites/SC1, domain\user4; domain\user5; http://sharepoint.domain.com/sites/SC1, domain\spadmin; domain\user6 http://sharepoint.domain.com/sites/SC1, domain\user7; ............................... ................... ........ 6. When you import SCAdmin.txt to an Excel document by selecting "," (comma) as the separator, it will place URL in first column and site collection administrators in second column. Disclaimer: Please test this code in test environment before you use it. I will not be responsible the outcome of this code. Here is the code, using System; using System.Collections; using System.Collections.Generic; using System.Text; using Microsoft.SharePoint; using Microsoft.SharePoint.Administration; using Microsoft.SharePoint.StsAdmin; namespace SCAdmins { class SCAdminsClass { static void Main(string[] args) { SCAdminsClass sc = new SCAdminsClass(); sc.getSiteCollectionAdministrators(args); } private void getSiteCollectionAdministrators(string[] args) { try { string mode = ""; string virtualserver = ""; // get command line arguments if ((args.Length == 0) || (args.Length == 1 && (args[0] == "-?" || args[0] == "-help"))) { displayOutput("", mode); displayOutput("SCAdmin.exe -url VirtualServerURL [-quiet]", mode); displayOutput("", mode); displayOutput(" -url VirtualServerURL: Full URL of virtual server starting with http://", mode); return; } // loop through command line arguments for (int i = 0; i < args.Length; i++) { if (args[i] == "-url") { virtualserver = args[i + 1]; i++; // make sure url parameter starts with http: if (!virtualserver.StartsWith("http:")) { throw new ArgumentOutOfRangeException("url parameter should start with http://"); } } else if (args[i] == "-quiet") { mode = "quiet"; continue; } else { displayOutput(String.Format("Unrecognized switch {0}", args[i]), mode); return; } } // connect to web application on virtualserver SPWebApplication webApp = SPWebApplication.Lookup(new Uri(virtualserver)); // create site collections object for web application SPSiteCollection siteCollections = webApp.Sites; string SCUrl = ""; int SCCount = 0; SPSite site = null; SPWeb web = null; string admins = ""; // loop through site collections foreach (SPSite siteCollection in siteCollections) { site = new SPSite(siteCollection.Url); web = site.OpenWeb(); SCUrl = siteCollection.Url; if (SCUrl.Contains("sites")) { SCCount++; SPUserCollection users = web.Users; foreach (SPUser user in users) { if (user.IsSiteAdmin) { admins = admins+user.LoginName+"; "; } } Console.WriteLine(SCUrl + ", " + admins); } admins = ""; } //Console.WriteLine("Total Site Collection: " + SCCount); } catch (Exception e) { Console.WriteLine(e.Message); } } private void displayOutput(string text, string mode) { if (mode != "quiet") { Console.WriteLine(text); } } } } Please send me an email if you need a zip file for this C# project. Enjoy! April 16 How to add another site collection administrator to all the site collections in SharePoint server farm?First of all, let me make this clear that I am not a good SharePoint Developer but I have tried my best to achieve this programmatically. namespace AddSCAdmin private void addSiteCollectionAdmin(string[] args) // get command line arguments // loop through command line arguments // connect to web application on virtualserver string SCUrl = ""; private void displayOutput(string text, string mode) April 15 April 2008How to calculate age of list items in SharePoint: Here are the steps to calculate age of the list items in SharePoint, 1. Go to the list where you want to calculate age of the items e.g. Task List 2. Click Settings => List Settings and create a new column and name it e.g. "Today", There is no need to select any specific type for this column (Just type the name of the column and click "OK" at the bottom) 3. Create one more column and name it e.g. "Age in Days". Select "Calculated(calculation based on other columns)" type and provide formula using "Today" column which you created in step 2 e.g. I have entered =[Today]-[Created]. Select "number" for the data type and 0(zero) in "Number of Decimal places". So basically it will calculate difference between today's date and date the item was created. 4. After 3rd step, remove "Today" column, which you have created in step 2. When you remove Today column, SharePoint automatically refers "Today" (which has been deleted now) as the today's date in the formula calculation. 5. Go back to Task List and it should display the number of days under the "Age in Days" column of each items in Task List. |
|
|