Home

Tuesday, July 06, 2010

Link: Process Monitor

Microsoft offers Process Monitor as a free download. In short, this tool helps capture detailed events and isolate issues. I recently used Process Monitor when I encountered a performance issue with one of my portals; the default.aspx page was taking a long time to save. Process Monitor helped me isolate the issue and determine that the cause was a buffer overflow.



Reference

Microsoft (2010). Windows Sysinternals, Process Monitor v2.91. Retrieved July 6, 2010 from http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

Friday, June 25, 2010

SharePoint Datasheet View, Office 2010 Compatibility

When considering when to upgrade to Microsoft Office 2010 on your client machine(s), there are many considerations, one of those being the level of compatibility of between the Office Suite and SharePoint Server 2010 and/or SharePoint Server 2007.

As it stands, Microsoft Office 2010 Standard Edition lacks many key compatibility features with SharePoint Server, while the Editions such as Office Professional and Office Professional Plus offer much more (Microsoft, 2010). One of the most important usability features of compatibility is the ability to manage information inside SharePoint lists and libraries is datasheet view. I know that once this feature is adopted by a user base, it is not something that can be taken away because people rely on on datasheet to manipulate data fast and easy.

Regardless of whether Office 2010 is 64-bit 0r 32-bit, the edition of office must be ABOVE STANDARD. This means that if you have Office 2010 Standard, you DO NOT have datasheet view. I cannot imagine having a SharePoint environment in which I do not have access to datasheet view, and so I would base my decision on which Office Suite to use solely on datasheet view...in other words, Office 2010 Standard is dead to me and I only care about Professional and higher from this point forward.

In the process of upgrading my primary client system to Office 2010 Professional Plus, I also had to decide between 64-bit and 32-bit. 32-bit is still recommended for maximum compatibility with add-ins and third party products, while 64-bit is intended for individuals who are working with large amounts of data (Microsoft, 2010). 32-bit is also more convenient to run. Datasheet view is automatically available to use if you have Microsoft Office 2010 (above Standard Edition) 32-bit. Datasheet view isn't automatic for 64-bit though, as evident by this error message:

Error: "The list cannot be displayed in Datasheet view for one or more of the following reasons:..."


To make my life as complicated as possible, I decided to go with 64-bit. So, how is does 64-bit Office 2010 complicate the datsheet view capability? Well, I quickly learned that as of the 64-bit flavor of Office 2010 has additional requirements in order for datasheet view to be available. After installing the 64-bit Office suite (remember, must be Standard Edition or higher), you must do one of the following, in order to avoid the obnoxious pop-up error above:

A. Download and install the 2007 Office System Driver for Data Connectivity Components.

or

B. Install the 2007 SharePoint Services Support, which is available on the Microsoft Office 2007 installation media.


Reference

Microsoft (2010). 2007 Office System Driver: Data Connectivity Components. Retrieved June 28, 2010 from http://www.microsoft.com/downloads/details.aspx?familyid=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en.

Microsoft (2010). 64-bit editions of Office 2010. Retrieved June 28, 2010 from http://technet.microsoft.com/en-us/library/ee681792.aspx.

Microsoft (2010). Compare server integration features between Office suites available through volume licensing. Retrieved June 28, 2010 from http://office.microsoft.com/en-us/buy/compare-server-integration-features-between-office-suites-available-through-volume-licensing-FX101850719.aspx.

Microsoft (2010). Compatibility Between the 32-bit and 64-bit Versions of Office 2010. Retrieved June 28, 2010 from http://msdn.microsoft.com/en-us/library/ee691831(office.14).aspx.

Microsoft Office 2010: About 64-bit

As the computer industry as a whole is evolving 64-bit to the de facto standard, even for client systems, we seem to be at a cross roads with this next wave of Microsoft Office products where we still need to choose between 64-bit or 32-bit.

One important thing to be aware of is that running 64-bit AND 32-bit versions of Microsoft Office on the same operating system is not supported. Here are some links that provide information about the 64-bit version of Office 2010 as well as information about compatibility in general.

Microsoft TechNet: 64-bit editions of Office 2010

Microsoft TechNet: Application compatibility assessment and remediation for Office 2010


Reference

Microsoft (2010). 64-bit editions of Office 2010. Retrieved June 25, 2010 from http://technet.microsoft.com/en-us/library/ee681792.aspx.

Microsoft (2010). Application compatibility assessment and remediation for Office 2010. Retrieved June 25, 2010 from http://technet.microsoft.com/en-us/library/ff394407.aspx.

Thursday, June 17, 2010

SharePoint 3.0: Command for Forcing Hotfix Installation

From "%COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\12\bin", run this command:

psconfig.exe –cmd upgrade –inplace b2b –force


Reference

Microsoft (2010). Command-line reference for the SharePoint Products and Technologies Configuration Wizard (Office SharePoint Server). Retrieved June 17, 2010 from http://technet.microsoft.com/en-us/library/cc263093(office.12).aspx.

Wednesday, June 02, 2010

SharePoint 4.0: Attach Content Database to Web Application

An especially important administrative capability for disaster recovery, upgrading from SharePoint 3.0, and general administration of Web applications is the ability to attach a content database to a Web application.

Here are the steps:

1. Attach the content datbase to the SQL Server instance. If moving a content database in from a different farm, then this may require doing a SQL Server database restore. Be sure that the MDF and LDF files are created in a location which is consistent with your other content datbases.

2. Open PowerShell. With the security context of an administrator account having shell access, open PowerShell on a SharePoint 2010 server.
Start > Administrative Tools > SharePoint 2010 Management Shell

3. Test the content database.
Type the following command:
Test-SPContentDatabase -Name %ContentDbName% -WebApplication %WebApplicationName%

4. Attach the content database to SharePoint Web Application.
Type the following command:
Mount-SPContentDatabase -Name %ContentDbName% -WebApplication %WebApplicationName%

5. Verify the attached content database. Navigate to SharePoint Central Administration > Application Management > Manage Content Databases. Verify the database name, database status, and current number of site collections. If necessary, adjust the Site Collection Level Warning and Maximum Number of Site Collections settings appropriately.


Reference

Microsoft Technet (2010). Add a content database (SharePoint Server 2010). Retrieved June 2, 2010, from http://technet.microsoft.com/en-us/library/cc825314.aspx.

Tuesday, June 01, 2010

Three Nice Enhancements to the Send To Functionality of SharePoint in 2010

1. Multiple connections. In 2007, you could only configure one Sent To (presumably a Records Center) location per farm. In 2010, you can configure multiple Send To Connections.

2. Turn on or off manual submission from the Send To menu. For each configured Send To connection, you can check a box to either enable or disable this location from appearing in the context menu of a document.

3. Sent To action. Last but not least, for each configured connection, you can configure the Send To action to be copy, move, or move and replace with link. If you can remember in 2007, this was a mighty gap that required some workflow trickery to make it practical. Now we have some out of box comfort.

Monday, May 24, 2010

Thoughtful Quote

"To make knowledge work productive will be the great management task of this century, just as to make manual work productive was the great management task of the last century."

- Peter Drucker, 1978

Friday, May 21, 2010

How Communication Gaps Can be Viewed as Opportunity for Business Analyst Function

I find myself analyzing things quite a bit throughout the day. Some people accuse me of thinking too much. I don't know, it is just a natural thing I do, I guess. I ponder a lot.

One thing I ponder about from time to time is the impact that words have on work, people, and communications in general. Words are very significant in my profession. Words appear everywhere. In Web portals, they are used to instruct people how to use the Web site or how to perform a function. In presentations, words are used to concisely deliver a big message, one little message at a time. A funny thing about words is how they conjure up different emotions and different meanings to different people.

So, how does all of this relate back to the theme of this blog? Well, UX topics aside, there are some interesting behavioral patterns that I recently noticed, because I had been fixated on words. Recently, I happened to be observing a debate between colleagues, regarding the best way to configure a feature of a new Learning Management System (LMS). For background, this LMS Web application is intended to deliver courses and track professional development information for employees. It happens to be a third party product.

During the course of debates I realized that there is a distinct difference between the way that the software developer interpreted the name of a software feature versus the way that a business stakeholder interpreted it, in the context of them working together on the system implementation. Both individuals were working together, exploring how the third party application works, and trying to figure out the best way to leverage the product in order to meet the business requirements.

During this adventure, the two individuals came across a product feature called "curriculum." Here is the behavior that I noticed:

The software developer evaluated and experimented with the "curriculum" feature and tried to figure out different ways to use the feature in order to meet the business requirements.

The business stakeholder, performing the same experiment, forcefully attempted to make the software behave as they understand the word "curriculum" to mean in normal business context.

The two individuals then reached a disagreement when the software developer offered various options for how the feature could be used, while the business stakeholder argued that "no, a curriculum means this and so it must only be used like this." Not only did the two disagree on what the word means in general business context, but both also disagreed on the appropriate way to approach the software configuration task.

Do you see the distinction?

The software developer views the "curriculum" not for what the label means, but for what the actual program capability is and how it interacts with other related capabilities in the system. On the other hand, the business stakeholder had a fixed idea because of the label.

What is the point of all of this? Business analysis. A business analyst function is extremely important on a Web application project. Whether this function is performed by a dedicated expert, absorbed and performed by the project manager (or other resource), there needs to be a person who can understand the business requirements while also understanding the developers' way of thinking so that these two perspectives can be united and a common goal can be met.

Thursday, May 13, 2010

SharePoint 4.0: Formula for Estimating Content Database Size

Formula

((D × V) × S) + (10 KB × (L + (V × D))) = C

C = Database Size in KB
D = # Documents * 3
L = # List Items
S = Average size of documents in KB
V = Average # Versions in a Document Library (Greater than 0)



Reference

Microsoft (2010). Storage and SQL Server capacity planning and configuration. Retrieved May 13, 2010 from http://technet.microsoft.com/en-us/library/cc298801(office.14).aspx.

Wednesday, May 12, 2010

Links: MSDN Ramp Up Track, SharePoint for Developers

Microsoft has a Ramp Up program on MSDN, to help facilitate learning and professional development, http://msdn.microsoft.com/en-us/rampup/default.aspx. There are some interesting tracks, including the following ones related to SharePoint:

MSDN Ramp Up Track, SharePoint for Developers Part 1
http://msdn.microsoft.com/en-us/rampup/dd221355.aspx

  1. Introduction to Web Parts
  2. Data Lists for Developers
  3. Programming Event Handlers
  4. Workflow in SharePoint
  5. Silverlight and SharePoint

MSDN Ramp Up Track, SharePoint for Developers Part 2
http://msdn.microsoft.com/en-us/rampup/dd320759.aspx

  1. Page Navigation – Integrate navigation into your SharePoint application
  2. Page Branding – Brand a SharePoint site to look like your existing web application
  3. Web Services – Access list data using built-in web services
  4. Custom Content Types – Implement behaviors from different document types
  5. User Management – Manage web site users without code

Links: Microsoft SharePoint 2010 Launch Event


Microsoft SharePoint 2010 Launch Event
http://sharepoint.microsoft.com/2010launch/en-us/Pages/home.aspx


Webcast
May 12, 2010
11:00 AM EDT
Keynote to be delivered by Stephen Elop.

Tuesday, May 11, 2010

Links: SQL Server Reporting Services (SSRS) SDK for PHP

Here are some references for information on interoperability between SQL Server Reporting Services and PHP:

Interoperability Bridges and Labs Center
http://www.interoperabilitybridges.com

SQL Server Reporting Services (SSRS) SDK for PHP
http://www.interoperabilitybridges.com/projects/sql-server-reporting-services-sdk-for-php

SQL Server Reporting Services (SSRS) SDK for PHP on Codeplex
http://ssrsphp.codeplex.com/

(Microsoft, 2010)

Reference

Microsoft (2010). SQL Server Reporting Services SDK for PHP. Retrieved May 11, 2010 from http://www.interoperabilitybridges.com/projects/sql-server-reporting-services-sdk-for-php.

SharePoint 3.0: Setting Default Expires Date on Announcements

Description:

When using the out of box Annoucements web part in SharePoint 3.0, items do not have a default value. For practical purposes, when using the web part in sites, it usually makes sense to limit the number of announcements that display in the view that is positioned on the Web page.

So, in order to limit the items in a view, it makes sense to use sorting on a field such as Expires in conjunction with an item limit on the view. And, if you are going to sort (on Expires), you need to make sure that all items have a value to be sorted on. Otherwise, those items lacking the Expires won't appear.

Solution:

An easy way to ensure that all items have an Expires date is to set the default value of the column. To do this, navigate to the Announcements list, to Settings, List Settings. In the "Additional Column Settings" area, set the "Default Value" to a "Calculated Value" of =[TODAY]+60. This will default the Expires date to be sixty days from when the announcement item is cerated.

Thursday, April 29, 2010

User Experience (UX) in Web Portals

Planning and executing information management projects accounts for a major portion of the overall effort. However, there is still quite a bit of time that is required to be spent on refining and communicating concepts to colleagues and to the business. Perceptions about why you are developing a portal or system and what it will look like have a tremendous amount of impact to the success of a project.

User Experience tends to be one of the facets of information system design that draws quite a bit of controversy because it is very subjective. Combining information architecture concepts, system capabilities, features, security models, business requirements, functional requirements, standards, and policies to develop a design will get you most of the way there. However, there are still some very volatile aspects to the design process; these include emotion and perception.

The measure of user experience of a system is highly subjective. People's attitudes, situations, level of knowledge, and other factors produce an emotional response every time the person uses the system. Although I have lots of past experiences, projects, and communications to draw from for guidance on how best address matters related to UX debates; I've decided that I really need to collect some factual information to keep in the toolbox. I think that behavior studies, polls, statistics, and other sources of research are required to build a solid fact base to support decision making. It is simply not good enough to speculate how people think and how people will respond to a particular system design.

I plan to invest some time in this topic and then reflect on my findings in subsequent posts.

Tuesday, April 27, 2010

Sample Sizing Estimate for SharePoint Server 2010 Search Environment

Below is a sample search storage estimate for environment with 500GB content databases. This was calculated by adding up the sum of MDF files. There are so many considerations for storage, and this is just a rough sketch of the storage aspects related to the Search Service Application. This does not consider base installation overhead nor does it factor in other SharePoint Service Applications (SSA), Office integrations, User Profiles, Usage Database, PowerPivot, etc..

1.
ContentDBSum = Measure the size on disk of MDF files. For this example, 500 GB.

2.
IndexTotalIndexSize = ContentDBSum * .035 or
17.5 GB
QueryComponentIndexSize = TotalIndexSize / Number of Index Partitions
StorageQueryComponentIndexSize * 3 single query component with space for index merging
QueryComponentIndexSize * 4 single query component with space for index repartioning or 70 GB

3.
TotalPropertyDBSize = ContentDBSum *.015 or
8 GB
TotalPropertyDBLogSize = ContentDBSum *.0031 or 2 GB

4.
TempDBSize = TempDBSizeContentDBSum * .00034 or 1 GB

5.
TotalCrawlDBSize = ContentDBSum *.046 or
23 GB
TotalCrawlDBLogSize = ContentDBSum *.011 or
6 GB
ContentDBSum *.011 = TempDBSize = 6 GB

6.
SearchAdminDBSize = # items in index * .3 or override as
5 GB
In this case, I don't know how many items there will be in the index so I am going to allocate 5GB.

7.
Backup Size = basically, add all of the database sizes together.

Reference

Microsoft Technet (2010). Performance and capacity test results and recommendations. Retrieved April 27, 2010 from http://technet.microsoft.com/en-us/library/ff608068(office.14).aspx.

Friday, April 23, 2010

Windows Server 2008 R2 Data Center VS Enterprise

Here is a quick overview when comparing Windows Server 2008 R2 Datacenter vs. Enterprise. Based on the licensing model for Windows Server 2008 R2, it may be more cost effective for many virtual infrastructure environments to license Datacenter Edition rather than Enterprise Edition. Furthermore, the hot pluggable hardware features of Datacenter Edition may be a key discriminator.


Role: No difference

Core Installation Features: No difference

Features: No difference

Technical Specifications: See Below

Datacenter
· hot add processors
· hot replace memory
· hot replace processors
· Virtual image use rights = Unlimted
· X64 sockets = 64

Enterprise
· No - hot add processors
· No - hot replace memory
· No - hot replace processors
· Virtual image use rights = Host plus 4VM
· X64 sockets = 8



Reference

Windows Server 2008 R2: Overview of Editions
http://www.microsoft.com/windowsserver2008/en/us/r2-editions-overview.aspx

Friday, April 09, 2010

Inconsistency in Information Management System Governance, Projects is Kryponite

I continue to revisit the thought that a SharePoint governance model (policies, procedures, standards, resources, etc.) can be undermined if an organization does not employ proper and consistent governance for all of its information management activities and systems.

Consistency is important because it level sets the way that people approach information management projects, including SharePoint projects. If some projects were to take a fly by the seat of your pants approach, disregarding governance concepts, it is bad because the resulting deliverables will be inconsistent from what the guiding principles that the governance model is supporting. What is worse is the sloppy result is the one that is achieved first, since it takes less time to do things when you circumvent processes.

Meanwhile, you might have some projects following the rules and progressing a bit slowly while the wild wild west ones are moving fast and crossing the finish line earlier. By the time the "good" project finishes, the wild wild west has already become the de facto standard. A precedent is set and now all of those "unnecessary" rules are perceived as pockets of resistance and momentum builds in avoiding the rules rather than following them. This is a vicious cycle and requires quite a lot of effort to reverse the damage. It is much easier if the executive sponsors can support the governance concepts, then promote and mandate accordingly.

The benefits of the formal approach to projects and adherence to information management governance is obvious to anybody who has experienced a complete project life cycle and then stuck around long enough to observe the after effects. This topic is very much philosophical; do you want to manage projects short-sighted to get the project completed or do you want to manage projects for the greater good, long term to support the guiding principles of the governance model?

I will draw an analogy. You live in the mountains and have a wood stove. You can spend cheap money buying an axe, then hurry to chop wood with it to meet an immediate need of filling the stove once. Or, you can invest more money on a chainsaw and then be able to provide wood for the stove, more efficiently, every time you need it moving forward. It is called return on investment. Sustainable efficiency and the ability to produce higher quality deliverables (which are easier to maintain) is the result of following a slow and steady approach to information management projects; taking the time to remain aligned with the principles of the governance plan.

Monday, March 22, 2010

Documenting Your SharePoint Server Search Design Specifications

During a SharePoint Server Search implementation, it is especially important to document the technical design specifications of Search, prior to configuring. By creating a Search Design Specifications document and continiously managing changes in it, the document acts as a good reference for future projects, knowledge transfer, upgrades, migrations, and disaster recovery scenarios.

When I document search specifications, I do it in a Word document and capture detailed information in a similar format to how the actual configuration screens appear. Here are some samples:



Content Sources




Crawl Rules




Crawl Schedules



Metadata Property Mappings



Scopes

Blog Archive

Followers