ColdFusion and SharePoint

This post was republished to Social-Point at 1:09:20 PM 7/1/2009

ColdFusion and SharePoint

Category    SharePoint

Issue: What happens when you install ColdFusion on a machine that is running SharePoint? (We aren’t going to discuss WHY you would do this… just what the technical implications are.)

Result: SharePoint breaks (guess you saw that one coming). But what actually breaks is that a wildcard mapping that SharePoint places in IIS is removed. This breaks SharePoint’s ability to connect to the framework. (The exact mapping is to the following DLL: aspnet_isapi.dll.)

Here is a screenshot of what is should look like:

IIS Manager

IIS Manager

And if you clicked “edit”

Picture 3

So, if you or someone in your organization installs ColdFusion on top of SharePoint there is no need to reinstall SharePoint – just re-add the wildcard to aspnet_isapi.dll.

Remove Users from WSS (3.0)

This is one of those “easy things”, but I found it a bit illusive when helping a customer yesterday. I tend to jump the gun to STSADM and sometime the answer is as easy as the GUI.

Issue:

Have you ever created some test users in AD or had someone leave the company and you want to remove their users from the WSS People Picker?

Resolution:

  1. Make sure you are logged into the site as a “Site Collection Administrator
  2. Navigate to the top level site in the collection
  3. Click “Site Actions” then “Site Settings
  4. Under “Users and Permissions” select “People and Groups
  5. In the left-hand menu, select “All People
  6. Now find the users you want to remove and click the checkbox that’s next to their name
  7. Under “Actions” in the top menu, select “Delete Users from Site Collection

That’s about it. Enjoy.

SharePoint as a Lego

Ever wonder why you have to explain so much about SharePoint to people in your business? Does it ever frustrate you that you can’t just say:

“SharePoint is a CMS”
“SharePoint is Search”
“SharePoint is Business Intelligence”

You see, SharePoint comes with a set of “out of the box” features that in and of themselves are “fair” solutions – joined together they become a powerful solution. The magic of SharePoint lies in it’s extensibility. I like to equate it to the following example.

Say you wanted to buy a robot for your child so your drive down to your local toy store. You could buy a packaged robot that would have nice smooth corners and 5-6 robot-like things and work right out of the box.

The alternative is you could buy a Lego ™ Set of a robot that would require you build it and program it. Once it is done it will look like a robot but will have rough edges and could fall apart easily and do 5-6 robot like things. You can also build that same set into an almost countless number of other toys for your child to enjoy.

So SharePoint: Just like Lego’s – can do pretty much everything you want it to do in your office, but….

  • Make sure you have a plan
  • You are trading smooth-edges for flexibility and power
  • Show your new creations to others so they can learn from you
  • Have FUN!

BlobCache Tuning for WSS

Microsoft posted some handy information about tuning SharePoint Blob Cache so that blobs can be cached on the local file system to increase performance by not requiring the round-trip to the database.

Link to article: http://office.microsoft.com/en-gb/sharepointserver/HA101762841033.aspx

Unfortunately, the article assumes that you are running MOSS. If you are running WSS, then you will not be able to find the

In order to enable this for WSS you have to add 2 lines to your WEB.CONFIG file.

First:
Make a copy of the WEB.CONFIG file (I’m assuming you can find the correct file for your SharePoint WEB). Make sure that you append a new extension to the copied file’s name. If you don’t, both files get processed.

Second:
Open the WEB.CONFIG file and locate the tag for:

<sectionGroup name=”SharePoint”>

Add the following line to this section just before the tag is closed:

<section name=”BlobCache” type=”System.Configuration.SingleTagSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ />

Note the PublikKeyToken. You may need to change the one in my line above to match others in your WEB.CONFIG file.

Third:
Locate the following tag in your WEB.CONFIG file:

</MergedActions>

Add the following line right after the /MergedActions line:

<BlobCache location=”C:\blobCache” path=”\.(gif|jpg|png|css|js)$” maxSize=”10″ enabled=”true” />

Feel free to change the maxSize to whatever fits your requirements.

Fourth:
Go to a command line and execute an IISRESET /NOFORCE.

Final Thoughts:

  1. Please, Please, Please – make a copy of your WEB.CONFIG file before attempting this.
  2. If you have more than one Front End Server: this has to be performed on all Front-END servers or you will see inconsistent results as your load-balancer directs you between servers.
  3. If you have a large production farm – make this change a part of a WSP/Feature and deploy it to the farm via STSADM -o addfeature. This is the right way to make changes to your production farm.

SharePoint and Governance

I found this little image last night when researching some artists with my son. I though it really rang true to the SharePoint experience: It all starts all fluffy and nice, but SharePoint w/o governance turns into this very quickly:

Migrating SharePoint Databases

SharePoint content is – if nothing else – portable.

We do a lot of migrating databases from external SharePoint sites to our hosting. There often is no easy way to know what version of SharePoint was running on the other end of the wire. Once you attach the content DB’s (a subject for another post) I recommend you do the following:

  • stsadm –o addcontentdb –url {enter the url to the site} –databasename {enter the name of the db}
  • Psconfig –cmd upgrade –force –inplace b2b
  • stsadm –o upgrade –inplace –forceupgrade

The first command adds the new DB. You often can’t do that through the UI in Central Admin especially when there is a version mismatch. The second 2 commands upgrade the content DB to match that of the installed bits.

SharePoint Capabilities and Features

I want to start by apologizing that the intervals between the posts in this series are so far apart. Work has a way of getting in the way.   That being said- let’s progress….

So we have already established in Post 1 that SharePoint gets funded by an organization based on 1-3 key business priorities but is fully capable of providing benefit to that company with its other capabilities. The problem is – understanding where those opportunities are and how to apply SharePoint. That brought us to Post 2 – The Magic formula for SharePoint success. The only problem with this formula is there is more opportunity for improving your company’s business practices than you have time to implement them! As Ms. Clinton said a few years back, it’s going to take a village. In this case, the village is the entire staff at your company.

Here is what you have to do:

  1. Fully understand the capabilities of SharePoint (WSS, MOSS Standard, and MOSS Enterprise)
  2. Fully understand what you are licensed to use
  3. Identify which SharePoint capabilities are most important to changing your business
  4. Identify the current knowledge of your employees (or community)
  5. Identify a path to get your employees from their current knowledge level to one which will enable them to utilize the SharePoint features you identified as most important in step 3.

I’ve created a simple tool based on Microsoft Excel 2007 to help you with this process. Please feel free to download, use, and make your own. I would only ask that if you make substantial changes (a.k.a. improvements) that your submit them back to me so we can all benefit from your work.

Please let me know what you think of this tool – I’ve spent some time working on it and have found it quite helpful in my own SharePoint world.

Other Posts in this series:

Here are a few links to get your vNext fix:
http://blogs.msdn.com/sharepoint/archive/2009/04/14/microsoft-sharepoint-14-is-now-microsoft-sharepoint-2010.aspx

http://www.microsoft.com/presspass/features/2009/Apr09/04-15Office2010.mspx

How can he be so bold as to make a statement like that???? In the spirit of full disclosure, I am making some assumptions that include: you have executive support, the SharePoint system is sound, and you have stakeholder buy-in. That being said, let’s begin.

There are two methods I’ve seen used to apply SharePoint within a business – one successful – one a failure. Let’s look at the failure first:

Formula for Failure:

  1. Identify a business issue
  2. Apply SharePoint

The reason this formula fails is that it lacks several key requirements

  • What is the current exact business process?
  • What’s wrong with the current process?
  • What does success look like?
  • What would make the process better?

Without answering these questions, success will always be an accident based in ignorance. Now let’s look at the formula for success:

  1. Identify a business issue
  2. Analyze how you currently do the work today
  3. Design how you would like to do the work
  4. Apply SharePoint

This may sound too simple to be true – but you see, SharePoint does SO much – and it can be so user friendly – that users just start creating sites and lists when they see any sort of business process issue. You see, SharePoint (the tool) should never be applied until the design (target) is clearly identified. Now this process is one that can be applied by both SharePoint professionals as well as general business users. Business users can handle steps 1-3 but will require some assistance with Step 4. As you repeat this process with your business groups you will find that they actually learn – they will come to you with steps 1-3 complete and look to you for step 4. That’s why you get paid the big bucks!

The greater the understanding of SharePoint capabilities – the more your users can create their own SharePoint powered solutions. That is the target of this series:

  • How to identify which capabilities in SharePoint are important to your business
  • How to measure business’ SharePoint understanding
  • How to measure what will be required to bridge that gap in understanding

In the next post: I will identify and define the key capabilities of SharePoint. Remember, this is all building toward you building a “SharePoint Capability Matrix/Roadmap” for your business

Other Posts in this series:

  • The Long Tail (Part 1)
  • The Magic Formula for SharePoint Success (this post)
  • SharePoint Capabilities and Features (Part 3)
  • Appling SharePoint to a Business Problem (Part 4)
  • Creating the Capability Matrix/Roadmap (Part 5)

SetSiteLock

A colleague of mine recently had a very unusual – and frustrating issue occur. We had received a backup of a site to restore on our infrastructure. The restore seemed to go just fine and the site came up without errors. The problems started when we tried to navigate to the site. We were using our Farm Admin account which was already set as a site collection administrator – but “Access Denied” was received when trying to view the site. He even made a change to the policy for the WEB app to give the account full access to the content – no change – still “Access Denied”.

Turns out that in an attempt to not lose data – the customer had executed the stsadm command “-o sestsitelockand didn’t tell us. After a little WEB Searching this blog was found that detailed the situation exactly.

Note to self: next time we receive a backup – ask if they locked the content db.

For your viewing pleasure, here is the details from technet on the command:
(http://technet.microsoft.com/en-us/library/cc262811.aspx)

 

Setsitelock: Stsadm operation (Office SharePoint Server)

Updated: 2007-09-13

Description

Sets a value that specifies whether the site collection is locked and unavailable for read or write access. This operation should be used in conjunction with the Getsitelock operation. For more information, see the Examples section.

Syntax

stsadm -o setsitelock

   -url <URL name>

   -lock {none | noadditions | readonly | noaccess}

Parameters

Parameter name

Value

Required?

Description

url

A valid URL, such as http://server_name

Yes

The URL of the site collection.

lock

Any of the following values:

  • None: Sets the site collection to unlock.
  • Noadditions: Permits changes that reduce the size of the data.

    For example, if you had an announcement list item whose body consisted of 50 characters, you could successfully edit the list item so that the body was reduced to 25 characters. However, if you tried to edit the list item so that they body was increased to 100 characters, that would be blocked.

  • Readonly: Sets the site collection to read-only.
  • Noaccess: Sets the site collection unavailable to all users.

Yes

Set the lock status of the site collection.

Examples

A common situation where the getsitelock and setsitelock operations are useful is when a site is backed up. Typically, before you back up a site collection, the site should be locked and no users should have access to it.

To determine the lock status of the site, you can use the following getsitelock syntax:

stsadm -o getsitelock -url http://server_name

Once the lock status of the site collection is determined, you can use the noaccess parameter of the setsitelock operation to lock out all users to the site:

stsadm -o setsitelock -url http://server_name -lock noaccess

You can use the Backup operation to create a backup of the site collection:

stsadm -o backup -url http://server_name -filename “filename.bak” -overwrite

After the site has been backed up, you can use the none parameter of the setsitelock operation to remove all locks to the site:

stsadm -o setsitelock -url http://server_name -lock none