Search This Blog

Total Pageviews

Sunday, October 31, 2010

SharePoint Filtered Views in List and Libraries

For lists and libraries with large numbers of items, users can access the items with a mix of views and search. The following are some suggestions for views that work well with an indexed column:

Recently changed: To create a view of only the items that have changed in the past week, you can index the Modified column and then apply the filter Modified (Indexed) is greater than [Today]-7.

New items: To create a view of only those items that were added in the past week, you can index the Created column and then apply the filter Created is greater than [Today]-7.

My items: To create a view of only those items that you added, you can index the Created By column and then apply the filter Created By is equal to [Me].

Due today: For lists or libraries with a Due Date column, you can index that column and then apply the filter Due Date is equal to [Today].

Discussion board updates: To create a view of only the discussions that were updated in the past month, you can index the Last Updated column on a discussion board, create a new Subject view, and then apply the filter Last Updated is greater than [Today]-30.

People and Groups: If you have a lot of people visiting your site, you can improve the performance of the All Groups and All People pages by indexing the Content Type column for the User Information List.

Even if only a few people appear on the All People page, many people visiting the site will result in inactive users being written to the User Information List, which can still affect the performance of this list.
Find links to more information about creating or changing views and about formulas and functions that you can use to filter views in the

Note: Because creating views that use a column index correctly is more complicated for large lists and libraries, you might want to remove the Manage Personal Views permission from contributors for a large list or library. By removing this permission, you can prevent users from creating a view that spans all of the items and that might adversely affect the performance of the rest of the site.

Thursday, October 28, 2010

SQL Server Version

SQL Server 2008 R2
10.5.1720.0 SQL Server 2008 R2 CU2 25 June 2010
10.5.1702.0 SQL Server 2008 R2 CU1 18 May 2010
10.5.1600.1 SQL Server 2008 R2 RTM 12 Apr 201


Bill Graziano at SQLTeam.com has a listing of all the SQL Server versions that come in very handy:

http://www.sqlteam.com/article/sql-server-versions

MCTS SharePoint 2010 Application Development 70-573 Study Guide

There are several study guides about now for example: http://blog.beckybertram.com/Lists/Exam%2070573%20Study%20Guide/AllItems.aspx and http://techtrainingnotes.blogspot.com/2010/05/sharepoint-2010-part-1-preparing-for-70.html, but I wanted to record the articles and blogs etc I’d used.

To help I’ve copied in the Microsoft learning content from http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-573&locale=en-us#tab2

Working with the SharePoint User Interface (19%)

Manage SPSite and SPWeb programmatically by using Visual Studio 2010

Read Inside Windows SharePoint Services 3.0 book: http://www.amazon.co.uk/Inside-Windows-SharePoint-Services-Developer/dp/0735623201/ref=sr_1_1?ie=UTF8&s=books&qid=1282250087&sr=8-1
Implement a dialog by using the Dialog Framework

Tobias Zimmergren’s article on the status bar: http://www.zimmergren.net/archive/2010/03/17/sp-2010-dynamically-displaying-messages-to-your-users-with-the-notification-and-status-bar-areas-in-sharepoint-2010.aspx
MSDN tutorial: http://msdn.microsoft.com/en-us/sharepoint/ee513157.aspx
EndUserSharePoint: http://www.endusersharepoint.com/EUSP2010/2010/05/27/client-side-ajax-applications-in-sharepoint-2010-%E2%80%93-part-5-modal-dialogs/
Create a custom ribbon object

Chris O’Brien’s ribbon customisation series: http://www.sharepointnutsandbolts.com/2010/01/customizing-ribbon-part-1-creating-tabs.html
Customize navigation programmatically

SPWeb.Navigation property: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.navigation.aspx
Customising the navigation: http://msdn.microsoft.com/en-us/library/bb897739.aspx
Custom actions: http://msdn.microsoft.com/en-us/library/ms465980.aspx
Create and apply branding to a SharePoint site

Working with the theme engine: http://blogs.msdn.com/b/sharepointdesigner/archive/2010/04/09/working-with-the-sharepoint-theming-engine.aspx
SPWeb theme property: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.themedcssfolderurl.aspx
Theme class: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.utilities.thmxtheme.aspx
Explanation of masterpages MSDN: http://msdn.microsoft.com/en-us/library/ms443795.aspx
Masterpage tokens: http://msdn.microsoft.com/en-us/library/ms476046%28office.12%29.aspx
CSSLink class: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.csslink.aspx
Developing Web Parts and Controls (21%)

Create Web Parts

Basic web part walkthrough: http://msdn.microsoft.com/en-us/library/ms415817.aspx
Wictor Wilen’s web part event diagram: http://www.wictorwilen.se/Post/SharePoint-Web-Part-Event-Flow-in-detail.aspx
Create connectable Web Parts

Create connected web parts in SP2010: http://msdn.microsoft.com/en-us/library/ff597538.aspx
Debug Web Parts

Waldek Mastykarz’s article on dev dashboard: http://blog.mastykarz.nl/developer-dashboard-monitoring-performance-solutions/
Waldek Mastykarz’s article on ULS logging: http://blog.mastykarz.nl/logging-uls-sharepoint-2010/
Using SPMonitoredScope: http://msdn.microsoft.com/en-us/library/ff512758.aspx
Create and implement delegate controls

MSDN delegate control: http://msdn.microsoft.com/en-us/library/ms463169.aspx
How to customise a delegate control: http://msdn.microsoft.com/en-us/library/ms470880.aspx
Developing Business Logic (19%)

Implement a custom workflow in Visual Studio 2010

MSDN workflows in SP2010: http://msdn.microsoft.com/en-us/library/ms549489.aspx
Implement custom workflow walkthrough: http://msdn.microsoft.com/en-us/library/ee231573.aspx
Association and initiation form walkthrough: http://msdn.microsoft.com/en-us/library/ee231590.aspx
Add an application page to a workflow walkthrough: http://msdn.microsoft.com/en-us/library/ee231598.aspx
Correlation tokens: http://msdn.microsoft.com/en-us/library/ms475438.aspx
Deploying using a feature: http://msdn.microsoft.com/en-us/library/ms414556.aspx
Create a custom workflow action

Expose a custom action in SPD: http://www.chaholl.com/archive/2010/03/13/make-a-custom-activity-available-to-sharepoint-designer-2010.aspx
Create a custom activity walkthrough: http://msdn.microsoft.com/en-us/library/ee231574.aspx
Workflow actions schema: http://msdn.microsoft.com/en-us/library/bb897626.aspx
Create and implement event receivers

How to create event receivers in VS2010 video: http://msdn.microsoft.com/en-us/vstudio/ff623003.aspx
Walkthrough: http://msdn.microsoft.com/en-us/library/ee231563.aspx
Customize Enterprise Content Management (ECM)

Create a custom field control: http://msdn.microsoft.com/en-us/library/aa981226(office.12).aspx
Content type hierarchy: http://msdn.microsoft.com/en-us/library/ms452896.aspx
Create, implement and debug a Timer Job

Andrew Connell’s article about custom timer jobs: http://www.andrewconnell.com/blog/articles/CreatingCustomSharePointTimerJobs.aspx
Creating custom timer jobs how to: http://msdn.microsoft.com/en-us/library/cc406686(office.12).aspx
Debug a timer job P&P: http://msdn.microsoft.com/en-us/library/ff798310.aspx
Create and modify Business Connectivity Service model in Visual Studio 2010

Creating a BDC model in VS2010 video: http://msdn.microsoft.com/en-us/vstudio/ff623022.aspx
Creating a business model walkthrough: http://msdn.microsoft.com/en-us/library/ee231530.aspx
Manage Users, Groups, Permissions

SPGroup class: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spgroup.aspx
SPUser class: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spuser.aspx
SPRoleDefinition class: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.sproledefinition.aspx
SPRole class: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.sprole.aspx
SPRoleAssignment class: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.sproleassignment.aspx
Working With SharePoint Data (22%)

Access list data by using the Server object model

SPDevWiki accessing data in SharePoint: http://www.sharepointdevwiki.com/display/public/Accessing+list+items+using+the+object+model
Tobias Zimmergren’s article about the CAML behind SPLINQ: http://www.zimmergren.net/archive/2010/02/19/sps-2010-linq-to-sharepoint-what-caml-lies-behind-my-query.aspx
SharePoint magazine: http://sharepointmagazine.net/technical/development/writing-caml-queries-for-retrieving-list-items-from-a-sharepoint-list
SPLinq blog article: http://www.makingyourbusinessbetter.com/blog/blog-moss/Lists/Posts/Post.aspx?ID=119
SPMetal and Entities: http://msdn.microsoft.com/en-us/library/ff798329.aspx
Access SharePoint Data by using WCF Data Services

Corey Roth’s article on the listdata.svc: http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/21/introduction-to-querying-lists-with-rest-and-listdata-svc-in-sharepoint-2010.aspx
WCF Data Services Team blog: http://blogs.msdn.com/b/astoriateam/archive/2009/10/21/using-data-services-over-sharepoint-2010-part-1-getting-started.aspx
Access (CRUD) data by using the Client Object Model

Tobias Zimmergren’s getting started with client OM: http://www.zimmergren.net/archive/2009/11/30/sp-2010-getting-started-with-the-client-object-model-in-sharepoint-2010.aspx
MSDN Client Object Model: http://msdn.microsoft.com/en-us/library/ee857094.aspx
Channel 9 video about Silverlight object model: http://channel9.msdn.com/learn/courses/SharePoint2010Developer/ClientObjectModel/SilverlightClientObjectModel/
Work with documents programmatically

SPFile: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfile.aspx
SPFolder: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfolder.aspx
SPFileVersion: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfileversion.aspx
Work with the meta data

User profile manager class: http://msdn.microsoft.com/en-us/library/microsoft.office.server.userprofiles.userprofilemanager.aspx
Taxonomy namespace: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.taxonomy.aspx
Chris O’Brien’s article series: http://www.sharepointnutsandbolts.com/2009/12/managed-metadata-in-sharepoint-2010-key.html
Extending SharePoint Search

Customise search results how to: http://msdn.microsoft.com/en-us/library/bb896018(office.12).aspx
Search query object model: http://msdn.microsoft.com/en-us/library/ms455094(office.12).aspx
Query class: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.search.query.query.aspx
FullTextQuery: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.search.query.fulltextsqlquery.aspx
KeywordQuery: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.search.query.keywordquery.aspx
Implement and debug code that executes in an alternative security context

Waldek Mastykarz’s article on CAS: http://blog.mastykarz.nl/code-access-security-policy-template-visual-studio-2010-sharepoint-developer-tools/
MSDN RunWithElevatedPrivieges: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx
Elevating using a UserToken: http://solutionizing.net/2009/01/06/elegant-spsite-elevation/ or http://msdn.microsoft.com/en-us/library/ms469253.aspx
Create and modify a custom content type

Walkthrough which upgrades a content type: http://qwertconsulting.wordpress.com/2010/04/30/versioning-and-upgrading-your-features-with-sharepoint-2010-application-lifecycle-management/
MSDN creating content types with VS2010: http://msdn.microsoft.com/en-us/vstudio/ff623016.aspx
Deploying content types: http://msdn.microsoft.com/en-us/library/ms479975.aspx
Stabilizing and Deploying SharePoint Components (19%)

Manage a solution in Visual Studio 2010

MS VS2010 blog: http://blogs.msdn.com/b/vssharepointtoolsblog/archive/2009/11/02/getting-started-with-the-sharepoint-packaging-designers.aspx
Manage a feature by using Visual Studio 2010

Chris O’Brien’s upgrading series: http://www.sharepointnutsandbolts.com/2010/06/feature-upgrade-part-1-fundamentals.html
Store and retrieve configuration data

Web modification class on MSDN: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spwebconfigmodification.aspx
Web modification known issues: http://blogs.devhorizon.com/reza/?p=459
SPPersistedObject tutorial: http://www.dotnetspark.com/kb/1554-sppersistedobject-class-sharepoint-tutorial.aspx
Wictor Wilen’s 6 ways article: http://www.wictorwilen.se/Post/Six-ways-to-store-settings-in-SharePoint.aspx
Create a site definition by using Visual Studio 2010

MSDN walkthrough for basic site definition: http://msdn.microsoft.com/en-us/library/ee231583.aspx
MSDN walkthrough for content in site definition: http://msdn.microsoft.com/en-us/library/ff189392.aspx
Manage SharePoint object life cycle by using the Dispose API

SPDisposeCheck homepage: http://code.msdn.microsoft.com/SPDisposeCheck
Dispose patterns: http://blogs.msdn.com/b/rogerla/archive/2008/02/12/sharepoint-2007-and-wss-3-0-dispose-patterns-by-example.aspx
Develop, debug, and deploy sandboxed solutions

MSDN magazine article: http://msdn.microsoft.com/en-us/magazine/ee335711.aspx
Blog explaining how to create a sandbox solution in VS2010: http://blogs.salmanghani.info/?p=349
Blog covering most Sandbox topics including API restrictions and Full Trust Proxies: http://blah.winsmarts.com/2009-12-SharePoint_2010_Sandboxed_Solutions__The_Definitive_Guide.aspx
Sandbox on MSDN: http://msdn.microsoft.com/en-us/library/ee539417.aspx
I hope you find this information useful :D

SharePoint Email alert is not working

Question: How to Troubleshoot Alerts in WSS 3.0 / MOSS

Answer:

The most common issue in alert is the user will get the initial email, but will not get when changes are made to the list where he configured the alert. Check the following settings in order and ensure that it is correct.

1. Is it an upgrade from V2 to V3? If yes, check the upgrade section at the bottom of this page.

2. If this is a new install of V3 (WSS or MOSS), then do the following

a. Create a new web app and see if the alerts work there. If yes, you can move the content db of the non-working site to this one. If customer is not ready to do that, then try the following.

b. Open the command prompt and go to the 12\Bin folder. Run this command and see whether alerts are enabled for the web application.

Stsadm.exe-o getproperty -url http://problemsite -pn alerts-enabled

The expected output is . If you don’t get this, run the following command to change the value.

stsadm.exe -o setproperty -pn alerts-enabled -pv "true" -url http://problemsite

If the property is Yes and still the alerts are not sent, toggle the property from Yes to NO
and then from No to Yes. This may delete all the existing alerts and warn the customer
about this.

c. Check the property job-immediate-alerts schedule through command prompt. Run this command from the 12\bin folder. If we have issues with Scheduled alerts like daily or weekly, then check the property job-daily-alerts and job-weekly-alerts.

stsadm.exe -o getproperty -url http://ProblemSite -pn job-immediate-alerts

The expected output is
. If you don’t get this, run the following command to change the value.

stsadm.exe -o setproperty -pn job-immediate-alerts -pv "every 5 minutes
between 0 and 59" -url http://ProblemSite


d. Confirm the above step through the UI. Central adminàOperationsàTimer Job Definitions and ensure that a job named Immediate Alerts is present for the web application.

e. Configure the alert for a user in a list. Instead of typing the domain name\ user name, type the email address of the user and see if he gets initial email. Then make a change to the list and see whether he gets the mail related to the change.

f. If he gets the alert as expected, then create a new alert and this time select the user from the people picker or type the domain name\user name.

g. If the alert is not working after doing the above step, then check the ImmedSubscriptions / SchedSubscriptions table of the content db of the web application depending on the type of alert and see a new record is added and ensure that the email field for the user is populated correctly. If not, check whether the email address is present in the user’s profile through the SSP admin page.

h. The initial alert is not security trimmed. So irrespective of whether the user has privileges on the list or not, the initial alert will be sent. If the user is not getting alert for any changes, then check whether the user has Read permission on the list.

i. This also happen if there is some issue in their mail provider (third party email providers. In this case, capture the ULS log with all information events in the verbose mode and check for lines which says Alert has been sent.

j. Email enabled security groups can also be used for configuring alerts. If the changes are not notified to the members of the group, check whether the group is added to the list with minimum Read permission. Also some email providers block email groups if the number of members are more than certain number.


k. Open SQL Query Analyzer; connect to the content database of problematic site. Run the following query.

Select * from timerlock

This server is responsible for processing the timer service. You can follow this KB –
http://support.microsoft.com/kb/934838 to sync the accounts and password across the
Farm

The internal working mechanism of how an alert should work in v3:

The EventCache table records the SQL level events as they occur and the EventData and ACL columns are not NULL for an alert event. There is an alerts timer job that runs periodically to process the records in the EventCache. After the alerts timer job runs, it nulls out the EventData and ACL columns. Then, it will log an event into the EventLog table. So check the following in SQL.

select * from eventcache where EventData is not null


This will output all of the subscriptions which have not been processed yet. We can see if there are some alerts which are not processed.

select * from eventlog where ListID = 'xxx'

You can get the ListID from the EventCache table by running

Select * from EventCache and check the documents which correspond to the problematic list.

If you cannot find any record, perform the following tests:

Run filemon on the MOSS server which is responsible for the timer service and check if the Timer
service picks up the alert template during the whole process.

Upload a new document to the document library which is supposed to have the alerts. Begin running
the filemon and analyze the logs.

p. select * from eventcache order by EventTime DESC

Check if the latest log is the one corresponds to your uploaded document. Make sure the EventData and ACL columns are not NULL.

After 5 minutes or more minutes, check the EventCache table again to see if the EventData and ACL columns are NULLed.

If so, stop filemon after the EventData and ACL columns are NULLed . Review log.


Upgrade from V2 to V3

1. Check this KB - http://support.microsoft.com/kb/936759/en-us

2. If no alerts are getting triggered even for a new web app, then run the Psconfig Wizard without changing any options.


The timer job displayed an older date because the upgrade job was hung


3. If the alert works on new web apps, then you can move the site collections from the upgraded web app to the newly created web app through stsadm –o backup / restore or stsadm –o export / import. This action will be useful only if you have fewer site collections and this is only a workaround.

Case Study



ERROR MESSAGE:
================
Running the psconfig wizard fails immediately with "Unable to upgrade SharePoint
Products and technologies because an upgrade is already in progress"
No psconfig process in task manager



CAUSE:
=======
The timer job displayed an older date because the upgrade job was hung

RESOLUTION:
============
Sharepoint central administration page->Operations->Timer job definitions
Asked client to delete the "Upgrade job"
Now the psconfig wizard ran fine

Timer job definition showed all the jobs with the latest date. Especially the
Immediate alerts job

Filed under: News

Saturday, October 23, 2010

LINQPAD



For .NET Framework 4.0: & For .NET Framework 3.5:
Download LINQPad.exe
http://www.linqpad.net/


How to use Effectively in LINQPAD below video will explain you more…

SharePoint 2010 Announcement webpart Background color

To change the Background color of the Announcement webpart.
Please find the following script tag.


Open the announcement webpart home page in sharepoint designer Add the following script.

Monday, October 4, 2010

SharePoint 2010 Publishing site

SharePoint 2010 Publishing site :

When you create a sharePoint Publishing site by defauly you can able to see only 2 sub site templates avaliable, but you can able to configure what are the types only site owners can create as a sub site.

Publishing site is not listing all list & Libraries

When you are working on the publishing site by default all list and libraries it will not appear.

if you want list like announcement & quick links then you need to active the "Team Collobration Lists" Feature