CKS Dev for Visual Studio 2012 is here

The Community Kit for SharePoint: Development Tools Edition extends the Visual Studio 2012 SharePoint project system with advanced templates and tools. Using these extensions you will be able to find relevant information from your SharePoint environments without leaving Visual Studio. You will have greater productivity while developing SharePoint components and you will have greater deployment capabilities on your local SharePoint installation.

CKSLogo

This version is targeted for users running SharePoint 2010 or SharePoint 2013. You only need this version regardless of SharePoint edition or version.

Previous Visual Studio 2010 versions can be found CKS – Development Tools Edition (Foundation) and CKS – Development Tools Edition (Server)

Features

This project provides extensions to four core areas; Environment, Exploration , Content and Deployment.

Exploration extends the new SharePoint Explorer with advanced information about SharePoint sites such as the installed Web Parts and Master Pages or the Feature dependencies and elements. Also included in the Explorer are a variety of import functions to bring existing SharePoint items into your active solution.

The Content area includes advanced templates such as Linq to SharePoint, Custom Action or Delegate Control. Become extra productive while developing sandboxed solutions using the SharePoint Full Trust Proxy. Utilise the SharePoint Console Application project template to quickly build SharePoint code.

Our enhanced Deployment functions give you the ability to utilise quick deployment and almost a dozen other productivity enhancing deployment steps, including automated deployment (per file on change deployment).

Find the complete overview of all the CKS Development Tools Edition features on the documentation tab of the project site.

Incoming search terms:

AutoSPInstaller – Auto-create local profiles for SharePoint Service Accounts

SharePoint is a big product and there’s a lot of people in the world working on it.. so it’s funny to be working on a specific issue, then coming full circle and either Bing’ing upon your own old blog post, or, as today, seeing that someone has adopted what the guy sitting next to you blogged a while ago into the current code you are looking at.

What

While running SharePoint 2010 you may notice the following error Event ID 1511 messages in your Application event log each time you restart the IIS Worker process and made a request:

Log Name: Application
Source: Microsoft-Windows-User Profiles Service
Date: 5/3/2010 10:05:07 AM
Event ID: 1511
Task Category: None
Level: Error
Keywords:
User: CONTOSO\AppPoolAccount
Computer: SP2010Dev.contoso.com
Description:
Windows cannot find the local profile and is logging you on with a temporary profile. Changes you make to this profile will be lost when you log off.

So What

If your SharePoint services accounts are being run under the Application Pools then you are not going to see this message. If you are however using a separate account to run your Application Pools you are probably going to see this error in your event logs.

You need to get those accounts to fire up a local profile – this could in the simplest sense be accomplished by logging on as each of those accounts once. Nasty!

The better approach- well, I was looking at scripting a PowerShell to run the following en masse for all of an installs service accounts:

runas /u:CONTOSO\AppPoolAccount /profile cmd

..however, knowing that we have had some joy with the AutoSPInstaller recently, I thought I’d poke around that and see if we couldn’t just wire in the creation of the local profiles into that solution, so it would be taken care of in the same go as batch account creation.

Well, poking around the AutoSPInstaller file AutoSPInstallerFunctions1.ps1 is discovered the following magical discovery – look’s like my homeboy Sean (on his Brainlitter blog post) has already inspired this fix (change 72193) to be added to the AutoSPInstaller codebase! :

The suggestion from matein78 got added in as a patch:
- AddManagedAccounts function now creates local Windows profiles for each account, to avoid ’1511′ type event log errors (thanks to user matein78′s suggestion from http://autospinstaller.codeplex.com/workitem/15535!)

NOTE: I created a stripped down version of this functionality that doesn’t require the main AutoSPInstaller script, i.e. you can run it manually on a hand-deployed SharePoint install. Read about it here.

..which is implemented as:

ForEach ($account in $xmlinput.Configuration.Farm.ManagedAccounts.ManagedAccount)
		{
            $username = $account.username
            $password = $account.Password
            $password = ConvertTo-SecureString "$password" -AsPlaintext -Force 
			# The following was suggested by Matthias Einig (http://www.codeplex.com/site/users/view/matein78)
			# And inspired by http://todd-carter.com/post/2010/05/03/Give-your-Application-Pool-Accounts-A-Profile.aspx & http://blog.brainlitter.com/archive/2010/06/08/how-to-revolve-event-id-1511-windows-cannot-find-the-local-profile-on-windows-server-2008.aspx
	        Try
			{
				Write-Host -ForegroundColor White " - Creating local profile for $username..." -NoNewline
				$credAccount = New-Object System.Management.Automation.PsCredential $username,$password
				$ManagedAccountDomain,$ManagedAccountUser = $username -Split "\\"
				# Add managed account to local admins (very) temporarily so it can log in and create its profile
	    		If (!($LocalAdmins -contains $ManagedAccountUser))
				{
					$builtinAdminGroup = Get-AdministratorsGroup
                    ([ADSI]"WinNT://$env:COMPUTERNAME/$builtinAdminGroup,group").Add("WinNT://$ManagedAccountDomain/$ManagedAccountUser")
				}
				Else
				{
					$AlreadyAdmin = $true
				}
				# Spawn a command window using the managed account's credentials, create the profile, and exit immediately
				Start-Process -WorkingDirectory "$env:SYSTEMROOT\System32\" -FilePath "cmd.exe" -ArgumentList "/C" -LoadUserProfile -NoNewWindow -Credential $credAccount
				# Remove managed account from local admins unless it was already there
                $builtinAdminGroup = Get-AdministratorsGroup
	    		If (-not $AlreadyAdmin) {([ADSI]"WinNT://$env:COMPUTERNAME/$builtinAdminGroup,group").Remove("WinNT://$ManagedAccountDomain/$ManagedAccountUser")}
				Write-Host -BackgroundColor Blue -ForegroundColor Black "Done."
			}

Now What

Now I sit back and relax as the circle of life has been completed and this is one less bit of code to write today. Thanks to Sean, Todd Carter, matein78 and of course brianlala for writing AutoSPInstaller and adding this patch!

References:
Sean Wallbridge (my boss):
http://blog.brainlitter.com/2010/06/08/how-to-resolve-event-id-1511windows-cannot-find-the-local-profile-on-windows-server-2008/

AutoSPInstaller:
http://autospinstaller.codeplex.com

Todd Carter:
http://www.todd-carter.com/post/2010/05/03/give-your-application-pool-accounts-a-profile/

Incoming search terms:

SharePoint 2010 101 Code Samples

The SharePoint 2010 101 Code Samples set of examples is an excellent starting point for Developing with SharePoint.

Each code sample is part of the SharePoint 2010 101 code samples project. These samples are provided so that you can incorporate them directly in your code.

Each code sample consists of a standalone project created in Microsoft Visual Studio 2010 and demonstrates a distinct feature or feature set. Each sample includes comments describing the sample and the expected results. Each sample also contains comments that explain how to set up your environment so that the sample code runs, where necessary.

Microsoft SharePoint 2010 gives you the tools needed to create powerful applications. These managed code (C#, VB.NET, JavaScript, XML) samples can assist you in creating your own applications that perform specific functions or as a starting point to create more complex solutions.

To open a solution:
1. Start Microsoft Visual Studio 2010.
2. On the File menu, click Open, and then click Project/Solution.
3. Navigate to the folder containing the .sln file, select it, and then click Open.

To run a solution:
1. In the solution files, read and follow the comments that describe how to set up your environment if necessary.
2. On the Build menu, click Build Solution.
3. When you have a successful build, right-click the project in the Solution Explorer window, and then click Deploy.

List of all Examples in the pack:

SharePoint 2010 Developing Styled Master Pages
This sample creates and deploys branded master pages to customize SharePoint sites, including custom stylesheets and images.

SharePoint 2010 Developing JQuery-Enabled Web Parts
This sample develops a Web Part that uses the JQuery library to display items from a SharePoint list.

SharePoint 2010 Hosting Silverlight Applications that Call Azure Services
This sample calls WCF web services that are hosted in Windows Azure from Silverlight applications that are stored in SharePoint.

SharePoint 2010 Developing AJAX-Enabled Web Parts
This sample creates a SharePoint Web Part that uses Ajax UpdatePanel and UpdateProgress controls to call server-side methods.

SharePoint 2010 Leveraging HTML5 Objects in SharePoint
This sample uses custom SharePoint master pages to enable IE9 and other compliant browsers to render HTML5 tags such as <audio>.

SharePoint 2010 Creating List Items from Silverlight
This sample creates SharePoint list items by calling the SharePoint Client Object Model from Silverlight applications.

SharePoint 2010 Developing Web Templates
This sample creates web templates, which are similar to SharePoint site definitions, but can be used in sandboxed solutions.

SharePoint 2010 Creating Document Sets Programmatically
This sample creates new SharePoint document sets and configures their properties.

SharePoint 2010 Developing List Definitions
This sample uses declarative programming to create a SharePoint list definition and an instance of that list.

SharePoint 2010 Developing Custom Navigation Providers
This sample creates and deploys two links to the top link bar on a SharePoint site.

SharePoint Online Accessing Web Services
This sample connects to SharePoint Online, authenticates by using claims authentication, and then displays the contents of a SharePoint Online list.

SharePoint 2010 Querying SQL Azure Data from Web Parts
This sample queries a SQL Azure database from code in a SharePoint Web Part.

SharePoint 2010 Developing Sequential Workflows
This sample develops SharePoint sequential workflows based on items in task lists.

SharePoint 2010 Creating Custom Field Types
This sample creates a new field type that adds options for users who create new columns in SharePoint lists, libraries, or content types.

SharePoint 2010 Creating Items in Lists from External WCF Services
This sample creates SharePoint list items by calling a method in a WCF service that uses the SharePoint List Data Retrieval Web Service.

SharePoint 2010 Developing Workflow Activities
This sample creates and deploys custom workflow activities that can be used in SharePoint Designer to extend workflows.

SharePoint 2010 Performing Cross-List Queries
This sample uses the SPSiteDataQuery class to find items from all the lists in a SharePoint site.

SharePoint 2010 Creating Custom Timer Jobs
This sample creates and schedules a SharePoint timer job that runs code at regular intervals.

SharePoint 2010 Developing Starter Master Pages
This sample sets master pages for SharePoint sites by using feature receivers, and deploys master pages without styles or images as starters for branded master pages.

SharePoint 2010 Updating SQL Azure Records from Web Parts
This sample saves changes to a SQL Azure record by using code in a SharePoint Web Part.

SharePoint 2010 Uploading SharePoint Library Content to Azure Storage
This sample uploads files from a SharePoint document library to Windows Azure storage.

SharePoint 2010 Displaying Video Files Stored in Azure
This sample displays videos stored in Windows Azure in Silverlight applications.

SharePoint 2010 Creating SQL Azure Records from Web Parts
This sample inserts records into SQL Azure tables by using code in SharePoint Web Parts.

SharePoint 2010 Developing Feature Receivers
This sample develops a Feature receiver that performs an action when Features activate and cleans up when Features deactivate.

SharePoint 2010 Calling Azure Services from Event Receivers
This sample calls WCF web services hosted in Windows Azure from SharePoint event receivers.

SharePoint 2010 Using JavaScript and CAML to Query Lists
This sample uses the SharePoint Client Object Model to display the details of all the items in a SharePoint list.

SharePoint 2010 Creating Custom SharePoint Service Applications
This sample returns the current weekday by using a custom service application for SharePoint.

SharePoint 2010 Creating Content Types Programmatically
This sample creates SharePoint content types nondeclaratively in code.

SharePoint 2010 Developing Connected Web Parts
This sample creates two SharePoint Web Parts that you can connect to exchange information.

SharePoint Online Authenticating Using the Client-Side Object Model
This sample connects to, and authenticates in, SharePoint Online.

SharePoint 2010 Using REST to Discover the Contents of Excel Worksheets
This sample displays the names of tables that are in a spreadsheet by calling RESTful Excel Web Services.

SharePoint 2010 Displaying User Profile Pictures Programmatically
This sample evaluates and displays the pictures of all users who have set profile pictures in a Web Part.

SharePoint 2010 Using LINQ in REST Requests
This sample uses LINQ queries to return filtered lists of items from SharePoint lists.

SharePoint 2010 Accessing SharePoint Lists from External WCF Services
This sample writes a WCF service that returns all the items in SharePoint lists, and includes a sample client console application to test the service.

SharePoint 2010 Calling Azure Services from Web Parts
This sample calls WCF web services hosted in Windows Azure from SharePoint Web Parts.

SharePoint 2010 Performing Searches from Silverlight
This sample calls the SharePoint Search web service from a Silverlight application.

SharePoint 2010 Performing Searches from Web Parts
This sample calls a SharePoint Search or FAST Search service application from a Web Part.

SharePoint 2010 Creating Content Organizer Rules Programmatically
This sample creates and configures content organizer rules for content types in SharePoint document libraries.

SharePoint 2010 Creating Taxonomies Programmatically
This sample adds SharePoint groups, term sets, and terms to a term store programmatically.

SharePoint 2010 Developing Custom Field Controls
This sample creates custom field controls that display and edit fields on SharePoint publishing sites.

SharePoint 2010 Developing Application Pages
This sample creates and deploys a simple application page that displays information about the current SharePoint site, and modifies its description.

SharePoint 2010 Programmatically Reading User Profile Properties
This sample obtains properties from all SharePoint user profiles in your organization.

SharePoint 2010 Developing Event Receivers
This sample develops and registers an event receiver that intercepts SharePoint list item events such as ItemAdded and ItemUpdating.

SharePoint 2010 Managing Document Sets Programmatically
This sample reads properties from all the document sets in a given SharePoint document library.

SharePoint 2010 Deleting SQL Azure Records from Web Parts
This sample deletes records in SQL Azure by using code in SharePoint Web Parts.

SharePoint 2010 Calling Azure Services from Custom Workflow Activities
This sample calls WCF web services hosted in Windows Azure from code in SharePoint workflows.

SharePoint 2010 Accessing List Items from Silverlight
This sample returns items in SharePoint lists (in Silverlight applications) by using the SharePoint Client Object Model.

SharePoint Online Creating Documents Using Word, PowerPoint, or OneNote Web App
This sample creates custom ribbon actions that use JavaScript and Office Web Apps to create new Word, PowerPoint, and OneNote documents.

SharePoint Online Creating and Deploying Sandboxed Workflow Activities
This sample creates a workflow activity that functions in a sandboxed solution on SharePoint Online.

SharePoint 2010 Importing Content by Using the Content Deployment API
This sample imports content from CMP files into SharePoint lists by calling the Content Migration API.

SharePoint 2010 Developing Connected Silverlight Web Parts
This sample creates interconnected custom SharePoint Web Parts that can host Silverlight applications that exchange information.

SharePoint 2010 Programmatically Finding Tagged Items
This sample locates terms that match input strings and then locates all items tagged with those terms in SharePoint lists.

SharePoint 2010 Logging Site Events Programmatically
This sample develops and registers event receivers to intercept web events such as SiteDeleted and WebMoved, and logs those events to a list for auditors.

SharePoint 2010 Using REST to Obtain Excel Charts
This sample obtains image files of charts from Excel spreadsheets via REST.

SharePoint 2010 Calling WCF Services from Web Parts
This sample calls a WCF service that retrieves data after users click a button in a SharePoint Web Part.

SharePoint 2010 Deleting Items in Lists from External WCF Services
This sample creates a WCF service that finds a SharePoint item and deletes it.

SharePoint 2010 Using JavaScript to Edit and Save Values in Items
This sample uses the SharePoint Client Object Model to change items in SharePoint lists.

SharePoint 2010 Developing Page Layouts
This sample creates and deploys custom page layouts for content types in SharePoint publishing sites.

SharePoint 2010 Declaring Records Programmatically
This sample can determine whether a document is a record and declare it as a record.

SharePoint 2010 Calling Azure Services from Timer Jobs
This sample calls WCF web services hosted in Windows Azure from SharePoint timer jobs.

SharePoint 2010 Developing Solution Validators
This sample develops SharePoint solution validators that check activating user solutions and help verify sandboxed solutions.

SharePoint 2010 Developing Custom Expiration Actions
This sample specifies custom actions to take and code to run after a document expires against a SharePoint information management policy.

SharePoint 2010 Retrieving List Contents and Parsing Atom Responses
This sample gets all the items in a SharePoint list by using the RESTful List Data web service.

SharePoint Online Creating and Deploying Sandboxed Event Receivers
This sample responds to item events (such as ItemAdded) in sandboxed event receivers.

SharePoint 2010 Using REST to Query Data Ranges in Excel Worksheets
This sample gets and displays data from a date range in an Excel spreadsheet by querying RESTful Excel Web Services.

SharePoint 2010 Developing Ribbon Actions
This sample adds a button control (to the SharePoint ribbon) that runs JavaScript when clicked.

SharePoint 2010 Developing Delegate Controls
This sample creates an ASP.NET user control to replace the standard SharePoint Global Navigation.

SharePoint 2010 Working with Disposable Objects
This sample disposes SPWeb and SPSite objects properly so that they do not unnecessarily consume memory.

SharePoint 2010 Logging Data to the Developer Dashboard
This sample uses monitored scopes to log information to developer dashboards, and includes scripts to enable and disable those dashboards.

SharePoint Online Creating Excel Worksheets by Using Excel Web App
This sample creates custom ribbon actions that use JavaScript and Excel Web Apps to create new spreadsheets.

SharePoint 2010 Using JQuery to Retrieve List Contents in JSON
This sample uses the JQuery library to obtain and display items in SharePoint lists.

SharePoint 2010 Retrieving Single List Items in REST Requests
This sample gets a single item from a SharePoint list by using the RESTful List Data web service.

SharePoint 2010 Calling WCF Services from Custom Workflow Activities
This sample calls a WCF service from a SharePoint workflow that starts after a new item is created, and then modifies the item body field of that workflow.

SharePoint 2010 Retrieving List Contents in JSON Format and Parsing Responses
This sample gets items from SharePoint lists in JSON format, parses the responses, and then displays the item properties.

SharePoint 2010 Using JavaScript to Show Dialog Boxes
This sample uses the SharePoint Client Object Model to display an application page as a dialog box.

SharePoint 2010 Calling WCF Services from Event Receivers
This sample calls a WCF service from an event receiver; after a new item is added to a SharePoint list, the service returns data that is appended to the body of that new item.

SharePoint 2010 Performing Cached Cross-Site Queries
This sample uses the SharePoint PortalSiteMapProvider class to perform high-performance cross-site queries.

SharePoint 2010 Using REST to Create a SharePoint and Bing Maps Mashup
This sample uses JavaScript to integrate data from Excel spreadsheets in SharePoint with Bing Maps.

SharePoint 2010 Using JavaScript to Enable Notifications
This sample uses SharePoint status and notifications to feed back information to users.

SharePoint 2010 Using JavaScript to Create Lists
This sample uses the SharePoint Client Object Model to create SharePoint lists with JavaScript.

SharePoint 2010 Using JavaScript to Retrieve and Interrogate Items in Lists
This sample uses the SharePoint Client Object Model with a CAML query to return matching items from lists.

SharePoint 2010 Developing Branded Media Controls
This sample brands a Media Field Control on a SharePoint site.

SharePoint 2010 Using JavaScript to Delete Items from Lists
This sample uses the SharePoint Client Object Model to delete items from a SharePoint list with JavaScript.

SharePoint 2010 Using JavaScript to Update Site Properties
This sample uses the SharePoint Client Object Model to set titles and descriptions for SharePoint sites.

SharePoint 2010 Using JavaScript to Get Details About Sites
This sample uses the SharePoint Client Object Model to display information about the current SharePoint site.

SharePoint 2010 Developing Editor Web Parts
This sample modifies a Web Part properties sheet to include an Editor Web Part that enables users to choose from all the lists in the SharePoint site.

SharePoint 2010 Calling RESTful SharePoint Services From Desktop Applications
This sample uses a service reference to connect to the List Data Retrieval Web Service and display lists of SharePoint items in a Data Grid.

SharePoint Online Accessing Current User Information in Sandboxed Solutions
This sample creates a Web Part that functions in a sandboxed solution on SharePoint Online and gets information about the current user.

SharePoint 2010 Canceling Synchronous Events
This sample checks the properties of synchronous events and cancels them to prevent users from deleting SharePoint items.

SharePoint 2010 Calling WCF Services Hosted in SharePoint
This sample calls a WCF service that is hosted by Sharepoint, and whose code uses the SharePoint Foundation Server-Side Object Model.

SharePoint 2010 Developing Ribbon Drop Down Controls
This sample uses a drop-down control on the SharePoint ribbon to forward users to the selected list.

SharePoint 2010 Developing State Machine Workflows
This sample develops state machine workflows based on documents in SharePoint document libraries and items in tasks lists.

SharePoint Online Deploying Sandboxed Content Types and List Definitions
This sample creates a Web Part that functions in a sandboxed solution on SharePoint Online and uses code to create content types and list definitions.

SharePoint 2010 Developing Sandboxed Web Parts
This sample creates a Web Part in a sandboxed solution, and includes Panels to hide controls, radio buttons, and the Render method.

SharePoint 2010 Using JavaScript to Get Details About Site Collections
This sample uses the SharePoint Client Object Model to display information about the current site collection.

SharePoint 2010 Calling WCF Services from Timer Jobs
This sample calls a WCF service from a custom timer job that creates a new announcement when it runs.

SharePoint 2010 Developing Site Definitions
This sample creates a custom SharePoint site definition that specifies Content Editor and Image Viewer Web Parts on a Web Part page.

SharePoint 2010 Developing Custom Expiration Formulae
This sample calculates an expiration date for a SharePoint information management policy by using a custom expiration formula.

SharePoint Online Creating and Deploying Sandboxed Web Parts
This sample creates a Web Part that checks whether it is in a sandboxed solution and displays the title of the SharePoint site.

SharePoint 2010 Exporting Content by Using the Content Deployment API
This sample exports content from SharePoint lists by calling the Content Migration API.

SharePoint Online Creating and Deploying Sandboxed Feature Receivers
This sample creates a feature receiver that works in a SharePoint Online sandboxed solution.

Incoming search terms:

Shrink wrap your DLLs with Retail Mode

It happens: someone’s trying to debug a problem in a rush, a dev environment gets migrated – sometime’s it happens that your web.config Debug Mode switch gets inadvertently left in “true” mode. This is all kinds of bad- ScottGu highlights:

1) The compilation of ASP.NET pages takes longer (since some batch optimizations are disabled)
2) Code can execute slower (since some additional debug paths are enabled)
3) Much more memory is used within the application at runtime
4) Scripts and images downloaded from the WebResources.axd handler are not cached

http://weblogs.asp.net/scottgu/archive/2006/04/11/442448.aspx

On production, unless you have a multi-tenant server where some users may expect to be able to flip debug mode on (not a likely scenario in the SharePoint world!), it’s a wise best practice to alter the Machine.config to use Retail Mode.  Full reference here – link is SP 2007 but same principles apply.

<system.web>
<deployment retail=”true” />
</system.web

Just remember that editing the Machine.config is no trivial task- root instructions are here: http://support.microsoft.com/kb/815178, but it doesn’t explain that you must ensure nothing else on the machine is trying to update that machine.config while you have it open in Notepad. If this machine.config get’s out of synch with other settings, you will hose your server. You can ensure this doesn’t happen by:

  1. Turning of all IIS Sites and App pools
  2. Backing up the machine.config
  3. Open the machine.config in Notepad
  4. Change the Deployment to retail=true
  5. Save and close machine.config
  6. Start IIS Sites and App Pools

CKS Development Tools Edition for Visual Studio: New Version Out

Overview

The Community Kit for SharePoint: Development Tools Edition extends the Visual Studio 2010 SharePoint project system with advanced templates and tools. Using these extensions you will be able to find relevant information from your SharePoint environments without leaving Visual Studio. You will have greater productivity while developing SharePoint components and you will have greater deployment capabilities on your local SharePoint installation.

This version is targeted for users running SharePoint Foundation 2010, for the server version go here.

Features

This project provides extensions to four core areas; Environment, Exploration, Content and Deployment.

Enhancements to the Visual Studio environment include the new SharePoint References tab available on the Add Reference dialog, allowing you to easily reference any SharePoint assembly without searching the file system or GAC for it.

Exploration extends the new SharePoint Explorer with advanced information about SharePoint sites such as the installed Web Parts and Master Pages or the Feature dependencies and elements. Also included in the Explorer are a variety of import functions to bring existing SharePoint items into your active solution.

The Content area includes advanced templates such as Linq to SharePoint, Custom Action or Delegate Control. Become extra productive while developing sandboxed solutions using the SharePoint Full Trust Proxy. Utilise the SharePoint Console Application project template to quickly build SharePoint code.

Our enhanced Deployment functions give you the ability to utilise quick deployment and almost a dozen other productivity enhancing deployment steps, including automated deployment (per file on change deployment).

Find the complete overview of all the CKS Development Tools Edition features on the documentation tab of the project site. The CKS Development Tools Edition works with Microsoft’s Visual Studio 2010 SharePoint Power Tools.

What’s new in this release

The current 2.3 release includes the following features:

– Activate Quick Deploy from global shortcuts – Activating the shortcut keys now from any VS item not just the SP Project.
– New ASHX SPI – New ASHX handler project item template.
– Cancel Adding SPIs – Cancel adding SPIs feature which stops VS automatically adding a SPI to features.
– Updates for Quick Deployment steps – Correct processing of the assembly name.
– Quick Deploy GUID replacable params – Quick deploy now supports GUID based replaceable params and will represent the latest dll version of them.
– Quick Deploy fixes – Improvements to Quick Deploy. Read only files not locked during Quick Deploy.
– WCF SPI Template update – Changes to the SPI to deploy to the root of the ISAPI folder to remove the need for a custom web.config. This should make deployment simple for default WCF SPI’s while still allowing custom implementation with a sub folder and web.config to be done.

Contribute

If you have a great idea for a deployment tool, template or any other thing that you believe increases developer productivity, contribute! Contact the Project team or add your idea to the discussion forum. Use the #CKSDev tag to follow and connect with the team on Twitter.

About the Community Kit for SharePoint

The Community Kit for SharePoint is a set of editions, components, tools and recommended documentation for SharePoint development. You are currently viewing the edition project site for the Development Tools Edition. To learn about the other editions and components you can go to http://www.communitykitforsharepoint.org/default.aspx.

Firefox Friday #2 – SharePoint & Firefox

​Firefox does have issues when being used with SharePoint, let’s ID the known issues and workarounds:

Feature

Limitation

Connect to Outlook, Connect to Office, and Sync to
SharePoint Workspace

Works with an
ActiveX control, but requires a Firefox control adaptor. Microsoft Office
2010 does not provide a Firefox control adaptor for this control. The feature
also requires an application that is compatible with the stssync:// protocol,
such as Microsoft Outlook.

Datasheet view

Requires an
ActiveX control, such as the one that is delivered in Microsoft Office 2010,
and a Firefox control adaptor. Microsoft Office 2010 does not provide a
Firefox control adaptor for this control.

Drag and Drop Web Parts

Cannot be moved by
using drag and drop on Web Part pages. Users must click Edit on the Web Part, select Modify Web Part, and then select the zone
from the Layout section of the Web Part
properties page. Web Parts can be moved using drag and drop on Pages.

Edit in Microsoft Office application

Requires an
ActiveX control, such as the one that is delivered in SharePoint Server 2010,
and a Firefox control adaptor. For more information about Microsoft Office
2010 Firefox Plug-in, see FFWinPlugin Plug-in
(http://go.microsoft.com/fwlink/p/?LinkId=199867).
If you install and configure the Office Web Applications on the server, the
Edit functionality works and you can modify Office documents in your browser.
This functionality only works with Microsoft Office 2010 or an equivalent
product together with a Firefox plug-in.

Explorer view

Removed in
SharePoint Server 2010. Libraries that have been upgraded from earlier
versions of SharePoint Server 2010 may still have Explorer views, and these
may not work. Explorer view requires Internet Explorer.

Export to Excel

Downloads a file
with an .iqy extension to the Web browser. If Microsoft Excel is not
installed, and if no other application is configured to open this file, then
this feature will not work.

File upload and copy

Requires an
ActiveX control, such as the one that is delivered in Microsoft Office 2010,
and a Firefox control adaptor. Microsoft Office 2010 does not provide a
Firefox control adaptor for this control.

Microsoft InfoPath 2010 integration

Requires an
ActiveX control, such as the one that is delivered in Microsoft Office 2010,
and a Firefox control adaptor. Microsoft Office 2010 does not provide a
Firefox control adaptor for this control.

Microsoft PowerPoint 2010 Picture Library
integration

Requires an
ActiveX control, such as the one that is delivered in Microsoft Office 2010,
and a Firefox control adaptor. Microsoft Office 2010 does not provide a
Firefox control adaptor for this control. The user can use the following
workarounds when no control has been installed:

  • If a user wants to upload
    multiple pictures in a picture library, the user must upload one picture
    at a time by using Upload.aspx.
  • If a user wants to edit a
    picture in a picture library, the user must download the picture, edit
    it, and then upload the picture to the picture library.
  • If a user wants to download
    more than one picture from a picture library, the user must download one
    picture at a time by clicking on the picture link.

Microsoft Visio 2010 diagram creation

Requires an
ActiveX control, such as the one delivered in Microsoft Office 2010, and a
Firefox control adaptor. Microsoft Office 2010 does not provide a Firefox
control adaptor for this control.

New Document

Requires an
ActiveX control, such as the one delivered in Microsoft Office 2010, and a
Firefox control adaptor. For more information about Microsoft Office 2010
Firefox Plug-in, see FFWinPlugin
Plug-in
(http://go.microsoft.com/fwlink/p/?LinkId=199867).
Although the New Document command may
not work, you can use the Upload Document functionality. If you install and
configure Office Web Applications on the server, the New Document command works, and you can create an Office
document in your browser.

Rich Text Editor – Basic Toolbar

A user can update
the Rich Text Editor basic toolbar to a Full Rich Text Editor that includes
the ribbon by changing the field’s properties, as follows: On the
FldEdit.aspx, in the List Settings
menu, select Specific Field Settings.
Next, under Columns, click Description. In the Additional Columns Settings section, under Specify the type of text to allow, select Enhanced rich text (Rich text with pictures, tables,
and hyperlinks)
.

Send To

Can leverage an
ActiveX control, such as the one that is delivered in Microsoft Office 2010,
and a Firefox control adaptor. Microsoft Office 2010 does not provide a
Firefox control adaptor for this control. Without the control, files cannot
be sent from one SharePoint farm to another SharePoint farm. However, files
can still be sent from one site to another site.

Signing Forms (InfoPath Form Services)

Requires an
ActiveX control, such as the one that is delivered in Microsoft Office 2010,
and a Firefox control adaptor. Microsoft Office 2010 does not provide a
Firefox control adaptor for this control.

Spreadsheet and Database integration

Require ActiveX
controls, such as those that are delivered in Microsoft Office 2010, and
Firefox control adaptors. Microsoft Office 2010 does not provide a Firefox
control adaptor for this control. The user can use the following workarounds
when no control has been installed:

  • If a user wants to edit a
    document, the user must download the document, edit it, and then save it
    back to the server.
  • In a list that requires a
    document to be checked out for editing, a user must use the
    Edit menu to check out the
    document, edit it, and then check it in by using the
    Edit menu.
  • Export to spreadsheet.
    Users can export a SharePoint list as a spreadsheet by clicking
    Export to
    Spreadsheet
    on
    the
    List
    tab on the ribbon.

Web Part to Web Part Connections

May require
deactivation of browsers pop-up blockers for SharePoint sites.

Slide library and PowerPoint 2010 integration

Require ActiveX
controls, such as those that are delivered in Microsoft Office 2010, and
Firefox control adaptors. Microsoft Office 2010 does not provide a Firefox
control adaptor for this control. The user can use the following workarounds
when no control has been installed:

  • Delete a slide. Users can
    delete a slide by first clicking the slide, and then clicking
    Delete
    Slide
    . Repeat
    for each slide.

The following
features do not work on this platform:

  • Copy a slide to a
    presentation. This feature enables users to add a slide to a PowerPoint
    2010 presentation.
  • Publish a slide. This
    feature enables users to upload a single slide from a PowerPoint 2010
    presentation to a slide library. Microsoft Office must be installed on
    the client computer.

 


Incoming search terms:

Planning SharePoint 2010 User Profile Synchronization

A basic issue – the client has their Active Directory DisplayName populated in the style of “LastName, FirstName“. Legacy business requirements dictate that the DisplayName stays in that format – but the SharePoint champion comes along and indicates that it would be preferable to have the SharePoint 2010 UI show the users DisplayName in the standard “FirstName LastName” format.

After quickly toying with the idea of using Jquery or some other front-end patch to just reverse the names – complications arose – number one being the data in the DisplayName field in AD was inconsistent, with various flavours and styles of data that was mashed together over the years. Active Directory is aptly named-  people will mess up this data actively. Not to be trusted.  The solution:

1. Set up the SharePoint 2010 User Profile Synchronization and use custom field mapping.
2. Create a new profile property in AD called customDisplayName and give it the values Firstname Lastname
3. Map the new customDisplayName property to the SP DisplayName property.

So, the end result should be that users would now see their DisplayName throughout the SP application populated with the AD field data “FirstName LastName
Getting User Profile Synchronization itself planned, configured and deployed is a big task. This post will let help you  plan out your first moves.

Authoritative initial references can be found at:

TechNet – Configure profile synchronization (SharePoint Server 2010):
http://technet.microsoft.com/en-us/library/ee721049.aspx
Rational Guide to implementing SharePoint Server 2010 User Profile Synchronization:
  http://www.harbar.net/articles/sp2010ups.aspx
SharePoint 2010 – Provisioning User Profile Synchronization:   http://blogs.msdn.com/b/russmax/archive/2010/03/20/sharepoint-2010-provisioning-user-profile-synchronization.aspx

There are four Excel Worksheets available for download from TechNet which should be the best way to get things organized:

User Profile Properties Planning worksheet

( .xls download )
Should be used with the Plan user profiles, Plan for profile synchronization, and Configure profile synchronization topics on TechNet.

Connection Planning worksheet

( .xls download )
Specifies information that you will need to gather for each directory service with which you will synchronize profile information. It should be used with the Plan for profile synchronization and Configure profile synchronization topics on TechNet.

External Content Types Planning worksheet

( .xls download )
Should be used with the Plan for profile synchronization topic on TechNet if you need to synchronize user profiles with business systems.

Profile Synchronization Planning worksheet

( .xls download )
Profile sync worksheet tab of the specifies information that you might need to gather if you have not already configured the SharePoint Server infrastructure. It is used with the Configure profile synchronization topic on TechNet. The Property mapping worksheet tab is obsolete; it has been replaced by the User Profile Properties Planning worksheet.

NOTE: When performing the intital setup, it’s important to remember that MS best practice is to not have your Active Directory Domain Controller on the same server as SharePoint. So you need to follow a different path if you are using a dev server with AD and SQL all wrapped into the one server, than if you would be deploying to a production setup with AD DC on a separate server. Spence Harbar in particular notes this in a few places but it will confuse the hell out of you with the AD setup requirements unless you understand the distinct setup paths required for both scenarios.

Recent Comments

  • Panoone

    I just hit this same issue with a web part I’d developed for 2013.

    Common sense dictated that that /_layouts would point to the current version. But the SharePoint dev team had other ideas. ;^)

Follow me on Twitter

Office 365 Service Health

  • Service: SharePoint OnlineIncident Type: SharePoin […]
    Thu, Jul 31, 2014
    Source: Office 365 Service Health Status
  • Service: SharePoint OnlineIncident Type: SharePoin […]
    Thu, Jul 31, 2014
    Source: Office 365 Service Health Status
  • Service: SharePoint OnlineIncident Type: SharePoin […]
    Wed, Jul 30, 2014
    Source: Office 365 Service Health Status
  • Service: Exchange OnlineIncident Type: E-Mail and […]
    Wed, Jul 30, 2014
    Source: Office 365 Service Health Status
  • Service: SharePoint OnlineIncident Type: SharePoin […]
    Wed, Jul 30, 2014
    Source: Office 365 Service Health Status

SharePoint & Office Patches

VisualStudio.com Service Health