Chris’s SharePoint Reflections

Just another WordPress.com weblog




  • Chris Zhong

    IT consultant Australia








SharePoint DateTime Control

Posted by chrissyz on July 9, 2009

SharePoint brings its own controls and DateTime control is one of them. You can definitely leverage it in your web parts and custom aspx pages. The control is located in the Microsoft.SharePoint.WebControls namespaces.

How to define it? First you need to add the following directive at the top of your application page:

<%@ Register TagPrefix=”SharePoint” Namespace=”Microsoft.SharePoint.WebControls” Assembly=”Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” %>

And then place the control in your page

<SharePoint:DateTimeControl runat=”server ID=”dtcDateTime”/>

Please notes that above is just a basic definition, for detailed properties, please check out this link:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.datetimecontrol_members.aspx

How to validate it?

<SharePoint:DateTimeControl runat=”server ID=”dtcDateTime”/>

<asp:CompareValidator ID=”valDateTime” runat=”server”

ForeColor=”Red”
ControlToValidate=”dtcDateTime$dtcDateTimeDate”
Type=”Date”
Operator=”DataTypeCheck”
ErrorMessage=”please enter a valid date” />

How to set a default value to it?
dtcDateTime.SelectedDate = new DateTime();
Check this link for the overloads:
http://msdn.microsoft.com/en-us/library/system.datetime.datetime.aspx

Important notice:

There is a Microsoft bug in SharePoint DateTime Control.
This DateTimeControl loses state during postbacks, specifically of the hour.
I struggled a bit to get this work around because it doesn’t work even if I put enableviewstate=”true” in the control.
However I happened to get this work by adding this line of code in a event that caused the postback. It could be any method/Event, in my case, it is SelectedIndexChanged event:
if (dtcDateTime< DateTime.Today)
{
//Don’t do anything
}
Just be doing this, it maintains the value of the control during postback.

Posted in development | Tagged: | 1 Comment »

Customization of SharePoint list menu item – Part 1 add Custom Action Item

Posted by chrissyz on June 6, 2009

It has been a while since last time I blogged. And I do feel bad about being ignorant of my blog for such a long time. So this time I am gonna show some code to feed those hungry souls. Today I would like to talk about adding a list menu item through feature. This example is to add a menu item in a calendar list.

We all know a feature includes two files, feature.xml and elements.xml

In our feature.xml, nothing special, it will look like any other normal
feature.xml

<?xml version=1.0encoding=utf-8?>

<Feature  Id=GUID”
          Title=Calender list Menu
          Description=Creates Custom Action in Calender list item menu”
          Version=12.0.0.0″
          Hidden=TRUE”
          Scope=Site                                                                
          xmlns=http://schemas.microsoft.com/sharepoint/>

<
ElementManifests>

<ElementManifest Location=elements.xml/>

</ElementManifests>

</Feature>

Then comes the elements.xml

<?xml version=1.0encoding=utf-8?>

<Elements xmlns=http://schemas.microsoft.com/sharepoint/>

<CustomAction  
    Id=F699684E-3127-428e-BF2B-EA71CA6E36C8   
    RegistrationType=List   
    RegistrationId=106  
    Location=EditControlBlock  
    Sequence=1000  
    Title=Calendar Custom Action>
    <
UrlAction
Url=~site/YourPageLibrary/YourCustomPage.aspx?ID={ItemId}&amp;List={ListId}/>
  </
CustomAction>

</Elements>

RegistrationType can be “ContentType”, “FileType” (for example if you only want your feature appear to .xsn file), list and Prog ID.

The RegistrationID element is used to specifiy the ID of RegistrationType. If RegistrationType is “ContentType”, to get Registration ID, open the document library settings, in the ContentType section click on the content type you
choose, then grab the hex string in the url after “ctype=” parameter.

If you use FileType as RegistrationType, then just add the “.doc” or “.xls” etc in the RegistrationID

If the RegistrationType is list or ProgID, John Holiday has a blog summarized all the RegistrationID, look it up!

Adding a CustomAction menu item is not that difficult, however, it is a bit tricky to hide/remove it. I will talk abou it in my next post – Customization ofSharePoint List Menu Item – Part 2 Hide Custom Action Item

Posted in development | Tagged: , | 1 Comment »

How do I trouble shooting- Parser Error Message: Unrecognized attribute ‘type’

Posted by chrissyz on May 5, 2009

Well, this is annoying… after some developers on my team played around ASP.NET framework (this is what I am guessing.. no one come to me to confess so far though :) ) our SharePoint portal suddenly stop working and get this message

 

 

Server Error in ‘/’ Application.

Configuration Error

 

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

 

Line 14:       <section name="BlobCache" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
Line 15:     </sectionGroup>
Line 16:     <sectionGroup name="System.Workflow.ComponentModel.WorkflowCompiler" type="System.Workflow.ComponentModel.Compiler.WorkflowCompilerConfigurationSectionGroup, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
Line 17:       <section name="authorizedTypes" type="System.Workflow.ComponentModel.Compiler.AuthorizedTypesSectionHandler, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
Line 18:     </sectionGroup>

 

 

Unrecognized attribute ‘type’.
Source Error:

 

 


Source File: C:\Inetpub\wwwroot\wss\VirtualDirectories\80\web.config    Line: 16
 



Version Information: Microsoft .NET Framework Version:1.1.4322.2407; ASP.NET Version:1.1.4322.2407

It took me some efforts to resolve this issue…

First of all, after some investigation, I found in IIS manager, our sharepoint site is pointing to ASP.NET framework 1.1. The fix will be adjust it back to ASP.NET framework 2.0 (Just right click the web site -> Properties->ASP.NET tab ->Choose the correct framework)

Now I re-render it again. This time I got page cannot be found error…Argh….so I tried re-registering ASP using Aspnet_regiis.http://msdn.microsoft.com/en-us/library/k6h9cz8h(VS.80).aspx

And then render the page again…now I got this error:

CS0016: Could not write to output file ‘c:\WINNT\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\a0f950ac\3f897461\fr-fr\App_GlobalResources.k8ft-2zy.resources.dll’ — ‘The directory name is invalid. ‘

OK, babe…whatever..This clearly indicate that the folder Temporary ASP.NET Files does not exist. So I went to My computer ->Properties->Advanced->Envrionment Variables. Make sure the folder System variables TEMP and TMP is pointing to exists on your computer and Network Services and aspnet accounts have full control of it.

Then after an iisrest and long wait, my dream portal finally appears on the screen!

 

 

Posted in development | Tagged: | 6 Comments »

The cornerstones of SharePoint information Architecture- Site Column and Content Types

Posted by chrissyz on April 16, 2009

Site columns and content types are the foundation of information architecture planning in SharePoint. It is always best practice to invest your time in the upfront planning site columns and content types when setting up your site collections. Trust me. It will all pay off during the management and maintenance phase for your SharePoint implementation. J

First, let’s review the concepts of site column and content type

Site columns can be thought of as templates; SharePoint offers the ability to create customized site columns when the default document library columns and the Core Document Columns are not enough. The column we created here scoped at the site collection level in the site column gallery. Once it is created, you can use it in any list or library to make the information searchable and manageable through metadata.

Another important point to mention: when you add a site column to a list, the resulting list column has the same field ID as the site column. SharePoint uses this to track which list columns are “children” of a given site column. This enables you to make changes to a site column and propagate those changes out to all the list columns that are children of the site column.

 

A Content Type is a reusable grouping of site columns that can be utilized by a list or library. This makes it possible to maintain a consistent metadata structure for all documents or items of that type in a Site Collection. A Content Type can carry a workflow, an Information Management Policy and a document template along with the site columns. Whenever the Content Type is associated with a library or list, all of the functionality built into the customization of that Content Type will be available to that library or list. However, you cannot create a column in a content type; rather, you have to create the column, and then reference that column in the content type definition. Because of this, when you add a column to a content type, the content type schema doesn’t contain a <Field> element, it contains a <FieldRef> element

 

Using a single Content Type in multiple lists allows for consistency in the data structure. The consistency adds to the ability to find those list items through a search across the metadata. Another added benefit of using a Content Type in multiple locations is maintainability. Any changes to the parent Content Type can be passed down to any list that is using that Content Type.

We can either create site columns and content types in a browser or through features. We recommended using the later one just because it is easy to transfer between environments,  develop – test – staging- production, this is especially important in the enterprise application space.And it is not complex. You can reference this article to create site column and content type through features. But there are a couple of gotchas for feature deployment.  First of all, at times, the changes to the site column are not reflected when the Feature is reactivated, even when using the optional -force switch to force all updates. It appears that, even though the Feature was deactivated and the site column was removed from the site, SharePoint has left an orphaned site column in the system, and future changes will not take effect, even though it does not appear anywhere on the site.

The workaround is adding the attribute DisplaceOnUpgrade=TRUE to the <Field> node. This way, SharePoint will update the existing site column the next time it is activated.

Another one is once a feature containing content types is activated, developers can update the Feature and reactivate it to make changes to the created content type. However, changes are not pushed down to other content types that inherit from the one being inherited, nor are the changes pushed onto lists where the content type has been added. The only content types updated are those that are not in use.The workaround will be using SharePoint object model. It provides a method for updating content types, and forcing updates to cascade to other child content types and lists that contain the content types.

Posted in Information Architecture | Tagged: | 1 Comment »

Managed Property in SharePoint Search

Posted by chrissyz on February 17, 2009

Managed Property plays a very important role in MOSS 2007 Search. If used properly, you can greatly enrich the user search experience without spending a lot of effort. Before we go in the topic, let’s look at what is managed property.

The SharePoint search engine index both unstructured information, like text in word documents, http pages ectc and structured information (metadata), such as file size, file extension, title, author etc. We call this piece of metadataproperty. SharePoint operates with two kinds of properties: crawled property and managed property. Crawled properties are discovered by the crawler. Each SSP has a list of crawled properties in the metadata store in its SQL database. Properties are automatically added into the metadata store when the crawler crawling content. Thus, the number of crawled properties can be added up quickly. This crawled property list is shared across all content sources in SSP.

 Before MOSS 2007, SharePoint only operates with Crawled property. However, in reality, only a small subset of the crawled property is needed for searching and for displaying the search results. And you don’t have control of the name of the crawled properties. Crawler will name them itself by some internal naming rules. Thus, they can have lengthy names that would make them hard to reference in code or other places.

Managed property is a new concept introduced in MOSS 2007. They are created by SSP administrators and provide an easier and more consistent experience for managing and using the subset of crawled properties that matters to the business. And you can also map several crawled properties to the same managed property. This makes it possible to join different crawled properties that are semantically the same to a single managed property.

 Here are some examples of managed properties that are available in MOSS 2007,

  • AssignedTo
  • Author
  • ContentType
  • FileExtension
  • SiteTitle
  • etc..

Check the blog to see how you can create your own managed property. 

The use cases for managed properties:

  • Construct Search Query : The most straight forward way is to execute searches from the search box using managed properties. We can enter them directly into the search box. For example, I want to find all the documents written by me, I would execute a search in my MOSS site using the following text:”Author:Chris”
  • Customize Search Results: We are all familiar with OOTB search results that displaying the metadata, like title, author, URL etc. Actually, we can customized the search results to display any available metadata as long as the metadata is a managed property in the index
  • Expose for advanced search: The Advanced search page has property picker that can be populated managed properties. You can add managed properties to the property picker in the advanced search page by modifying the XML attaché to the Advanced Search Box for the properties. Here is a MSDN Visual How-to shows you step by step how to do that. Check it out!
  • Use in Search scope: You can use managed property to configure search scope. Here is a good blog of how to do it. 
  •  Custom relevancy ranking: Managed properties play a role within the ranking of the results.The managedproperty class exposes the Weight property which can be changed programmatically to influence the relevance ranking

Posted in Search | Tagged: | 1 Comment »

Search Query TotalRowsExactMinimum property

Posted by chrissyz on February 13, 2009

When we are coding against MOSS Search API, we use totalRows property to get the total search results from the search engine. However, why sometimes we found the totalRows number returned is not accurate. Why did that happen? And how could we fix that?

The reason for that is totalRows only give you an estimate result. It is very expensive to get a specific number due to the security trimming and search algorithms logic in SharePoint search. The trick is this property ‘TotalRowsExactMinimum’. It instructs the SharePoint search engine as to how accurate the TotalRows should be. It tells SharePoint the number of minimum hits that must be included in the result. The default value of it is 50. It is used in conjunction with totalRows. If you have more than 50 search results and you use TotalRows property with no modification of TotalRowsExactMinimum property, it will stop displaying further pages in the search results even though there are more records. Once you set the ‘TotalRowsExactMinimum’ more than the total results you estimated to return, Search engine will return the accurate total number. However, the higher you set ‘TotalRowsExactMinimum’, the more negative impact you will have on performance. Here is a very good blog gives you details explanation of how ‘TotalRowsExactMinimum” works.

Posted in Search | Tagged: | Leave a Comment »

Ghosted and unghosted in SharePoint

Posted by chrissyz on February 9, 2009

One of the most common problems we encountered in SharePoint solution deployment is: after we deployed the wsp file successfully to the farm, we found some pages got 404 page not found error, or they didn’t reflect the latest change or fix we put in our .wsp file. Why?

 OK, the most possible reason for that is the good old ghosting issue. Before we dive any further, let’s explain some fundamental concepts here.

Unghosted == customized. It happens when you customized a WSS/MOSS2007 site in SharePoint designer, or you add custom field to Doc Library or you customized a site through UI and save it as a site template and then create sites using that template. When you unghost a page, a customized version of it was saved in the content database. So next time when you request for the page, SPVirtualPathProvide will tell SharePoint that the page has been customized. Then SharePoint will retrieve the customized version of the page from the content database.

Ghosted= uncustomized. It means the site definition pages have not been customized and the pages in your site definition run directly from the file systems on your web server. When a page instance is initially provisioned from a page template, WSS doesn’t need to store a copy of it in the content database because WSS can load the page template from the file system of the web server and use it to progress any request for an uncustomized page instance. Therefore, when you request for a ghosted page, SharePoint uses a page template loaded into memory from the file system of the WFE. It eliminated the need to transfer the content of a page definition file from the SQL server computer with content database to the WFE.

Now, come to our initial problem. Woops, before that, I just need to make sure everyone understand the concept of solution deployment as well. What is solution deployment? Ok, you packaged the whole solution from Visual studio and produce a .wsp file. Then you deploy the .wsp file to your farm using STSADM command. A .wsp file is actually a .cab file. It contains all your files (master pages, page layouts, css, images, features, etc), your assemblies (web parts, web controls, event handlers, etc) and xml files that tell where to drop these things in the WFE. Will it drop anything into the content database? Absolute not. We should all bear in mind that SharePoint solution deployment only have impact on File Systems in WFE. It won’t touch SharePoint content database and configuration database. OK now we can finally go back to our original question. When you perform another solution deployment after your initial deployment (doesn’t matter it is re-tract and re-deployment or upgrade), you put all your new files/ fix into the file system. But if you have any unghosted (customized) Page, they still go through the content database to grab the customized version instead of going to the file system to grab the new version your just deployed.

So aha, now we know the problem. How we gonna fix it? The answer is simple, re-ghost it, changing the page from customized to un-customized.

There are two ways of doing it. One is through SharePoint UI

1. Go to Site Actions ->Site Settings ->Reset to Site definition

 unghosted-22

2. Click Reset to site definition, and enter the page URL. Or you can choose to reset all the pages in the particular site to site definition.

unghosted32

The other way is through SharePoint Designer 2007. It will also help you to track all the unghosted pages before and after deployment. Microsoft has two articles explaining how to track the unghosted pages and how to reset them from SharePoint designer I recommend checking if you have any unghosted pages in your current site before and after you deploy your new solution.

Posted in Deployment | Tagged: | 1 Comment »

The SharePoint tools we love…

Posted by chrissyz on January 30, 2009

In my previous post, I introduced a few development tools that essential for SharePoint development. This time, I will introduce a couple of add-ons. All developers, it is not necessary to have them, but for me, they are like these little cherries on the cake.:)

  • SPDisposeCheck  Get it while it is hot. :) Microsoft’s latest release. It checks the assemblies that use SharePoint API and provide assistance in correctly disposing certain SharePoint Objects like SPSite and SPWeb. It will help us to follow the memory management best practice when coding against SharePoint API with IDisposable Objects and avoid unnecessary memory leak in the code.
  • SharePoint Manager 2007 An excellent SharePoint object model explorer and management utility. It enables you to browser every site in your local farm and view and change every property. You can also enable/disable features through it.
  • SPTraceView Nice tool for trouble shooting SharePoint. It processes all sharepoint diagnostic tracing in real time (ULS tracing) and notify you using a balloon-style mesages in the tray. Especially when it comes to solution deployment time
  • Application Pool Recycle Utility A small tool providing quick access to common IIS tasks which are useful on SharePoint development box.
  • SharePoint Search Service Tool It is bascially a rich client for the Sharepoint Search.asmx. Very useful to help you build complex search queries. It is actually a You can manipulate the scope and managed properties through the UI instead of going into SSP. This tool can also be used for troubleshooting
  • U2U CAML Builder No need to say how important this tool in our daily work. It also reminds me my very good friend Patrick Tisseghem as well. Patrick, we miss you!
  • WssAnalyzeFeatures Small tool allows to verify if the feature definition files for all installed features are present on the file system. It also help you to verify the features used in the site collections and sites are installed on the server.
  • The last but not the least Microsoft Best practices Analyzer for WSS and MOSS  Do a health check for your SharePoint farm, is that your new year resolution?:)

Posted in Uncategorized | Leave a Comment »

SharePoint Performance Guide

Posted by chrissyz on January 19, 2009

Performance always attracts people’s attention (End user especially). Here are some recommendations/trouble shootings for SharePoint sites performance issues.

Firstly, let me explain two fundamental concepts in any website’s performance.

Throughput: In Wikipedia, the throughput is the average rate of successful message delivery over a communication channel. Get it? J My “customer-understandable” interpretation of that is how many pages can a system serves over standard unit of time. Be aware the difference of typical and peak user load. Typical user load means average requests over standard unit of time. As for peak, you need to take concurrency into consideration. The rule of thumb for planning will be: plan for peak, assuming 10% concurrency.

Latency: a time delay between the moment something is initiated and the moment its first effect begins. My interpretation is how fast the page loaded. There are three factors that have impact on latency:

·         Server processing: SQL processing, number of SQL round trip, AJAX processing, security trimming etc.

·         Client processing: JavaScript, CSS, AJAX request, HTML load, Client machine specifications etc.

·         Wire transfer : bandwidth, size of download, etc

Suggestions for poor throughput:

·         Check your SQL performance, like CPU utilization, how heavy is the load etc. Always use SQL best practice for performance. Microsoft has a white paper provides key recommendations and best practice to help you to plan and monitor your SQL Server Storage requirements to support optimal performance

·         Make sure there are no conflicts in asynchronous operations and timer jobs. For example, you are not going to run 50 custom jobs all at 2am in the morning. :)

·         Carefully plan for your site hierarchy, site content and deployment. Every time you create a web application, you will lose 56M memory before you start loading anything. Therefore, you want to try to minimize the number of web applications and application pools and also limit the number of Shared Service provider.

·         Check custom code. The downside for writing custom web parts and event handlers in SharePoint is the sacrifice of performance if handled without caution. Developers need to write efficient code like creating and destroying SharePoint objects, monitoring SOAP and database connections and round trips, optimizing how much XML you use etc.

·         Looks for hardware/network components configuration error.

 

Suggestions for poor latency:

·         The number one killer for latency is custom web part. Watch for SQL round trips, unnecessary data, excessive client side scripting.

·         Check for page payload. OOTB, the main page download size should be around 200kb and shouldn’t be significant higher. We will try to use page compression where possible. For example, you have the option to make CORE.JS available on Edit mode for performance improvement.

·         Using Caching strategy. You can turn on BLOB and Output catching. There is an article on Technet listing all SharePoint caching options:  http://technet.microsoft.com/en-us/library/cc298466.aspx   However, be careful that catching could actually make performance worse if handled improperly as it can take up memory and processor time.

 

Besides the above ones, there are some other general suggestions towards improving SharePoint site performance.

·         Recommend 64 bit for back end services which can leverage additional addressable memory, like database server, Index server.

·         Using server farm and have dedicate roles for each single server

·         Reduce the number of unghosted pages. Unghosting reduces the system efficiency and performance as the request will have to go to the database to fetch data instead of just hitting the cache. Example of this is creating site definitions are much more efficient than using site templates created through the UI.

Finally, there are a couple of testing tools which can help you trouble shooting:

·         Visual Studio Team System 2008 Test Edition

·         SharePoint Test data load (WSSDW.exe) is a native Microsoft tool that can be used to perform SharePoint load testing. The tool populates data for testing deployments of MOSS 2007 and is a command-line executable program that accepts an XML configuration file that specifies the objects to be populated.

·         Microsoft Operation Manager

 

Posted in Performance | Tagged: | 1 Comment »

Choose your Enterprise Search solution wisely

Posted by chrissyz on December 6, 2008

In the whole SharePoint technology family, Search is one of my favorites. J Enterprise Search plays more and more important role in the organizations. In the world of business, Search isn’t just about looking for information, it is about finding the content and applying the knowledge you gather and using it to benefit the business. It is about real people needing the right tools to help them get their jobs done. When you look from this perspective, you will understand the search experience you have on Internet can’t really satisfy the enterprise level requirement.

 The following are the key questions for you to consider before you implement search solution:

Ø  What sort of search solution do they after: web, desktop, Intranet

Ø  Do you want a search alone product or an Enterprise portal

Ø  What’s their UI requirement, result presentation

Ø  What’s your Enterprise Content sources

Ø  Security requirements

Ø  Do you need people search or LOB search

Let’s have a look at what Microsoft has offered lately:

 

Microsoft Search Server 2008 Express

Microsoft Search Server 2008

Microsoft Office SharePoint Server 2007

Search Center

˜ ˜

˜ Y

˜Y ˜

No Preset Document Limits

˜

Extensible Search Experience

˜

˜Y ˜

Relevance Tuning

   y ˜ ˜

˜

 Y

Continuous Propagation Indexing

˜

˜

˜

Indexing Connectors

˜

˜

˜

Federated Search Connectors

˜

˜

˜

Security Trimmed Results

˜

˜

˜

Unified Administration Dashboard

˜

˜

˜

Query and Results Reporting

˜

˜

˜

Streamlined Installation

˜

˜

 

High Availability and Load Balancing

 

˜

˜

People and Expertise Searching

            

˜

Business Data Catalog

   

˜

SharePoint Productivity Infrastructure

   

˜

 

I like to high light some key features in the MOSS 2007 Search that might makes a difference:

·         Relevance

Bear in mind that Enterprise Search is different from Internet Search in the link structure, cross-site hierarchy and security.  The Enterprise search algorithm is tuned for Enterprise content. It gets the most relevant results quickly. Meanwhile, the indexing engine used for all MS applications is from the common code base. This enables common functionality and extensibility between the applications that use it.

 

·         Integration

From integration point of view, MOSS 2007 Search is exposed as an XML web service which enables deep integration with office applications. Users can expose enterprise level search functionality from within their own office applications like Word, Excel and PowerPoint by displaying custom task pane or document information panel (DIP).

 

·         Comprehensiveness

Where users do have unobstructed access to structured data, differences in the search interface, syntax, and query methods can result in challenges both during the search for information and when interpreting results. MOSS 2007 provides a common Search framework, regardless of the information source, and make sure that the interface allows casual users to have easy access to complex data sets.

 

Ø  Effectively Search unstructured data

Although people generally have access to unstructured data, the process of finding it is often inefficient, with files in multiple locations (for example, multiple file shares containing duplicate copies and different versions of documents). MOSS 2007 can search all repositories across your enterprise (Windows File shares, Exchange Public Folder, Lotus Notes database, web content); It also extensible to include all types of files and to custom repositories.

 

Ø  Search structured data

Many organizations lock down much of their structured data, for fear of unauthorized users seeing more than they should — resulting in users being deprived of information that could be useful to them. Using MOSS 2007 and the Business Data Catalog it will be possible to index all the structured data stored in LOB like CRM, ERP, SAP and other databases and expose the data within the search results. This blending of structured data and unstructured data makes finding the right information easier and faster. Using the BDC, you have generic, reusable components in the form of the Business Data Web Parts. These components use the metadata repository to go out to the various business applications across the organization, retrieve the needed data, and present it in a single place. Also, this happens without the need to write code or compile binaries; all the information SharePoint needs to connect to the business application is stored in XML format in the metadata repository.

 

Ø  Knowledge Interchange  (People Search)

Getting a job done involves working with the right people, so it is important to find subject matter experts based on their knowledge and contacts. It is often difficult to find the specific experts within the company and this causes wasted time and effort in duplication of efforts. MOSS2007 enables intranet users to easily search over people and area of expertise within the enterprise. This ability to make connections is critical to improve stuff effectiveness in large enterprise environment. Opt for an integrated solution, whereby the user can easily make good use of real-time communications, to build relationships such as knowledge networks and project teams

·         Security

Look for solutions that provide custom security trimming, as well as standard features to help protect corporate information from unauthorized access. Find out how granular the administrative controls are and check for customizable interfaces, scalability, and extensibility

Ø  Only provide the result the user would allow to see

Search in MOSS 2007 provides query time security trimming and support pluggable authentication for content in WSS/MOSS site

 

Ø  Easy security management

Administrators can create user roles that determine the kind of information that can be viewed by users during a search. This access control can be broad or granular as defined by the corporation. All of these tasks are administered through the Central Administration and SharePoint Service Portal interfaces, making security administration more usable and efficient.

 

·         Extensibility and scalability

There are several ways in MOSS 2007 to customize content. The search center interface can be easily branded to reflect the identity of your organization visually and additional tab can be put in place to reflect the difference variations of the users searched most often. Familiar look and filter the users and provide quick access to a specific application, database or Directory anyway in your enterprise. By adding search enabled web part to the personalization template provide by SP, query result is only relevant for each individual user. And the Search Admin API and Query API allows developers develop custom search application to cater to meet specific business requirement throughout enterprise

 

Posted in Search | Tagged: | 2 Comments »