Archive: Author Archive

Brush up on your SharePoint 2010 Skills…

1 comment July 26th, 2010

So you find yourself in the conundrum of needing to brush up on your hands on skills with either SharePoint 2010? You’ve got a laptop that doesn’t have 8 GB of memory to host that all inclusive VM you downloaded from Microsoft?  You’re not running Vista SP2 x64 / 7 x64 / 2008 x64 as your host operating system?  You bought a laptop that has 8 GB and running 7 x64 but doesn’t have VT extensions?

Sounds like it’s not quite as easy to get an environment up to learn on as one might hope.

Fear not though, there’s still hope.  You can still use Microsoft’s Virtual Labs to spin up through Hands on Labs for both SharePoint 2007 and 2010.

For more, be sure to check out http://technet.microsoft.com/en-us/virtuallabs/bb512933.aspx

They’re free, low cal and tasty Smile

Loading the SharePoint 2010 Management PowerShell

1 comment July 21st, 2010

So someone asked me today, “What if I don’t want to use the SharePoint 2010 Management PowerShell”?

I looked blankly at them and thought to myself, “Well that’s just silly…” and then decided to look into the matter :)

So it’s pretty easy to add the SharePoint snapin for PowerShell. You can do this manually, or you can simply run the SharePoint powershell script that adds the snapin and sets your location.

Okay, but where is this cute little script located?

%InstallRoot%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\SharePoint.ps1

Of course if you’ve set up links properly you can quickly get to this through some other means of a symlink to 14-root.

Nonetheless, in case you don’t feel like going into the Microsoft SharePoint 2010 Products from the menuing interface of Windows and prefer PowerShell, then there you have it.

Happy PowerShelling!

Database Spotlight: Application Registry Service DB

1 comment July 17th, 2010

Unlike other databases that SharePoint 2010 creates, the Application Registry Service Database is actually included in the mix for backward compatibility of SharePoint Server 2007 Business Data Catalog connection information and other information pertinent to the BDC API.

By default, the database name is “Application_Registry_Service_DB_<GUID>”.  I’m not quite certain why, but I’m not so much a fan of the out of the box naming of databases with a GUID appended to the end – though I guess it does ensure that you’re never going to inadvertently create one on the fly that has the same name as others.

Similar to the BDC, the Application Registry Service database is read-heavy since there isn’t any writing done with the BDC Smile. And though the services architecture is a bit more broken out, you can only have a single Application Registry Service per farm, which means that you can only have a single database associated with your farm, which in turn means get ready to watch it grow should you be migrating several BDCs into your farm while you prep them for conversion to Business Connectivity Services candidates.

Fortunately for scalability purposes, it is possible to mirror this database within a farm to ensure availability of data for the BDCs to operate, however it’s not possible to mirror the database or use log shipping to mirror the database onto another SQL instance. Perhaps keeping a backup handy would be helpful should the data become corrupted or your server’s SAN melt.

A visualization of the tables and associated columns is depicted here:

Application_Registry_Service_DB_GUID

If you’re wondering what the tables and their associated columns look like for the Application Registry, then look no further as they are as follows:

Application_Registry_Service_DB_GUID
  AR_Action
    EntityId
    Icon
    Id
    IsDisplayed
    IsOpenedInNewWindow
    Position
    Url
 
AR_ActionParameter
    ActionId
    Id
    Index
 
AR_AdminLocks
    Id
    LockId
  AR_ApplicationRegistry
    Id
  AR_Association
    Id
  AR_AssociationMember
    AssociationId
    EntityId
    EntityRole
    Id
  AR_CacheCounters
    MetadataObjectType
    ObjectCacheCounter
    RelationshipCacheCounter
  AR_Class
    Id
    SystemId
  AR_DefaultValue
    Id
    MethodInstanceId
    TypeDescriptorId
    Value
  AR_Entity
    EstimatedInstanceCount
    Id
  AR_ExternalAssociation
    Id
    MappingTableName
    SourceEntityId
    TargetEntityId
  AR_FilterDescriptor
    Id
    MethodId
    TypeName
  AR_Identifier
    EntityId
    Id
    OrdinalNumber
    TypeName
  AR_LocalizedName
    Id
    LCID
    LocalizedName
    MetadataObjectId
  AR_MetadataObject
    Id
    IsCached
    Name
    Version
  AR_MetadataObjectSecurity
    DisplayName
    Id
    IdentityName
    MetadataObjectId
    RawSid
    Rights
  AR_Method
    ClassId
    Id
    IsStatic
  AR_MethodInstance
    Id
    MethodId
    ReturnTypeDescriptorId
    Type
  AR_Parameter
    Direction
    Id
    MethodId
    OrdinalNumber
    TypeReflectorTypeName
 
AR_Property
    Id
    MetadataObjectId
    Name
    Value
 
AR_System
    ConnectionFactoryTypeName
    Id
    SystemEntityTypeName
    SystemUtilityTypeName
 
AR_SystemData
    Data
    Id
    Length
    Name
    SystemId
 
AR_SystemInstance
    Id
    SystemId
 
AR_TypeDescriptor
    ContainsFilterDescriptor
    ContainsIdentifier
    FilterDescriptorId
    Id
    IdentifierId
    InterpretedTypeName
    IsCollection
    ParameterId
    ParentTypeDescriptorId
    TypeName

A downloadable copy of the Map in PDF format is available here.

SharePoint 2010 Database Names

2 comments July 16th, 2010

While SharePoint Server 2010 has several enhancements for Administrators including such capabilities of an offline database restoring a list item or document, there are still some curiosities that I’ve got as to the planning of the underlying system.

For instance, it would seem that for such a refined product with so many enhancements that items such as the underlying databases might follow a naming convention of some sort. For a standard SharePoint Server 2010 Enterprise edition installation, out of the box you’ll have the following databases:

Application_Registry_Service_DB_GUID
Bdc_Service_DB_GUID
Managed Metadata Service_GUID
PerformancePoint Service Application_GUID
Search_Service_Application_CrawlStoreDB_GUID
Search_Service_Application_DB
Search_Service_Application_PropertyStoreDB_GUID
Secure_Store_Service_DB_GUID
SharePoint_AdminContent_GUID
SharePoint_Config
StateService_GUID
User Profile Service Application_ProfileDB_GUID
User Profile Service Application_SocialDB_GUID
User Profile Service Application_SyncDB_GUID
WebAnalyticsServiceApplication_ReportingDB_GUID
WebAnalyticsServiceApplication_StagingDB_GUID
WordAutomationServices_GUID
WSS_Content
WSS_Logging

As you can see, the naming convention seems to vary dependent on the team within the product group that was developing the capability, feature set or workload.  For instance, some of the databases include an “_DB"_” and other times the database name has a concatenation of the “DB”.  Further, it’s interesting in seeing how they delineate words, in some instances using spaces, others underscores and others just capitalization of letters to delineate the database.

Interesting that it wasn’t polished to be uniform eh?

Lenovo W510

3 comments July 10th, 2010

So my Lenovo W510 showed up before the July 4 holiday weekend and I have to say that I’m definitely pleased to have waited on the FHD screen – it’s phenomenal.

Why did I buy a W510 after buying a Lenovo T410? Easy, the W510 is a workhorse with it’s quad core i7 820QM processor and 16GB of DDR3 RAM. Swapping out the stock 500 GB 7200 RPM hard drive with a Seagate Momentus XT 500 GB hard drive was a no brainer after seeing the solid performance the drive provided as an external eSATA drive for virtual machine work. Toss in the Silverstone DS221 dual drive eSATA/USB 2.5” RAID enclosure and find pure bliss when working with VMs (note, don’t hit the reset button unless you really wanna blow your data away).

Overall, definitely a decent procurement to continue furthering on local SharePoint 2010 development rather than using RackSpace Cloud or Amazon Web Services Elastic Cloud Computing. While both services are great and easy to use, neither really give me the ability to “toy” with technology as I need – but definitely still use them for demonstrations for organizations as needed.

So bottom line, the only thing that could be a bit sweeter – a smaller brick power supply, alas, I’ll live with the 135W power supply for now (good luck ordering a second one, they’re not available through Lenovo right now). Something that would be a nice to have that hasn’t come out yet – Privacy Filter.

SharePoint 2010 – Drive Space Conundrum

3 comments May 20th, 2010

One of the new capabilities of SharePoint 2010 that comes in handy is the Health Monitoring alerts that pop up on the front page of Central Admin. One thing you might run into is when you start to run out of disk space.  You’ll probably see something similar to this:

Always something that you want to see while you’re working on your environment right? Not so much.

For some reason it always seems that just when things are going well, profiles are synchronizing, users are starting to engage the SharePoint platform, and boom, whammo, the file system fills up with log files, trace logs and event logs. So just a gentle reminder to examine where your log files are and consider moving them to an alternate drive than the core OS drive.

How do I do this you ask?  Pretty simply…

First off, decide what your disk plan is for your SharePoint Servers – hopefully you’ve got more than just a single drive in your system, if not slap on an extra drive (either physical or virtual) for log files, or if you’ve got a SAN handy, request an extra drive on separate spindles from where your data is stored and have them zone it for your SharePoint server to be added for offloading.

Next, for your IIS logs, simply open up IIS and go to the server name (in my case SP2010WFE-01) and then in the main information pane of IIS, scroll down to Logging underneath IIS.

Locate the Directory location and modify it to the location that you’ve setup for log files, in my case I’ve added an additional drive to my SharePoint server with the logical volume “E:”

Once IIS creates the structure, you’ll want to copy over old log files from your core OS drive (C:\inetpub\logs) to your new location.

Next up, Trace Logs for the Unified Logging System…

Within SharePoint Central Admin, navigate to Monitoring, within Reporting select “Configure Diagnostic Logging”.

Direct Link – http://<NetBiosNameOfSharePointServer>:<CentralAdminPort>/_admin/metrics.aspx

Scroll down to the Trace Log section where you’ll see something like this:

Simply input the drive that you’d prefer to use, in my case replacing %CommonProgramFiles% with “E:\Program Files\common files”, and you end up with something like this:

Go ahead and copy over the contents of the Logs file on the original instance to the new instance to consolidate your log files.

Lastly, moving your event logs to the log drive is definitely a consideration to make – especially the Security Log file as this will grow quickly once you’ve implemented Kerberos and opened your system to your user base (NTLM spawns quite a few security events too). Out of the box you’ll see your event logs like this:

Application Event Logs

Security Event Logs

System Event Logs

Simply modify the “File” location to the new location where you are looking to store your files, in my case I use “E:\Windows Events\Logs\” as the directory followed by the appropriate event log file name. This is documented in: http://support.microsoft.com/kb/216169

Further, to ensure that log files don’t explode, leverage the “AutoBackupLogFiles” property within the Application Events (you’ll have to add this to the Security and System Event Logs, simple DWORD property). Setting the value to “1″ or any value other than “0″ will create backup files in the file location specified.

This is documented in http://support.microsoft.com/kb/312571 (though it’s specific to 2000/2003 server, it works for 2008).

These three simple changes should assist in keeping your core OS drive lighter weight and prevent your system from a hiccup caused by a disk filling up.

TaxonomyPicker.ascx bug (SP2010 RTM)

4 comments May 19th, 2010

Please note the update!

So apparently others have stumbled upon this but when doing my rebuild of RTM over the weekend I noticed a nifty little error popping up in the event log that raised a little concern with regard to the TaxonomyPicker user control.

Looking at the error, you’ll notice that it states the TaxonomyPicker.ascx user control can’t register an assembly ‘Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker’ from assembly ‘Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c’.

If you’ve seen something like this before it’s typically because either a user control was edited incorrectly such that a character was incorrectly added to the assembly register string, or someone removed the assembly from the server and the user control is “freaking out” (never a good thing).  In this case it’s just a typo in the user control – but wait, this is out of the release to manufacturing right? Yeah, about that…

So the fix, simply navigate to the 14 root at: %systemroot%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\CONTROLTEMPLATES where you’ll find the TaxonomyPicker.ascx user control.

If you haven’t created a short cut to the 14 root yet, you may want to as I’m sure you’ll be visiting there often :)

First – make a copy of the file and save it as perhaps TaxonomyPicker.ascx_backup or something along those lines – what works for you, run with it.

Next using your favourite text editor (TextPad for me), open the user control and observe in the first line the error.

Interesting that “TaxonomyPicker&#44;” made it through quality assurance testing, but alas, not a huge detail right? Simply replace the “&#44;” with a “,”

Save the user control and restart the app pool and presto, the error should be no more.

Permissions still as they should be? Should look like this…

Also, check to ensure that you’re still inheriting permissions properly by opening the file properties -> security -> advanced

And with that, you’re done. Happy tuning.

Update – Apparently the error will continue to persist even after making the correction to the file.

Looking in the Microsoft.SharePoint.Portal Assembly it looks like there is no actual TaxonomyPicker class, so in reality you can just keep the copied file (TaxonomyPicker.ascx_broken) and remove the fixed version. That being said, until the TaxonomyPicker class is implemented within the Microsoft.SharePoint.Portal assembly, you’re safe in not worrying about this user control.

SharePoint Saturday DC – 15 May 2010

No comments March 20th, 2010

That’s right, we’re back. SharePoint Saturday DC, the third edition, will be on 15 May 2010 at the Northern Virginia Community Campus in Annandale, Virginia, just outside the Capital Beltway.

We’re expecting up to 800 individuals attending with approximately 45 sessions going on through out the day – and it’s all free!

Definitely an exciting event with the SharePoint Server 2010 platform being released to businesses a few days earlier in the week.

Interested in finding out more? Check out the site – we’ll begin posting speakers and sessions within the next few days … http://www.sharepointsaturday.org/dc

Want to register? http://spsdc.eventbrite.com

RDA Spotlight – Extranet Solutions with SharePoint

No comments February 23rd, 2010

RDA Corporation, the fine people that gave us the ECAL Tracker on Codeplex.com, will be presenting a webcast this Thursday (25 February) at 1 PM EST to discuss enabling SharePoint portal sites for differing business areas, specifically for an enterprise extranet portal. The overarching agenda for the webcast is as follows:

  • Definition of an Extranet
  • Hardware
  • Information Architecture
  • Security
  • Publishing
  • Maximizing Search
  • Stories from the Field

Dan Gilroy of RDA will be the presenter for the session.

Time – 1 PM EST, 25 February 2010

More information: http://go.spdan.com/filcj

Online Registration: http://go.spdan.com/kqjpt

OT: Cloud Computing and Azure

No comments February 22nd, 2010

Cloud Computing and Azure are two hot topics on the horizon, albeit somewhat SharePoint independent at the moment. Microsoft will be doing a deep dive this week in Tyson’s Corner on the topics of Cloud Computing and the Windows Azure Platform. The audience for this event is more geared toward developers, however IT Pros and Architects will definitely be able to get a good level of detail about these topics.

The event will consist of three sessions to include an (1) Overview of Cloud Computing and Windows Azure, a (2) Survey of Windows Azure Storage Options and (3) Going Live with your Azure Solutions.

The time – Thursday, February 25, 2010 from 1 PM til 5 PM
The place – AMC Tysons Corner 16 (7850 Tysons Corner Center, McLean, VA 22102)

More information on the event: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032438181&Culture=en-US

Event ID Number: 1032438181

Register Online