SharePoint 15 Technical Preview Managed Object Model Software Development Kit

Today Microsoft released a new technical preview containing a small chm file with more information concerning the SharePoint vNext.
You can download the SDK from here, note that is not final and can be updated or changed…

A brief overview of what we could expect:

SPFileRightsManagementSettings:
Represents the Information Rights Management (IRM) settings for file downloads in Microsoft SharePoint Foundation.

SPLanguageSettings:
Represents set of language preferences. The SPLanguageSettings object can be accessed via the SPUser object to return user’s language preference.

Microsoft.SharePoint.SPListDataValidationException.SPFailure
Describes a specific validation failure when a list item is inserted or updated.

Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2BearerCredentials
Facebook Platform uses the OAuth 2.0 protocol for authentication and authorization, just like the Google API, Foursquare and Yammer…
But I’m sure more external systems are available and support this protocol…

Microsoft.SharePoint.WebControls.SPPageContentManager
Manages all the resource content that may be registered on a SharePoint page, including script files, inline scripts, style files, inline styles, and hidden input fields. Spweb ensures that the content can be either appropriately placed on a fully-rendered HTML page or correctly transmitted to a browser in the case of a partial page load.

I hope more will be available soon!

Tom

VN:F [1.9.22_1171]
Rating: 9.3/10 (4 votes cast)
VN:F [1.9.22_1171]
Rating: +2 (from 2 votes)

BIWUG EVENT: ‘High Availability’ & ‘SharePoint BI’ – BIWUG1303

SharePoint 2010 High Availability & Disaster Recovery

Do you know what it takes to have your precious SharePoint environment up at all times?

In this session we’ll explore the ins and outs of HA & DR. What’s the difference between them? What requirements do you have to gather in order to architect a solution? What works and what doesn’t? What conditions have to be met? What technologies are involved?

We won’t cover every solution under the sun but try to give you a decent overview of the landscape.

How to Track Your Project Resources by Using SharePoint BI and MS Project Server

How do you create and use a project dashboard to track people and projects? Let us show you how by using the BI features from SharePoint 2010 on top of Project Server 2010 data.

We will use the different tools that are available within SharePoint 2010 and suggest which tool you use for which purpose. It will be a mix of slides and demo’s.

After this session you will have a good overview of the SharePoint BI world, demonstrated with project server data but off course it can be any data.

 


 

Agenda:

18:00 – 18:30 … Welcome and snacks

18:30 – 19:30 … SharePoint 2010 High Availability & Disaster Recovery  ( Speaker: Thomas Vochten )

19:30 – 19:45 … Break

19:45 – 20:45 … How to Track Your Project Resources by Using …  ( Speaker: David Smeets )

20:45 – …      … SharePint!

 

Hope to see you there!

Tom

 

VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Visual Studio 2011 – SharePoint developer preview – Screenshot’s for everyone!

Visual Studio 11 Developer Preview is available for you to download for free.

I took the liberty to download it and install it on a new cloudshare environment server and explored the newest version. While doing so I took some screenshots to share with you..

They seem very promising!

1 2

35

the installation took some time, but I received not a single error or warning message during the process.

6

7

8

The package interface has been updated, the 3 tabs design, advanced and manifest are located at the top of the form.

9

The content type designer allows you to select and order the site columns that are available, the grid view has smart intellisense so it filters the available fields based on what you’ve provided in the textbox.

10 
The package option has been switched to an new publish option.

11 
With this dialog you can decide if you want to publish your sandboxed solution to a SharePoint (online) environment or a specific folder, what in my opinion means you are packaging the solution into a single wsp file.

The MSDN library has been updated in a topic called
What’s New SharePoint Development in Visual Studio 11 Developer Preview

Hope you like it!

Tom

VN:F [1.9.22_1171]
Rating: 10.0/10 (3 votes cast)
VN:F [1.9.22_1171]
Rating: +2 (from 2 votes)

SharePoint 2010 – The Performance Guide – Part 3 – SharePoint out of the box performance boosters

  1. Why is performance important?
  2. SharePoint out of the box performance boosters
  3. Track bottlenecks while using the SharePoint Developer Dashboard
  4. Track bottlenecks while using firebug
  5. Track bottlenecks while using Ants Performance Profiler
  6. SharePoint API considerations and best practices ….

Caching

In my opinion on of the most important tools in a performance improver toolbox is the proper use of caching.

Caching is a technique that allows us to store a specific result in memory. This allows us to retrieve the same information very quickly from memory as soon as it is retrieved from the first time. A huge performance improvement can be archived when the application doesn’t have to access the ‘slow"’’ web service or calculation each time an end users performs an action.
There is however a very important downside with caching that could have a huge impact on your application. As soon as you cache a certain result, it is not ‘up-to-date’ anymore.

Browser caching

Browser caching is always available but the browser needs direction on what files are the same and what files need to be retrieved from the site again. The files are stored in a specific folder in your OS. For Internet Explorer, these hidden files are stored in:
C:\Users\<username>\AppData\Local\Microsoft\Windows\Temporary Internet Files\

When the browser performs the request to the website, normally it receives a 200 OK response code and the Last-Modified value in the header will be used by the browser in order to decide if a new version of the file needs to be retrieved from the specific website.

When the site returns instead of a 200 OK response code a 304 not-modified response, it means that the file in the browser cache can be reused.

A variety of cache related headers are superior to the Last-Modified header because they can do more than merely provide a clue about the version of a resource…
Expires Header can be used to specify static content like images to ‘never expire’, but for dynamic content it is better to make use of the Cache-Control Header like ‘Expires: Fri, 20 Jan 2012 01:00:00 GMT’ or max-age=28800’. This latest example states that the object is stale after 8 hours in the browser cache.

How does this affect my SharePoint solution?
Well SharePoint sets these Cache-Control headers for us, the following table explains what values are set.

style library has the value private,max-age=0, this means do not cache
_layouts folder has the value max-age=31536000, this means cache 1 year

Blob caching

Blob caching is a setting you enable in the web.config file of your web application. As soon as this configuration option is enabled it modifies the max-age value to the max-age attribute of each file with the extension described in the configuration element.

<BlobCache location="C:\biwug\blobcache" path="\.(gif|jpg|jpeg|jpe|jfif|…|wma|wmv)$" maxSize="10" enabled="true" max-age="86400" />

Information: http://technet.microsoft.com/en-us/library/cc770229.aspx
flush cache:http://technet.microsoft.com/en-us/library/gg277249.aspx
Internals:http://sharepointinterface.com/2009/06/18/we-drift-deeper-into-the-sound-as-the-flush-comes/

ASP.NET Session State

ASP.NET Session state provides a place to store values that will persist across page requests. Values stored in Session are stored on the server and will remain in memory until they are explicitly removed or until the Session expires.

The combination of using ASP.NET Session State with a SQL server to store the data in is a perfect scenario whenever you are working in a farm with multiple WFE’s and you want to store data in the Session object of the Page and don’t have to worry about the load balancer.

More details concerning the SharePoint 2010 Session State Service can be found here:

http://blogs.msdn.com/b/markarend/archive/2010/05/27/using-session-state-in-sharepoint-2010.aspx

Page output cache profiles caching

Publishing feature infrastructure and publishing feature are required on your site collection

The page output cache stores the rendered output of a page. It also stores different versions of the cached page, based on the permissions of the users who are requesting the page. Page output cache settings can be configured at the site collection level, at the site level, and for page layouts. By default, the page output cache is turned off.

http://shannonbray.wordpress.com/2010/04/04/digging-deeper-into-the-2010-caching-options-part-2/

Object cache

Publishing feature infrastructure and publishing feature are required on your site collection

In SharePoint Server 2010 you’ve got the option to use Object Caching, this technology allows us to cache specific page items. This is very useful while using Cross-List data queries.

Working with large lists , Resource Throttling

A new feature in SharePoint Server 2010, resource throttling provides options for monitoring and throttling server resources and large lists for Web applications. This enables you to control resource utilization during peak usage and prevent user activity from negatively affecting server performance.

http://community.bamboosolutions.com/blogs/sharepoint-2010/archive/2011/01/05/sharepoint-2010-cookbook-resource-throttling-settings-for-large-lists.aspx

http://tomvangaever.be/blogv2/tag/large-lists/

VN:F [1.9.22_1171]
Rating: 9.7/10 (3 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

SharePoint 2010 – The Performance Guide – Part 3 – Track bottlenecks while using the SharePoint Developer Dashboard

  1. Why is performance important?
  2. SharePoint out of the box performance boosters
  3. Track bottlenecks while using the SharePoint Developer Dashboard
  4. Track bottlenecks while using firebug
  5. Track bottlenecks while using Ants Performance Profiler
  6. SharePoint API considerations and best practices ….

Track bottlenecks while using the SharePoint Developer Dashboard ?

As SharePoint developers we aren’t only responsible for creating the functionality that is required, but we are also responsible for the overall quality of the solution we build. This means an ergonomic fluent user interface, code that is suitable for changes and in my opinion one of the most important aspects, a good performance. Most of these topics are described in white papers, best practices and millions of books and blog posts… but wouldn’t it be a pleasure if it was already in the platform? Yes, indeed!

SPMonitoredScope

That is why the SharePoint team provided us with the developer dashboard and the SPMonitoredScope class! I’ve already written a blog post concerning the how and the what of the developer dashboard here: http://bit.ly/yKmBSR

Custom master page

When you are using a custom master page and not the out-of-the-box v4 master page the controls that are rendering the dashboard aren’t available. But it is allowed to provide these controls in your custom master page in order to benefit from the functionality it contains. Remember to specify the SharePoint webcontrols assembly in order to use the DeveloperDashboardLauncher and the DeveloperDashboard  controls. In combination with the SPSecurityTrimmedControl you can enable this control only for members of a specific SharePoint group.

MSDN: Implementing and using the Developer Dashboard: http://msdn.microsoft.com/en-us/library/ff512745.aspx

Developer Dashboard CSS

Most times the branding is not the default css, so when you open the develop dashboard the formatting is not as readable as you would want to.
Add these CSS classes to your css file in order to format the developer dashboard.

  .ms-developerdashboard > table
  {
   vertical-align: top;
   width: 100%;
   border: 2px solid;
   float: left;
   background-repeat: repeat-x;
   background-color: white; /* [RecolorImage(themeColor:"Dark2")] */
   background-image: url("/_layouts/images/settingsgraphic.jpg");
   white-space: nowrap;
   padding: 0;
   margin: 0;
  }
  .ms-developerdashboard > table tr td
  {
   vertical-align: top;
   background-color: transparent;
   font-family: tahoma;
   font-size: 8pt;
   text-align: left;
  }
  .ms-developerdashboard > table th
  {
   background: #ebf3ff url("/_layouts/images/bgximg.png") repeat-x -0px -381px;
   border: 1px solid #add1ff;
   width: 100%;
   vertical-align: top;
   font-size: 8pt;
   font-weight: bold;
   color: #606060;
  }
  .ms-developerdashboardnav > ul
  {
   margin-top: 0px;
   white-space: nowrap;
  }
  .ms-developerdashboardnav ul li
  {
   list-style-type: disc;
   line-height: 14px;
   margin-left: 25px;
  }
  .ms-developerdashboardnav ul li a
  {
   font-size: 8pt;
   color: #6699CC;
  }

Anonymous access.

Waldek Mastykarz has written an excellent blogpost about this:

http://blog.mastykarz.nl/enable-developer-dashboard-anonymous-users/

Hope it helps

Tom

VN:F [1.9.22_1171]
Rating: 9.3/10 (3 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Installing nopCommerce step by step

 

Nopcommerce is a very popular (23642 downloads) opensource asp.net shopping application platform. Even if you are not interested in a webshop solution it is a very good reference project for your custom asp.net application.
from http://www.nopcommerce.com: nopCommerce is a fully customizable shopping cart. It’s stable and highly usable. nopCommerce is an open source e-commerce solution that is ASP.NET 4.0 based with a MS SQL 2005 (or higher) backend database. Our easy-to-use shopping cart solution is uniquely suited for merchants that have outgrown existing systems, and may be hosted with your current web host or our hosting partners. It has everything you need to get started in selling physical and digital goods over the internet.

 

Before we start I want to mention how easy it was to install this application on my dev environment. My first impression about a custom solution is based on how easy and professional the installation is done. In order to get the installation wizard working I had some minor options I needed to tweak on my development instance and I would like to share them with you. If you see room for improvement don’t hesitate to post a comment!!! 

  1. Download the nopcommerce (no source code) rar file from codeplex from here:
    http://nopcommerce.codeplex.com/releases/
  2. Create a new Domain Service Account called nopcommerceServiceAccount, this account will be used as service account for the application pool in IIS.
  3. Open run and type inetmgr
  4. Create a new website in IIS
    1. Right click the website node and create a new site 
    2. Open the application pool node and right click the application cool that is created for your new site
      1. change the application pool identity to a new created domain account that is created specific for your shop
      2. domain\nopcommerceServiceAccount
    3. click on the Advanced settings
    4. Verify that the .NET Framework Version is set to v4.0
    5. Extract the content of the nopCommerce(nocode).rar file into the c:\inetpub\wwwroot\shop folder
    6. Right click the shop folder, open properties and give your application pool identity (nopcommerceServiceAccount) the following permissions :
      1. Read & Execute
      2. Write
      3. Modify
        1. Or give your secret account full control :)
  5. Open SQL Server management studio
    1. Create a new SQL Database on your database server named (servername_nopcommerce)
    2. Give your application pool identity the correct permissions (read and write is sufficient I think)
  6. Open the website in your browser and navigate towards the following url:  http://server/install
  7. Provide the requested information
    1. Admin user mail
    2. Admin user password
    3. Checkout create sample data
    4. Check use an existing SQL server database
    5. Provide the correct connectionstring settings like servername and database name
  8. Click Install (see possible messages below)
  9. Behold your nopcommerce site operational
  10. Specific configuration

 

HTTP Error 500.19 – Internal Server Error”.
This issue occurred when the application pool identity didn’t have permissions towards the inetpub/wwwroot folder where the nopcommerce files were copied. (see 3.6)
Unrecognized attribute ‘targetFramework’. Note that attribute names are case-sensitive.
  This issue occurred when the application pool  .NET Framework Version was note set to v4.0 (see 3.4)

Access to the path ‘C:\inetpub\wwwroot\shop\Plugins\bin’ is denied.
  This issue occurred when the application pool identity didn’t have the writepermissions towards the inetpub/wwwroot folder where the nopcommerce files were copied. (see 3.6)
Setup failed: System.Exception: Database does not exist or you don’t have permissions to connect to it at Nop.Web.Controllers.InstallController.Index(InstallModel model) in f:\Own\NopCommerce\Sources\src\Presentation\Nop.Web\Controllers\InstallController.cs:line 406
  This issue occurred when the SQL database that you provided was not created yet (see 4)

Nopcommerce projects are not loaded in Visual Studio 2010
ASP.NET MVC 3 Tools Update is required:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=1491#overview.

Hope it helps!

Tom

VN:F [1.9.22_1171]
Rating: 9.1/10 (9 votes cast)
VN:F [1.9.22_1171]
Rating: +2 (from 4 votes)