Archive for the Category Uncategorized

 
 

SharePoint 2010 MySite: Community Report

The deployment of My Sites is among the most difficult desicsion to make in enterprises with a timid or conservative management style. I thought I would look through the community to see if we have any consensus about what to expects or how to avoid pitfalls.

First of all, our new best friend, Chandima has a nice look here. He identifies benefits, such as connectability and discovery, and he also describes some of the overhead on performance and storage.

He also describes the SharePoint 2007 SSP approach to managing the permission to create a MySite.

Things will be different in the 2010 solution. There’s no SSP servers, only dedicated service servers. I sense that throttling MySite creation is one thing we might use to mitigate the management timidity we spoke of, I supposed we’ll be looking through the profiles service to find the permissions to create new MySites.

-hth
robot

Root Level Site Collections

I’m finding a number of good sources on the topic of creating your site collection at the root level of your web applications.

Consider this requirement: In an existing SharePoint operation with a top level site, you need to create a new site collection in a new database with a simple URL like:

http://MyPortal.com/MyNewSiteCollection

Using your standard Central Admin interface, your new site collection will end up under:

http://MyPortal.com/MyNewSiteCollection/Sites or
http://MyPortal.com/MyNewSiteCollection/Personal

Well, of course, that because “Sites” and “Personal” are managed paths in the default install. We’ll need to create a new managed path at the server’s root level and then add our site to it.

Our new best friend, Cory, give us a good start here. He explains how to create the site collection using explicit inclusions of both the root and the top level site.

Then, our other new best friend, Ben, explains, here, that what we need is a new managed path using an explicit inclusion.

I’m not sure I absolutely understand the difference, at least in SharePoint 2010.

Like Cory says, the server won’t display the site at the root if it’s configured as a wildcard excusion. For example, I have a site at:

http://MyServer

If I do like Cory says and delete the root managed path and recreate it with a wildcard inclusion, we can see that the root site quits working. Furthermore, no URL defined as a wildcard exclusion will display a site.

So,  in Central Admin, I go to Application Management | Manage Web Applications. I select my SharePoint – 80 and click on Managed Paths. 

 Add my new site with an explicit inclusion and click Add Path:

Then, when you go to Application Management | Create Site Collection, you can see that the managed path is available in the pull down list and that it will create your new site with the template you select at the root of your new managed path.

 

The next thing we need to do is make sure the database gets built into it’s own distinct database. For this, we visit Application Management | Manage Content Databases. Here we click Add a content database and give the new database an appropriate name. Then we go into all the existing databases and set their Maximum Number of Site Collections to the Current Number of Site Collections. This will assure us that the new site collection gets it’s content written into the new database. After it’s created, change the numbers again to make sure future site collections poke their data into the appropriate database.

hth
-robot

Link to Create Instance of Content Type

Sometime, you want to give your user a link to create a document in a library somewhere using a document template tied to one of the library’s content types.

Our new best friends at SharePointKings.com gave us a head start on figuring it out. I just had to pull out my ASCII character map to decode all the escape characters and found they mostly didn’t matter.  So, using our handy dandy content editor web part, we can drop this code in place to cross this one off our list:

<A onfocus="OnLink(this)" HREF="XXX Item 1 XXX" onclick=
"createNewDocumentWithProgID('XXX ITEM 2 XXX', 'XXX ITEM 3 XXX',
'SharePoint.OpenDocuments', false)">Create Instance of Content
Type in Specified Library</A>

Just replace my place holders as follows:

“XXX ITEM 1 XXX” = Relative path to template in \Site\Subsite\library\forms\content type\ folder, i.e.

"/SiteDirectory/My%20Site/My%20Library/Forms/My%20Content%20Type/
Template%20File%20Name.docx"

 I’m using %20 for blank spaces. You can browse to the folder in Explorer view to be sure you have it right. Just swap the \s in favor of /s

‘XXX ITEM 2 XXX’ = Full path to template in \content type folder. In my example above, that would be:

'http://MyDomain.com//SiteDirectory/My%20Site/My%20Library/
Forms/My%20Content%20Type/Template%20File%20Name.docx'

Use single quotes.

‘XXX ITEM 3 XXX’ = Full path to host library. In my example above, that would be:

'http://MyDomain.com//SiteDirectory/My%20Site/My%20Library'.

Again use single quotes.

I’m not sure what the OnFocus= does for us and I can’t testify to the efficacy of the relative vs. full paths but this format does the trick for me.

hth
-robot

Source for Cool Excel Functions

Two cool things here.

First, there’s a slam dunk intro into Excel programming; your first module and first custom function in less than one minute. Be sure to replace the silly left and right quotation marks with ordinary quotation marks once you open the VB Editor. I’ve plagerized his code below if, like me you’re just too lazy to click. I eliminated the line continuation character and the silly quotes.

Second he has a “Buy Me a Beer” icon that loads his Paypal page. You gotta wonder what kind of metrics he builds using that tool.

hth
-robot 

Function GetAddress(HyperlinkCell As Range)
GetAddress = Replace(HyperlinkCell.Hyperlinks(1).Address, "mailto:", "")
End Function

KPIs are Now Status Lists in SharePoint 2010

So, if you’re looking for them, you won’t find them, but we all know how the boss love little red-amber-green traffic lights on his web page. We looked at them in detail in SharePoint 2007; they were called KPI lists.

In SharePoint 2010, they’re called status lists.

So if you follow the directions, be sure to note the prerequistite that you must have the SharePoint Server Enterprise features activated. Since I always start with a blank site, that feature is not activated by default. Go into your site settings and click Manage Site Features.

Of course, the Enterprise features have to be activated at the site collection level in Central Admin. I think you find that in Cetral Admin at /_admin/SkuUpgrade.aspx

hth

-robot

Complete SharePoint 2010 Farm on Local Machine

When I try to install a complete farm on a local machine with local SQL Server and no domain, I get some ugliness about needing a domain account to install a complete farm.

The good news is that there’s work arounds. There’s a couple of hacks described here described by our new best friend, Michael.

So, since we’re experts at PowerShell, I warm up to that option. But I’m not very comfortable with the details Michael provides so I go looking and find this from our new best friend, Marc. This is really a pretty good step by step of the end to end SPS 2010 install, the kind of thing that an SPFromScracth robot can really appreciate.

So we run:

New-SPConfigurationDatabase  

And then, after we troubleshoot a couple of errors, we also find this from our new best friend, TiPi.

TiPi’s gone to the trouble to address lot of questions alot of us have and he’s actually followed up to get some intelligent answers. Apparenly, the PowerShell command requires a little finesse including:

  • Run the SharePoint PowerShell console as Administrator (requires a right-click.)
  • Use the <Machine Name>\<User Name> format when prompted for your service account credentials.
  • If it errors, go into SQL Server Management Studio and, if it created them, delete the configuration database and the administration content database.
  • Restart the SharePoint PowerShell console if you get an error.

The guy, Paul, that answers TiPi’s questions is right, it might take a few tries and about an hour. But, it really is pretty cool when you go back to the configuration wizard and it finds your new configuraiton db all nice and pretty.

Thanks again you guys!

-robot

More on Microsoft's Virtual CDROM Player

You people are great.

First, when I needed to make an .ISO file act like a ROM disk drive, I found this that lets me assign it a drive letter.

  1. Download
  2. Unzip
  3. Run the .exe
  4. Select the driver
  5. Start the driver
  6. Pick a  drive letter
  7. Load the ISO

Done.

Then, I’m running it on Windows 2008R2 x64 and I get this ugliness:

The driver has been blocked from loading

Now my inner tech writer notices the passive voice that weakens the statement by replacing the real subject (what did the blocking) with the direct object (the driver) but then, I notice the author neglected to use proper punctuation; if we don’t know the rules of punctuation, we’ll never get the benefits of active voice.

All the same, I search google for the error message and find this page from our new best friend, Lou. In his blog, A Thump to the Brain, he explains that the tool works in WinXP Compatibility mode, whatever that is.

Right click on the .exe and select the compatability tab. Check the Run this Program option, select WinXP SP2 and click OK.

Then run the .exe, intstall the driver, start the driver, create the drive letter and mount the .iso.

Very cool and all for free. You guys are great!

-robot

Access Databases in SharePoint

So when you’ve installed the SharePoint Server 2010 (SPS) you get a load of new templates including web daytabase templates:

  • Assets Web Database
  • Charitable Contributions Web Database
  • Contacts Web Database
  • Issues Web Database
  • Project Web Database

We’ll need to figure out how these guys work.

When I create a new site using one of these templates, I expect that I’ll get that silly “Creating Site” pinwheel but, instead, I get a page that says:

Preparing Site:
Someone has recently made changes to this site and
the site is being updated. If the site remains offline
for an extended period of time, contact a site owner.

And since, this page never goes away, even after an hour and a hundred refreshes, no Bevis, it’s always going to be the same. And, as usual, Since I’m the site owner, again, I’m stuck totally dependent on my SharePoint community friends. At lease it doesn’t invite me to “Troubleshoot Problems with SharePoint Server.”

Lucky for us, our new best friend Marc gives us a clue here.  He says we need:

  • An Access Service Application
  • An Access Database Server
  • To enable session state.

I’m a little confused on the first two. For the last one, Marc is kind enough to provide the PowerShell command:

enable-spSessionStateService
–DataBaseName <SomeNewDatabaseName>

So I go into Central Admin and find Application Management and click on Manage Service Applications. Here we can configure all our service applications and the Access service allows us to throttle all kinds of Access activity.

If we try Application Managment | Manage Services on Server we can see that our Access service is stopped and we can start it there.

So now I can get my web database site built using the projects web database template where I get a cool little grid view thing. I can create projects, users, customers and, on projects, I can create tasks.

But on the Report Center, I can select a report and get a pinwheel but then I get this curious error page:

Report Center Error

Report Center: File Not Found Error

 We can take that coorelation ID to our ULS Error Tool we talked about here. But we better be careful because it’s from an unknown publisher. Once it opens, we simply filter for the coorelation id.

Well that didn’t work. Seems like the doggone thing is moving so quick, Ihave to go File | Abort Load. Then I can find my correlation ID in the correlation column and then filter for that value and I find five rows, including one that says:

Name=Request (GET:http://MyServer:80/MySite/Projects/
AccessServices/Reports/ActiveTasks.aspx)

I can try that page but I get a similar error without all the surrounding folderall.

Then the next error says:

System.IO.FileNotFoundException: Could not load file or assembly
'Microsoft.ReportingServices.SharePoint.UI.WebParts, Version=10.0.0.0,
Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its
dependencies. The system cannot find the file specified.

Somehow, I ended up here and worked these mods and then everything’s blown up; I get a white screen with:

An unexpected error has occurred.

I revert the chages and no luck. Dog…

I open my Hyper-V manager and roll back to this afternoon.

Sweet, back in business. We’ll have to look at this more in detail later.

-robot

SharePoint Community Report

Here’s a couple of  items that you could find interesting:

First, there’s Understanding SharePoint Jounal and their SP 2010 Workflow package. It’s only $14.95 and I’m sure you could tell your boss that the decimal point is a typo and put it down as $1495 on your expense report. Take the week off and hang out at the house and then show up next week as the workflow expert.

The second item is Axceler’s SP 2010 Admin Webinar.  They’ve got a “Top Nine” list that you can use to drive any number of disucussions about your (customer’s) SharePoint operation. In the past, I’ve gotten a big kick out of TopFive.Com’s daily Top Five List and I’ve worked with AIIM.Org on their Top Eight topics so this is a first for me and Top Nines. All the same, If you stick around, I’m sure you’ll find me plagerizing Axceler’s bulletpoints soon.

Next, there’s your Visio stencils for SharePoint diagrams, you know the cool ones with the sites and subsites and all the little lists and library icons. Those you can get here from the SharePointSherpa.com.

Then there’s this explanation from our new best friend Chakka  on how this cool tool from MSDN works. Of course none of us have ever been frustrated by the difficulties associated with SharePoint Logs so none of us will be interested in this.

Then, our new best friend, Todd, has outlined the SPS 2010 site templates here. This is a great outline of the 2010 resources we’ll need to know going forward.

Finally, there’s our new favorite They Might Be Giants song, My Experimental Film (thanks to Rock 88 WKNC.Org) It’s not really SharePoint but I’ve had some expiremental SharePoint installs in the past that might have developed along similar lines.

Check those out and let us know what you think.

-robot

Debugging Web Parts

So we have a to do list that includes looking at Kerberos for CRM and SharePoint v4 as well as another that includes getting the BDC ADF File Builder to run.

But for now, we’ve had a new project dropped on us that includes reworking a web part project that never really got finished. It’s a WSS 3.0 solution so let’s see what we can do with it.

First, I have the solution file: MyProject.sln and MyProject.sou.

In Visual Studio 2008, I select Open from the File menu and select Project\Solution. In the Open Project dialog box, I navigate out to my  project folder and select MyProject.sln.

The project opens in the solution explorer. Now we have our friend, Carsten’s WSPBuilder installed in the VS environment so, when I right-click on the project, I get a WSPBuilder | Deploy option. That makes the machine run and I get a little text in the output window that ends with Done.

Now, since I’m working directly on my SharePoint server and this web part has already been deployed and is visible on a team site, I can pretty much hack it up and redepoy it and my hack will appear on the screen.

For example, I have a MyWebPartToolPane.cs file that’s got code that looks like this: 

namespace CmsFtpPublishing32bit.WebPartCode
{
    public class MyWebPart : System.Web.UI.WebControls.WebParts.EditorPart
    {

In here, we’re creating a bunch of controls and structuring them in the tool pane with alot of these:

 
 

Controls.Add(new LiteralControl("<br/>"));
Controls.Add(new LiteralControl("<div class=\"UserSectionTitle\">These Settings</div>"));
Controls.Add(new LiteralControl("These Settings<br/>"));
Controls.Add(TheseSettings);
Controls.Add(new LiteralControl("<br/><br/><div class=\"UserDottedLine\"></div>"));

Here is where we can add “Hello World” and see it in our tool pane. First, we have to do a WSPBuilder | Deploy again. Then browse to the page with the web part and open the tool pane.

Next we’ll attach the debugger to it and break into the code at runtime. Event though it was written in 2006, our new best friend, George, outlines, in this post, the process of attaching the VS debugger to your w3wp.exe process to hit your breakpoints.

hth

-robot