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).

Monday, December 31, 2007

The last SharePoint link collection ... for 2007

Sunday, December 30, 2007

Another Dolmen colleague blogging about SharePoint ...

Bart also started blogging - here are some of his first posts:

P.S. If you want to join our team  - drop me a line at joris.poelmans@removemedolmen.be (Maybe that e-mail address will change to realdolmen ... :)  )

Microsoft Expression Blend Service Pack 1

For a full description of the service pack - check out KB944811 - Description of Expression Blend Service Pack 1 - but you will definitely need to install Expression Blend SP1 when you want projects created in Blend to open in Visual Studio 2008.

Download Expression Blend SP1

 

Gartner : SOA and BPM are better together

Interesting Gartner article about two hype terms : SOA and BPM.

Excerpt:

Although many user organizations have separate service-oriented architecture and business process management initiatives under way, both are more successful and the benefits are compounded when they are united.

Download Gartner: SOA and BPM are better together.

Technorati tags: , ,

Parallel Extensions to the .NET Framework (ParallelFX)

The closing general session of TechEd Europe this year was "The irrestible forces meet the moveable objects" from Pat Helland and it talked about how economic and technological forces will impact the way that we develop applications.

One of these technological forces is the shift to multi and many core processors. To take advantage of this massive rise in processing power, there is a now a community tech preview of Parallel Extensions to the .NET Framework, a managed programming model for data parallelism, task parallelism and coordination on parallel hardware unified by a common work scheduler.

 

Download Microsoft Parallel extensions to .NET Framework 3.5, December 2007 Community Technology Preview