Use SharePoint, but also like all the work that communities around WordPress, Drupal, and Joomla are doing? Guess what, there’s an answer. SharePress. I could write it up, but it’s already been one over at http://weblogs.asp.net/bsimser/archive/2010/04/01/introducing-sharepress.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+bsimser+%28Fear+and+Loathing%29 –
Archive for category SharePoint
SharePress
Apr 1
One of the most common questions I get asked from developers is “What is the best way to set up a SharePoint Dev Environment. And they normally get a much longer answer than they’d like – there are a lot of things that can affect the answer – how many people are working together, what are their roles, how locked down are your developer boxes, are you using TFS… the list goes on.
Well, things are changing for SharePoint 2010. And it’s a change for the better – I’ll cover a lot of the new items as we go along, but I would like to point out that the MSDN documentation now calls out the “standard” process for setting up a dev environment. You can find it at http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx and use it as a basis for putting together your own customized development environment.
If you want a little more discussion on the matter, you can see what’s going on in the SharePoint Dev Wiki at http://www.sharepointdevwiki.com/display/sp2010/Building+a+SharePoint+2010+Development+machine
As I look back at the history of SharePoint, one of the primary features that made it so popular is the ability to store and work with any type of files. This is GREAT from a user standpoint, but that capability requires that SharePoint work with those files as a BLOB (Black box of bits) when it stores them. Second order issue for that then becomes that differencing versions of files becomes impractical and thus you end up with a copy of each version of a file. If you’ve got a lot of active people working on documents, and you’re tracking versions – you end up having two basic options. Limit how many versions of those files you will keep (putting a limit on how useful versioning is in the first place – not something your users will like), or throw LOTS of database space at your implementation (something that could have your DBA coming after you with a brick.)
Well, with the 2007 generation of SharePoint, the product team introduced a feature deep in the technical documentation to allow remote blob stores. This was something they were working very hard on to get to the right level of performance, ease, and API maturity so they kept it a bit low key. But with the 2010 generation of SharePoint that we’re testing today, that capability is coming to the forefront for implementations that have very large numbers of files, or even organizations that already have mature file stores, and would like SharePoint to provide even easier integration.
If you’re in either of these situations, or just interested in catching up with something that’s been around for a bit, but hasn’t been really in the spotlight, I’d highly recommend taking a look at the capabilities.
http://blogs.msdn.com/opal/archive/2009/12/07/sharepoint-2010-beta-with-filestream-rbs-provider.aspx
I get asked a LOT for a short list of what has changed between SharePoint 2007 and SharePoint 2010. Unfortunately that list is never short as there are more factors to dive into than most people want to look at – at least in a short list. Level, configuration, licensing, User tools, it makes a pretty impressive matrix. But there is an MSDN article that helps out by providing a general overview of many of the SharePoint new features and capabilities.
Can help you plan what you want to learn more about and dig deeper into. It’s a very nice overview of some of the high points from a capabilities model. For a deeper dive into the development capabilities though, you’ll need to either check out the SharePoint conference material or tune in for the content that Zain is working up for our launch events in the spring.
You may remember the high priority post back in May (Important information on SharePoint Server 2007 based products and SP2) about an issue with the state of activation after SP2 is installed on SharePoint Server and associated servers. There was a pretty simple fix posted, but if you want to script the fix or just use the officially blessed correction to the issue, Hotfixes have been released for both the 64bit and 32bit versions of the SharePoint servers.
You can find the 32 bit version at office2007-kb971620-fullfile-x86-glb.exe and the 64 bit version at office2007-kb971620-fullfile-x64-glb.exe
(Blogged for my reference and to close the loop on the follow up action with the release.)
If you have installed (or are in the planning stages of installing) SP2 on any of the SharePoint Server 2007 based products (this includes Form Server, Search Server, Project Server, etc) then you NEED to head over to the SharePoint Team Blog and take notice of an issue that has been found. The post on the issue is at
The short version is that the SP2 install has an issue with the activation date – this will not affect any data or settings, but can affect your SLA’s if you haven’t taken the action described in the article.
Find the details on the SharePoint Team Blog!
(In response to a tweet conversation between @MattBremer and @mrackley)
The question was – how do you find all the web apps on a SharePoint server, from the server itself. I have some old code from SharePoint 2003 that did this and so I figured I’d drop hit here – for REFERENCE only. It’s ugly and has a lot of stuff that should be added to it, but it was a demo/sampler project I had worked on years ago.
1: public ArrayList GetAllServerWebs (bool IncludePortal)
2: {
3: ArrayList serverWebs = new ArrayList();
4:
5: sih.ImpersonateServiceIdentity();
6: SPGlobalAdmin globAdmin = new SPGlobalAdmin();
7: SPVirtualServerCollection vServers = globAdmin.VirtualServers;
8:
9: foreach (SPVirtualServer vs in globAdmin.VirtualServers)
10: {
11: try // protect for virt server problems.
12: {
13: if (vs.State == SPVirtualServerState.Ready)
14: {
15: SPSiteCollection sites = vs.Sites;
16:
17: foreach (SPSite site in sites)
18: {
19: try // Protect from site problems
20: {
21: foreach (SPWeb web in site.AllWebs)
22: {
23: if (!isPortalWeb(web) | (isPortalWeb(web) & IncludePortal))
24: serverWebs.Add(web);
25: }
26: }
27: catch (Exception) {}
28: }
29: }
30: }
31: catch (Exception) {}
32: }
33:
34: sih.RevertFromServiceIdentity();
35: return serverWebs;
36: }
I really need to go back and change this from Legacy code to something that uses the SharePoint 2007 updates and does the disposes correctly.
SharePoint and IE8 (B2)
Apr 15
Last week on the local SharePoint “Stump the Experts” panel someone brought up the concern that .Net 3.5SP1 “Broke” their SharePoint installation. We worked through the issue they had seen for a bit and discovered that they had also installed IE8 (B2) at the same time. Well, I hadn’t seen that so I went out looking for the answer to what they had seen. Turns out there was an issue during the B2 period with some of the updates installed and the loopback adapter (if you installed IE8 B2 on your servers you know about this with the search provider.) The enhanced security settings to keep from getting reflection attacks ended up blocking authentication under some circumstances and that’s not a good thing. You can find a detailed description of the situation and the resolution at Brian’s blog post below.
That sounds like I’m giving you a super secret link, but truth be told, it’s free for everyone after the first of this month. So if you haven’t given it a try, or haven’t spread the capabilities around because you didn’t have enough copies of it, jump on the link below and get your SharePoint content owners a great tool for managing your SharePoint sites (and help them understand that critical separation between code and content.)
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=baa3ad86-bfc1-4bd4-9812-d9e710d44f42
