Friday, September 13, 2013

Extended Material from the SharePoint Administration 2013 Inside Out book- Subscription Settings Service Application

The SharePoint Administration 2013 Inside Out book is wrapping up, and I am frantically doing edits before heading out to Sweden for the SEF 2013 event (I'll be ON A BOAT!).

This blog entry is some extended material from that book. I was working on Chapter 6, "Creating and Managing Service Applications" and wrote more material concerning Multi-Tenancy, Subscription Settings service, than the book's style requirements can support.

What this means is I had a section detailing pretty quickly how to create the subscription settings service application, create a subscription ID, create a site collection to use that ID, apply the ID to an existing site collection, create a feature packs, apply them, isolate the users for the tenant in their own OU, etc. Truly, I was supposed to do about a page per service application, and I ended up doing 8 pages for this one alone.


So I had to trim the section to better match the intent of the chapter.

But, in case anyone reading the book would like to see this kind of detail, I am posting here. So:

How to create and manage the Subscription Settings Service Application in SharePoint Server and Foundation 2013 (note that in the final section listing the different service applications that can be partitioned, some of those do not apply to Foundation).

Create the Service Application and its proxy

Subscription Settings service obviously has several parts; the Service Application itself, its database (containing all the information concerning the subscription IDs), and its proxy. Interestingly, the service application does not have an association to connect (or not connect) the proxy to individual web applications. Once the service application is started and configured, it applies to the whole farm.

The subscriptions can also use their own Tenant Administration site template for the management of all of the site collections using the same subscription ID. When self-service site creation is enabled, the tenant administrator can create new site collections within the subscription. Feature packs (sets of specific features) are applied per subscription.  So if a tenant has a number of site collections in the subscription, the feature pack will be applied to them all.

Here’s an example of how to create the Subscription Settings Service Application using PowerShell. In this case it will create a new service application pool (in my example the account is already a managed account), create the service application and its proxy. Remember to start the service instance on the Services on Server page in Central Administration.

$apppool= New-SPServiceApplicationPool –Name “SubSettingsAppPool” –Account “contoso\sp_ssacct”

$sapp= New-SPSubscriptionSettingsServiceApplication –Name “Subscription Settings Service” –DatabaseName “SubscriptionDB” –ApplicationPool $apppool

New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $sapp

The Subscription Settings Service will then show up in the Manage Service Applications, but will not have any manageable elements on that page. All management has to be done in PowerShell.

Generate a Subscription ID

Once the Subscription Settings Service Application is created, you can then generate subscription IDs. With an ID, you can create a tenant admin site collection, and, if the web application has self-service site creation enabled, the tenant can create additional site collections all using that subscription ID.

$sub= New-SPSiteSubscription

After you create the subscription ID (notice that I used a variable), you can apply it to new site collections.

Create a New Site Collection to use the Subscription ID

To create a new site collection that uses the subscription ID, you simply need to add the –SiteSubscription parameter and the GUID for the new subscription. Here’s an example, using only the required parameters (for simplicity’s sake) and the variable containing the new ID I created above :

New-SPSite –URL –OwnerAlias contoso\clientadmin1 –Template STS#0 –SiteSubscription $sub

Apply the Subscription ID to an Existing Site Collection

If you need to apply the subscription ID to an existing site collection, to make it part of a tenant’s subscription, just use the Set-SPSite command with the –SiteSubscription parameter:

Set-SPSite –identity –SiteSubscription $sub

Create a Tenant Administration Site Collection for the Subscription

To create a Tenant Administration site you specify the tenant admin template, and the administration site type:

New-SPSite –URL -OwnerAlias contoso\clientadmin1 -OwnerEmail –Template TenantAdmin#0 –SiteSubscription $sub –AdministrationSiteType tenantadministration

The Tenant Administration site, as you can see in Figure 6-3, is a central location to manage the site collections and Service Applications for the Subscription.


Figure 6-3 Tenant Administration Site Home Page

It is on the home page of the Tenant Administration site that you configure the settings of the Service Applications that were configured to be partitioned (to support tenants). Each tenant can have their own isolated settings concerning Search, User Profile Service (use the OU unique to the tenant), Managed Metadata, Business Connectivity, and so on. If you have App Management configured for the farm it is automatically tenant aware (of course, since it requires Subscription Settings Service to operate), so tenants can have their own App Catalog and other App Management specific settings.
To manage and create new site collections, click the Manage Site Collections link under SharePoint Sites on the home page. It will take you to a page where you can manage existing site collections in the subscription and, if self-service site creation is enabled for the web application containing the subscription, create new ones (Figure 6-4).  If you select an existing tenant site collection, you can use the Properties button to see the template used by the top level site, number of subsites, owner(s) of the site collection, site administrators, size and quota. The Owners button lets you see and change the site collection administrators for the selected tenant, and the Disk Quota button allows you to see and enter the disk quota settings for the tenant site collection.

Of course the Delete button is used to delete the selected tenant site collection, and the New button is used to create a new one. Remember that if you create host header managed paths, they will show up in the New Site Collection page.


Figure 6-4 Tenant Manage Site Collections page where you can manage, create or delete subscription site collections

Getting fancy- creating the host named site collections and their paths

Managed paths are handled in two different ways with PowerShell; Web Application managed paths, and Host Header managed paths. There should never be more than 20 managed paths per web application. But if you have more than 20 tenants, you will easily hit that limit using unique managed paths for each tenant. Host Header managed paths are shared among the host named site collections. This gives each tenant a set of managed paths that are appended to their host named site collection URL.Host Header managed paths are farm wide, so they are available for all web applications.

To create a Host Header managed path of sales, for example:

New-SPManagedPath –RelativeURL “sales” –HostHeader –Explicit

That will create a new explicit, managed path for all host named site collections. Wildcard is the default inclusion, so if you don’t want the path to be explicit, simply omit the parameter, and the path will be a wildcard inclusion.

To check the Host Header managed paths:

Get-SPManagedPath -HostHeader

To create a host named site collection, you have to specify that the web application URL is different than the one to be used by the site collection. It’s that easy.

New-SPSite –OwnerAlias contoso\username –Name “My Very Own Site Collection” –Template “STS#0” –HostHeaderWebApplication http://servername

There are a few things to consider when using host named site collections:

·       In order to avoid having to mess with IIS bindings, plan to use the root web application (the one that listens to the server name address, port 80) as the one that will host the tenant host named site collections.

·       Host named site collections have to be accessed through the web application’s default zone. So it uses that zone’s authentication. Plan for that.

·       Host named site collections can support SSL and Kerberos. Years ago there were some issues, and there is a lot of old data out there that is now obsolete.

·       You can mix host named site collections in a web application that contains managed path site collections, with no issues.

For more details about host named site collection considerations, see Kirk Evan’s excellent write up (still valid for SharePoint 2013):

To put together the host named site collection managed path with a new host named site collection:

New-SPSite -owneralias contoso\username -Name “MySalesSite” –Template STS#0 –HostHeaderWebApplication http:/servername

Host named site collections add some challenges, but they make up for that by being able to give the tenants a more logical namespace to work with. That is something customers will pay for.

Create a Feature Pack

To control what features a tenant gets to use, you can create feature packs. Feature packs are explicitly applied to subscriptions, and override the default features available for the site collections using that subscription ID. Let me be clear, once you apply a feature pack, that defines all features used, removing those that aren’t in the pack- like the numerous features needed to simply have a site collection. So if you are going to do feature packs, keep that in mind. They are exclusive. Include everything you want the tenant site collections to be able to use, because anything not explicitly included, like Standard Site Collection features for example, will be excluded.

There are two methods to creating feature packs. One is to start empty, and individually add the features you want. But you’d be surprised how many features are required just for a basic site collection template to function. The other method is to get the features of a site you plan to use the most, or just all features scoped to sites or site collections, add those features, then start removing the ones you want to omit from the subscription. Also, if new features are made available on the farm for the tenant, you can add them to the feature pack applied to their subscription. All you need is the GUID or one word feature name for the feature.

The syntax to create a feature pack is:

$fp= New-SPSiteSubscriptionFeaturePack

Notice that I am using variables in these examples. I will be using them as holders for the objects being created so I can use them in later commands.

To add features to a feature pack, you can add them individually or in groups. The syntax for this command is to identify the features by GUID or feature name. It takes a surprising number of features to run a site collection. Conveniently, features are scoped, so you can pull all the features scoped to a single site or existing site collection into a variable and then remove the ones you don’t want the tenant to have. Something to bear in mind is that there can be two of each feature, one that is 14 compatible, and one that is 15 compatible. So many features have two versions. Generally, tenants on a SharePoint 2013 server are going to be using the SharePoint 2013 experience, so they can make use of all of its updated capabilities.

Manage a Feature Pack

When adding features, remember that you will need those scoped for both web (site) and site (site collection). So, to add all the features available for a particular site collection, you need to add both the site and site collection scoped features.

To add features from a particular site collection (they will be scoped to the correct compatibility level already):

 Get-SPFeature –Web | Add-SPSiteSubscriptionFeaturePackMember $fp

That will get the site scoped features. To get the site collection scoped features:

Get-SPFeature –Site | Add-SPSiteSubscriptionFeaturePackMember $fp

Or, if you don’t have a site collection you’d like to use as the base for your features, you can add all features on the farm scoped to a site at compatibility level 15 to a feature pack:

Get-SPFeature –limit all | Where Scope –eq Web | Where CompatibilityLevel –eq 15 | Add-SPSiteSubscriptionFeaturePackMember $fp

Of course that will only add site level features to the feature pack, so to then add the site collection features, like the commands above, change the word “Web” to the word “Site” and run command again.

These commands (whichever set you choose) will set you up with a functional feature pack that you can apply to a tenant. Keep in mind that the tenant admin site for the subscription will get these features, but will activate only those appropriate for its template.

Adding individual features to a feature pack can be a little tricky because the syntax of the command requires you use the feature ID to identify the individual feature. You can mark and paste it from the Get-SPFeature list (or look under the FEATURES folder in the correct hive for the one word feature name). The syntax of the cmdlet requires you specify the identity of the feature pack you are adding to (in my example I just refer to the variable I use when creating the feature pack), and the feature definition you are adding:

Add-SPSiteSubscriptionFeaturePackMember  –identity $fp –FeatureDefinition

In some situations, tenants may be paying for a particular SharePoint license, and therefore may only be allowed to use features scoped for that license, such as those only for Foundation or Standard. There are lists online of the feature names for those licenses so you can use them to create features packs based on licensing. For example, there is a quick PowerShell script for creating a feature pack of SharePoint Foundation level features at:

Note that the feature you add may not be activated automatically. You should check to see if it is. The PowerShell cmdlet to activate a feature is:

Enable-SPFeature –Identity -url

Or you can just log into the site collections and activate the features from the site settings pages instead.

If you want to add a feature to an existing feature pack, and you don’t have the feature pack’s ID number handy, you can use a site collection that uses that feature pack to specify the site subscription. Basically it gets the feature pack ID for that site collection’s subscription ID:

$featurepack= Get-SPSiteSubscriptionFeaturePack –SiteSubscription

To remove a feature from a feature pack (this capability is important if you are using all the features available and then paring them down):

Remove-SPSiteSubscriptionFeaturePackMember –id -sitesubscription $fp

Applying a feature pack to a subscription uses a new cmdlet, Set-SPSiteSubscriptionConfig. This cmdlet lets you apply a feature pack to a subscription ID.:

Set-SPSiteSubscriptionConfig –Identity $sub –featurepack $fp

That command also has a parameter we will use later to isolate the subscription users to a particular OU in AD.

There is no easy command to remove a feature pack from a subscription, but you can simply apply a new one over the old one or complete delete a feature pack then apply a new one.

To delete a feature pack:

Remove-SPSiteSubscriptionFeaturePack –Identity $fp

Isolate the People Picker for a Subscription to an OU

To isolate a subscription’s people picker to only allow the display and selection of users from a specific OU you need to use the syntax of “OU=OUname,DC=DomainName,DC=DomainSuffix”. For example:

Set-SPSiteSubscriptionConfig –Identity $sub –UserAccountDirectoryPath “OU=customer1,DC=contoso,DC=com”

This capability is actually very cool and new to SharePoint 2013. By limiting the tenant to an OU, you can use User Profile Service (in partition mode, of course) to pull profiles from that OU only. There is an STSADM command that is the equivalent, and does not require that a site collection be part of a subscription (like the preceding PowerShell cmdlet does), which may be even cooler.

The STSADM command to limit the people picker of a site collection to one OU specifies the OU in AD, and the URL of the site collection:

STSADM –o SetSiteUserAccountDirectoryPath –Path “OU=sales,DC=contoso,DC=com” –URL

To see more of the cool things you can do with STSADM and the peoplepicker, such as specifying an AD directory path to point to more than one OU, see

Adventures in Provisioning Service Applications to be consumed by Tenants

In order for most Service Applications to be able to run in partition mode (about to partition off data between tenant site collections), they must be created with the capability to start with. If the correct parameter was not used during the creation of a Service Application, it will not be partitioned. In addition, some Service Application Proxies also need to be created with a partition parameter. Once a Service Application has been created in partition mode, it cannot stop being partitioned.

Generally, a new Service Application and proxy are made specifically for tenants. You can choose to associate the tenant web applications to a custom group (instead of default) and select the tenant service application proxies, or create a new proxy group, add the tenant specific service application proxies as members, then associate the tenant web applications instead.

·       -Managed MetaData Service can be created via PowerShell in partition mode using the –partitionmode parameter. In addition, its proxy must also use the –partitionmode parameter when you create it. For the proxy, content type syndication is enabled by default in partitionmode and default keyword taxonomy also tends to be true unless specifically configured otherwise. It can be configured, per tenant, from their own tenant administration site.

·       User Profile Service can be partitioned. You must use PowerShell to do so (make sure all other required configuration is done beforehand). Configuring the User Profile Service using PowerShell has some known issues, so read up on it first. User Profile Service too requires the –PartionMode parameter. The proxy for the User Profile Service also must be created with a –PartitionMode parameter. This Service Application is configured by the tenant from their own tenant administration site.

·       App Management is already tenant aware by default, and if it is already enabled for the farm, the Tenants will have their own catalog and settings, administrable from their tenant admin site.

·       The Search Service Application supports partitioning for tenants, but its syntax requires the parameter –Partitioned, which is different than the other Service Applications (there always has to be one). Its proxy also requires the –Partitioned parameter when it is created. It is always a good idea create the proxy after you have created all the required Search components. If you have more than one Search Service Application running in the farm, it is not a good idea to have them running on the same server because they are so resource intensive. Search has an extensive number of settings for each tenant from the tenant admin site.

·       Business Connectivity can technically be partitioned, and uses the –PartitionMode parameter. Its proxy is created automatically and added to the default group, so you cannot name or partition it. If you create the proxy manually, it does accept the –partitionmode parameter, but won’t work unless there is an existing published app to associate with.In addition, there is a known issue concerning managing Business Connectivity from the tenant admin site. Hopefully that will be fixed in the future.

·       Technically Secure Store can be partition aware. It uses the –PartitionMode parameter. The problem is the proxy that gets created automatically, is not partition aware and will cause issues unless there is a published application to associate with (sound familiar?).

·       Word Automation and Machine Translation Services support partitioning, and even have the option to partition built into their GUI pages off of the New button in Manage Service Applications. However, they are not managed from the Tenant environment, only from Central Administration or PowerShell.

·       Information Rights Management can be partition aware. There is a setting in Central Administration to configure Information Rights Management (IRM) to be tenant aware. Or you can use PowerShell:

Set-SPIRMSettings -IrmEnabled -UseActiveDirectoryDiscovery –SubscriptionScopeSettingsEnabled

Once enabled, you can only configure IRM in PowerShell, particularly to apply the certificate for IRM to the subscription. For example:

$subirm = Get-SPSiteSubscription ""

Set-SPSiteSubscriptionIRMConfig -Identity $subirm -IrmEnabled -CertificateServerUrl

When considering partitioned service applications for tenants, remember that they are applied via associations with the web application that contains them. This is why it is considered best practice (and common sense, which is often what best practice truly is) to keep the tenants in their own web application.

I hope this material was useful for you. Thanks for reading!

Friday, May 31, 2013

Stuff that's happening- I'll be at TechEd 2013 North America, I'm coauthoring a book about SharePoint 2013 for a little while, thoughts on an online SPF guide, and more...

Hi everyone,

My apologies for letting this blog lag as of late. I have been super busy with work things and life things.

If you remember my post about SPC 2012, I promised that I would be more available for my readers, followers, etc.,. True to my word, I will attending TechEd 2013 North America this year as a full attendee. This means that none of my hours at the event will be dedicated to working a lab, booth, or session. All my time can be yours (well, I might want to see some sessions, and do some certification, but otherwise, I'll be available). Feel free to contact me if you'd like to get together.

I am writing some chapters for the MSPress SharePoint 2013 Administration Inside Out, to be out this autumn. O'Reilly (the actual publisher for MSPress books right now) is doing some interesting sneak peek, "Rough Cut" marketing of the Inside Out book. A "Rough Cut" is a sampler of chapters that are currently in copy edits from the full SharePoint 2013 Administration Inside Out book. Right now those are mostly Chris Givens' Search chapters, but they want me to spend some time signing copies anyway, saying hi to readers, and generally being social.

The time I am scheduled to be signing Rough Cuts is Wednesday, June 5, at 4:30pm at the Microsoft Press booth. If you're at TechEd, and free at that time, feel free to stop by and say hello.

In other news, I have been wondering what to do concerning continuing the content of my Mastering SharePoint Foundation books. My audience deserves to learn all the new features, lost features, tips, and tricks of the 2013 version of SharePoint Foundation. How to upgrade/migrate from 2010 to 2013. How Search has completely changed (unless you're used to Search Server Express- then it's exactly the same). How the graphic elements, and therefore navigation, has changed.

To make matters worse- Microsoft TechNet doesn't even have a separate section for SharePoint Foundation at all. That's right. For those of you using SharePoint Foundation 2013, there is no where to go for articles specifically about SharePoint Foundation 2013 on TechNet at all. Only SharePoint Server 2013. So if you want to see if something works, you have to read the Server article, which might mention Foundation.

So if I don't write anything for my audience about SharePoint Foundation 2013, they aren't going to get the information they need anywhere else. Not TechNet certainly.

But- I do not want to go through the hassle and heartbreak of trying to publish a big fat book dedicated to administering, configuring, managing SharePoint Foundation anymore. It's just too much of an uphill and thankless battle (ask my reviewers for details).

But- I don't want to leave my readers hanging.

But- I just can't do conventional publishing of that topic anymore. But, my readers... But my sanity... But my readers... But my finances... But...

...So what do you think of this-

I create a Callahan's Guide To SharePoint Foundation 2013 online. A site dedicated to documents concerning all things SharePoint Foundation 2013 configuration, administration, and management. It will be a lot like a book (like previous ones I've done), a lot like TechNet probably should be, and all about SharePoint Foundation.

I can use ads to to cover costs, so it can be totally free for you, the readers, and I can even offer on-demand printing of portions into mini-books or manuals in hard copy for a minimal fee.

Do you think y'all might be interested? It'd be a lot of work on my part with no certainty that anyone would read the pages, or click the ads. So I'd like to know if anyone out there might want to use the site. Let me know, and after I finish my chapters (end of July), if there's interest, I'll set up the site and get started.

Also- as a note-- I will be presenting at SPTechCon in Boston this August. This is the first time I've worked with this group. I will be doing a pre-conference 3 hour Tutorial about how to Migrate to SharePoint 2013 (covering both Server and Foundation, since I can), and the free tools, how to monitor SharePoint 2013 without spending a dime. If you're going to the event, please stop by my sessions and say hello.

Thursday, December 27, 2012

It's those little things- or how the heck to activate Windows 8 Enterprise

Hi there and happy holidays!

So I'm building the VMs I'll be using to write my part of the SharePoint 2013 Inside Out book for O'Reilly/MSPress. I've decided to go the full 2012/Windows 8 route, even though that isn't a specific requirement.

To that end, I'm installing Windows Server 2012, SQL Server 2012, and Windows 8.

While installing Windows 8 (Enterprise, 64 bit from TechNet, since this is for screenshot purposes and not production), I was not prompted to enter a product key. I thought that was odd, but okay, maybe I'd be prompted after I set up my desktop.

But no.

Instead, I went to the Action Center and saw that *some key* was used to *try* to activate my installation of Windows 8, but it wasn't anything I'd typed in.

Turns out that Windows 8 will try to "helpfully" activate by using a generic key that will inevitably not work. That makes it function for about 90 days, then expire.

I guess they are assuming that most people will get Windows 8 pre-installed on their machines, and therefore they won't need to activate. Otherwise, OEMs probably have a special process they do. As for the rest of us? I don't know. Yet another thing to log in the "What were they thinking?!" column.

Anyway- I simply clicked the Activate button to activate the installation- assuming that I'd be prompted to enter my product key.

I wasn't.

Instead it simply failed to activate with error code 08x8007007B.

After googling a little, I discovered that you can force it to let you enter your own product ID key, by opening the SLUI window, and specifying page 3 manually.
(SLUI is the Windows Activation window)

To do this, go to RUN from the start screen, and in the RUN field type SLUI 3
(it is very important that you put the space in between the SLUI and the 3)

That should open the Windows Activation window on the "Enter a product key to activate Windows" page.

From there you can enter your Product Key and activate your copy that way. Now, I have my key from TechNet, but I am not sure how you get the key for a consumer copy of Windows 8, as I believe Microsoft doesn't give out the stickers to put on the bottom of laptops or PC's anymore.

As I am expecting a delivery of a new, custom built laptop later this week, I will let you know because I bought it with Windows 8 Pro installed. Expect a video of the unboxing by next week, and at that time I'll see how exactly I am to reinstall Windows 8 if I need to. Hopefully this SLUI 3 trick helps, but if it doesn't, I will let you know.

Stay tuned...

Wednesday, November 21, 2012

About those SPC12 labs-- Necessary instructions so the Hands-On Labs work for you online

Hi there!

I'm back from the SharePoint Conference 2012, and wow am I am tired. I didn't get to do all the things I wanted to do, and want to apologize to all the people I expected to see while I was there. I just spent too much time in the labs this year. I promise not to do that in the future.

Speaking of the Hands-On Labs from the SharePoint Conference. For those of you who were there, you know that we had our fair share of problems in the labs, which resulted in the labs being up and down in terms of availability.

And because of that, everyone assumed they'd just do the labs online.


Yes, the labs are completely available (you should be a paying SharePoint Conference customer, of course) online from the MySPC link on the SharePoint Conference 2012 site. Just log into MySPC, click the Hands-On Labs tab, then the hands on lab link. That will take you to a site where all the labs are listed in a page very, very reminscent of the one used in the hands-on labs all week. Keep in mind that the labs should be available to you to use for the next two months or so. Feel free to try them, show them to coworkers, etc. That's what they are there for. [EDIT: The labs will be available for three months online, so until Feb. 15th, 2012. Extra time is good.]

EDITED TO ADD: A link has been added to the Hands-On Labs page off of MySPC that lets you download all of the lab manuals in one zip file. So for those of you who were looking for the lab manuals by themselves- they're there now. Woo hoo!

The Lab Menu page for the SPC 2012 Hands-On Lab online environment

Unfortunately, some of the small problems that plagued us proctors in the labs are still there for the online labs. So to that end, because you gentle folks, using the labs online, won't have a proctor behind you to help you at your computer at home or the office, here are some very important tips.

ADDITIONAL EDIT: It looks like the labs that require an Office 365 online account require you to create your own FREE 30-day TRIAL of Office 365 Mid to Enterprise size business, Plan E3 first (click this link to sign up).

If a lab manual says "Start on the site collections page of the SharePoint admin center (for example," or anything else related to a your_tenant site- use your Office 365 trial account's tenant address for "your_tenant".

In other words, the lab will not work when it requires that address to continue, unless you have signed up for a free trial or have an Office 365 enterprise account. That's the only way to have a site that can definitely do all the things the lab wants to do (as far as I know, please comment below if a lower version of Office 365 can be used). My apologies. I had hoped that issue would have been addressed before those labs went online.

The labs I've noticed that need an Office 365 account are: HOL006 and HOL007. These are developer labs. There may be more I haven't seen yet. So do not fear. If you want to do those labs, just sign up for the trial version of the E3 edition of Office 365 yourself- then you can do any of the labs that refer to Office 365 without issue.

I've also noticed that some of the labs open with the remnants of someone else's lab already there. Sorry about that. Apparently they are recycling existing VMs for the online labs too. If you find that you start a lab, and there are windows already open in your SharePoint VM (whichever that is, more on that in item 2 below), just close the windows that are open. If you cannot save a file, project, or whatever with the name the lab suggests in the manual- try it again, but add a number the the end of the file name (like a "1" or "23" or something like that). That should help make the file name unique. Otherwise your labs should work fine, no harm done.

1) When you select a lab from the list and click Start Lab, it will open a bunch of VMs conveniently located under tabs. You don't need to use all the VMs for your lab, you'll be logging into only one of them- the others are used for other labs or are just needed in the background, like the domain controller. There are buttons to the right of the tabs. The one that you really need to know is the RECONNECT button (looks like a green arrow pointing at a server icon). More on that below.

An example of the VM page after you Start Lab. Note the first tab is Lab Menu (so you can get back to the lab menu list page), and the RECONNECT button on the far right of the tabs

Keep in mind that the VMs will open for the lab, but the LAB MANUAL will not. To open the lab manual, go back to the lab menu page (the first page you were on when you went to the lab site, it is under the Lab Menu tab on the left if you're in the VMs), and click the little link that says "To open the lab manual, click here" that shows up at the bottom of the lab list when you select a lab (you can see it in the first image in this post). Clicking the "here" link will open the manual into a different browser window. Every time you select a lab, the option to open it's manual shows up in the box below the lab list, just click the here link. Clicking the link also will refresh the manual window, should you need to.

Also- if you want to keep your VMs open and just go to the next lab, you can go back to the Lab Menu, select the next lab you want to do, and just open the manual for that lab there. You don't really have to End Lab on the VMs you're using to start a new lab. Just a tip for you to save time.

2) The lab manuals never explicitly say WHICH VM you should actually log into to do your lab. I don't know why, since that's a pretty big deal. And this is where a little glitch in the labs shows up:

-- For the labs that are IT PRO focused (they're usually labs numbered HOL021 or higher, the VM set ends with a "Lync" tab)- you should log into the server that has SharePoint 2010 installed on it. The server that has SharePoint and SQL installed on it is mistakenly under the DC tab. I know, crazy right? There was a mix up where the SP and DC tabs were switched, so the Domain Controller is under the SP tab, and the SharePoint server is under the DC tab. I'd assumed it would be fixed before the labs went online.

So to use the HOL for IT Pros, make sure you log into the VM that is under the DC tab. Always check to make sure that SharePoint is installed on the VM you're working on before you start working.

--For the labs that are DEVELOPER focused (they're the labs numbered from HOL001 to HOL020, the VM set ends with a Win8 tab). SharePoint may be installed in the VM under the WIN8 tab. Please make sure it has SharePoint and the developer tools you need to do the lab before you get started.

3) Sometimes the remote desktop access to the VM you're on can get disconnected. It's okay. If the VM you are working on goes black and says it is disconnected, just click the little button to the far right of the VM tabs that looks like a green arrow pointing at a server (you can see it in the second image in this article).

This is the RECONNECT button, and will reconnect you to your VM's desktop. No fear, the VM is happily chugging along in the background, unaware that you can't see it. Nothing in your lab has been lost or delayed. It just lost your desktop connection for a moment. We are going across the internet, you know.

If you get a dialog box saying one of the other VMs in your set disconnected, don't worry about it. You don't really need desktop access to those VMs, they'll run just fine without you connecting to their desktops remotely.

4) As far as I know, even if the manual tells you to hit F5 on your keyboard, such as in Visual Studio, do not hit F5 on the keyboard. That will likely refresh your connection to the lab site itself, kicking you out of the lab. It is best, if you need to refresh, compile, or whatever you would use F5 for, do it using a button on the toolbar, or select it in on of the menus in the menu bar of the application (such as Internet Explorer) in the VM you are working on. Just an FYI to save you the time of having to start over if you get kicked out.

I hope you get to use the labs like crazy, and if you have questions, feel free to ask in the comments of this article. (mind you, I was trained to support the lab environment, not to memorize every lab manual available, so I might not be able to answer all step by step questions)

Thanks to all of you who attended the SharePoint Conference, especially those dearhearts that had issues using the labs while I was there. I'm here for you bro. ;P

Thursday, November 1, 2012

SharePoint Foundation 2013 release version is available for download today!

Hi there folks,

So I'm back from SEF 2012 in Stockholm Sweden (really great people, really great city, really great coffee...).

While I was there I presented two sessions on the public preview beta version of SharePoint Foundation 2013.  I had some issues, as you would expect with a beta, but I pretty much was able to do what I needed to.

Ironically, the day after the event ended, SharePoint Server 2013 RTM version (the public release, final product version) became available for download on TechNet and MSDN.

Woah Wow... (think scooby doo noise) Sad timing, but at least it will give people a chance to check it out before SharePoint Conference in mid-November.

But, despite the Server version being available for download since 10/24/2012-- SharePoint FOUNDATION RTM version was NOT available for download anywhere.

Until today.

So for those of you wanting to try out SharePoint Foundation 2013 for yourself, maybe because you're considering upgrading, maybe because you are considering taking the plunge and using SharePoint in your organization, or maybe because you're considering getting certified or learning to consult in SharePoint and want to get your feet wet using the free, foundational, less complicated product first, before trying to tackle all those complicated service applications and additional features of the paid for version.

For whatever reason you might want to get your hands on SharePoint Foundation 2013-- the release version is available for download today.

SharePoint Foundation 2013:

Here's the language packs for SPF 2013 as well:

Oh, and in addition, the rather gimped, but still useful for workflows SharePoint Designer 2013 is also available for download today:

Saturday, October 13, 2012

Little things about SharePoint Foundation 2013

Hi there everybody. Long time no see. I've been super, ultra busy working this year (especially this summer), and haven't had time to indulge in my usual pasttimes quite as much as I'd like.

Right now I am preparing to go to Sweden and present two sessions at the SEF 2012 event in Stockholm. Both of my sessions are about SharePoint Foundation 2013(most of the sessions at the event are about SharePoint 2013 actually, I guess everyone's excited).

To that end there are a few quirks I'd like to point out about SharePoint Foundation 2013, particularly the Public Preview version (which is the version I'm using since the release version doesn't come out until after I get back from SEF).

So on to some notes:

- When installing SharePoint Foundation 2013 preview-- I chose not to use the 2012 versions of SQL and Server at this point. One new thing at a time, thanks.

To that end-- Server 2008 R2 must have:

  • Service pack 1 installed and all updates to this point
I'm using SQL 2008 R2, Enterprise. SQL requires:
  • MaxDOP set to 1 (In SQL Server Mgmt Studio, right click the server icon in Object Explorer pane, go to it's properties. In the properties box, click on Advanced in the select a page area, change value of Max Degree of Parallelism to 1)
Then after you install the SharePoint Foundation 2013 prerequisites you need to download and install:
  • KB 2554876
  • KB 2708075
  • KB 2472264
After you finish the install, if you choose to do a complete, farm installation, you will need to configure services. There are many, many more service applications than before. The configure your farm wizard will want to use the same service account for all of them, and any databases it creates will have long GUIDs in the name. Despite that, for your first try, you might want the wizard to do the configuration for you just to see things working. Later you can change the service accounts in Central Administration (or in powershell if you'd like). And even later, when you do another practice installation, you can chose to not use the wizard
New Services:
  • Secure Store (yay, now you can use it for BCS)
  • Search (only one though, you can have several search service applications like you can for Server)
  • App Management (to be used to manage the installation of "Apps" in the farm, requires EXTENSIVE set up outside of the service application itself)
  • State Service
  • Lotus Notes Connector (ironically, in case you need to search lotus notes implementations)
There is also Distributed Cache service and Request Management, which are carry overs from Server 2010 and are used by Search, so they have ended up in SharePoint Foundation 2013 as well. You can't really configure them as service applications, you can only start or stop them as services. Distributed Cache service takes up A LOT of RAM, and if you only have one SharePoint Foundation 2013 server in your farm, you can safely turn it off. Request Management doesn't need to be started unless you have multiple SharePoint Foundation servers in your farm, because it helps manage which server answers which client request (kind of a SharePoint aware task load balancer).

Remember that SharePoint Foundation 2013, specifically because of the practically infinite increase in Search services, require almost 4 times the RAM that it needed for the 2010 version. And this is not a joke. My VM of SPF 2013, with no users using it, just sitting idle, need 4GB of RAM to function. So when they say it needs 8 GB of RAM, it is not an idle threat. It uses huge, huge amounts of RAM. Especially if you set search to do continuous crawls.

"Continuous crawls, what's that," You say? Ah, that's the point of my new "SharePoint Foundation 2013 and how search grew up" session. :)

Saturday, March 3, 2012

Added a new page to this blog: LiveCast Presentations...

Howdy everyone!

I've added a new page with a Livestream widget on it to my blog called LiveCast Presentations. That's where you can go to join in on my Livestream presentations most weeks. The date and time varies depending on my attendees' schedules, so check my twitter feed @cacallahan, or join my Facebook group  "Callahans SPF 4 Admins Events".

Now, for some backstory as to why I created the page, apparently out of nowhere...

I've been doing a lot of free, live, online webinars and livecasts for my SPF 4 admins group on Facebook. The "channels" I've been using to do these sessions changed over time. I started by using the LiveMeeting account that Microsoft gave me as an MVP. But, the moment I didn't get renewed at the beginning of 2011, all of my recordings (about 7 of them, really good ones I was proud of) were deleted. There was no way to download the recordings locally (or to record a copy locally while broadcasting).

That left me distrustful of using LiveMeeting. People had kindly offered to let me use accounts on their servers, but none let me control my recordings, which left me grateful but uneasy. I decided to explore other options just in case.

But since I have to use free offerings (none of these session generate any income), that left me with a lot of work and experimentation to find a product that wasn't LiveMeeting, but would be good enough for all of my users to use, without the interface (or its advertising) being too distracting.

I started with a product called "Freebinar," which worked pretty well, and was very dependable. I could also download the recordings to a local drive for backup, which I appreciated. Then it had a change in management, "direction," whatever, and was "rebranded" as "Anymeeting." They made changes to their service, that made it, in my opinion, harder to use. In addition, it just didn't seem as dependable as before. However, Anymeeting did (still does) have some really, really great features like customizable invitations, registration pages, and surveys. I just had issues with crashes while I was trying to teach stuff.

During all this, I had been messing with Livestream, a site that hosts live streaming events. The learning curve is a little steeper, the software a little more challenging, and it's primarily for broadcasting- so no webinar focused mechanisms like invitation mailing lists, registration pages, or surveys. Also, the advertising can be annoying. (Think hulu, or the many videos you see on sites that have ads you have to watch before you can see the show)

I really wanted to make Anymeeting work, but I did have a Livestream page just in case. Then one day, mid-session, when I couldn't get screensharing to work in Anymeeting, I simply had my viewers join me at my Livestream page. I set up a different microphone, started the encoder, and simply started streaming from my laptop. The attendees could chat using the livestream chat window, like they were doing with Anymeeting anyway. The video and audio quality seemed pretty good, and overall it was a success. It automatically recorded a local copy as well as one for the site. I can also have much more control over the video and audio quality (although that's still a work in progress)- which is an improvement over Anymeeting.

I have been using Livestream for a number of sessions now, and I think I really like how it works, despite the loss of some cool features. My attendees seem to be able to become comfortable with the interface pretty quickly, and I think the quality of the video streaming has improved, and the recording quality seems to be better too (although I am not sure of that, not enough people have given me feedback on that yet).

Now, I mentioned being annoyed, personally, by the advertisement that sometimes is shown in the video area before you get to watch the presentation. I have been messing with blocking ads and cookies and stuff because of the whole Google is being evil thing lately, and discovered that if you use an adblocker, like adblock plus I use as an extension in Firefox, then you don't get any ads in the video (I thought it just blocked ads on pages, silly me)- so ad problem solved.

Because I plan on doing more work in livestream, I thought I'd make it easy for my audience to access my streams. 'Create a page that I had more control over than the Livestream page-- or at least a page my audience can use more easily if they choose. Thus I've added a page to this blog, and stuck the code for a Livestream widget pointing to my streams on it. I will keep you updated on how it's going here on the home page, but at least now you know why this blog has a listing on the top, right side that is titled "Pages" and only lists Home and LiveCast Presentations. Please let me know if you're interested in any particular topic, I'm always wondering what people might need.

And feel free to check out the presentations I've already recorded at or click the Videos button in the widget on the LiveCast Page to be taken to my Livestream channel's video library.