Be Careful When You Use Slipstreamed SharePoint Installation Files

From Jie Li’s blog –

Please note this post only talks about new installation using slipstreamed build, not updating an existing farm.

In the previous blog post I mentioned the following:

Should I use slipstreamed SharePoint server installation files to deploy SharePoint and its CUs?
Maybe – depending on if you want to use language packs or not. If language packs are not installed when you install SharePoint Server, and you install those LPs after the server has been installed, you may need to reapply SharePoint CU packages to get all those LPs up to date.

Now I got questions about this “maybe”. Let me go deeper in this topic…Slipstream is good – but you have to use it in the right way, with the right order.

A typical slipstreamed SharePoint Server install is like this:

  1. Install SharePoint Server RTM + SP1 + June CU Slipstreamed
  2. Install SharePoint Server Language Packs
  3. Run PSConfig

Looks simple and clear. But it is wrong – you will have RTM version of Language packs in this way. Why? Think about the table we had in previous post, then think about Cumulative Update concept. If something is not installed when you apply the CU package, then those files of the missing component will not be installed at all. In this case, the language pack updates in the CU server package are the ones missing.

The following screenshot shows what this will look like (Chinese LP in 4763 RTM, but all other components are in June CU 6105)

To fix this issue you need to apply language pack SP1s and June CU again. So the installation order should be changed to something different:

  1. Install SharePoint Server RTM + SP1 + June CU Server Package Slipstreamed
  2. Install SharePoint Server Language Packs
  3. Install SharePoint Server LP SP1(s)
  4. Install June CU Server Package again
  5. Run PSConfig

This would work. But why install June CU twice? It’s a waste of time so let’s change it again. The other thing is that you can slipstream LP SP1 into language pack installation files (extract and put all files in updates folder):

  1. Install SharePoint Server RTM + SP1 Slipstreamed
  2. Install SharePoint Server Language Packs + Server LP SP1 Slipstreamed
  3. Install June CU Server Package
  4. Run PSConfig

Now all language packs are updated to latest version.

What can you learn from this? Don’t slipstream CU if you need to install additional language packs. Always apply CU Server Package at the last step.

Leave a comment

SPDisposeCheck Updated for SharePoint 2007 & 2010

Microsoft has posted an updated version of SPDisposeCheck which is:

SPDisposeCheck is a tool to helps developers and administrators check custom SharePoint solutions that use the SharePoint Object Model in identifying correctly disposing of SharePoint objects to help you follow published best practice.

One of the updates includes a list of updated “do not check” rules. I’d suggest integrating this as part of your build process such as a CI setup.

» Roger Lamb: Announcing SPDisposeCheck v14.0.4762.1000 Update for SharePoint Development
» SPDisposeCheck on MSDN Code Gallery

Leave a comment

Troubleshooting IIS and SharePoint When a Worker Process Goes Haywire

From SharePoint Joel Blog –

Everything is fine or so you think, but then the CPU spikes and the other Web Front ends are fine, so what’s up? Do you know how to dig in and figure out what’s up?

Here are a few things I’d do…

So a worker process goes crazy, first need worker process id for w3wp.exe, for the app pool

1. Add the Process ID to your Task Manager.

Start Task Manager:

You’re likely already in it since you’ve identified it’s a worker process that’s taking all your CPU.

Click view | Select Columns | Check “PID (Process Identifier)”

(See more details on “Identifying worker processes II6 & IIS 7 for debugging and look at Remote debugging)

2. Next get a list of all of your worker processes

You can use the WP (worker process) object to list running worker processes in appcmd.exe from IIS 7:
%systemroot%\system32\inetsrv\APPCMD list wps

You’ll get a list of the running app pools and their names

WP “3577” (apppool:DefaultAppPool)
WP “9823” (apppool:Team)
WP “7235” (apppool:My)
WP “533” (apppool:G32c2cd87s235sd3f2ub9sads3234)

3. Once we have the app pool we can look at running requests and connections.

If you can take the box out of rotation (assuming it’s being load balanced) you can go into IIS and stop the non-problematic app pools. Then look at the inbound requests.

%systemroot%\system32\inetsrv\APPCMD list requests

REQUEST “fb0000238022230e” (url:GET /wait.aspx?time=10000,time:4276 msec

You can narrow this list by requesting just the particular failing app pool.

%systemroot%\system32\inetsrv\APPCMD list request /

4. If the machine is still connected, running a netstat will give you a list of connections that are current connections with the server. As an example, is it an indexer or a client connecting to web services that’s causing CPU to spike. More likely it could be a timer job on one of your own boxes. If it’s a busy box you may see tons of connections so you may need to PIPE or Output to a text file.

netstat [-a] [-e] [-n] [-o] [-p Protocol] [-r] [-s] [Interval]

Displays active TCP connections, ports on which the computer is listening, Ethernet statistics, the IP routing table, IPv4 statistics (for the IP, ICMP, TCP, and UDP protocols), and IPv6 statistics (for the IPv6, ICMPv6, TCP over IPv6, and UDP over IPv6 protocols). Used without parameters, netstat displays active TCP connections.


-a : Displays all active TCP connections and the TCP and UDP ports on which the computer is listening.

-e : Displays Ethernet statistics, such as the number of bytes and packets sent and received. This parameter can be combined with -s.

-n : Displays active TCP connections, however, addresses and port numbers are expressed numerically and no attempt is made to determine names.

-o : Displays active TCP connections and includes the process ID (PID) for each connection. You can find the application based on the PID on the Processes tab in Windows Task Manager. This parameter can be combined with -a, -n, and -p.

-p Protocol : Shows connections for the protocol specified by Protocol. In this case, the Protocol can be tcp, udp, tcpv6, or udpv6. If this parameter is used with -s to display statistics by protocol, Protocol can be tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6, or ipv6.

-s : Displays statistics by protocol. By default, statistics are shown for the TCP, UDP, ICMP, and IP protocols. If the IPv6 protocol for Windows XP is installed, statistics are shown for the TCP over IPv6, UDP over IPv6, ICMPv6, and IPv6 protocols. The -p parameter can be used to specify a set of protocols.

-r : Displays the contents of the IP routing table. This is equivalent to the route print command.

Interval : Redisplays the selected information every Interval seconds. Press CTRL+C to stop the redisplay. If this parameter is omitted, netstat prints the selected information only once.

/? : Displays help at the command prompt.

I’ve personally used netstat to look at outgoing connections for troubleshooting connections to the gateway or firewall.

If your app pool is shared by multiple web applications, then you will need to narrow this down further. Most will want to either turn on tracing in IIS or dig into your ULS logs. I’d suggest digging into your ULS logs, but don’t forget the easier low hanging fruit of Event Viewer.

5. Dig into the event viewer and look for WWW, W3SVC, HTTP and Worker Process related events in Application Events and system related events. If you’re not seeing events, make sure you’re logging them as IIS application recycling events can be logged, and trace them if you need to.
The IIS 7.0 Health Model has been published on TechNet and containing details about most of the Event Log error codes that are logged for worker process and service (WAS) level conditions. It also includes the suggested diagnostics and workaround steps for each error condition. Understanding these will help you track down the issue as to whether it’s in the application, worker process, or where exactly the issue is.

The following are common:

Failed to start/restart the worker process:

  • The configuration is invalid.
  • The application pool identity has wrong account name or password.
  • The maximum number of worker processes is reached or out of resources.
  • Worker process cycles over and over again, starts and fails.
  • Process can’t start due to service app pool account password issue

IIS initialization failed:

  • The configuration section is invalid
  • A module DLL listed in has invalid path, or failed to load
  • Web.config related DLL issues
  • A module failed to initialize

Application crash:

  • A module, or application component has generated a debug break, or memory access violation, causing the process to terminate abruptly.
  • Out of memory
  • Unexpected error

Developers may want to attach Visual studio for debugging. Learning how to Debug ASP.NET App Issues (Memory Leaks, Crashes, Deadlocks, etc)

Otherwise you want to setup IIS tracing for next time to capture better what’s going on.

Configuring Tracing for Failed Requests in IIS 7.

Configuring Logging in IIS 7.

Monitoring worker processes feature in IIS lets you monitor sites, application pools, server worker processes, application domains, and requests.

IIS 7.0: Monitoring Worker Processes and Currently Executing Requests in IIS 7.

4. Once you have the list you can easily correlate the process ID from task manager and from your app pool to determine the web app or the problem area. You can get a list of all of the details for your app pools and how they correlate to by digging into

MSDN Code Gallery: ULSViewer

Spence Harbar has a great writeup. Here’s his explanation on how to use ULS viewer for troubleshooting including working on the coorelation ID which you might be getting from a page or webpart that’s getting errors.

For SharePoint 2010, by default, ULS log is at C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS

You can check the directory and try to read those logs. I was quite used to that, with notepad:)

ULS Viewer can be used in different modes. The log can be read from log files, real time ULS log, or even clipboard. Here’s some examples:

On a machine running SharePoint 2010, run ULS Viewer. Click File, Open From, then choose ULS (This could also be done by simply press Ctrl+U). Immediately the logs will be shown in real-time. You can filter message level by click the icons in the middle. This can tell you what is going on inside SharePoint.

5. Tools – Code leaks can be prevented and detected. The most popular are
FxCop, SPDisposeCheck. I like using the IIS Reskit tool wfetch for HTTP(s) debug and simulate connections (displays the request and the response) and the free Fiddler2 for HTTP(S) debugging (Fiddler is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP(S) traffic) to simulate and walk through web requests to see what users are doing, but it can also be helpful to try simulators and different browsers. Recently we had an issue with a Win Phone 7 and we downloaded the emulator to track down the issue. If you’re hitting the page with a browser and not getting very good errors make sure you’ve Disabled HTTP Friendly Error Messages in Internet Explorer. Those friendly error messages are not easy to use to troubleshoot at all.

6. Turn the Dev Dashboard to on demand to catch the next one early – Things can go a lot of different ways from here, but debugging in visual studio and FxCop, SPDisposeCheck and other tools and mechanisms to check out the code… In our case we turned the dev dashboard to ondemand in our intranet prod, so we can now tell right from our desktop browser what might be starting to go south. That way we can quickly determine… Is it the webpart, the SQL query, or an app server. Stsadm –o setproperty –pn developer-dashboard –pv ondemand (or “on” or “off”)

Leave a comment

Managing a Parallel Upgrade to SharePoint 2010

MSIT showcase

Leave a comment

SharePoint 2007 Upgrade Checklist

From Sharepoint Joel’s blog ,

• The results of the stsadm –o preupgradecheck from each SharePoint 2007 server.

This will give you the dependencies of your SSP, Farm Topology, including features and solutions in the farm.

• The results of the test-spcontentdatabase command that should have been run against each 2007 content DB from a 2010 server, saved to file(s).

This will give you all the missing dependencies including assemblies, webparts, features, XML, themes, etc…

• The output of “stsadm –o enumallwebs –IncludeFeatures –IncludeWebParts –IncludeEventReceivers –IncludeSetupFiles –IncludeCustomListView” (only needs to be run once on the 2007 farm)

This will give you the packages installed in the farm including feature receivers, and additional files added, including custom list views that have changed.

(Joel: I really like the look of that command. I don’t remember seeing those flags anywhere. I wonder when they showed up?)

• The results of the “stsadm –o enumsolutions” command from any 2007 server

This will give you the list of the packages installed on the farm

• The results of the “stsadm –o enumssp –all” command from any 2007 server.

The configuration of any and all SSPs

• Any documentation related to the upgrade, including

Upgrade Execution Plan

  • Back-out plan
  • Test plan results and remediation steps
  • 2010 Build Docs

Leave a comment

Performance Counters SharePoint

Central Processing Unit (CPU) counters:

Counter Description Details
Total Processor Time The % Processor Time counter measures the percentage of elapsed time that the processor spends to execute a non-Idle thread Object: Processor

Counter: %Processor Time

Instance: _Total

Processor Privileged Time Use the % Privileged Time counter to measure the percentage of elapsed time that the process threads spent executing code in Privileged mode Object: Processor

Counter: %Privileged Time

Instance: _Total

Processor User Time Use the % User Time counter to measure the percentage of elapsed time the processor spends in User mode. Object: Processor

Counter: % User Time

Instance: _Total

Processor Interrupts Records the number of times processing is stopped to handle a hardware request for disk or memory I/O. Values higher than 1000 may indicate a hardware issue. Object: processor

Counter: Interrupts/Sec

Instance: _Total

Process – W3WP Processor Time Measures the % of elapsed time that all process threads use the processor Object: Process

Counter: %Processor Time

Instance: w3wp

Processor Queue Length Logs the number of items waiting to be processed by the CPU. Values higher than 2 indicates the need to add more or faster processors. Object: System

Counter: Processor Queue Length

Memory Counters:

Counter Description Details
Page Faults per second Records the number of times that data was not found in memory. Object: Memory

Counter: Page Faults/sec

Page Reads per second Monitors the data written to or read from memory. Values higher than 200 indicates the need to increase RAM. Object: Memory

Counter: Page Reads/sec

Available Memory Monitors the amount of memory available to the system. Values below 10% of total physical memory indicate the need for more RAM. Object: Memory

Counter: Available Mbytes

Memory\Pool Nonpaged Bytes\(N/A) Records the amount of data that cannot be paged on the disk. Object: Memory

Counter: Pool Nonpaged Bytes

Disk counters:

Counter Description Details
Available Disk Space Use the % Free Space counter to calculate the percentage of total usable space Object: LogicalDisk

Counter: % Free Space

Instance: _Total

Disk Request Write Size Uses the Disk Write Bytes/sec counter to measure the rate at which bytes are transferred to the disk during write operations Object: PhysicalDisk

Counter: Disk Write Bytes/sec

Instance: _Total

Disk Request Write Count Measures the rate of write operations on the disk Object: PhysicalDisk

Counter: Disk Writes/sec

Instance: _Total

Disk Usage – Disk Time Use the % Disk Time counter to calculate the percentage of elapsed time that the selected disk drive was busy servicing read or write requests Object: PhysicalDisk

Counter: %Disk Time

Instance: _Total

Disk Block Read Size Avg. Disk Bytes/Read counter to measure the average number of bytes transferred from the disk during read operations Object: PhysicalDisk

Counter: Avg. Disk Bytes/Read

Instance: _Total

Disk Request Read Size Measures the rate at which bytes are transferred from the disk during read operations via Disk Read Bytes/sec Object: PhysicalDisk

Counter: Disk Read Bytes/sec

Instance: _Total

Disk Request Read Count Measures the rate of read operations from the disk Object: PhysicalDisk

Counter: Disk Reads/sec

Instance: _Total

Web/ASP/Sharepoint counters:

Counter Description Details
Web Service Bytes Sent/sec Measures the rate at which data bytes are being sent by the Web service Object: Web Service

Counter: Bytes Sent/sec

Instance: _Total

Web Service Current Connections Monitors current IIS connections Object: Web Service

Counter: Current Connections

Instance: _Total (or per Web app)

Web Service Use the Total Method Requests/sec counter to measure the rate at which HTTP requests are received Object: Web Service

Counter: Total method Requests/sec

Instance: _Total (or specific Web apps)

Web Service Bytes Received/sec Counter to measure the rate at which data bytes are received by the Web service Object: Web Service

Counter: Bytes Received/sec

Instance: _Total (or per Web app)

Web Service Connection Attempts Measures the rate at which connections to the Web service are being attempted Object: Web Service

Counter: Connection Attempts/sec

Instance: _Total

W3WP Private Bytes Measures the current size, in bytes, of memory that this process has allocated and that cannot be shared with other processes Object: Process

Counter: Private Bytes

Instance: w3wp

W3WP Working Set The Working Set is the set of memory pages recently touched by the threads in the process Object: Process

Counter: Working Set

Instance: w3wp

Committed Memory in use Use the % Committed Bytes In Use counter to measure the ratio of the Memory\Committed Bytes counter to the Memory\Commit Limit counter Object: Memory

Counter: % Committed Bytes In Use

Available Memory Available MBytes counter to measure the amount of physical memory in MB immediately available for allocation to a process or for system use Object: Memory

Counter: Available MBytes

Memory Cache Bytes Shows the sum of the Memory\System Cache Resident Bytes, Memory\System Driver Resident Bytes, Memory\System Code Resident Bytes, and Memory\Pool Paged Resident Bytes Object: Memory

Counter: Cache Bytes

.NET CLR Memory – Bytes Uses the # Bytes in all Heaps counter to sum the following four other counters: Gen 0 Heap Size; Gen 1 Heap Size; Gen 2 Heap Size, and Large Object Heap Size Object: .NET CLR Memory

Counter: # Bytes in all Heaps

Instance: _Global

.Net CLR Data-SQL client Failed connections Use the SqlClient: Total # failed connects counter to count the total number of connection open attempts that have failed Object: .NET CLR Data

Counter: SqlClient

Instance: Total # of failed attempts

.Net CLR Data-SQL client connections Current number of active SQL connections Object: .NET CLR Data

Counter: SqlClient

Instance: Current # pooled and nonpooled connections

.Net CLR memory – large Objects Displays the current size of the Large Object Heap in bytes. Objects greater than 20 KB are treated as large objects by the Garbage Collector and are directly allocated in a special heap Object: .NET CLR Memory

Counter: Large Object Heap size

Instance: _Global

Succeeded Search Queries Use the Queries Succeeded counter to count the number of queries that produce successful searches Object: SharePoint Search Indexer Catalogs

Counter: Queries Succeeded

Instance: Search

Search Query Rate Monitors Query Rate Object: SharePoint Search Indexer Catalogs

Counter: Queries

Instance: Search

Search – total # of Documents Counts the total number of documents in the Index Object: Indexing Service

Counter: Total # of documents

Cache Faults per Second Cache activity is a reliable indicator of most application I/O operations. Object: Memory

Counter: Cache Faults/sec

ASP.NET Requests per Second Counts the number of requests per second Object: ASP.NET Apps v2.0.50727

Counter: Requests/Sec

Instance: _Total

ASP.NET Cache – Hit ratio Cache Total Hit Ratio counter to sum the ASP.NET application performance counters Object: ASP.NET Applications

Counter: Cache Total Hit Ratio

Instance: _Total

ASP.NET Cache Size count the total number of entries within the cache (both internal and user added Object: ASP.NET Applications

Counter: Cache Total Entries

Instance: _Total

Memory – pages per second Measures the rate at which pages are read from or written to disk to resolve hard page faults Object: Memory

Counter: Pages/sec

ASP.NET Worker Process Restart Measures Worker Process Restarts Object: ASP.NET

Counter: Worker Process Restarts

Paging File Measures the percentage of the Page File instance in use Object: Paging File

Counter: %Usage

Instance: _Total

W3WP Handle Count This number is equal to the sum of the handles currently open by each thread in this process Object: Process

Counter: Handle Count

Instance: w3wp

Publishing Object Cache Counts the current number of pools that are associated with the process Object: SharePoint Publishing Cache

Counter: Publishing cache hits/sec

Total number of ISAPI Connections Counts the number of ISAPI connections that Windows SharePoint Services is processing simultaneously. Object: Web Service

Counter: Current ISAPI Extension Requests

Instance: _Total

Total number of ISAPI Requests Number of ISAPI Requests per second Object: Web Service

Counter: ISAPI Extension Request/sec

Instance: _Total

Current Connections Current number of active connections to the WWW service. Object: Web Service

Counter: Current Connections

Instance: _Total

Maximum Connections Maximum number of simultaneous connections to the WWW service since service startup. Object: Web Service

Counter: Maximum Connections

Instance: _Total

Processor\% Processor Time\_Total

Processor\% Privileged Time\_Total

Processor\% Interrupt Time\_Total


System\Processor Queue Length\

System\Context Switches/sec\

Server\Pool Nonpaged Failures\

Server\Pool Paged Failures\

Server\Pool Nonpaged Peak\

Server\Bytes Total/sec\

Memory\Available Mbytes\

Memory\Page Reads/sec\

Memory\Page Faults/sec\

Memory\Pool Nonpaged Bytes\

Memory\Cache Bytes\

Memory\Cache Faults/sec\

Cache\MDL Read Hits %\

LogicalDisk\% Free Space\_Total

PhysicalDisk\Avg. Disk Queue Length\_Total

PhysicalDisk\Avg. Disk Read Queue Length\_Total

PhysicalDisk\Avg. Disk Write Queue Length\_Total

PhysicalDisk\Avg. Disk sec/Read\_Total

PhysicalDisk\Avg. Disk sec/Transfer\_Total

PhysicalDisk\Disk Writes/sec\_Total

Web Service\Current Connections\_Total

Web Service\Maximum Connections\_Total

ASP.NET Apps v2.0.50727\Cache % Machine Memory Limit Used\__Total__

ASP.NET Apps v2.0.50727\Cache % Process Memory Limit Used\__Total__

ASP.NET Apps v2.0.50727\Cache Total Hit Ratio\__Total__

ASP.NET Apps v2.0.50727\Cache Total Misses\__Total__

ASP.NET Apps v2.0.50727\Cache Total Trims\__Total__

ASP.NET Apps v2.0.50727\Cache Total Turnover Rate\__Total__

ASP.NET Apps v2.0.50727\Requests Rejected\__Total__

ASP.NET Apps v2.0.50727\Requests/Sec\__Total__

ASP.NET Apps v2.0.50727\Requests In Application Queue\__Total__

Leave a comment

How Microsoft IT does governance for SharePoint 2010

Leave a comment

Office 365: What is it and what do I need to know about it?

Office 365 is a pretty unique name for a product by Microsoft. The story behind it is that Microsoft will be behind your business 24/7/365 when you need it! And if you experience down time with this product, Microsoft will actually reimburse you in cash for that time (99.9% uptime guarantee!). The Office part of the name is obvious: The main product by Microsoft is still Microsoft Office and is widely used by people all over the world.

Note: This newsletter/article is to give you a conversational perspective of this product. It is not intended to tell you every single detail about it. Microsoft does a fine job of it on their sites and I’ll provide the links to those resources on the web.

What does Office 365 consist of?

Think of what you need to run your business usually: Email, Messaging, ways to create and manage documents and other information for your business, Intranet (or some place where employees can share the info), an external web site. Sounds about right? Well, Office 365 provides you with the following:

  1. Exchange Online – Each employee in your organization gets a 25GB email inbox. They can use the web browser or the Microsoft Outlook client to manage emails. Very convenient!
  2. Microsoft Office Professional Plus applications – Most of the Office 365 plans offer the employees to be able to download the office applications to your desktop/laptop as part of the subscription. That’s a huge deal I think because the Office suites by themselves are not cheap. In addition, each person can also work with their documents online using Office Web Apps functionality.
  3. SharePoint Online – This is my favorite part of it! An almost full fledged SharePoint 2010 experience. More on this a bit later.
  4. Lync Online – Think of Office Live Messenger or Office Communication Services. If you are familiar with any of these, you have seen parts of what Lync can offer. Instand messaging and live meetings are a snap with Lync.

How much does it cost?

There are a variety of ‘flavors’ that Office 365 offers. The plans are referred to as P1, P2 (for Professionals and Small Businesses) and then E1, E2, E3, E4 (for Enterprise customers). The pricing starts at $6/user/month (isn’t that amazing!). The highest price that I have seen is for E4 which is still only $27/user/month (which is still incredible because this option can help you provide Enterprise voice capability and easily replace your entire PBX system).

How is SharePoint Online different from SharePoint 2010 on-premise?

SharePoint Online provides many of the same SharePoint Server 2010 on-premise Enterprise features. For example, InfoPath Forms Services is included so you can show your InfoPath forms (workflow, form library and list forms) directly in the browser, enterprise search gives you robust search results, My Sites features are also present in SharePoint Online. One notably missing feature from this first release is Business Connectivity Services (BCS). Not to worry! It is in the plans to introduce that soon enough in one of the subsequent releases of Office 365 and since there is no upgrade necessary on your part, it will just magically appear one day and you will be notified about it as a customer.

The main difference you have to keep in mind is that you do not have access to the Central Administration site for SharePoint Online in Office 365. Also, you cannot access the web server files. So basically the SharePoint Server administration is offloaded to Microsoft.

Now here’s a difference you are going to like: In Office 365, you can easily invite others outside your organization to collaborate with you within your site collection. That’s a Big benefit in my mind!

How will I build solutions on top of SharePoint Online?

If you buy into Office 365, SharePoint Designer 2010 is about to become your best friend :-). That’s the main application for making customizations to your SharePoint Online environment. Most of what you can do with SharePoint Designer 2010 in a regular on-premise SharePoint 2010 environment is available with SharePoint Online as well. That’s great news because that provides you tons of customization opportunities.

You will not have access to create farm level solutions using Visual Studio 2010 (VS).  VS can still be used by programmers to develop the following types of solutions on top of SharePoint Online:

  • Sandboxed Solutions (scoped to a Site Collection)
  • Programming against the Client Object Model
  • Silverlight and ECMA Script

Check out the SharePoint Online Developers Resource Center to get a better idea of programming opportunities in SharePoint Online.

How do I get started?

That’s the easiest part. It costs nothing to join the Beta program. Start here and you will have a fully functional Office 365 deployment within minutes! Choose the E3 plan if you are a large enterprise (or want to pretend to be to see how it works :-)) or choose P1 for small businesses. Then you can manage your licenses by inviting your personnel to join you in the environment and start using it right away. Within a few months (or sooner), Microsoft will open up the Office 365 offering for sale. At that time you can decide to keep the environment and start paying for it or let it go.

Also note that if you are already a BPOS (Business Productivity Online Services – the older and far less powerful version of Office 365) customer, Microsoft will guide you to transition your content and people to Office 365.

Additional Material/Info on Office 365

Here’s some additional information to keep in mind and get involved. I’ll send more material on it in the future once ready.

Social Media: Check out the Office 365 Blog, Office 365 Facebook page, and Twitter account to connect directly to the team working on this offering.

Leave a comment

PDF kan ikke åbnes direkte i Sharepoint 2010

I Internet Explorer 8 Microsoft tilføjet en sikkerhedsfunktion for at forhindre script injektion sårbarheder forårsaget af buggy klient software. Denne funktion er aktiveret af et nyt HTTP-header kaldet X-Download-Options, der kan indstilles til “no open”. Når denne header er bestået med en vedhæftet fil Internet Explorer 8 vil ikke give mulighed for direkte at åbne filen, i stedet skal du først gemme filen lokalt og derefter åbne den.
SharePoint 2010 anvender denne udvidede sikkerhedsfunktion i IE 8 til at blokere for åbning af filtyper den finder sårbar over for scripting eller andre angreb, som f.eks PDF-filer. Du kan ændre SharePoint’s adfærd ved at ændre Browser Filhåndtering mulighed i Web Application Generelle indstillinger af SharePoint 2010. Dine muligheder er eftergivende og strenge, med streng og er standard.
Hvis dine brugere kræver, at de åbne filer direkte fra internettet, og du er villig til at tillade ekstra sikkerhedsrisiko, kan du nemt foretage denne ændring din SharePoint webapplikationer



Leave a comment

10 Reasons SharePoint 2010 SP1 Will Rock Your World

. Bill Baer gives us the good SharePoint 2010 SP1 details on the SharePoint team blog. Even more details across the Office family on the Office Sustained Engineering blog.

Here are 10 Reasons I believe SharePoint 2010 SP1 will rock your world, or at least improve it…

  1. Site Recycle bin – new capture the site as it’s deleted. Wohoo! This will save tons of unnecessary large database restores. Hmm maybe 200GB databases should be considered.
  2. Security enhancements –
  3. Reliability enhancements – I think alone this one for what it will do to make User profile sync will be worth making time to upgrade worth it.
  4. Storage Reporting for end users – StorMan the interface users had in 2007 to view storage is back and better!
  5. Chrome Support for SharePoint & Office Web Apps – Nice! More details on SharePoint 2010 SP1 browser support on TechNet (articles will be updated after release of SP1). You’ll also see better consistency with Project Server browser support.
  6. RBS (Remote Blob Storage) – Remote storage support for shadow copies ensuring better reliability and recoverability.
  7. New Powershell cmdlet (Move-spsite) for moving Site Collections between databases without moving content back in the db (when using RBS)
  8. Project Professional now synchronizes scheduled tasks with SharePoint task lists
  9. Improved backup / restore functionality for SharePoint Server
  10. Includes all previous monthly cumulative updates

Leave a comment