07 April, 2009

Error Scheduling Crawls: Access is Denied (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

When you set up your SSPs one of the things you will come across is Crawl Scheduling. This comes under Search Settings and allows you to configure Incremental Crawls and Full Crawls to the frequency you would like. For example, Full crawl once a day, Incremental Crawl every 5 minutes of each day.

When we tried to set the schdule incremental crawl, we faced this error message. When we filled out all the information and tried to click on Ok.

When I hit Ok I received the error:
ACCESS is DENIED. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Resolution:-
To fix this you need to add the account WSS_WPG to the C:\Windows\Tasks folder on your Index server and apply modify rights.

If you cannot see the Security tab on the Tasks folder you need to open a command prompt and type is:
attrib -s %windir%\tasks

When you right click on the tasks folder having done this you should be able to see the Sharing & Security option.

To remove the option once you have applied the changes to the folder open command prompt again and type:
attrib +s %windir%\tasks

I hope the above steps helps you to resolve this issue. All the Best!

.swf Files Won't Play in IE7

Few days before, when i tried to put shockwave pages (.SWF files) in pageviewer webparts, it did not work. After doing some research and troubleshooting, i compare my two systems: one was using IE 6.0 and other was using IE 7.0

The .SWF files are working fine in the machine where IE 6.0 is present but the problem is with the IE 7.0. I understand this arises from a security "feature" in IE7 that blocks "Cross-Domain" shockwave objects.

I found there's a registry hack that disables this "feature."

Solution for this as mentioned below:-
Create a key named HKLM\Software\Microsoft\Internet Explorer\Main\Feature Control\FEATURE_BLOCK_LMZ_SCRIPT and add a REG_DWORD value to the key of 0 which should show up as 0x000000 (0)

Now my page views with .swfs in them work just fine.

Cheers!!!

Happy SharePoint to all of you…

Post Mortem of SharePoint Content Database + common queries that we can run against the content databases

Conttent Database plays a very important role in SharePoint.There are some cases when we need to look into and read from the content databases.

NOTE: Never update any SharePoint database directly. Always use the SharePoint API (Object Model) for any updates.

Before beginning the postmortem of sharepoint content database, lets focused on basic sharepoint tables as how excately they function.
Features:Table that holds information about all the activated features for each site collection or site.
Sites:Table that holds information about all the site collections for this content database.
Webs:Table that holds information about all the specific sites (webs) in each site collection.
UserInfo:Table that holds information about all the users for each site collection.
Groups:Table that holds information about all the SharePoint groups in each site collection.
Roles:Table that holds information about all the SharePoint roles (permission levels) for each site.
AllLists:Table that holds information about lists for each site.
GroupMembership:Table that holds information about all the SharePoint group members.
AllUserData:Table that holds information about all the list items for each list.
AllDocs:Table that holds information about all the documents (and all list items) for each document library and list.

Here are some common queries that we can run against the content databases.
--Query to get all the top level site collections
SELECT SiteId AS SiteGuid, Id AS WebGuid, FullUrl AS Url, Title, Author, TimeCreatedFROM dbo.WebsWHERE (ParentWebId IS NULL)

--Query to get all the SharePoint groups in a site collection
SELECT dbo.Webs.SiteId, dbo.Webs.Id, dbo.Webs.FullUrl, dbo.Webs.Title, dbo.Groups.ID AS Expr1, dbo.Groups.Title AS Expr2, dbo.Groups.DescriptionFROM dbo.Groups INNER JOINdbo.Webs ON dbo.Groups.SiteId = dbo.Webs.SiteId

--Query to get all the users in a site collection
SELECT dbo.Webs.SiteId, dbo.Webs.Id, dbo.Webs.FullUrl, dbo.Webs.Title, dbo.UserInfo.tp_ID, dbo.UserInfo.tp_DomainGroup, dbo.UserInfo.tp_SiteAdmin, dbo.UserInfo.tp_Title, dbo.UserInfo.tp_EmailFROM dbo.UserInfo INNER JOINdbo.Webs ON dbo.UserInfo.tp_SiteID = dbo.Webs.SiteId

--Query to get all the members of the SharePoint Groups
SELECT dbo.Groups.ID, dbo.Groups.Title, dbo.UserInfo.tp_Title, dbo.UserInfo.tp_LoginFROM dbo.GroupMembership INNER JOINdbo.Groups ON dbo.GroupMembership.SiteId = dbo.Groups.SiteId INNER JOINdbo.UserInfo ON dbo.GroupMembership.MemberId = dbo.UserInfo.tp_ID

--Query to get all the sites where a specific feature is activated
SELECT dbo.Webs.Id AS WebGuid, dbo.Webs.Title AS WebTitle, dbo.Webs.FullUrl AS WebUrl, dbo.Features.FeatureId, dbo.Features.TimeActivatedFROM dbo.Features INNER JOINdbo.Webs ON dbo.Features.SiteId = dbo.Webs.SiteId AND dbo.Features.WebId = dbo.Webs.IdWHERE (dbo.Features.FeatureId = '00BFEA71-D1CE-42de-9C63-A44004CE0104')

-- Query to get all the users assigned to roles
SELECT dbo.Webs.Id, dbo.Webs.Title, dbo.Webs.FullUrl, dbo.Roles.RoleId, dbo.Roles.Title AS RoleTitle, dbo.UserInfo.tp_Title, dbo.UserInfo.tp_LoginFROM dbo.RoleAssignment INNER JOINdbo.Roles ON dbo.RoleAssignment.SiteId = dbo.Roles.SiteId AND dbo.RoleAssignment.RoleId = dbo.Roles.RoleId INNER JOINdbo.Webs ON dbo.Roles.SiteId = dbo.Webs.SiteId AND dbo.Roles.WebId = dbo.Webs.Id INNER JOINdbo.UserInfo ON dbo.RoleAssignment.PrincipalId = dbo.UserInfo.tp_ID

--Query to get all the SharePoint groups assigned to roles
SELECT dbo.Webs.Id, dbo.Webs.Title, dbo.Webs.FullUrl, dbo.Roles.RoleId, dbo.Roles.Title AS RoleTitle, dbo.Groups.Title AS GroupNameFROM dbo.RoleAssignment INNER JOINdbo.Roles ON dbo.RoleAssignment.SiteId = dbo.Roles.SiteId AND dbo.RoleAssignment.RoleId = dbo.Roles.RoleId INNER JOINdbo.Webs ON dbo.Roles.SiteId = dbo.Webs.SiteId AND dbo.Roles.WebId = dbo.Webs.Id INNER JOINdbo.Groups ON dbo.RoleAssignment.SiteId = dbo.Groups.SiteId AND dbo.RoleAssignment.PrincipalId = dbo.Groups.ID

These are just some of the common queries that I have used against the content database.

Enjoy!!!

06 April, 2009

Office Server Search Service cannot be started because it does not exist.(Object reference not set to an instance of an object)


Office Server Search Service cannot be started because it does not exist.
Few Days before, I tried to setup my lab and after the installation, i tried to start the search service but mystery is here, when i checked CA-operations-services on server-OSEARCH is not there. I have the right key , the right CD and the latest fixes.I installed it and it is simply not there.
As you can probably guess, there’s nothing wrong with your PC or Cd or key, you simply did not installed the server in the correct way to receive all the services.

Please check:-
regedit and check the value under the following key :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\WSS\
ServerRole
Possible options:
WFE
APPLICATION
SINGLESERVER

Each option means :
WFE - Windows SharePoint Services Web Application (no search , no excel, no ssp, just web server)
APPLICATION –Everything (and you can add the server to a farm)
SINGLESERVER –Everything (but you cannot add the server to a farm , and most probably you have MSDE or SQL Server Express on the box too)

To change the installation mode for the server (even if you managed to create webapplications and set-up your sharepoint config db), here’s the procedure:
-Detach the server from the farm
-Uninstall Sharepoint
-Reboot the server
-Re-install Sharepoint in Advanced mode and select your desired server role.
-Run the configuration wizard and re-attach the server to the original farm (config_db)
You should get the applications back and everything else in place, as they were but with new services in the farm.






03 April, 2009

This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms‏

After you upgrade from Microsoft ASP.NET 1.1 to Microsoft ASP.NET 2.0, some ASP.NET-based applications may not function correctly. Additionally, when you access ASP.NET Web pages that have ViewState enabled, you may receive the following error message:
[InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.]


This problem occurs when the following conditions are true:
-The HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy registry subkey is set to 1.
-ASP.NET 2.0 uses the RijndaelManaged implementation of the AES algorithm when it processes view state data. The ReindaelManaged implementation has not been certified by the National Institute of Standards and Technology (NIST) as compliant with the Federal Information Processing Standard (FIPS). Therefore, the AES algorithm is not part of the Windows Platform FIPS validated cryptographic algorithms.
Resolution:-
http://support.microsoft.com/kb/911722

Note:-Please follow each step carefully within this document and the issue will be definately resolved.

I hope the above document helps you to overcome the above mentioned error message. Thanks!

Move the SharePoint data from c:\ drive to d:\ drive

=Opened Central administration page and checked for no of web applications & system account (administrator) which is used for those web applications.

=Stopped all SharePoint related IIS web sites

=The following Services had set to Manual:
-Windows SharePoint Services Administration
-Windows SharePoint Services Timer
-Windows SharePoint Services Search
-Windows SharePoint Services Tracing
-Office Document Conversions Launcher Service
-Office Document Conversions Load Balancer Service
-Office SharePoint Server Search
-Indexing services
-IIS Admin Service

= Opened SQL Server Management Studio
= Expanded the Databases section
= For each SharePoint database we need to move, we must perform the following:
-Right clicked on the database
-Clicked on Properties
- Selected Files from the left hand pane
-Make note of the Path
-Clicked on Cancel
-Right clicked again on the database
-Selected Tasks -> Detach..
-Clicked the checkbox for Drop Connections. By default, the checkbox for keep Full Text Catalogs should be checked. Make sure that is true.
-Clicked OK
-For each additional database we need to move, perform the detach method for each
= Once we have detached all the databases, opened a Explorer window, and browse to the database location that was noted in the Properties task
= Selected the databases to be moved
= Right clicked, and selected Copy
= Browse to the new location for the databases
= Right clicked, and selected paste
= Go back to SQL Server Management Studio
= Right clicked on Database and selected Attach
= Clicked on Add..
= Browse to the new location for the databases and selected a database
= We have added each database one at a time
= reset all the services you set to manual in Step 2 to Automatic and started services.
= Turned on all IIS websites that we have stopped
= Browse to your central administration site; we were able to browse all sites correctly.
I hope the above steps will helps you to move your sharePoint databases from one drive to another drive. Thanks!

Moving documents between document libraries in MOSS 2007

There are several ways to move documents between SharePoint document libraries and one of the simplest ways to do this is to use the explorer view.
Here's a step by step reference on how to use the explorer view feature to migrate documents between document libraries.

Open the source and destination document libraries in two separate Internet Explorer windows.
Now select the explorer view

Now copy the source file by simply right clicking the mouse and selecting copy, then paste the file in the destination document library. It's important to remember that when you move documents between document libraries you lose the document version history.

Some users may experience an annoying popup when copying and pasting.

The way to turn this off is to make a change to the client's Internet Explorer:
-Open Internet Explorer
-Click "Tools", then "Internet Options"
-Select the "Security" tab
-Choose the appropriate zone
-Click the "Custom level" button
-Select "Enable" for the "launching programs and files in the IFRAME" option
-Click the "OK" button
-Click "Yes" when prompted to change the settings
-click the "OK" button
-Restart IE.

If you have any queries/questions regarding the above mentioned information then please let me know.
I would be more than happy to help you as well as resolves your issues, Thank you

02 April, 2009

Microsoft Office SharePoint Server (MOSS 2007) Versions

How do you find out what version of SharePoint you are running?

The first approach is to open a web browser and got to the site settings page (Site Actions > Site Settings > Modify All Settings).

The second approach is against the databases. Open SQL Server Management Studio, Connect to the server, new query, run the following:
SELECT [VersionId]
,[Version]
,[Id]
,[UserName]
,[TimeStamp]
,[FinalizeTimeStamp]
,[Mode]
,[ModeStack]
,[Updates]
,[Notes]
FROM [SharePoint_Config].[dbo].[Versions]
WHERE VersionId = '00000000-0000-0000-0000-000000000000'
ORDER BY Id DESC
This returns :-





The top row is the latest version. The query is performed on the SharePoint Configuration database. If you have called this database something instead of "SharePoint_Config" change the query to reflect this.
You can also look at the versions for Content Databases, by changing the database name. For example: FROM WSS_Content_MySites.[dbo].[Versions]

WSS SP1:- Download

MOSS SP1:- Download

MOSS 2007 post SP1 hotfix KB941422

MOSS 2007 post SP1 hotfix KB941274

MOSS 2007 post SP1 hotfix KB948945

MOSS 2007 Infrastructure Update KB951695 & KB951297

MOSS 2007 Cumulative update KB956056 & KB956057