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

BIWUG presentation about Open XML available

One of the presentations from our last BIWUG session is now available, check out Introduction to the OpenXML formats from Wouter Van Vugt.

Technorati tags: , ,

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.

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