Tabs view using Infopath and Form Services

A lot of people ask me this question: how can I create tabs in Infopath forms (or Form Services):

Infopath and Form Services doesn’t support “tabs”, so you have to be a little creative.

– Give the form a background color (ex: blue)

– Using a table, using one of the cell, create tabs at the top of the table, merge the rest fo the area below the table as one large content area.

– The main area of the form should be all white (or what ever color you want)

– Insert a “button” into the cell area listed above (if you have two tab, then instead 2 button)

– Create 2 views in infopath (or as many views as you want base on the number of tabs you want)

– Then setup the button to switch between different views when click on it…

– Now, make the button invisible.

– Make the active tab (the cell since this is a table and your button is invisible) the same color as your form

– Make all the in-active tab match the color of your background color…

– Repeat the same thing to all your views.

With the above, you should be able to create a form with tabs and publishable to Form Services.

Little Known Facts (Issues) of MOSS Content Deployment Jobs (MOSS 2007)

I spend 1.5 years working on a MOSS project (yes, the project was that long…) developing a MOSS web content management platform. Here are some things I could like to share during my 1.5 years of my life (yes, I know a lot about MOSS web content management after 1.5 years of my life spend living with it)… things Microsoft didn’t want anyone to know…  on a side note, some of the problem can be fix using custom code, if you run into any of the problem email me…

I am sure most of you who uses MOSS know there is a thing in SharePoint call “content deployment” features which allow you to deploy approved content from server 1 to server 2. This function is created for web content management and web publishing. Here are some little known fact about this “content deployment”. I will try to update this post as I remember more of things we run into during the project…

  • Microsoft whitepaper say you can have a 3 stage deployment (Develop, Staging, and Production), but this is false!
    • What Microsoft is trying to say on their whitepaper is that you can do the following:
      • Develop to Staging
      • Develop to Production
    • There is no out-of-the-box solution for this one yet… you can have a workaround using custom code by coding a manual timer job
    • Technically you can only do 2 stage content deployment. This doesn’t really work for firm that is regulated by government such as the FDA that “WANTS” to have a 3 stage content deployment process (check your work before having the content go to the public for government regulation purpose).
  • MOSS web content management have a lot of bugs…
    • Content deployment within MOSS’s web content management is nothing close to perfect… Check out some of my other blogs for some of those errors…
    • A lot of those errors are “unexplainable”, and the only way to fix it is to recreate the deployment jobs.
  • Microsoft calls it “content deployment job”, but do you know technically all your content are deploy to the 2nd server?
    • In MOSS when you create a document it is call version 0.1 and when its publish it is then call version 1.0
    • Version 1.0 is then publish to the internet for the rest of the world to view.
    • BUT the way content deployment works is that it copy all version to 2nd server, then uses permission to mask the content from being display on the internet…
    • This means every version you have (even un approved version) are “technically ” on the 2nd server available to the rest of the world, the public just can’t view it because of permission.
  • Versioning
    • Depends on how your content deployment job is setup, the 1st server will copy and overwrite content in 2nd server. Not a big issue until you are trying to figure out the version in server 2 and dealing with the database size…
    • This is how it works:
      • when things is approve, server 1 copies the content to server 2.
      • Server 2’s content is then overwritten and the new content is rename as a new version.
      • Image the server does this every 15 mins (common schedules for MOSS web content management)… by week 2 you have on version 500+!!!
    • Why is this important? What if you are trying to build a report that shows you version in dev and production? You can’t build a report with this type of behavior…

Content Deployment Job Failure – Checked Out Document

Problem

The following error message is displayed in the job status log and content deployment job fail.  The error message indicates a file is checked out.

Troubleshooting info for MOSS and Content Deployment2

Solution

This issue can happen due the following reasons.
1. A document is checked out in the destination site collection. Manually check in the document at the destination site and reran the content deployment job.

Sharepoint Designer Workflow infinite loop

The other day I run into this problem when using Sharepoint Designer to create workflow.

– the workflow start conduction is every time the object change

– the workflow action is to change the object when this occur

Well…  as stupid as it sound, this will create a infinite loop.  Here is how

– when a object change, the workflow starts

– the workflow is then set the change the object (as part of the workflow).

because the workflow change the object, a new workflow will start again and make another change again…  creating a infinite loop

 

With a infinite loop, a new workflow will keep starting until the server resources runs out…  the only way to stop it is to do a IIS reset or stop the web app.

Even if you “end” the workflow as part of the workflow, it will still keep looping none of the out-of-the-box function in Sharepoint Desginer Workflow seem to be able to fix this problem.  But with some creativity, you can work around this such as using list to track the changes, etc. 

Just FYI for those working on SharePoint Designer workflow

Server Farm Scalability

Server Farm Scalability

Here is some info on how to scale a MOSS Server Farm:

Server Farm Scalability

The following tables describe the scalability data for different server types. Each layer and server type can be scaled out individually by clustering each server type (with the exception of Indexing server, which can only be scaled up).

Sharepoint Topology

Server Farm Scalability1

Scalability

Web Server Farm Scalability

Farm size
Web Server x Applications Server x Database Server

Request Per Seconds

Web server CPU

Database server CPU

Client computer CPU

Mix

Read

Mix

Read

Mix

Read

Mix

Read

1x1x1

49.8

73.3

91.00

98.40

17.90

15.00

10.89

6.50

2x1x1

79.2

141

76.40

93.10

24.50

29.40

14.04

11.10

3x1x1

106

208

71.23

90.75

42.00

54.20

19.10

15.00

4x1x1

128

248

67.55

82.58

66.70

80.20

23.34

18.00

5x1x1

116

278

47.96

70.46

73.70

93.40

26.60

20.00

6x1x1

95

284

32.87

53.62

72.10

96.10

19.16

21.00

7x1x1

n/a

284

n/a

42.19

n/a

96.40

n/a

21.00

8x1x1

n/a

224

n/a

33.34

n/a

76.90

n/a

17.00

Table 1. Web server farm scalability

Query Server Farm Scalability

Farm size
Web (Query) Server x Applications Server x Database Server

Request Per Seconds

Query server CPU utilization percentage

Index server CPU utilization percentage

Database server CPU utilization percentage

Database server disk writes/sec average

1x1x1

24.01

99.49

1.98

7.23

6.11

2x1x1

48.04

96.98

3.95

13.02

2.66

3x1x1

71.07

94.73

5.61

20.56

2.29

4x1x1

93.11

91.77

8.81

29.21

2.41

5x1x1

114.95

90.50

10.27

39.38

2.45

6x1x1

133.34

87.29

11.91

52.94

2.83

7x1x1

148.52

80.20

15.24

63.72

3.14

8x1x1

146.94

65.65

15.15

69.15

2.87

Table 2. Query server farm scalability

         

Indexing Server Scalability

Number of processors

Percentage of improvement in crawl speed

1

0.00

2

10.89

4

19.77

8

30.77

Table 3. Indexing server scalability

 
Number of crawl threads
 

Index server CPU utilization percentage

Database server CPU utilization percentage

4

35

12

8

40

15

12

45

15

16

60

20

Table 4. Impact on crawl threads for index servers

   

Hardware and Software Requirement

Minimum Hardware Requirement|

Server Type

Minimum Hardware

Recommended Hardware

Web Server

Dual 2.5 GHz or faster processors 1 GB RAM, 3 GB of available disk space, DVD drive, local or network accessible 1024×768 or higher resolution monitor

Dual 3 GHz or faster processors, 2 GB RAM or more, 3 GB of available disk space, DVD drive, local or network accessible 1024×768 or higher resolution monitor

Query Server

Dual 2.5 GHz or faster processors, 2 GB RAM, 3 GB of available disk space, DVD drive, local or network accessible.  1024×768 or higher resolution monitor

Dual 3 GHz or faster processors, 4 GB RAM or more, RAID 10 with 3 GB of available disk space, DVD drive, local or network accessible, 1024×768 or higher resolution monitor.

Indexing Server

Dual 2.5 GHz or faster processors, 2 GB RAM, 3 GB of available disk space, DVD drive, local or network accessible, 1024×768 or higher resolution monitor

Dual 3 GHz or faster processors, 4 GB RAM or more, RAID 10 with 3 GB of available disk space, DVD drive, local or network accessible, 1024×768 or higher resolution monitor.
RAID 10 with 2 millisecond (ms) access times and greater than 150 MB/sec write times for fast disk writes.

Database Server

Dual 2.5 GHz or faster processors, 2 GB RAM. DVD Drive, local or network accessible, 1024×768 or higher resolution monitor.
Hard disk space based on a 1:1.2 ratio of content to database, plus additional space for transaction logs.

Dual 3 GHz or faster processors, 4 GB RAM or more, RAID 10 hard drives. DVD Drive, local or network accessible, 1024×768 or higher resolution monitor
Hard disk space based on a 1:1.2 ratio of content to database, plus additional space for transaction logs.

Minimum Software Requirement

Server Type

OS

Applications

Web Server

Windows 2003 Web Edition SP1 or higher

Office SharePoint Server 2007 Enterprise
Internet Information Services (IIS) 6.0 with Common files, WWW, Simple Mail Transfer Protocol (SMTP)
Microsoft .NET Framework 3.0

Query Server

Windows 2003 Web Edition SP1 or higher

Office SharePoint Server 2007 Enterprise
Internet Information Services (IIS) 6.0 with Common files, WWW, Simple Mail Transfer Protocol (SMTP)
Microsoft .NET Framework 3.0

Indexing Server

Windows 2003 Web Edition SP1 or higher

Office SharePoint Server 2007 Enterprise
Internet Information Services (IIS) 6.0 with Common files, WWW, Simple Mail Transfer Protocol (SMTP)
Microsoft .NET Framework 3.0

Database Server

Windows 2003 Enterprise Edition SP1 or higher

Microsoft SQL Server 2005 Enterprise Edition SP1 or later

Minimum Storage Requirement

Server Type

Sizing Scaling Calculation

Storage Size

Web Server

N/A

At least 3GB of available disk space

Query Server

Index size of X, we recommend that initial disk space be at least 2.5*X for every content index on each query server in the farm.

Indexing Server

Size of data crawled = Y, Size of index on index server = a range of 5% through 12% * Y = X, Initial disk space = 2.5*X.
4 GB RAM on the index server for crawling a corpus with more than 1 million documents.

Database Server

Hard disk space based on a 1:1.2 ratio of content to database, plus additional space for transaction logs.

At least 10GB of available disk space

End User Brower and OS Support

Browser

Windows

Linux/Unix

Macintosh OSX

Microsoft Internet Explorer 6.x (32-bit)

X

Windows Internet Explorer 7.x (32-bit)

X

Firefox 1.5

X

X

X

Mozilla 1.7

X

Netscape Navigator 7.2

X

Netscape Navigator 8.1

X

Safari 2.0

X

Recommended End Users Software Requirement

Users Type

Recommended Software and OS

Developer

Windows XP or Higher
Virtual Studio 2005 Professional
SharePoint Designer 2007
Internet Explorer 6.x or higher

Contributor

Windows XP or Higher
Internet Explorer 6.x or higher

System Administrator

Windows XP or Higher
SharePoint Designer 2007
Remote Desktop (or any remote system management software)
Internet Explorer 6.x or higher

Recommended Expandable Server Farm Configuration

Small Server Farm

Server Type

Recommended # of Server

Configuration Type

Web Server / Query Server

3

Clustered, Load Balance, and Redundant

Database Server

2

Active and Passive model

Indexing Server

1

Standalone Server in Farm

Mid Size Server Farm

Server Type

Recommended # of Server

Configuration Type

Web Server

3

Clustered, Load Balance, and Redundant

Query Server

3

Clustered, Load Balance, and Redundant

Database Server

2

Clustered, Load Balance, and Redundant

Indexing Server

1

Standalone Server in Farm

Technical Dependencies

Apart from the Microsoft Office SharePoint products and technologies (including WSS 3.0, MOSS, and Search system), the MOSS Server Farm also depends on the following software components for full functionality:

Messaging System

The MOSS Server Farm will use SMTP services for e-mails that are generated for alerts and workflow activities, MOSS Server Farm will use the Lilly SMTP server through port 25 for sending outgoing e-mail messages. The only e-mail messages that will be sent from the MOSS Server Farm system correspond to the out of the box task notifications that are provided with the out of the box workflow templates.

MOSS will perform best with Microsoft Exchange Server as MOSS will be able to take advantage of the contact and calendar function within MS Exchange. MOSS will also operates with other standard SMTP services for incoming and outgoing.

Backup and Restoration

Special MOSS backup agent is require in order to back and restore individual document within MOSS. Some MOSS backup agent which allows for individual document backup and restoration are: Microsoft System Center Data Protection Manager (http://www.microsoft.com/systemcenter/dpm/default.mspx) and Symantec Backup Exec Agent for Microsoft SharePoint (http://www.symantec.com/business/products/family.jsp?familyid=backupexec)

When event a agent is not utilize, backup can be perform using MOSS’s stsadm.exe command together with Windows scheduled tasks and batch file processing, however stsadm.exe only allows for backup of the entire site collections, individual content restorations is not allow.

Application and System Monitoring

It is recommended a system monitoring application is to be utilize to monitor the operation of the MOSS Server Farm, the application should constantly monitor key matrix within the farm to ensure the operation of the farm is correct. One of the MOSS enable system monitoring application is Microsoft System Center’s Operation Manager (http://www.microsoft.com/systemcenter/opsmgr/default.mspx), as Operation Manager comes default with montioring agent design for Windows Server and MOSS operation.

Recommended Applications and System Monitoring Matrix

Key Performance counter, Services, or Applications

Apply to Server

Notes

% Processor time

Web Server
Query Server
Indexing Server
Database Server

utilization (>90% consumption for more than x minutes)

% Memory utilization

Web Server
Query Server
Indexing Server
Database Server

Utilization (>90% consumption for more than x minutes)

Total Free Spaces

Web Server
Query Server
Indexing Server
Database Server

Disk space usage (70% warning, 90% alert)

Backup Services

Web Server
Query Server
Indexing Server
Database Server

Services must be running.
Backup must be perform correctly daily.

Site Collections

All Sharepoint Site Collections

Each site collections must return with proper information when query.
Site must be running.

Sharepoint Services

Web Server
Query Server
Indexing Server

Services must be running

Internet Network Latency and Respond Time

Web Server
Border Router/Firewall

5 seconds on a 56k modem, 2 seconds on a cable modem, 1 second on a T1 connection

Network Latency

Web Server
Query Server
Indexing Server
Database Server

Database Services

Database Server

Services must be running

Internet Information Services

Web Server
Query Server
Indexing Server

Services must be running

Firewall and Network

The following diagram and table illustrates the ports that need to be opened in various servers within MOSS Server Farm for proper communication between various components within the system.

Server Farm Scalability2

Fig. 1. Ports between servers

Callout

Default Ports and protocols

1

Client access:
– TCP port 80
– TCP port 443 (SSL)

2

File and printer sharing service:
– Direct-hosted server message block (SMB) (TCP/UDP 445)

3

Office Server Web Services:
– TCP port 56737
– TCP 56738 (SSL)

4

Database communication:
– TCP/SSL port 1433 (default)

5

Search crawling:
– TCP 80
– TCP 443 (SSL)

6

Active Directory:
– TCP 445 (Directory Services)
– TCP 88 (Kerberos)

7

SMTP:
– TCP 25

Table 5. Ports between servers

The following diagram and table illustrates the ports that need to be opened between the administration system and the various servers within the MOSS Server Farm for proper communication between various components within the system.

Server Farm Scalability3
Fig. 2. Ports between administration systems

Callouts

Default Ports and protocols

A

Shared Services Administration site
§         TCP 80
§         TCP 443 (SSL)

B

Central Administration site
§         TCP 80
§         TCP 443 (SSL)

C

Database communication:
§         TCP/SSL port 1433 (default)

Table 7. Ports between administration systems

 

Sharepoint Error 5187 and 6187 – MySite

Problem

After you correctly configured MySite, when your try to activate and create the first MySite’s site, the following error message 5187 and 6184 And this error appear for all user who try to actiavte their own MySite

Error 5187:

My Site creation failure for user ‘Server1\Administrator’ for site url ‘http://server1/personal/administrator’. The exception was: Microsoft.Office.Server.UserProfiles.PersonalSiteCreateException: A failure was encountered while attempting to create the site. —> System.ArgumentException: Value does not fall within the expected range.
at Microsoft.SharePoint.Library.SPRequestInternalClass.SscCreateSite(Guid gApplicationId, String bstrUrl, String bstrServerRelativeUrl, Int32 lZone, Guid gSiteId, Guid gDatabaseId, String bstrDatabaseServer, String bstrDatabaseName, String bstrDatabaseUsername, String bstrDatabasePassword, String bstrTitle, String bstrDescription, UInt32 nLCID, String bstrWebTemplate, String bstrOwnerLogin, String bstrOwnerName, String bstrOwnerEmail, String bstrSecondaryContactLogin, String bstrSecondaryContactName, String bstrSecondaryContactEmail, Boolean bADAccountMode)
at Microsoft.SharePoint.Library.SPRequest.SscCreateSite(Guid gApplicationId, String bstrUrl, String bstrServerRelativeUrl, Int32 lZone, Guid gSiteId, Guid gDatabaseId, String bstrDatabaseServer, String bstrDatabaseName, String bstrDatabaseUsername, String bstrDatabasePassword, String bstrTitle, String bstrDescription, UInt32 nLCID, String bstrWebTemplate, String bstrOwnerLogin, String bstrOwnerName, String bstrOwnerEmail, String bstrSecondaryContactLogin, String bstrSecondaryContactName, String bstrSecondaryContactEmail, Boolean bADAccountMode)
at Microsoft.SharePoint.Administration.SPSiteCollection.Add(SPContentDatabase database, String siteUrl, String title, String description, UInt32 nLCID, String webTemplate, String ownerLogin, String ownerName, String ownerEmail, String secondaryContactLogin, String secondaryContactName, String secondaryContactEmail, String quotaTemplate, String sscRootWebUrl, Boolean useHostHeaderAsSiteName)
at Microsoft.SharePoint.SPSite.SelfServiceCreateSite(String siteUrl, String title, String description, UInt32 nLCID, String webTemplate, String ownerLogin, String ownerName, String ownerEmail, String contactLogin, String contactName, String contactEmail, String quotaTemplate)
at Microsoft.Office.Server.UserProfiles.UserProfile.<>c_DisplayClass2.<CreateSite>b_0()
— End of inner exception stack trace —
at Microsoft.Office.Server.UserProfiles.UserProfile.<>c_DisplayClass2.<CreateSite>b_0()
at Microsoft.SharePoint.SPSecurity.CodeToRunElevatedWrapper(Object state)
at Microsoft.SharePoint.SPSecurity.<>c_DisplayClass4.<RunWithElevatedPrivileges>b_2()
at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param)
at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode)
at Microsoft.Office.Server.UserProfiles.UserProfile.CreateSite(String strRequestUrl, Boolean bCollision, Int32 lcid).

Error 6184:

The site /personal/administrator could not be created. The following exception occured: Value does not fall within the expected range..

 
Solution

A hotfix is available for this error: office-kb937207-fullfile-x86-glb
http://support.microsoft.com/kb/937207

Error: Content Deployment Job Warning – KeyNotFoundException

 

Problem

The following warning message is displayed in the job status log, content deployment job continue to ran and does not effect content deployment job.
<ReportMessage Title="The file with Id 351baeda-d4e2-48cf-a1fa-ee5034006f02 cannot be deleted because it does not exist in the destination site collection." Time="2008-06-09T17:22:29.2726437Z" Severity="Warning" ObjectName="/ Test.css" Phase="ImportInProgress" />’

 

Solution

To remove the warning
1. Modify content deployment job to conduct an All Content deployment, reran content deployment job, and then modify the content deployment job back to deploy Changes only.

Content Deployment Job Continue to Fail

Problem

Content deployment job continue to fail after you deploy the content using the All Content.

 

Solution

This issue can fix with the follow approach.
1. A last recommended option to fix the content deployment job is to delete the destination site collection, recreate the content deployment job, and then reran deployment job.

Content Deployment Job Ran Successfully but the Deployed Contents are Incorrect or the Page Display a Missing Sharepoint Control Error

Problem

Content deployment job ran successfully but the content is incorrect or the pages display a missing Sharepoint control error.

Solution
This issue can fix with the follow approach.
1. The temporary files was not deleted correctly, log into the server and manually delete the temporary files found in the folder. Then delete the destination site collection, recreate the content deployment job, and then reran deployment job.