Oct 26, 2009

Preview - Wikis in SharePoint 2010

Refers to build 14.0.4006.1010 (BETA 1)
Wiki functionality in SharePoint 2007 was kind of spartan. In this post I’ll have a look what will come with SharePoint 2010.

The Wiki Homepage Feature

When you create a blank site in SharePoint 2010 the homepage (default.aspx) will be a web part page as usual. But now there’s a new feature called “Wiki Page Home Page”.
image
When you activate the feature it creates a document library called “SitePages”, adds a wiki page named “default.aspx” and set it as the new homepage for the site.
image
The feature transforms your whole site to a wiki. Every time you create a new page it will create a new wiki page and store it in the “SitePages” lib (similar to the publishing features in 2007).
image
For sure you can tag Wiki pages as any other page as described in my previous post Managing Metadata in SharePoint 2010.

Content

While in SharePoint you could only write some rich text, you now could upload files (will be stored as a separate file) and add Web Parts.

No joke, you can now add Web Parts at any place within the wiki rich text!

image

[[Wiki Linking]]

In SharePoint 2010 you will get an intellisense like linking experience. That’s kind of cool :-) Just an enter [[ and press ctrl+space
image
image
You can now link easily pages, lists, items, documents and views.

Enterprise Wiki Layouts

Additionally there’s a new Site Collection feature called “Enterprise Wiki Layouts” for creating a large-scale wiki with categories and page layouts.
image
Seems to be correlated with the publishing infrastructure, because the feature add a new page layout content type. This means you can create wiki page layouts with SharePoint Designer 2010.
imageClick and see the beautiful new SharePoint 2010 error message. image
Never mind this a technical preview and lot of things already work great. Can’t await to continue with the beta in November…

Oct 22, 2009

Managing Metadata in SharePoint 2010

Obsolete: Refers to build 14.0.4006.1010 (beta 1)
SharePoint 2010 comes with a bunch of web 2.0 features, tags, tag clouds, rating, social bookmarking and enhanced blogs and wikis. What I really missed in SharePoint 2007 was tags and tag clouds. On the other hand this was a free space for developers like me, see Power Tag Cloud ;-) My experience with SharePoint 2003 already showed that text, dropdowns and lookup columns are to inflexible and people tend to over categorize in the conception stage.

Less is more!

This could lead to a confusing meta taxonomy. What we have learned from the web 2.0 wave in the last years is that tags and tag clouds are a great, simple and flexible way to organize information.
Now with SharePoint 2010 this and much, much more comes out of the box. Tagging becomes one of the most significant concepts for building enterprise taxonomies in SharePoint 2010.

What can be tagged?

  • List Items (Terms, Keywords, Social Tags)
  • Documents (Terms, Keywords, Social Tags)
  • Pages (Terms, Keywords, Social Tags)
  • External pages (Social Tags)

This means everything that has an URL can be social tagged. Do you know anything in the web that hasn’t one?

Talked enough, let’s play around with this stuff…

Tag a list item or a document:

image
Almost any built-in list has per default a “Managed Keywords” column. When you start to write you get a filtered list of suggestions. When you enter a tag that not exist it will be automatically added to the managed keywords list.

Tag and note a SharePoint page:

image
image
To tag a SharePoint page you can use the user’s context menu as shown above. Clicking “Tag or Note this Page” opens the following dialog.
imageYou can tag the page just like the list item before, but in addition you will get a list of suggested tags and you can mark them as private, so other user will not see them. At the bottom of the dialog you see a tag and note history. Furthermore you can add notes to the page (see in the second tab on the top).
image

How to tag an external page?

Since years I miss a tool from Microsoft to centrally manage bookmarks and I believe I’m not alone. To tag external pages you have first to add a link to the SharePoint tagging dialog to your browser’s favorites:
image
This adds the “Tags and Noteboard” bookmark (JavaScript) to your browsers favorites list. Now you tag an external page like this:
Tag external pageClicking to the “Tag and Noteboard” brings up the same dialog as in the previous example for a SharePoint page. You can tag and write notes as usual.
This looks similar to social bookmark tools like Diigo. But I miss some features like highlighting text, sticky notes, share bookmarks with a group, and a good browser plug-in. But hope this will come in later builds…

Tag Cloud Web Part

For sure you want to use your tags to navigate and filter content. For this reason there is now a tag cloud web part included in SharePoint 2010. I’m really a tag cloud fun :-)
image
image

My Tags and Notes

You can manage your tags globally as shown bellow.
image
image

Managing Enterprise Metadata

All you seen above is not enough for building an enterprise taxonomy. You don’t want let the users build your taxonomy on the fly with some tags, you want to predefine keywords and terms for your whole SharePoint farm. And what’s about multilingual terms and keywords? That’s why Microsoft added a something called “Term Store Management Tool”:
image
Here you can delete or create new tags and terms centrally for the whole farm. There is also support for multilingual terms! In my current build I’ve got the feeling this isn’t feature completed yet (there is already some documentation on MSDN), so I stop here and wait for further builds…

Although all this cool new web 2.0 features in SharePoint 2010, don’t forget that the most significant part is to get all this rocking is your company’s culture! Are you ready for culture 2.0?


UPDATE 26th Nov 09 (beta 2):
I've just seen in a screencast from Steffen Kraus (Microsoft Germany) some enhancements in newer builds:
  • support for hierachical tags (Taxonomy)
  • tag picker functionality
  • tag based hierachical navigation in a list (Metadata navigation)

There's a huge different between social tags (will be stored at the user profile) and Enterprise Keywords and Terms (will be stored in the item itself)


FAST Search can't use tag refinment for social tags - read more.

Oct 20, 2009

Built-in Features Overview in SharePoint 2010

Refers to build 14.0.4006.1010

Just an overview, I haven’t had time to check them all out yet, but want to share them with you…

Site Collection Features:

Advanced Web Analytics
This feature comprises advanced Web Analytics reports, data-driven workflows, workflow for scheduling reports, the What's Popular Web Part and customize reports functionality(for Enterprise SKU) at the site collection level.   

Collect Signatures Workflow
Gathers signatures needed to complete a Microsoft Office document.

Collect Signatures Workflow - SharePoint 14
Gathers signatures needed to complete a Microsoft Office document. This workflow can be edited in SharePoint Designer. 

Disposition Approval Workflow
Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents.

Document ID Service
Assigns IDs to documents in the Site Collection, which can be used to retrieve items independent of their current location.

Document Sets
Provides the content types required for creating and using document sets. Create a document set when you want to manage multiple documents as a single work product. 

Enterprise Wiki Layouts
Create a large-scale wiki with categories and page layouts. 

In Place Records Management
Enable the definition and declaration of records in place.  

Library and Folder Based Retention
Allows list administrators to override content type retention schedules and set schedules on libraries and folders. 
  
Microsoft Search Server Web Parts
This feature uploads all web parts required for Search Center.

Office SharePoint Server Enterprise Site Collection features
Features such as the business data catalog, forms services, and Excel Services, included in the Office SharePoint Server Enterprise License.

Office SharePoint Server Publishing Infrastructure
Provides centralized libraries, content types, master pages and page layouts and enables page scheduling and other publishing functionality for a site collection.

Office SharePoint Server Standard Site Collection features
Features such as user profiles and search, included in the Office SharePoint Server Standard License.

Reporting
Creates reports about information in Windows SharePoint Services. 
  
Routing Workflows
Workflows that send a document for feedback or approval.

Routing Workflows - SharePoint 14
Workflows that send a document for feedback or approval. These workflows can be edited in SharePoint Designer. 

Site Help
Create Help content for this site collection.

Three-state workflow
Use this workflow to track items in a list.

Translation Management Workflow
Manages document translation by creating copies of the document to be translated and assigning translation tasks to translators.

Visio Web Access
View Visio Drawing in Web Browser

Site Features:

Access Services System Tables
Access Services System Tables

Content Organizer
Create metadata based rules that move content submitted to this site to the correct library or folder.

E-mail Router
This enables a site's document router to accept and route email messages. This feature should be used only in a highly managed store, like a Records Center.

Entity Collaboration Configuration
Creates the infrastructure necessary to enable users to create entity collaboration sites.

Entity Collaboration Instance Configuration
Creates the infrastructure necessary to enable users to create entity collaboration instance sites.

GroupBoard Lists
Provides Calendar lists with added functionality for team and resource scheduling.

Hold and eDiscovery
This feature is used to track external actions like litigations, investigations, or audits that require you to suspend the disposition of documents.

Metadata Navigation and Filtering
Provides each list in the site with a settings pages for configuring that list to use metadata tree view hierarchies and filter controls to improve navigation and filtering of the contained items.

Office Business Application Design Tools
Document libraries, lists, content types and pages required to build an Office Business Application solution. 

Office SharePoint Server Enterprise Site features
Features such as the business data catalog, forms services, and Excel Services, included in the Office SharePoint Server Enterprise License.

Office SharePoint Server Publishing
Create a Web page library as well as supporting libraries to create and publish pages based on page layouts.

Office SharePoint Server Standard Site features
Features such as user profiles and search, included in the Office SharePoint Server Standard License.

Take list offline
Take a virtual list offline into Outlook or Groove. 

Team Collaboration Lists
Provides team collaboration capabilities for a site by making standard lists, such as document libraries and issues, available.

Translation Management Library
Create a translation management library when you want to create documents in multiple languages and manage translation tasks. Translation management libraries include a workflow to manage the translation process and provide sub-folders, file versioning, and check-in/check-out.

Wiki Page Home Page
This site feature will create a wiki page and set it as your site home page.

Oct 19, 2009

Early look at LINQ to SharePoint

This post is preliminary and is subject to change, but should give you at least an idea. It refers to build 14.0.4006.1010.

In SharePoint 2007 you have to user CAML to query SharePoint lists. Anybody who have already written CAML queries knows that this can be tedious with complex queries. To make life easier the community had developed various helper tools like the U2U CAML Query Builder, YACAMLQT (Yet Another CAML Query Tool), CAML.NET… Meanwhile .NET 3.5 has been released with a cool new feature called LINQ (Language Integrated Queries). LINQ allows you to query in an object-oriented way, supports compile-time check, gives you intellisense support in Visual Studio and defines a unified, SQL like syntax to query any data source.
var result = from c in Contacts 
where c.FirstName == "Christian"
select c
The abstraction to allow querying any data source has been implemented through an interface called IQueryable(T), but don’t want to go deep in LINQ. Since now Microsoft has been delivered four LINQ providers:
  • LINQ to Object
  • LINQ to XML
  • LINQ to SQL
  • LINQ to Entity
With SharePoint 2010 the fifth LINQ Provider will be available:

LINQ to SharePoint

To don’t overlook the community efforts, there is already a LINQ provider for SharePoint on CodePlex, but since now it is in an alpha stadium.
LINQ to SharePoint works similar to LINQ to SQL or LINQ to Entity. You write business objects (or maybe a DAOs) and decorate them with mapping attributes. When the query will be executed the LINQ statements will be translated to CAML.image
The example class Contact maps to a custom Content Type with the name MyContact and the columns ID and FirstName. Writing this manual is cumbersome, therefore there’s a command line tool called SPMetal, which generates this classes for a whole site. E.g: 
SPMetal /web:http://localhost/anysite /namespace:iLoveSharePoint /code:SPDataContext.cs


image
Now we want to query our SharePoint list with LINQ. This is done by a class called Microsoft.SharePoint.Linq.DataContext. The DataContext represents a whole web site. SPMetal additionally generates a derived DataContext containing all lists as Properties.
image













Adding, editing and deleting Items with LINQ to SharePoint

Certainly you can add, edit and delete items with LINQ to SharePoint. To enable change tracking you must (not really all) implement some interfaces in your class:

  • Microsoft.SharePoint.Linq.ITrackEntityState
  • Microsoft.SharePoint.Linq.ITrackOriginalValues
  • System.ComponentModel.INotifyPropertyChanged
  • System.ComponentModel.INotifyPropertyChanging
Don’t panic, SPMetal does the job for you. I recommend to use SPMetal to generate the classes.

Let’s add new contact:
image









The method SumbitChanges of the DataContext persist all changes (add, edit, delete) to the SharePoint Content DB.

Relations in LINQ to SharePoint 

Another hot topic in SharePoint are relations between lists. In SharePoint 2007 CAML hasn’t any support for joins! This have made it almost impossible to build data centric applications for SharePoint 2007 (among other restrictions). But many, many customer want do that! Now with LINQ to SharePoint comes support for relational queries – Yippee!
Now we extend our sample Content Type with a lookup column to another Content Type called MyCountry and map the relation.

image

To map a multi Lookup you have to use EntitySet<T> instead of EntityRef<T> and set the MultivalueType property of the Association attribute to Multi. The loading of the relation is deferred. The Country object of the Contact will be loaded from the DB when the property will accessed and not before.
Get all contacts from Germany:
image

Yet I haven’t verified that this relational query really ends up in a SQL joins If not, this would really be bad. I will verify that as soon as possible…

I think I stop here, because things could change in further builds…

Early look at SharePoint 2010 & PowerShell

This post is preliminary and is subject to change. It refers to build 14.0.4006.1010.

In the community the combination of SharePoint and PowerShell is already a best practice for SharePoint 2007. Thanks to guys like Zach Rosenfield, Eric Kraus and hopefully myself.

I’m glad to announce that SharePoint 2010 comes with built-in PowerShell support. What a surprise ;-)

You have two options to use PowerShell with SharePoint 2010, either you can launch the built-in SharePoint 2010 Management Console

image

or import the SharePoint PowerShell snap in manually (Add-PSSnapin Microsoft.SharePoint.PowerShell).

image

Out of the box there are 492 SharePoint PowerShell commands!

You don’t believe, check it out yourself:
get-command -Noun SP* | measure-object

As expected the naming convention for the commands is

[Verb]-SP[Noun]

like Eric and I have done before in SPoshMod or myself in the PowerShell profile script for SharePoint. This is great because you are already familiar with the usage and it minimizes script migration efforts. The example in my SharePoint & PowerShell Quick Start post works without any changes with the SharePoint 2010 PowerShell Snap In.

$web = get-spweb “http://localhost”
$web.Title = "Hello PowerShell"
$web.Update()

You can also provide a wildcard (*) in the URL to return a collection of sub sites. See all options with “get-help get-spweb”

Appendix - List of SharePoint 2010 PowerShell Commands

Add-SPClaimMapping
Add-SPFeatureSetMember
Add-SPInfoPathUserAgent
Add-SPProfileServiceApplicationTenant
Add-SPServiceApplicationProxyGroupMember
Add-SPSolution
Add-SPUserSolution
Backup-SPConfigurationDatabase
Backup-SPFarm
Backup-SPSite
Check-SPContentDatabase
Clear-SPBusinessDataCatalogPartitionData
Clear-SPLogLevel
Clear-SPMetadataWebServicePartitionData
Clear-SPSecureStoreCredentialMapping
Connect-SPConfigurationDatabase
Copy-SPBusinessDataCatalogAclToChildren
Disable-SPBusinessDataCatalogEntity
Disable-SPFeature
Disable-SPInfoPathFormTemplate
Disable-SPSessionStateService
Disable-SPSingleSignOn
Disable-SPTimerJob
Disable-SPWebApplicationHttpThrottling
Disconnect-SPConfigurationDatabase
Dismount-SPContentDatabase
Dismount-SPStateServiceDatabase
Enable-SPBusinessDataCatalogEntity
Enable-SPFeature
Enable-SPInfoPathFormTemplate
Enable-SPSessionStateService
Enable-SPTimerJob
Enable-SPWebApplicationHttpThrottling
Export-SPBusinessDataCatalogModel
Export-SPBusinessDataCatalogPartitionData
Export-SPEnterpriseSearchTopology
Export-SPInfoPathAdministrationFiles
Export-SPMetadataWebServicePartitionData
Export-SPProfileServiceApplicationTenant
Export-SPSiteSubscriptionSettings
Export-SPWeb
Get-SPAccessServiceApplication
Get-SPAlternateURL
Get-SPBackupHistory
Get-SPBrowserCustomerExperienceImprovementProgram
Get-SPBusinessDataCatalogMetadataObject
Get-SPBusinessDataCatalogThrottleConfig
Get-SPCertificate
Get-SPCertificateStore
Get-SPClaimProviderManager
Get-SPContentDatabase
Get-SPContentDeploymentJob
Get-SPContentDeploymentPath
Get-SPCustomLayoutsPage
Get-SPDatabase
Get-SPDataConnectionFile
Get-SPDataConnectionFileDependent
Get-SPDesignerSettings
Get-SPDiagnosticConfig
Get-SPDiagnosticsProvider
Get-SPEdiscoveryHubSearchScope
Get-SPediscoveryHubSite
Get-SPEnterpriseSearchAdministrationComponent
Get-SPEnterpriseSearchCrawlComponent
Get-SPEnterpriseSearchCrawlContentSource
Get-SPEnterpriseSearchCrawlCustomConnector
Get-SPEnterpriseSearchCrawlDatabase
Get-SPEnterpriseSearchCrawlExtension
Get-SPEnterpriseSearchCrawlMapping
Get-SPEnterpriseSearchCrawlRule
Get-SPEnterpriseSearchCrawlTopology
Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition
Get-SPEnterpriseSearchExtendedConnectorProperty
Get-SPEnterpriseSearchExtendedQueryProperty
Get-SPEnterpriseSearchIndexPartition
Get-SPEnterpriseSearchLanguageResourcePhrase
Get-SPEnterpriseSearchManagerService
Get-SPEnterpriseSearchManagerServiceInstance
Get-SPEnterpriseSearchManagerServiceProxy
Get-SPEnterpriseSearchMetadataCategory
Get-SPEnterpriseSearchMetadataCrawledProperty
Get-SPEnterpriseSearchMetadataManagedProperty
Get-SPEnterpriseSearchMetadataMapping
Get-SPEnterpriseSearchPropertyDatabase
Get-SPEnterpriseSearchQueryAuthority
Get-SPEnterpriseSearchQueryComponent
Get-SPEnterpriseSearchQueryDemoted
Get-SPEnterpriseSearchQueryKeyword
Get-SPEnterpriseSearchQueryScope
Get-SPEnterpriseSearchQueryScopeRule
Get-SPEnterpriseSearchQuerySuggestionCandidates
Get-SPEnterpriseSearchQueryTopology
Get-SPEnterpriseSearchRankingModel
Get-SPEnterpriseSearchSecurityTrimmer
Get-SPEnterpriseSearchService
Get-SPEnterpriseSearchServiceApplication
Get-SPEnterpriseSearchServiceApplicationProxy
Get-SPEnterpriseSearchServiceInstance
Get-SPEnterpriseSearchSiteHitRule
Get-SPExcelBlockedFileType
Get-SPExcelDataConnectionLibrary
Get-SPExcelDataProvider
Get-SPExcelFileLocation
Get-SPExcelServiceApplication
Get-SPExcelUserDefinedFunction
Get-SPFarm
Get-SPFarmConfig
Get-SPFeature
Get-SPFeatureSet
Get-SPHelpCollection
Get-SPIdentityProvider
Get-SPIisWebServiceApplicationPool
Get-SPIisWebServiceSettings
Get-SPInfoPathFormsService
Get-SPInfoPathFormTemplate
Get-SPInfoPathUserAgent
Get-SPInfoPathWebServiceProxy
Get-SPLogEvent
Get-SPLogLevel
Get-SPManagedAccount
Get-SPManagedPath
Get-SPMetadataServiceApplication
Get-SPMetadataServiceApplicationProxy
Get-SPMobileMessagingAccount
Get-SPObjectSecurity
Get-SPParentFarmTrust
Get-SPProcessAccount
Get-SPProduct
Get-SPSearchService
Get-SPSearchServiceInstance
Get-SPSecureStoreApplication
Get-SPSecurityTokenService
Get-SPServer
Get-SPServiceApplication
Get-SPServiceApplicationProxy
Get-SPServiceApplicationProxyGroup
Get-SPServiceContext
Get-SPServiceEndpoint
Get-SPServiceInstance
Get-SPSessionStateService
Get-SPSite
Get-SPSiteAdministration
Get-SPSiteSubscription
Get-SPSiteSubscriptionConfig
Get-SPSiteSubscriptionMetadataConfig
Get-SPSolution
Get-SPStateServiceApplication
Get-SPStateServiceApplicationProxy
Get-SPStateServiceDatabase
Get-SPTaxonomySession
Get-SPTimerJob
Get-SPTopologyWebServiceApplication
Get-SPTopologyWebServiceProxy
Get-SPUsageApplication
Get-SPUsageDefinition
Get-SPUsageService
Get-SPUser
Get-SPUserSolution
Get-SPVisioExternalData
Get-SPVisioPerformance
Get-SPVisioSafeDataProvider
Get-SPVisioServiceApplication
Get-SPVisioServiceApplicationProxy
Get-SPWeb
Get-SPWebAnalyticsServiceApplication
Get-SPWebApplication
Get-SPWebApplicationHttpThrottlingMonitors
Get-SPWebPartPack
Get-SPWebTemplate
Get-SPWorkflowConfig
Grant-SPBusinessDataCatalogMetadataObject
Grant-SPServiceApplication
Import-SPBusinessDataCatalogModel
Import-SPBusinessDataCatalogPartitionData
Import-SPEnterpriseSearchTopology
Import-SPInfoPathAdministrationFiles
Import-SPMetadataWebServicePartitionData
Import-SPProfileServiceApplicationTenant
Import-SPSiteSubscriptionSettings
Import-SPWeb
Initialize-SPContentDatabase
Initialize-SPResourceSecurity
Initialize-SPStateServiceDatabase
Install-SPApplicationContent
Install-SPDataConnectionFile
Install-SPFeature
Install-SPHelpCollection
Install-SPInfoPathFormTemplate
Install-SPSolution
Install-SPUserSolution
Install-SPWebPartPack
Install-SPWebTemplate
Merge-SPLogFile
Mount-SPContentDatabase
Mount-SPStateServiceDatabase
Move-SPBlobStorageLocation
Move-SPUser
New-SPAccessServiceApplication
New-SPAlternateURL
New-SPBusinessDataCatalogServiceApplication
New-SPBusinessDataCatalogServiceApplicationProxy
New-SPCentralAdministration
New-SPCertificate
New-SPClaimMapping
New-SPClaimsObject
New-SPClaimsPrincipal
New-SPConfigurationDatabase
New-SPContentDatabase
New-SPContentDeploymentJob
New-SPContentDeploymentPath
New-SPEnterpriseSearchCrawlComponent
New-SPEnterpriseSearchCrawlContentSource
New-SPEnterpriseSearchCrawlCustomConnector
New-SPEnterpriseSearchCrawlDatabase
New-SPEnterpriseSearchCrawlExtension
New-SPEnterpriseSearchCrawlMapping
New-SPEnterpriseSearchCrawlRule
New-SPEnterpriseSearchCrawlTopology
New-SPEnterpriseSearchLanguageResourcePhrase
New-SPEnterpriseSearchMetadataCategory
New-SPEnterpriseSearchMetadataCrawledProperty
New-SPEnterpriseSearchMetadataManagedProperty
New-SPEnterpriseSearchMetadataMapping
New-SPEnterpriseSearchPropertyDatabase
New-SPEnterpriseSearchQueryAuthority
New-SPEnterpriseSearchQueryComponent
New-SPEnterpriseSearchQueryDemoted
New-SPEnterpriseSearchQueryKeyword
New-SPEnterpriseSearchQueryScope
New-SPEnterpriseSearchQueryScopeRule
New-SPEnterpriseSearchQueryTopology
New-SPEnterpriseSearchRankingModel
New-SPEnterpriseSearchSecurityTrimmer
New-SPEnterpriseSearchServiceApplication
New-SPEnterpriseSearchServiceApplicationProxy
New-SPEnterpriseSearchSiteHitRule
New-SPExcelBlockedFileType
New-SPExcelDataConnectionLibrary
New-SPExcelDataProvider
New-SPExcelFileLocation
New-SPExcelServiceApplication
New-SPExcelUserDefinedFunction
New-SPFeatureSet
New-SPIdentityProvider
New-SPIisWebServiceApplicationPool
New-SPLogFile
New-SPManagedAccount
New-SPManagedPath
New-SPMetadataServiceApplication
New-SPMetadataServiceApplicationProxy
New-SPObaSolutionPackage
New-SPParentFarmTrust
New-SPProfileServiceApplication
New-SPProfileServiceApplicationProxy
New-SPSecureStoreApplication
New-SPSecureStoreApplicationField
New-SPSecureStoreServiceApplication
New-SPSecureStoreServiceApplicationProxy
New-SPSecureStoreTargetApplication
New-SPServiceApplicationProxyGroup
New-SPSite
New-SPSiteSubscription
New-SPStateServiceApplication
New-SPStateServiceApplicationProxy
New-SPStateServiceDatabase
New-SPSubscriptionSettingsServiceApplication
New-SPSubscriptionSettingsServiceApplicationProxy
New-SPUsageApplication
New-SPUsageLogFile
New-SPUser
New-SPVisioSafeDataProvider
New-SPVisioServiceApplication
New-SPVisioServiceApplicationProxy
New-SPWeb
New-SPWebAnalyticsServiceApplication
New-SPWebAnalyticsServiceApplicationProxy
New-SPWebApplication
New-SPWebApplicationExtension
New-SPWordConversionServiceApplication
New-SPWordConversionServiceApplicationProxy
Publish-SPServiceApplication
Receive-SPSharedServiceApplicationInfo
Remove-SPAlternateURL
Remove-SPBusinessDataCatalogModel
Remove-SPBusinessDataCatalogPartition
Remove-SPBusinessDataCatalogThrottleConfig
Remove-SPCertificate
Remove-SPClaimMapping
Remove-SPConfigurationDatabase
Remove-SPContentDatabase
Remove-SPContentDeploymentJob
Remove-SPContentDeploymentPath
Remove-SPEnterpriseSearchCrawlComponent
Remove-SPEnterpriseSearchCrawlContentSource
Remove-SPEnterpriseSearchCrawlCustomConnector
Remove-SPEnterpriseSearchCrawlDatabase
Remove-SPEnterpriseSearchCrawlExtension
Remove-SPEnterpriseSearchCrawlMapping
Remove-SPEnterpriseSearchCrawlRule
Remove-SPEnterpriseSearchCrawlTopology
Remove-SPEnterpriseSearchLanguageResourcePhrase
Remove-SPEnterpriseSearchMetadataCategory
Remove-SPEnterpriseSearchMetadataManagedProperty
Remove-SPEnterpriseSearchMetadataMapping
Remove-SPEnterpriseSearchPropertyDatabase
Remove-SPEnterpriseSearchQueryAuthority
Remove-SPEnterpriseSearchQueryComponent
Remove-SPEnterpriseSearchQueryDemoted
Remove-SPEnterpriseSearchQueryKeyword
Remove-SPEnterpriseSearchQueryScope
Remove-SPEnterpriseSearchQueryScopeRule
Remove-SPEnterpriseSearchQueryTopology
Remove-SPEnterpriseSearchRankingModel
Remove-SPEnterpriseSearchSecurityTrimmer
Remove-SPEnterpriseSearchServiceApplication
Remove-SPEnterpriseSearchServiceApplicationProxy
Remove-SPEnterpriseSearchSiteHitRule
Remove-SPExcelBlockedFileType
Remove-SPExcelDataConnectionLibrary
Remove-SPExcelDataProvider
Remove-SPExcelFileLocation
Remove-SPExcelUserDefinedFunction
Remove-SPFeatureSet
Remove-SPFeatureSetMember
Remove-SPIdentityProvider
Remove-SPIisWebServiceApplicationPool
Remove-SPInfoPathUserAgent
Remove-SPManagedAccount
Remove-SPManagedPath
Remove-SPParentFarmTrust
Remove-SPProfileServiceApplicationTenant
Remove-SPSecureStoreApplication
Remove-SPServiceApplication
Remove-SPServiceApplicationProxy
Remove-SPServiceApplicationProxyGroup
Remove-SPServiceApplicationProxyGroupMember
Remove-SPSite
Remove-SPSiteSubscription
Remove-SPSiteSubscriptionMetadataConfig
Remove-SPSiteSubscriptionSettings
Remove-SPSolution
Remove-SPSolutionDeploymentLock
Remove-SPStateServiceDatabase
Remove-SPUsageApplication
Remove-SPUser
Remove-SPUserSolution
Remove-SPVisioSafeDataProvider
Remove-SPVisioServiceApplication
Remove-SPVisioServiceApplicationProxy
Remove-SPWeb
Remove-SPWebApplication
Rename-SPServer
Restart-SPEnterpriseSearchQueryComponent
Restore-SPEnterpriseSearchServiceApplication
Restore-SPFarm
Restore-SPSite
Resume-SPStateServiceDatabase
Revoke-SPBusinessDataCatalogMetadataObject
Revoke-SPServiceApplication
Set-SPAccessServiceApplication
Set-SPAlternateURL
Set-SPBrowserCustomerExperienceImprovementProgram
Set-SPBusinessDataCatalogMetadataObject
Set-SPBusinessDataCatalogServiceApplication
Set-SPBusinessDataCatalogThrottleConfig
Set-SPCentralAdministration
Set-SPContentDatabase
Set-SPContentDeploymentJob
Set-SPContentDeploymentPath
Set-SPCustomLayoutsPage
Set-SPDataConnectionFile
Set-SPDesignerSettings
Set-SPDiagnosticConfig
Set-SPDiagnosticsProvider
Set-SPediscoveryHub
Set-SPEnterpriseSearchAdministrationComponent
Set-SPEnterpriseSearchCrawlContentSource
Set-SPEnterpriseSearchCrawlDatabase
Set-SPEnterpriseSearchCrawlRule
Set-SPEnterpriseSearchCrawlTopology
Set-SPEnterpriseSearchExtendedConnectorProperty
Set-SPEnterpriseSearchExtendedQueryProperty
Set-SPEnterpriseSearchIndexPartition
Set-SPEnterpriseSearchMetadataCategory
Set-SPEnterpriseSearchMetadataCrawledProperty
Set-SPEnterpriseSearchMetadataManagedProperty
Set-SPEnterpriseSearchMetadataMapping
Set-SPEnterpriseSearchPropertyDatabase
Set-SPEnterpriseSearchQueryAuthority
Set-SPEnterpriseSearchQueryComponent
Set-SPEnterpriseSearchQueryKeyword
Set-SPEnterpriseSearchQueryScope
Set-SPEnterpriseSearchQueryScopeRule
Set-SPEnterpriseSearchQueryTopology
Set-SPEnterpriseSearchRankingModel
Set-SPEnterpriseSearchService
Set-SPEnterpriseSearchServiceApplication
Set-SPEnterpriseSearchServiceApplicationProxy
Set-SPEnterpriseSearchServiceInstance
Set-SPExcelDataConnectionLibrary
Set-SPExcelDataProvider
Set-SPExcelFileLocation
Set-SPExcelServiceApplication
Set-SPExcelUserDefinedFunction
Set-SPFarmConfig
Set-SPIdentityProvider
Set-SPIisWebServiceApplicationPool
Set-SPIisWebServiceSettings
Set-SPInfoPathFormsService
Set-SPInfoPathFormTemplate
Set-SPInfoPathWebServiceProxy
Set-SPLogLevel
Set-SPManagedAccount
Set-SPMetadataServiceApplication
Set-SPMetadataServiceApplicationProxy
Set-SPMobileMessagingAccount
Set-SPParentFarmTrust
Set-SPPassPhrase
Set-SPProfileServiceApplication
Set-SPProfileServiceApplicationProxy
Set-SPProfileServiceApplicationTenant
Set-SPSearchService
Set-SPSearchServiceInstance
Set-SPSecureStoreApplication
Set-SPSecureStoreServiceApplication
Set-SPServiceApplication
Set-SPServiceEndpoint
Set-SPSessionStateService
Set-SPSite
Set-SPSiteAdministration
Set-SPSiteSubscriptionConfig
Set-SPSiteSubscriptionMetadataConfig
Set-SPStateServiceApplication
Set-SPStateServiceApplicationProxy
Set-SPStateServiceDatabase
Set-SPSubscriptionSettingsServiceApplication
Set-SPTimerJob
Set-SPTopologyWebServiceApplication
Set-SPTopologyWebServiceProxy
Set-SPUsageApplication
Set-SPUsageDefinition
Set-SPUsageService
Set-SPUser
Set-SPVisioExternalData
Set-SPVisioPerformance
Set-SPVisioSafeDataProvider
Set-SPVisioServiceApplication
Set-SPWeb
Set-SPWebAnalyticsServiceApplication
Set-SPWebApplication
Set-SPWebApplicationHttpThrottlingMonitor
Set-SPWebApplicationSiginRedirectUrl
Set-SPWebTemplate
Set-SPWordConversionServiceApplication
Set-SPWorkflowConfig
Start-SPAdminJob
Start-SPAssignment
Start-SPContentDeploymentJob
Start-SPEnterpriseSearchManagerServiceInstance
Start-SPEnterpriseSearchServiceInstance
Start-SPInfoPathFormTemplate
Start-SPServiceInstance
Start-SPTimerJob
Stop-SPAssignment
Stop-SPEnterpriseSearchManagerServiceInstance
Stop-SPEnterpriseSearchServiceInstance
Stop-SPInfoPathFormTemplate
Stop-SPServiceInstance
Suspend-SPStateServiceDatabase
Test-SPInfoPathFormTemplate
Uninstall-SPDataConnectionFile
Uninstall-SPFeature
Uninstall-SPHelpCollection
Uninstall-SPInfoPathFormTemplate
Uninstall-SPSolution
Uninstall-SPUserSolution
Uninstall-SPWebPartPack
Uninstall-SPWebTemplate
Unpublish-SPServiceApplication
Update-SPFarmEncryptionKey
Update-SPInfoPathFormTemplate
Update-SPInfoPathUrl
Update-SPSecureStoreApplicationServerKey
Update-SPSecureStoreCredentialMapping
Update-SPSecureStoreGroupCredentialMapping
Update-SPSecureStoreMasterKey
Update-SPSolution
Update-SPUserProfilePhotoStore
Update-SPUserSolution
Upgrade-SPContentDatabase
Upgrade-SPEnterpriseSearchServiceApplication
Upgrade-SPSingleSignOnDatabase

rip

Oct 7, 2009

My Impressions from the Azure World Tour 2009

I’m just travelling home from the Azure Worldtour in Munich. I really was the only guy who worn a shirt! But…

Steve Ballmer and Me

…this mustn’t necessarily be something bad.

Seems Steve loves SharePoint too :-)

Back to Azure: I really like the cloud strategy from Microsoft, the .NET Services, .NET Service Bus and SQL Services and all the Azure stuff. Gartner says the market will grow from $46 billion to $150 billion in 2013. And one is “azure” Microsoft want to have a big chunk of the cake! And they are on a good way…

There is one thing frightening me when I think of cloud computing. When in the near future almost anybody would make use of cloud computing and there are only a few data centers around the world, they would obviously be a good target for terrorism. A destroyed data center could seriously harm the global economy.

Will this be Terrorism 2.0?! 

One of the base ideas of the Internet, the ARPANET was to create a distributed network which will survive an nuclear attack (semi-myth). What would be in case of a war, maybe between the USA and Europe? Would Microsoft sill provide their cloud services? Would this really be a risk? Maybe this wouldn’t matter in case of a nuclear war anymore. But luckily we have freedom and are friends (see pic above:), so I stop this “mindmare” here.

Additionally cloud computing always remembers me at Skynet in Terminator, iRobot and Matrix – great movies :-)

Oct 1, 2009

Using the SharePoint Object Model with IronPython

Same with IronPython, download IronPython and go!
# import CLR
import clr

# add a reference to the SharePoint assembly
clr.AddReference(‚Microsoft.SharePoint‘)

# import all types from the Microsoft.SharePoint namespace
from Microsoft.SharePoint import *

# instantiate SPSite at http://localhost/mysite
site = SPSite("http://localhost/mysite")

# open the web
web = site.OpenWeb()

# set the title of the web - just trivial example
web.Title = "Greetings from IronPython"

# persist changes to content DB
web.Update()

# clean up
web.Dispose()
site.Dispose()

# the end


01.10

Using the SharePoint Object Model with IronRuby

Install the latest version from IronRuby and let's script!
# load the SharePoint Assembly
require "Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"

# import SPSite
SPSite = Microsoft::SharePoint::SPSite

# instantiate the SPSite at http://localhost/anysite
site = SPSite.new("http://localhost/anysite")

# open the corresponding web
web = site.OpenWeb

#Set the title -> just a trivial Demo!
web.Title = "Greetings from IronRuby"

# persist the changes to the Content DB
web.Update

# clean up. Don't forget as I did ;-)
web.Dispose
site.Dispose

# have a cup of coffee and enjoy to be a developer :-)


image Thanks @ Thorsten Hans for the IronRuby crash course.