Issuu on Google+

SharePoint Tool Basket Manual Contents System Requirements ............................................................................................................................. 3 Installation and deployment of the solution ........................................................................................... 3 Actions menu helper ............................................................................................................................... 4 Forms Designer........................................................................................................................................ 6 Usage ................................................................................................................................................... 6 Latest updates ..................................................................................................................................... 9 Content Rating System .......................................................................................................................... 11 Installation and deployment of the solution ..................................................................................... 13 Usage of the solution ........................................................................................................................ 13 Enabling rating on documents, issues, calendars ‌ ...................................................................... 13 Enabling rating on pages ............................................................................................................... 19 Enabling rating on discussions ...................................................................................................... 21 Enabling rating on blog posts ........................................................................................................ 23 Working with moderators ............................................................................................................. 24 Enabling rating on everything at once (for the lazy guys) ............................................................. 25 Viewing Reports ............................................................................................................................ 26 Using the "Show Ratings" webpart ............................................................................................... 27 Tips .................................................................................................................................................... 28 Extending the rating system with custom content types.................................................................. 30 Using the page layout ........................................................................................................................ 32 Using the policy ................................................................................................................................. 33 Rating from search results................................................................................................................. 36 Activating the search rating features ............................................................................................ 37 Using the rating search core results webpart ............................................................................... 37 Performing search queries on the rating value ............................................................................. 39


Rating Request Workflow .................................................................................................................. 42 Activating the workflow feature ................................................................................................... 42 Associating the workflow to a document library .......................................................................... 42 Starting the workflow .................................................................................................................... 43 Architecture of the solution .............................................................................................................. 46 Why did I use content types and not only custom fields? ................................................................ 47 AJAX Lookup Field ................................................................................................................................. 48 Brief Presentation of the solution ..................................................................................................... 48 Usage of the AJAX lookup field.......................................................................................................... 48 Content Type Explorer........................................................................................................................... 49 Brief presentation of the module ...................................................................................................... 49 Usage of the module ......................................................................................................................... 49 List Column Manager ............................................................................................................................ 51 Brief description of the module ........................................................................................................ 51 Usage of the module ......................................................................................................................... 51 StsAdm Tools ......................................................................................................................................... 52 Supported Languages ............................................................................................................................ 54 Source Code........................................................................................................................................... 54


System Requirements -

MOSS 2007

-

The AJAX components included in this solution do not require any specific installation (no AJAX extensions or the dotnet framework >=3.5) but having them installed isn't a problem.

On CodePlex, there is also a SharePoint Tool Basket solution for WSS V3. The one described in this manual is for MOSS only.

Installation and deployment of the solution -

Download the solution file labelled SharePoint Tool Basket MOSS Solution on CodePlex : http://www.codeplex.com/sptoolbasket/Release/ProjectReleases.aspx?ReleaseId=21960

-

Add the solution to SharePoint using stsadm (stsadm –o addsolution –filename <file path\ SharePointToolBasket_MOSS.wsp>

-

Deploy the solution using stsadm or the SharePoint central administration (stsadm –o deploysolution –name SharePointToolBasket_MOSS.wsp –allowgacdeployment –immediate –url <application>

-

Activate the application feature that deploys the language files used by the solution. In the central administration (or stsadm), to to the manage application features and activate the following :

This makes sure that the basket resources files are copied to the App_GlobalResources of the targetted application and therefore available for all the components.

Afterwards, according to the modules you want to use, you'll have to activate some of the features further described in the manual.


Actions menu helper This functionality helps list owners to define which items of the Actions menu they want to show or hide. This feature can be particularly interesting to disable the datasheet mode of one or more lists and is a good alternative to some tedious Javascript techniques that make the datasheet view link disappearing while not preventing it totally in case users type the URL directly in the browser. Moreover, Javascript can always be disabled. The Actions menu helper is triggered from the server and canâ&#x20AC;&#x2122;t be work-arounded.

Here are a few screenshots illustrating the functionality :

Web feature available in the Site Features :

After having activated the feature, each list should have an additional link in its settings :

When clicking on that link, list owners are redirected to the following application page :


where they can check/uncheck which items that are to be shown. If you uncheck all the items, the actions menu disappears for the target list.

Here is an example showing a configuration where only the "Alert Me" menu item is available (according to the previous screenshot) :

For the datasheet view, if you chose to disable it, it will really be disabled, any user who would try to type the URL directly in the browser would receive an HTTP 403 as illustrated below :


Forms Designer Its purpose is to allow list managers to customize the forms associated to the lists. Forms means : -

The display form

-

The edit form

-

The new form

In MOSS standard, there are not many ways to amend them. You can either develop list definitions, either use SharePoint Designer to customize them. This solution brings a new alternative using content types (or not depending on the version you installed) that you can associate to lists.

Usage After having activated the site collection feature (see below), the system will deliver the following content types :

Which you can attach to the corresponding lists (Calendars, Issues, Custom Lists and Links). Here is how to work with a custom list.


-

Create a custom list that you name Hunter's Hall

-

Go to its advanced settings and allow the usage of content types :

-

Add the the content type called Modifiable Item :

-

Once done, remove the standard content type named Item (not mandatory but preferable for the example)

-

Add a few columns to the list in order to get something similar to this :

the aim is to store CVs of candidates.


-

Once done, click on the menu Actions :

-

You should be redirected to the following page :

where you can drag & drop the fields where you want. Note that you can also add some section titles. Note that you can design the forms independantly. You can also decide to define only one design and to apply it to all the forms by checking the checkbox labelled Use this layout for all forms


-

After a bit of effort you might end up with the following new form :

where you have fields next to each other, group of fields and section titles. As you can see, you can easily decide to include/exclude fields from the display, to specify a position and to add section titles.

Latest updates The Forms Designer comes now in two flavors, one that's encapsulated in the basket solution and another one that is a separate solution whose the functionality does not make use of content types. Its scope applies on the entire farm on all the lists. If you're interested in downloading it, you can take the separate package available on CodePlex in the release tab of the basket.

Some new functionality, also included in the basket solution is now available. In the previous version, I forgot to mark the mandatory fields with a red asterisk (like the standard does) and I also forgot to include the field descriptionsâ&#x20AC;Śâ&#x2DC;ş.

These lapses of memory are now rectified and there is even an extra option for field descriptions. You can either decide to use them the standard way :


Or decide to use the custom basket way â&#x2DC;ş :

With an icon besides each field for which there is a description. When you mouse over the icon, the description shows up in a small div. When you mouse out, the description disappears. This allows having big descriptions that do not alter the display too much. So, now, there is an extra option to the design form :


Content Rating System The system allows authenticated users to rate (and add comments) the following objects :

-

Documents

-

Pictures

-

Calendar items

-

List items

-

Issue items

-

Discussion boards

-

Blog posts

-

Web Pages

Its usage is mainly planned for an intranet/extranet scenario since it's only working with authenticated users. Anonymous rating isn't supported.

On top of the ratable objects, the system offers the following reports :

-

Item report : showing all the ratings for a single document/issue/item â&#x20AC;Ś

-

List report : showing all the ratings of all the rated items belonging to it

-

Web Report : showing all the ratings for a given site

-

Page Report : showing all the ratings for all the pages of the current site

-

Site Collection Report : showing all the ratings for a given site collection


All those reports can be exported to spreadsheets and are available through the UI. The same reports are also available via stadm custom commands (see the section labelled "stsadm tools" for more info).

A light moderation module is also embedded in the solution. It allows owners to define moderators for a given site. The moderators are granted the permission to delete improper comments and to delete all the ratings of a given item.

Two webparts are comprised within the solution : -

Page Rating: webpart allowing users to rate a given page. It makes use of AJAX but doesn't require the AJAX extensions nor the framework 3.5:

-

Show Ratings : webpart showing the ratings of a given site/site collection :

This solution comes with the same features than the WSS one with a few extra features :


-

A specific page layout has been developed to encapsulate the rating control automatically so that users can create "ratable" pages based on this page layout

-

A policy that can be associated to any document/page libraries that adds the page rating webpart to any created page that's based on a specific content type.

-

A search module allowing users to visualize search results and to rate directly from search results.

-

A "Rating Request" workflow allowing contributors to request explicitely others to rate their content

Installation and deployment of the solution -

Once you have downloaded and installed/deployed the basket solution as explained in the previous sections, you can either decide to perform the steps described below or use stadm (see the section labelled stsadm tools)

-

Activate the main feature in the site collection(s) where you want to use the solution either with stsadm or using the standard UI. After the solution deployment you should see the main feature in the site collection features page :

Usage of the solution Enabling rating on documents, issues, calendars â&#x20AC;Ś

After having activated the site collection feature (see above), the system will deliver the following content types :


Which you can use to rate the corresponding objects. Here is how to allow rating on a document library. The process is the same for all the other objects.

-

Go to the advanced settings of any document library :

-

Allow the usage of content types :


-

Add the Document Rating content type :

-

Create a document of type "Document Rating" :

At this stage, you can of course decide to rename "Document Rating" to whatever you want. You can also decide to remove the standard "Document" content type from the document library, this will make sure that every document uploaded (whatever method) will be ratable. Removing the standard "Document" content type is only possible if the document library is empty or contains only folders (refer below to see how to process existing items).

The manipulation of adding the relevant content type to a list is exactly the same for calendars, issues, items, links and pictures.


Now that the content type has been added to the document library you can have two scenarios :

-

You added the content type and didn't remove the standard one : If you upload a document via the standard upload menu, you'll have to specify that the content type of the document is "Document Rating" as shown below :

If you create a new document form the menu "New", then just pick up the right option and everything will be ok. If you upload the document using either the "Upload Multiple" option either the "Explorer View", the content type of the document will automatically be set to the standard one which is "Document". Those documents will therefore not be ratable. If you want to avoid that, just remove the standard content type from the document library.

-

You added the content type and you removed the standard one :

In that case, no matter to the upload method you used, the document will be automatically ratable.

When you add the "Document Rating" content type to a document library, two new fields are added to the list, they are named "Vote Results" and "View Comments". You have to include those fields in the view in order to see the vote results and the comments.

Just modify the view labelled "All Documents", you should end up with the following :


When the column "Vote Results" displays "Rate", it means that no rating has been done yet for the current document. By clicking on it, users are redirected to the following application page :

After the vote, the view looks like this :

The number of stars reflects the vote average. By moving your mouse over the stars, you can see the average and the number of votes. Only 1 vote per person is kept. If a user has already voted and wishes to vote again, only his last vote will be taken into account. By clicking on the "View Comments" link, users can see all the ratings & comments for the given document :


At last, an alternative to apply ratings and to view comments is to use the ECB custom actions available for all the documents having their content type set to "Document Rating" :

You will not find these options for "standard" documents. In the same manner, the "Vote Results" and the "View Comments" fields remain empty for standard documents as shown here :


As you can see, in that case, the document named "demo2" has the content type "Document" and thus, cannot benefit from the rating system. How to rate existing content? If you have existing documents and you want to apply rating on them, you need to change their content type. You can either change the content type by editing the properties or by switching the document library in datasheet view for a massive update as illustrated below :

Change the content type of the first document, and then, like in Excel, just drag the first cell to the end. Enabling rating on pages Page rating cannot be applied the same way than for documents and list items because the pages can be of many different types (basic, publishing etcâ&#x20AC;Ś). Instead, the solution makes use of a webpart to rate the pages. The only thing you need to do is to add this webpart to a page :


By picking up the webpart from the webpart gallery to add it to a given page, you end-up with the following result :

A webpart allowing users to rate the page and to leave a comment. The webpart exposes a set of properties :

-

Allow users to comment pages : shows or hides the comment text area

-

Comments are shown directly in the page : the comments will be shown within the webpart

-

Consider URL Variation : takes the URL parameters into account or not. If you don't check it, the absolute URL is always used otherwise, the full URL is used including parameters. Most of the time, you can leave that checkbox unchecked. You'll see an application of the URL variation in the section labeled "Alternative to rate blog posts".

-

Stars Size : Big or Small makes the wepbart displaying big or small stars

According to the configuration, the webpart might look like this :


Or this :

Or this :

The webpart stores the user ratings in a hidden list located in the web site where the webpart has been deployed. Each site has its own page rating list. Note : page rating can also be enabled differently in MOSS, have a look at the section labelled MOSS Extras Enabling rating on discussions Rating on discussions couldn't be done using content types, therefore, I decided to build a custom team discussion list. It means that rating cannot be applied on existing discussion boards. You have to create new discussion boards using the dedicated definition. So, if you create a new object, you should see this :


Once you've created a new discussion board using the "Ratable Team Discussions" definition, you'll end-up with a discussion board looking like this :

You have to add the columns "View Comments" and "Vote Results" to the "Subject" view. As you can see those fields alllow users to rate the discussion. The views "Flat" and "Threaded" have been customized to show ratings this way :

Once at least one user has rated the discussion, the same view reflects the results :


Enabling rating on blog posts You can apply rating on existing blogs and of course on new blogs. To apply rating on a blog, just create the blog, go to its site features and activate the following feature (make sure to activate the site collection feature Document Rating beforeâ&#x20AC;Ś.) :

Once you have activated the feature, your blog posts have slightly changed :

You can start rating the blog posts. Alternative to rate blog posts If you don't want to activate the blog rating feature, you can use the page rating webpart and add it to the page "Post.aspx" which displays the details of a post


Make sure to check the property "URL Variation" of the page rating webpart. This setting is required because the URL of the page "posts.aspx" varies with the ID of the post you're viewing (posts.aspx?ID=1, posts.aspx?ID=2 etcâ&#x20AC;Ś). So, if you don't apply URL variation, the absolute URL http://.../posts.aspx will be used and considered as a single page. Here you need to make sure that each post is considered as a different page. Working with moderators A light moderation module is available. This is a site by site system. To benefit from the module, you need to activate its site feature. Go to the site features and activate the following feature :

Make sure that the "Document Rating" feature is activated first at site collection level.

Once the feature is activated, you'll see a new link in the site settings - Administration :

When clicking on it, you get redirected to the following application page :


Just define the groups and/or the users who can moderate user comments. The moderator role consists in being able to delete improper comments. When viewing the vote history of an item, a moderator will see a delete link next to each comment :

While a normal user will not just see them :

Enabling rating on everything at once (for the lazy guys) For lazy people, the system comes up with a new site definition which makes most of the configuration work. You can create a new site using it :


When you create an instance of that site definition, all the lists contained (same than for a team site) are configured with the right content types and the rating fields are added to the default views. More over, the page "default.aspx" contains the rating webpart. Viewing Reports As soon as you activate the "Document Rating" feature, a series of custom actions are enabled and redirect you to the different reports. This series of custom actions comprises :

-

1 link to view the rating history for an entire list. It's located in the list's settings

-

1 link to view the rating history of a single document/item. It's located in the ECB menu

-

2 links in the site settings allowing you to view the page rating report and the web rating report.

-

1 link in the site collection settings allowing you to view all the ratings for the entire site collection : to use with caution with big collectionsâ&#x20AC;Ś

All those links point to reports looking like the following :


As you can see, you can export the report to a spreadsheet if you want to apply some treatment or forward it by e-mail etcâ&#x20AC;Ś

Using the "Show Ratings" webpart This webpart gives your visitors an overview of the rated content accros a web or an entire site collection. The inspiration came from Jan Tielen's "What's new" webpart. I reworked his source code to target only the rating related stuff. After having activated the document rating feature at site collection level, you should be able to add the following webpart in any page :

Once added, it will automatically show you the ratings of the current site including its subsites :

If you have no ratings for the current site, you will get this :

If you have several ratings within your site or if you target the entire collection, you might get something like this :


Note that the stars illustrate the current rating value of the items but also allow visitors to add their own rating by clicking on them. The person icon allows you to show the comments. The last column shows you the sum of ratings per item if you configured the webpart accordingly.

The wepart properties are as follows :

-

MaxItems : you can decide to limit the total number of items returned

-

Scope : Site : the current web only/Recursive: the current web and its children/SiteCollection : the entire site collection

-

Cache interval : allows you to define a cache interval. Make sure you use it when scoping the webpart at SiteCollection

-

List : when checked, shows the list name in the results

-

Site : when checked, shows the site in the results

-

Show header row : when checked, shows the column titles

-

Most rated behavior : when checked, shows the number of ratings per item in the results

Tips You can apply SharePoint views on the different lists to build views such as "Top Rated Docs" or "Non Rated Docs" etcâ&#x20AC;Śjust by using sorting/filtering as you would ususally do with metadata.

For instance, you can just create a view on a document library showing the most appreciated documents just by applying a descending sort on the "Vote Results" column.


You can also for instance apply filtering, say you want to show only documents whose the rating average is excellent :

-

Create a view and call it "Excellent Docs"

-

In the filtering section, apply the following condition :

You end-up with the following result :

So, as you've probably already understood, you can filter on the vote average using those levels : -

(1) => poor

-

(2) => low

-

(3) => good

-

(4) => very good

-

(5) => excellent

If you want to display a column showing how many votes have been applied for a given item and to apply sorting on it (most rated â&#x20AC;Ś), you can do it as follows :

-

Create a calculated column of type Number.

-

Apply this formula : =IF([Vote Results]<>"",TRIM(MID([Vote Results],5,(FIND("vote(s)",[Vote Results])-5))),0)

Afterwards, you can create a new view and apply sorting/filtering on that new column like for instance to get the most rated docs:


Well you understood the principle, you can do whatever you want with the views and the perspectives are quite interesting.

Extending the rating system with custom content types If you plan to use other content types, nothing prevents you from making them inherit from the rating content types. The system will still work. So for instance, let's say you want to store documents containing songs lyris, you could do this :

-

Create a new conten type named "Lyric" :

Make it inheriting from Document Rating :


-

Add you own metadata (singer name, songâ&#x20AC;Ś) :

-

You end-up with this :

-

Now, you can associate this new content type to a Document Library :

When your favorite editor opens, you can fill-in the metadata of the "Lyrics" content type :

Note that "Vote Results" and "View Comments" are greyed out because they are custom fields. You can create a custom DIP to not show them. -

In the end, you have the same rating capability than with the "Document Rating" content type :


Using the page layout A specific page layout is available for MOSS to create pages that encapsulate the page rating control automatically in the page, after having activated the Document Rating feature, you should find this page layout in the "Create Page" page :

When chosing that, you end-up with the following result :

As you can see, the star rating control isn't a wepbart here, it's just a web control that's not removable.


Using the policy A specific policy can be activated at farm level :

Once activated you can use it at site collection level or directly on a page/document library. The original need was emitted here : http://www.codeplex.com/sptoolbasket/Thread/View.aspx?ThreadId=46304 The user thought that the rating feature didn't work with the knowledge management template but it's wrong. Actualy, the system works but as you have to use the document rating content type, you do not benefit from the built-in content types which are in this case Knowledge Base Document and Knowledge Base Article. So, I thought that the page rating webpart could bring a good answer to it since you can add it to each created page but as mentionned by the user the process is tedious. That's why this policy has been designed. It brings an answer to that specific problem but can also be used across the entire farm on specific libraries. This is of course intended to be used with pages only, if you go to the settings of any document/page library, you should see this link :

When you click on it, you can define a policy that will be applied on each selected content type :

Just click on Knowledge Base Document and chose this option :

Then specify that you enable the page rating policy with the webpart settings you want to apply :


Once done, you can create (in this case) a knowledge base article :

And when opening the page, you'll see that the page rating webpart has been added to the page automatically :


If you perform exactly the same steps on a regular page library, say that you want to make sure that every welcome page of a given site is made ratable without any extra effort of the contributors. Just go to the page library settings and define the policy on the welcome page content type :

Once done, whenever a contributor creates a welcome page, the rating webpart is added to it automatically :


Note : if for some reason, you do not want to use it for a specific page, just close it. If you remove it, it will be re-added automatically by the policy.

Rating from search results It is now possible to visualize ratings directly from any search results page. Moreover, non-rated content can also be rated from there. The system is based on two components :

-

A farm feature that must be activated to add three new managed properties which are :

-

A custom search core results webpart ensuring that all the rating content types (event yours if any) are taken into account based on their name. Note that this is not the optimal solution but SharePoint does not permit the use of the contenttypeid in managed properties that can be used in the search resultsâ&#x20AC;Ś.Therefore, only names are usable.

The problem with names is that you can change them â&#x2DC;ş. Before performing the search


query, the webpart checks at site collection level(to avoid performance troubles) if you created any custom content type deriving from one of the base types or if you have renamed any of the base types. From the code it's possible to work with contenttypeid.

According to the content types found, the webpart will generate a valid xslt condition on the fly based on the content type names. Activating the search rating features

In the farm features, you (or an admin) need to activate the following feature :

This will create the 3 required managed properties. These properties will only be available for use after a full search crawl takes place. The feature doesn't do it automatically to not interfeer with your business. It's up to an admin to start a full crawl or to plan it.

Note that the document rating feature must be activated first at least in one collection to deploy the content types and then, one of the content types must be associated to a list (doc lib, calendarâ&#x20AC;Ś) and then at least an incremental crawl should occur otherwise the mapping will fail. This is only true for a first time use. Users who are upgrading the document rating system will not encounter any problem at farm feature activation.

In the site collection features, you need to activate the following feature :

Note that the document rating feature and the document rating search feature (farm) must be activated first.

Using the rating search core results webpart

After having activated the feature, you'll find a new webpart in the gallery. If you edit a search results page and click on add new webpart, you should end-up with the following :


When adding the webpart, you'll get :

You can edit its properties and espacially :

The rate label that will appear next to each non-rated yet ratable search result, in other words, next to each item that derives from any of the rating content types.


Clicking either on the stars, either on the "Rate It" label will redirect users to the usual rating page (as from a document library).

Note that of course, the ratings will be taken into account directly but won't be reflected in the search results until the search index gets refreshed by the system.

Performing search queries on the rating value

Now that you benefit from the ContentRating managed property, you can perform search queries to filter items based on their current rating. For example, if you want to look for items that were rated 5 stars, you can just do this :


For 4 stars :

Etcâ&#x20AC;Ś

Note that this syntax can return parasitic results because the number of ratings is also stored in the ContentRating field. So, if you perform a search on "ContentRating:(1)", it will not only return items that were rated one star but also items for which only one rating was done as shown here :


The highlighted item had 5 stars but is included in the search results because it has been rated only once.

Similarly, you can setup and advanced search result page and make use of the ContentRating property to allow search queries on rated items and this time, the queries will be more accurate. Indeed by performing that kind of search :

You will only retrieve 1 star rated items :


Rating Request Workflow This workflow is similar to the out of the box Collect Feedback one but requires participants to apply a rating on the targetted content. As the Collect Feedback workflow, this can be used to :

-

Request one or more participants to rate a specific content

-

One task is assigned per participant

-

The workflow does complete only when all tasks are finished or deleted

-

Participants can decide to apply a rating or to not participate. The latter case causes the task to complete with no rating applied.

-

A given task gets completed only if the assignee is the author of the task modification. In other words, even if an administrator attemps to rate on behalf of an assignee, the rating won't be taken into account and the task won't complete. If you want to cancel a task for a given assignee, just delete it.

-

Unlike the Collect Feedback workflow, reviewers groups are not supported. Participants must be namely added. This has been done "by design" to avoid spamming.

Note that the workflow will also check whether the related item(document, item etc…) is ratable. To be ratable, the item must have a specific content type (document rating, item rating etc…) or must have a custom content type deriving from one of the base rating content types (see the section labelled "Extending the rating system…." for more info).

The workflow is a few steps : Activating the workflow feature The workflow feature can be activated at site collection level and depends on the document rating one. So, in the site collection features, just activate the following feature :

Associating the workflow to a document library

Click on the document library settings => workflow settings and pick up the following workflow :


Specify the startup mode (manual, automaticâ&#x20AC;Ś) and click on next :

Starting the workflow

Once the association has been made, you'll be able to use the workflow. According to the startup mode, its usage will be either manual, either automatic, either both. In case it's a manual start, you can start the workflow the following way :

And then :


The workflow will be marked as In Progress.

In this case, we specified that users demo and demo1 were the participants. The workflow will therefore create two tasks :

Now, when user demo1 loggs in and opens his task, he will get the following screen :


where he can decide to first review the document, apply a rating and leave a comment or not to participate. In the case he decides to choose a 3 stars rating, his rating will be taken into account and applied to the related item :

In this case, the workflow is still in progress since the user demo has not participated yet. The item rating report shows the rating and the comment of user demo1 :

No let's log as user demo, open his task and decide not to participate :

No rating will be applied on that case and after reopening, the task form will display as follows :


The workflow will then go complete and only one rating of the two will be taken into account.

Architecture of the solution


-

Content types are bound to lists. They point to application pages that communicate with the rating engine. They contain three custom fields (vote results, view comments and vote history) to display and store the user ratings item per item.

-

Discussion boards could not be rated using conten types, therefore a custom discussion board list embedding the custom fields has been created. The custom fields point to the application pages.

-

The pages need to show the rating results in their content, therefore a webpart communicating with a web service and using AJAX allows users to rate the pages and displays the rating average.

-

A custom site definition is also available. This is nothing else but a team site with precongifured lists/doc libs for which rating content types have been enabled upon site creation.

Why did I use content types and not only custom fields? This choice has been made for the following reasons : -

Content types are (or should be) heavily used in SharePoint, users are already familiar with them


-

Content types can be derived. Therefore, you can still use your own content types and make them deriving from the rating ones

-

Content types can be embedded within features and activated/deactivated on different areas

-

At last, the rating history is spread over each document/list item and not centralized in a single location. This ensures scalability.

-

Custom field types cannot be embedded "on their own" in features. There are automatically deployed to the farmâ&#x20AC;ŚIf you want to restrict them to specific areas, you must associate them to either content types, either custom lists etc..

AJAX Lookup Field

Brief Presentation of the solution The original aim of that control is to offer an alternative to standard lookup columns. The standard lookup columns can suffer from high performance problems when pointing to lists having thousands of items. The problem is not SharePoint but the browser that takes much time to populate the list and to expand it when picking up and entry. Because of that limit and also for comfort reasons, this AJAX lookup field has been designed.

Usage of the AJAX lookup field -

Just add the column whose the type is AJAX Lookup to any SharePoint list and chose a source list as illustrated below :

-

You can define the number of items to be returned and the number of letters before triggering the AJAX query. Then, just type something within the field, it will return items that match your typing :


Content Type Explorer Brief presentation of the module This module is intended to locate where content types are used across a site collection. If for some reason, you need to remove a content type, you won't be able to do so while it's used somewhere in the collection.

With that module, you can easily identify all the locations using a given content type.

Usage of the module -

Activate the site collection feature as illustrated below :


-

You should find a new link in the site collection galleries :

-

By clicking on the link, you'll be redirected to the following page :

-

Clicking on a specific content type will give you its usage in a fast way (AJAX) :

This page lists the content types used by the active web. If only the ID is returned, it means that the content type is not used anymore. If you see a result like this :


with SPWeb entries, it means that the content type is derived by another content type is the SPWeb targetted by the relative URL.

List Column Manager Brief description of the module This module is intended for site collection administrators who can decide to customize the columns of the list. The goal is to set columns to read-only/write mode, to decide to show/hide them on the display/edit/new forms, to get the CAML code of each associated view, to see the list of the event handlers associated to the list.

Usage of the module -

Activate the site collection feature :

-

After that, you'll find a new link in the list settings of any document library/list types :

-

By cliking on it, you'll be redirected to the following page :

where you can get various information about the columns such as their guid, their visibility, their type etcâ&#x20AC;Ś


Each custom column you added to the list can be hidden, set to read-only etc.. :

These options vary according to the current status of the column. If for instance, you decide to remove it from the edit form, the menu will be adapted as follows :

-

On top of this, you can also have other information on the views and the event handlers associated to the list :

where you can get the CAML code of each view and the assembly signature of each event handler (in this case there is none).

StsAdm Tools The basket system delivers some new stsadm. They give you the possibility to collect some information about the ratings similar to the reports available from the UI but directly from the console. Here are a few screenshots showing how to use the commands and the type of results you can get :


Stsadm –o getwebratings :

Returns the ratings of the given web passed in parameter.

Stsadm –o getwebratings –includedescendants :

Returns the ratings of the given web passed in parameter plus its sub sites.

Stsadm –o getsiteratings :

Returns the ratings of the entire site collection passed in parameter.

Stsadm –o getapplicationratings :

Returns the ratings of the entire web application passed in parameter (including all its site collections).

Stsadm –o activatebasketfeatures :


Activates all the basket features for all the applications/site collections if used without the "-i" flag. When used with the "-i" flag, it prompts you and lets you decide whether you want to activate the features for each application.

Stsadm â&#x20AC;&#x201C;o deactivatebasketfeatures :

Similar to the previous command but deactivates the features instead of activating them.

Supported Languages Currently, the system supports English, French and Dutch (only partially for Dutch).

Source Code The source code is available at : http://www.codeplex.com/sptoolbasket/Release/ProjectReleases.aspx?ReleaseId=21960 Chose the solution labeled SharePoint Tool Basket MOSS.


Feel free to customize the solution and or to make any suggestion that could improve it. If you want to collaborate on the project, you can contact me at stephaneey@hotmail.com


test