Thursday, March 20, 2008

SharePoint as development platform - complaints/issues/rants ...and answers

There is a lot of discussion about whether SharePoint should be used as a platform to built applications upon. Some in favour - other strongly disagree - see flames/rants such as SharePoint is not a good development platform (do take a look at the comments which provide a broader view on this blogpost) - I did a discussion session at BIWUG today where we talked about some topics of which some are  genuine pain points and others more likely rants. (Remark this are my personal remarks and not necessarily those of my employer ...) So here they come:

 

  • The learning curve is quite steep. It is true that SharePoint requires quite a large set of development skills - .NET, ASP.NET, CSS, HTML, Javascript, SharePoint Object Model, Workflow Foundation, InfoPath, C#, Visual Studio,... But this is true for any web platform - web development hasn't reached the same level of maturity for developers as simple windows development.
  • SharePoint is not documented or the documentation is not sufficient It is true that there are still some gaps in the SDK but Microsoft is working on this. V3 is actually better from a documentation standpoint then v2. Even in beta phases some documentation is already available. You have to take into account that the capability of the platform has enormously expanded. There is also a lot of information out there in newsgroups, blogs, etc ... make use of these. There is a vibrant SharePoint community out there with a lot of people which are really passionate about the technology. You might also take a look at SharePointPedia - which provides an aggregation of all SharePoint-related content on MSDN, blogs, forums, newsgroups, etc ...
  • Why SharePoint if I can built it from scratch without SharePoint - Apparently there are not enough examples out there which show you how you can built something faster using the SharePoint collaboration framework. The samples in the SDK seems to focus on specific technical stuff in the Object Model. There is however not a lot of documentation about how you can do a translation of a business case to a SharePoint solution. The Fantastic 40  are however an excellent example of how this can be done - for an overview of the functionality implemented take a look at the
  • Application Template datasheets.
  • SharePoint is not for developers, it is an end-user tool  - It is true that SharePoint provides a lot of value to your end users so that they can click their solutions together. But there is only so much that you can put in a framework and this is also the case for SharePoint. So even though there is a lot of out of the box functionality there is also a lot of room for extension.
  • SharePoint has too much constraints - SharePoint is a product/framework with a number of standard functionality. The way that this is implemeted indeed poses some constraints for developers but it also gives you a lot of things that you can use in your projects such as out of the box security framework, navigation UI, personalization framework, etc ... I know that development in SharePoint v2  did not go that well due to the way that it was implemented. Since SharePoint V3 is implemented from the ground up with ASP.NET 2.0 - there are however a lot more possibilities. But I guess that SharePoint probably still suffers from the bad rep that it got with v2...
  • You need to develop on Windows 2003/2008 - I don't see this as an issue (but maybe I'm spoiled) - virtualization is vastly improving and doing development in a virtual environment is doable. There are actually some interesting whitepapers about doing Team based SharePoint development in a virtual environment. A developer edition of WSS would be nice however ... also see
  • SharePoint Server Developer Edition and Do SharePoint developers want a  developer version of SharePoint? Apparently most of the BIWUG audience did not see this as much of an issue.
  • Hard to debug, weird error messages and logging all over the place -The error messages are indeed quite cryptic but the logging is actually quite good. Next to the things which you find the eventlogs there also the SharePoint ULS logs. A lot is logged in the SharePoint ULS logs - and you have quite a lot of control on what is logged. The ULS logs are however quite hard to read - fortunately there is quite a nice tool out there which is called the ULS Log Viewer which you can download from the Codeplex Features project. Debugging is possible for code-based solutions such as webparts, workflows and event handlers. I would however love to see debugging support for features, content types and site definitions (or at least some more validation in Visual Studio). Sure you have WSS.XSD but it does not seem to be complete - but it provides basic intellisense in Visual Studio
  • CAML :-) ... Yes, I know CAML (Collaborative Application Markup Language) is still out there just as Mike predicted. I don't think that we will see it disappear in SharePoint Vnext (this is a guess though). To make life easier - there a some tools out there to build CAML statements - my favourites U2U CAML Builder and Stramit's CAML builder. I would however love to have CAML designer support built into Visual Studio.
  • Complex to build solutions - Yes you need to build SharePoint Solution files if you want to deploy your own customizations and normally you will need to use makecab.exe and create manifest.xml and a ddf file. Again the community comes to aid - the SharePoint WSP Builder is a must for every SharePoint developer. If you want to take it one step further you might take a look at the SharePoint Solution  Installer which will convert your WSP file into an MSI.
  • HTML Output is terrible - yes it is true, the standard SharePoint html output is not XHTML compliant. There are other issues as well with SharePoint with regards to accessibility such as the use of absolute font sizes in CSS files, etc ... So when this is a requirement, you will need to built your own master pages, css files (and for publishing sites your own page layouts). There is guidance available for building an accessible website in the form of the Accessibility Kit for SharePoint (AKS). The AKS contains sample master pages, css files and control adapters which you can take as an example.
  • SharePoint does not support large lists and relational data - Again true, but SharePoint is not a database system (or not yet - see ...). So when this is an issue maybe SharePoint is not the right tool for solving your problem. Take a look at What not to store in SharePoint
  • Lack of developer tools  - Definitely take a look at VSeWSS (Visual Studio Extensions for WSS) - it has vastly improved in the 1.1 version. There are also a lot of community tools out there - I will post a list of must have SharePoint developer tools in the coming weeks.
  • Poor data validation - SharePoint is a generic platform so all the validation is generically built. If you need specific data validation - you will probably need to write your own custom fields. Here you can add all the validation that you need.

So to summarize - for every issue/problem there is probably a workaround available out there. If I missed something, do not hesitate to add a comment. And if you attended the BIWUG session and you miss a link to a tool that I talked about - leave a comment as well :-) ...

Happy SharePointing

SharePoint [Fun stuff]

This may seem offensive but I still think it is funny -

SharePoint on Youtube

and while you're still laughing also take a look at this SharePointology

Tags van Technorati: ,,,

Thursday, March 13, 2008

Folders within a SharePoint pages library are not supported ...

This is  something  that I tripped upon recently ... Folders are not supported in the Pages library in a Publishing site.

Allthough you can turn them on my manually and do some configuration to get them to work (more or less ...), this is not supported by Microsoft. This is also the reason why that when you create a page, it is always placed in the root of the Page Library. You can move it after it was created, but some random stuff won’t work.

There actually is a support article about this - New pages that are created in a subfolder of a Pages library of SharePoint Server 2007 are saved in the root of the Pages library (KB948614)

Monday, March 03, 2008

BIWUG session on march 20th

We will organize another BIWUG meeting on March 20th:

18:30 - 19:00 Registration and welcome

19:00 - 19:30 Infonic SharePoint Geo-Replicator (formerly known as iOra) by Patrick Fear & David Henderson, Infonic

Infonic’s Geo-Replicator solution provides Server to Server and Offline Replication of Microsoft SharePoint 2003 & MOSS 2007. We will share our experiences of Replicating Global MOSS deployments and the challenges facing customers with varied understandings of the scope and capabilities of the MOSS platform. We will also discuss the marketplace perceptions of those customers who approach MOSS from a Network centric  vs Content & Applications perspective and the impact this has in architecting global solutions. Finally, we will discuss some of the demand drivers from both Business & IT stakeholders in our global engagements and share why they are now viewing Replication as a key element for Business Continuity.

19:30 - 20:00 SharePoint as an application platform? Moderated by Joris Poelmans

This will be an open discussion about how you can use SharePoint as an application platform. How easy is it to extend SharePoint? What are the pitfalls? What are you still missing in SharePoint from a developer’s perspective? And what makes it hard to work with SharePoint to develop applications compared to plain vanilla ASP.NET development?

20:00 - 20:15 Break

20:15 - 21:30 Overview of Search in the Microsoft Platform and introduction to Search Server 2008 by Bart Vandenheede, Dolmen

In the first part of this session we will focus on the search capabilities in Microsoft Office SharePoint Server 2007. What’s in there out of the box and how can you extend the search functionality. The second part will focus on the soon to be released Search Server 2008.

Event location: Microsoft Offices Brussels, Culliganlaan 1, B-1831 Diegem (Brussels)

Register on www.biwug.be

Tags van Technorati: ,,,

Saturday, March 01, 2008

Integrating MOSS 2007 and Dynamics AX Part II - installing and configuring Dynamics AX Enterprise Portal

We start off with an environment which already has MOSS 2007 installed and Dynamics AX installed - for a step by step guide take a look at the previous posting - Installing MOSS 2007 and Microsoft Dynamics AX Part I - setting up your development environment.

Now we will take a look at how you can use the Dynamics AX Enterprise Portal functionality to provide access to Dynamics AX functionality from within SharePoint. There is a good white paper available on this topic, Installing and configuring Microsoft Dynamics AX Enterprise Portal (Partnersource: login required) . I used this as a reference but added some extra information which might be useful.

Follow these steps to get a Dynamics AX Enterprise Portal up and running:

  1. Modify the web.config of MOSS 2007 or WSS 3.0 - usually found at  c:\inetpub\wwwroot\wss\virtualdirectories\80.
    1. Change the trust level to WSS_Medium: <trust level="WSS_Medium" originUrl="" /> (For background info about the reason why take a look at  Microsoft Windows SharePoint Services and Code Access Security)
    2. Replace <httpRuntime maxRequestLength="51200" /> with <httpRuntime executionTimeout="6000" maxRequestLenght="51200" />
    3. Modify the <safecontrols> section in the web.config. SharePoint will only load Web Parts and ASP.NET controls that have been explicitly configured as "safe controls".

      <SafeControl Assembly="Microsoft.Dynamics.WebParts, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="Microsoft.Dynamics.WebParts" TypeName="*" Safe="True" />

      <SafeControl Assembly="Microsoft.Dynamics.ClrBridge, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="ClrInterop" TypeName="*" Safe="True" />

  2. Install Enterprise Portal by running the setup - select Custom installation type > click next. Select the computer role page and select EP Server.
  3. Start the Enterprise Portal Configuration. Open the Microsoft Dynamics AX client and select Administration > Setup > Internet > Enterprise Portal > Configuration Wizard . Most steps are self explaining... After you complete the EP Configuration, you can start the EP Deployment Wizard. Here you need to check the "enabled" check box for the SharePoint web application where you want to deploy the EP or use the EP web parts.
  4. The Enterprise Portal is actually a custom site definition - if you want to take a look at how it is build check out the  Templates\Sitetemplates\AXSiteDef folder underneath the "12 hive"  ([installdrive]:\program files\common files\microsoft shared\web server extensions\12). Important to note is that the EP site templates can only be top level sites so you will need to create them in a separate site collection.  If you want to learn more about site definitions take a look at SharePoint Site definitions: why you need them and how to use them.
  5. Create an Enterprise Portal site - this can be initiated from the Microsoft Dynamics AX Client. Open the Microsoft Dynamics AX Client and select Administration > Setup > Internet > Enterprise Portal > Websites. Click the Create site button - this will open the Create site collection page. On this page you can select one of 2 types of templates (on the custom tab) for Axapta sites - Microsoft Dynamics Enterprise Portal and Microsoft Dynamics Public.
  6. After the site is created,  the Register Site page will open ( the /_layouts/ep/axepsetup.aspx  page which is defined in the ExecuteURL section within the ONET.XML of the AXSiteDef sitedefinition ). On this page you will select the company with which you want to associate the site. If a SharePoint site is not registered in Dynamics AX, you will not be able to use the Axapta webparts on the site.

Now you have you Enterprise Portal site up and running. It is possible to install Dynamics AX EP both on WSS 3.0 and MOSS 2007. If you want to learn more about Enterprise Portal  Development in Microsoft Dynamics AX 4.0 - there are two courses available - course 8647 (Partnersource: login required) and course 8636A (Partnersource: login required). Although both seem to be written for SPS2003/WSS 2.0 some things might still be relevant.

In a next posting we will explore how to integrate the Axapta web parts in other SharePoint site templates such as team sites or even the My Site of users.

Sunday, February 24, 2008

External storage option for Binary Large Objects (BLOBS) in Windows SharePoint Services and Microsoft Office SharePoint Server 2007

Recently some documentation (finally) came available about how you can store huge files external to your SharePoint SQL database while using the rich feature set of SharePoint as an enhanced information store. To actually get this working you will need to implement a COM interface (ISPExternalBinaryProvider), which will keep your external storage and the SQL Content database(which will contain a pointer to the data as well as metadata about the object) in sync.

Available information:

Technorati tags: , , ,

Thursday, February 21, 2008

Global SharePoint deployments

I touched upon the topic of doing global SharePoint deployments a couple of weeks ago in  SharePoint - Branch Deployment and WAN optimization .   A new white paper is available about it now - Plan to deploy Office SharePoint Server globally -  but Joel also provided an avant-preview with his blog post about Global SharePoint Deployment Partner Solutions.

Monday, February 18, 2008

First news about "Office 14" ...

Apparently Bill Gates talked for the first time about "Office 14" at the Office Developer Conference - here's a small excerpt from the Infoworld article - 'Office 14' to be more Web-friendly, Gates says .

"Outlook Web Access is not the full version of Office, but if you want to go into a kiosk or an Internet cafe and browse and connect, it gives you plenty of functionality," he said. "As we look at all the modules [in Office 14], we have in mind the equivalent of Outlook Web Access," Gates said. 

...

Outlook Web Access is a part of Microsoft's Exchange Server 2007 software, and it was unclear how the other Office 14 applications would be packaged and delivered. Gates did say that SharePoint Server, which is becoming more closely aligned with Office, "will be able to render a greater set of Office documents in an HTML environment."

Some more hints are shared in Office 14 to add more online document sharing. Apparently there were some nice info-nuggets in the Q&A after the keynote as well - Office DevCon - BillG Keynote - especially take a look at the stuff marked in bold...

Q - Customising MOSS is sometimes harder to do vs just build from scratch on ASP.NET

A - There is a huge thing that I am very keen on driving is that our richest data store by far is SQL Server. Big theme in the next version of SharePoint is to let you manipulate actual SQL tables as lists (insert fanfare audio), you don't give up the ability to have lightweight lists like today but these will be 'super' lists. A big theme is how much split there is between .NET and SharePoint - how much is stored within SharePoint versus SharePoint being the user interface (UI) for incredibly rich data structures that exist natively underneath. (Bill became quite animated again - it's them data connections...)

 

Looks like fancy stuff but what do you want in the next version of Office and SharePoint ... leave a comment to add your feedback.

Saturday, February 16, 2008

SharePoint workflow link wrap up

Just a number of online resources about building workflow in SharePoint:

Shameless plug: If you need some offline resources - don't forget to take a look at  Real World SharePoint 2007 which contains 2 chapters about workflow development...

Update: David Mann just pointed to his blog about SharePoint workflow development - I just skimmed through it ... lots of must reads.

Tuesday, February 12, 2008

Speaking at TechDays 2008 - Building internet web sites using Microsoft Office SharePoint Server 2007


This year I will be doing a session about WCM in MOSS 2007 at TechDays 2008 - hope to see you there. For more info about TechDays - go to www.heroeshappenhere.be

Session abstract: Microsoft Office SharePoint Server 2007 provides the necessary framework components to build Internet web sites using master pages, page layouts and WCM specific functionality. In this session we will take an in-depth look at how to use these components and which are the best practices for developing an internet web site while leveraging the MOSS platform. This session will conclude with a look at the Accessibility Kit for SharePoint as well as at the migration story for MCMS customers.

Wednesday, January 16, 2008

Clearing the SharePoint configuration cache

Sometimes you see some weird errors occurring when you change settings in SharePoint Server 2007  - such as when you try to modify an alternate access mapping (see KB939308 ). I also noticed some issues when changing settings concerning search.  A work around seems to be clearing the SharePoint configuration cache:

  1. Stop the Timer service. To do this, follow these steps:
    1. Click Start, point to Administrative Tools, and then click Services.
    2. Right-click Windows SharePoint Services Timer, and then click Stop.
  2. Delete or move the contents of the following folder: %ALLUSERSPROFILE% \Application Data\Microsoft\SharePoint\Config\GUID
  3. Start the Timer service. To do this, follow these steps:
    1. Click Start, point to Administrative Tools, and then click Services.
    2. Right-click Windows SharePoint Services Timer, and then click Start.

Note The file system cache is re-created after you perform this procedure. Make sure that you perform this procedure on all servers in the server farm on which the Timer service is running.

PS Joe Rodgers talks about the same workaround in Clearing the SharePoint configuration cache for Timer Job and PSConfig errors.

Sunday, January 13, 2008

Integrating MOSS 2007 and Dynamics AX Part I - setting up your development environment

I will now start with the first part in a series of blog postings about how you can integrate MOSS 2007 and Dynamics AX as promised in a previous posting - Integrating Microsoft Office SharePoint Server 2007 and SAP. You will first need to get your development environment set up, so here we go. Virtual PC (or another virtualization software) will make it easier to get you up and running. Make sure that you have sufficient memory on your machine - most of the time I dedicate about 1,5 GB of memory to the guest environment. I started this installation on a virtual image with the following software already installed:

Since this is a development environment, I start with a single server installation as described in Install Microsoft Dynamics AX on a single computer. When you start the Dynamics AX installation it will warn you that you will need to install a hotfix described in KB913184. This will require you to reboot. Apparently Dynamics AX has 4 different core roles:

  • Database server : A database server that stores your Microsoft Dynamics AX data as part of an existing database installation. This can be both SQL Server and Oracle
  • File server : The server containing the Microsoft Dynamics AX application files in which the Microsoft Dynamics AX business logic is stored. Examples of the files in this directory include indexes, headers, and labels for each layer. The directory must be accessible to all Application Object Server (AOS) computers.
  • Application Object Server instance: An Application Object Server (AOS) is a Microsoft Windows service that controls communications among Microsoft Dynamics AX clients, databases, and applications.
  • Dynamics AX Client

This will all be installed when you select the single server installation option. In addition the .Net Business Connector ( a set of managed class which will allow you to access Dynamics AX functionality) will be installed as well.

These are the different steps you will need to go through:

  1. Select installation type: single server installation
  2. Select language for the Dynamics AX client : leave it to the default English
  3. Select help languages to install: English
  4. Select region  - regions will provide country specific tax and financial information
  5. Create an instance of the Application Object Server - specify the instance name and the file location
  6. Select account the Application Object Server (For necessary rights take a look at Install an Application Object Server instance ). I switched it to an admin account to avoid issues (definitely not a best practice).
  7. Connect to an instance of SQL Server
  8. Create SQL Server Database - specify the name Dynamics
  9. Install application files - note down this location because you will need it later on - e:\Program Files\Microsoft Dynamics AX\40\Application
  10. Install the Dynamics client - f:\Program Files\Microsoft Dynamics AX\40\Client
  11. Finally click the install button - notice the warning that it might take several minutes for the AOS Windows Services to start. Installation will take about 20 minutes to complete

Afterwards you will need to configure your Dynamics installation - when you first start up Dynamics AX, you will see an installation checklist which will guide you through the required steps:

  1. Compile your application - this is necessary to update all object references. in my virtual environment this took about 30 minutes to complete.
  2. License information - for the initial installation you will need to load a license file. Depending on the activated licenses different functionality will be activated.
  3. Enable and disable configuration keys - allows you to disable/enable specific features. It is possible to import or export these configuration settings. The basic configuration options are determined by your license type.
  4. Adjust global types - change properties for specific data types.
  5. Synchronize tables/indexes - This is a mandatory step to set up the system. By doing this, Microsoft Dynamics AX creates all the tables it needs to operate. This can take 10 or more minutes to complete.
  6. Manage company accounts
  7. Import company data  - there is sample data available of a fictitious company Global Trade and Manufacturing Company (GTM) on Partnersource (login required). I imported the Demo Data US files which took about 10 minutes.
  8. Check the data import - open your Dynamics client - in the navigation pane on the left hand side you should see an overview of the different available sections - General Ledger, Costa Accounting, Bank,  CRM, etc ...

If you haven't worked with Dynamics AX, first take a look at the Microsoft Dynamics AX User's Guide. In a next posting I will explain how you can use the Enterprise Portal functionality to integrate Dynamics AX in Microsoft Office SharePoint Server 2007.

Thursday, January 10, 2008

SharePoint 2007, AJAX and web parts

As Mike wrote in Using ASP.NET for AJAX in SharePoint Sites - Tread Gently for Now - Ajax works in the RTM release of SharePoint 2007 (both WSS 3.0 and MOSS) but it is not supported . Fortunately when you install Service Pack 1 for WSS 3.0 or MOSS - you will get full AJAX support as described by Joel in ASP.NET AJAX Support in WSS 3.0 and MOSS 2007 SP1  .

Here's a quick rundown of what I did to create my first simple Ajax-enabled web part:

 

Important remark: If you take a look at the example with the UpdatePanel you will also notice that there is some code embedded to make UpdatePanels work correctly.

Adapting the master page is not that nice to do so there actually is a workaround which is described in this posting by Eric -  AjaxBasePart : Easy ASP.NET 2.0 Ajax extensions 1.0 and SharePoint Server 2007 (Eric Schoonover). This shows how you can create a base class which will do the ScriptManager insertion as well as add the necessary code for the UpdatePanel fix. Mike however tells that this might cause problems - so I suggest that you test your code thoroughly when doing  a dynamic insert of the ScriptManager.

There are a lot of samples out there which show you how to use AJAX - something which I haven't found yet however is information about how you can do AJAX-enabled web part connections. Maybe something for a next posting. You can also expect a posting about how to use the AJAX Control toolkit in SharePoint.

 

Other resources:

 

Wednesday, January 09, 2008

Tuesday, January 08, 2008

Microsoft announces offer to acquire Fast Search & Transfer

Lot of buzz around this announcement:

Microsoft Corp. (Nasdaq “MSFT”) today announced that it will make an offer to acquire Fast Search & Transfer ASA (OSE: “FAST”), a leading provider of enterprise search solutions, through a cash tender offer for 19.00 Norwegian kroner (NOK) per share. This offer represents a 42 percent premium to the closing share price on Jan. 4, 2008 (the last trading day prior to this announcement), and values the fully diluted equity of FAST at 6.6 billion NOK (or approximately $1.2 billion U.S.). FAST’s board of directors has unanimously recommended that its shareholders accept the offer. In addition, shareholders representing in aggregate 37 percent of the outstanding shares, including FAST’s two largest institutional shareholders, Orkla ASA and Hermes Focus Asset Management Europe, have irrevocably undertaken to accept the offer. The transaction is expected to be completed in the second quarter of calendar year 2008.

Press Release - http://www.microsoft.com/presspass/press/2008/jan08/01-08FastSearchPR.mspx?rss_fdn=Press%20Releases

Michael seems to suggest that we will see more announcements like this in coming months  and points to a number of other postings about this topic in Microsoft acquires leading enterprise search vendor FAST : SharePoint to benefit  . Some other interesting reads are what Kirk Koenigsbauer (General Manager, SharePoint Business Group) has to say on the Microsoft Enterprise Search blog about the Fast acquisition. as well as the posting in Redmond Magazine about Microsoft,Fast combo to yield better search dev tools.

Technorati tags: , , ,

Monday, January 07, 2008

Integrating SAP and Microsoft Office SharePoint Server 2007

Although Gartner started talking about portals which would  provide an integrated view for information access/content aggregation, applications and data as well as process integration back in 2002, we only see this promise delivered now. [For more about the evolution of Portals - see  6 generations of Portal Technology: from Content Aggregation to Portal Aggregation.]

The main business processes of a company are typically found in their back-end line of business applications. One of these LOB's incountornable  is SAP . Next are a couple of links which show you how you can integrate SAP and Microsoft Office SharePoint Server 2007 (MOSS):

 

I'm currently looking at how you can integrate Microsoft Dynamics AX and Microsoft Office SharePoint Server 2007, so expect a couple of blog posts about this topic later on.

Thursday, January 03, 2008

6 generations of Portal Technology: from Content Aggregation to Portal Aggregation

I recently stumbled upon this presentation from Gartner about Portal Scenarios. In one  of the slides it talks about the 6 generations of Portal technology: from content aggregation to portal aggregation. -Quite interesting material although it is quite surprising how they manage to fit 6 generations in a time span of less then 10 years). Here's a quick overview with some additional background info of how you can position SharePoint Server 2007 in this picture:

  • Generation 1 (1998-2000):  focuses on what we now categorize as  basic portal capabilities: content management and aggregation, search and categorization, personalization and a lightweight application framework. This is more or less the features that we saw in SharePoint Portal Server 2001 and 2003. The same feature got quite extensively broadened in SharePoint Server 2007 especially with regards to content management.
  • Generation 2 (2002-mid 2002): additional features added with regards to application integration, collaboration capabilities, support for mobile and wireless devices and better management tools.  Again core capabilities in SharePoint Server 2007 e.g. application integration through web parts and Business Data Catalog, mobile support (e.g. mobile views in SharePoint )
  • Generation 3 (mid 2002 - 2003): process integration, support for multiple portals, advanced personalization, knowledge management capabilities, web services and federated search. This is the first generation where we see a first gap arise with a standard SharePoint 2007 platform - especially with regards to the knowledge management capabilities and process integration. The foundation are however available for third party vendors to built these kind of solutions. One of the key things to keep in mind when looking at SharePoint is the fact that it is actually a platform upon which best-of breed services can be built so when there are some gaps with regards to process integration - you can quite easily find a number of partners in the Microsoft ecosystem which will built upon the basic platform capabilities  - e.g. Nintex , Ascentn AgilePoint, K2.NET and Captaris Teamplate, ...
  • Generation 4 (2004 - mid 2005): advanced web services (strong point for SharePoint Server 2007 - all functionality is exposed through a web services layer), multichannel interaction, composite applications (again supported through the web part framework), personal content, microsites,  JSR168 & WSRP (for more about WSRP and SharePoint  and some background info take a look WSRP and JSR168 are two completely different things  as well as Time to discuss WSRP)
  • Generation 5 (mid 2005 - 2007) : SOBA/PIP/PCA support, orchestration, advanced collaboration, user experience management, WSRP V2 & JSR286, portal as services. This where you will see support for Web 2.0 capabilities such as blogs and wikis (See Wiki while you work ), mash ups, social networking applications, etc ...
  • Generation 6 (2008 - 2009) : Portal ubiquity (product angle and user angle), user-managed portal aggregation (client-based/server-based/hosted) and peer portal federation

 

You might have noticed that the last two generation are less clearly defined - most of current vendors provide 4th generation offerings although not all vendors will support the same features. A lot will also depend at how these vendors have evolved (some evolved from the ECM side others more from the BPM side) and how they package their offering. Generation 5 portal products seem to focus on providing a face/window for SOA as they will provide off-the-shelf support for service-oriented business applications (SOBAs), packaged integrating processes (PIPs) and packaged composite applications (PCAs), as well as process orchestration and syndication of services.

Wednesday, January 02, 2008

Happy new year ...

.... and my best wishes for 2008.

 

PS To see what you missed if you were asleep last year - check this out...

Knowledge is power! So why share your knowledge?

Francis Bacon (not the painter) was the first person to use the quote "Knowledge is power!"  in 1597 and it is still widely used. A better knowledge of a subject obviously provides a competitive advantage otherwise there would be no use for a discipline such as Knowledge Management. So if this is so, why should an organization or an individual feel compelled to share its knowledge. On the other hand, you have the fact that knowledge sharing is one of the key drivers for  innovation.

I guess it is quite simple - the basic questions that people and organizations pose themselves when they need to share information are these ones:

  • Is the person/organization which asks for my expertise a competitor or not?
  • What is in it for me? What do I get out of it when I share my knowledge?

So depending on the situation you will get a different reaction:

  • A non-expert in your organization asks an expert for information/knowledge in your organization:  The expert will give the information when he thinks that it might confirm its status as an expert (the organization should however also confirm this position - otherwise he will probably not see the point)
  • Another expert asks for information:  The expert will probably only provide the information when he will expect to get something back in return.

In a strongly competitive environment amongst knowledge workers (see Competitive organizational cultures and knowledge sharing for an abstract of an interesting white paper), I think  it can go two ways: either they stop sharing information or they will start forming little groups/niches of people who share information but only within the group and only as long as all the people belonging to this group believe that they will get something out of it. Organizations should provide a framework in which there are more enables then inhibitors for knowledge sharing - so create a culture where knowledge sharing is encouraged and not frowned upon (see  The role of knowledge management governance in the implementation of strategy). 

It is also important to note that an indifferent attitude towards knowledge sharing  just leaves it up to the individuals to either participate or disconnect. In most cases, people will disconnect since there is no benefit to them ("What's in it for me") and motivated individuals which can't make an impact will look for other communities outside of the company.

Another aspect which I haven't touched upon is the fact that knowledge in itself is not power, rather the application of knowledge in a specific situation is where power lies. The strength of an expert lies in the fact that he can come up with a solution in specific situations based upon his ability to quickly learn new things or on his previous experience.

In an era of information abundance and not information scarcity, not sharing your information works counterproductive since there are numerous other sources out there. It is better to keep yourself integrated in a network of peers/experts which do some of the information filtering for you and to share your own experiences with them. It is through this experience that you can sharpen your ability to learn, come up with quick solutions and filter out the "information diamonds".

PS Some of the feedback incorporated in this blog posting is based upon a similar posting in Dutch - Kennis is macht! Waarom dan kennis delen? as well as Turning knowledge into power (Jerry McGovern).