Tuesday, December 1, 2009

IE8 Caching Login With Favorites

Situation

I recently had a strange SharePoint experience, where a certain user would always find me logged in to SharePoint when he launched it!


History

On this users I had switched users within SharePoint once, so I could show him features he didn't have permissions for. I then saved a Favorite in his browser so he could easily get to SharePoint and left his office. A week later, I'm in a meeting with the user and I notice I'm logged into SharePoint on his laptop!!!

Remedy

After a little investigation, I come to discover IE8 caches credentials with the favorite! What on earth was Microsoft thinking?

To solve this, I deleted his favorite, logged into SharePoint with his credentials and saved a new favorite. Now all is good.

Monday, November 16, 2009

SharePoint Document Property Names

Recently while working on embedding SharePoint properties within a Word 2003 document I discovered some oddities with the names. When working to embed a property named Doc No. I found at times one of the 3 following situations displayed in the Field list:
  1. Doc No.
  2. Doc No. and Document No.
  3. Document No.
If i used Doc No. the value would be incorrect. If I used Document No. the correct value would display and would synchronize.

Upon investigation I looked at the AllLists table in the database to find the row for the Document Library I was using. Examining the ContentType column explained the behaviour. For the field Doc No. this is the value I found:

DisplayName="Doc No."
Required="TRUE" Hidden="FALSE"
ReadOnly="FALSE" PITarget="" PrimaryPITarget=""
PIAttribute="" PrimaryPIAttribute=""
Aggregation="" Node=""/>


Notice that the name is Document No. (after decoding) and the DisplayName is Doc No. After seeing this, I remembered initially naming the column Document No. and then shortening it to Doc No. SharePoint obviously retained the original name as the ID of the field and just adds the DisplayName attribute to show the changed value. This is definitely a gotcha and will lead to some confusion for users. But at least the behaviour is now explained.

Thursday, November 5, 2009

Moving From September to October in BPC

Moving to October causes some trouble because we are moving from a 1 digit period (Jan = 1, Sep = 9) to a 2 digit period (Oct = 10). This causes problems during the Convert Task in SSIS. The actuals to transform text file contains all the correct data, the actuals to load text file contains only a header. The transformation fails.

To resolve this problem a change to the transformation file needs to occur. Follow these steps to make the change:
  1. eData > Manage Transformation File
  2. Select the file, in our case Actual CMS.xls
  3. Under the *MAPPING section find TIME=*COL(4) + *STR(.) + *COL(5) or TIME=*COL(4) + *STR(.0) + *COL(5)
  4. For 1 digit periods change *STR(.) to *STR(.0)
  5. For 2 digit periods change *STR(.0) TO *STR(.)
  6. Click on Validate and save transformation definitions in the Action Pane on the right.
  7. When prompted to Save, just select the same file, so in our case Actual CMS.xls.
  8. Click Yet to replace the existing file.
  9. Close the Transformation file

Wednesday, October 28, 2009

Check In/Out in SharePoint Designer Not Displaying

Recently I could not Check In multiple files using SharePoint Designer. The Check In context menu pick wasn't available and under the Edit menu it was disabled.

Thanks to a blog commenter, I learned that Ctrl+F5 will resolve the issue. Thanks Emmanuel

Tuesday, October 27, 2009

SQL Maintenance Plans

For each instance I like to make a single Maintenance plan with several subplans:

Subplans:
  1. System Databases Tasks
    1. Reorganize Index
    2. Update Statistics
    3. Back Up Database
    4. Check Database Integrity
    5. Notify Operator of Failure
    6. Notify Operator of Success
  2. User Databases Tasks
    1. Reorganize Index
    2. Update Statistics
    3. Back Up Database
    4. Check Database Integrity
    5. Notify Operator of Failure
    6. Notify Operator of Success
  3. Daily Transaction Logs Tasks
    1. Back Up Database (Transaction log type)
    2. Notify Operator of Success
    3. Notify Operator of Failure
  4. Hourly Transaction Logs Tasks
    1. Back Up Database (Transaction log type)
    2. Notify Operator of Success
    3. Notify Operator of Failure
  5. Cleanup Logs Tasks
    1. Back Up Database (Transaction log type)
    2. Notify Operator of Success
    3. Notify Operator of Failure

Maintenance Cleanup
Notify Operator

Monday, October 19, 2009

Documents Not Appearing in Search Results

I recently spent quite some time trying to understand why certain documents would appear in my search results, and others wouldn't.

I looked at the 'Always index all ASPX pages on this site' setting found at Site Settings > Search Visibility. But that didn't resolve the issue.

I looked at the 'Allow items from this document library to appear in search results?' setting found at Document Library Settings > Advanced Settings. But that didn't resolve the issue.

Finally I noticed that documents that appear in the search results have a major version (1.1) and the documents that do not appear, only have a minor version (0.1). So I published one of the documents, did an incremental crawl, and the document began appearing in the search results.

One mystery solved today.

Wednesday, October 14, 2009

Causing the Create Site link to Create a Site Collection

If you layout your MOSS intranet with the multiple Site Collections approach, you can simplify the creation of new Site Collections.

There are a couple settings which need to be setup for this to work:

Central Administration

  1. Central Administration > Application Management
  2. Under the Application Security section click on Self-service site management
  3. Turn, 'Enable Self-Service Site Creation' on
  4. It is optional to require a secondary contact in this form
  5. Click OK

Site Directory

  1. From within the site directory of the web application, go to Site Settings > Modify All Site Settings
  2. Under the "Site Collection Administration" area, click on "go to top-level site settings"
  3. Under the same "Site Collection administration" area, click "Site Directory Settings"
  4. Check '
  5. Click OK
Now when you are the Site Directory, clicking the Create Site link, will create a Site Collection.

Thanks to Dave Wollerman for this tip.

Wednesday, October 7, 2009

BPC Import Won't Complete

I find there are a couple reasons for an import into BPC to not complete, getting stuck on the the DumpLoad task:
  1. The first reason it stops at the DumpLoad task is there is alot of data and it just takes that long. You can always Abort the import and try importing a smaller set of data.
  2. The OutlookSoft SendGovernor Service is not started. This is usually the result of a server reboot. To check this out:
    1. Start > Run
    2. Type services.msc and press Enter
    3. Scroll down to the OutlookSoft SendGovernor Service
    4. Start the service if it is not running
  3. The other reason has to do with the dbo.lck[Application Name] table. So if the application name is Finance, then there are rows left in the dbo.lckFinance table. This can happen if an import errors out. To solve this:
    1. Verify no imports are occurring
    2. Check if there are any rows in the table: SELECT * from dbo.lckFinance
    3. If there are, remove them: DELETE dbo.lckFinance
That should solve a hung import.

Tuesday, October 6, 2009

Installing MOSS in VirtualBox Environment - Notes

Machine Environment:

Windows Server 2008 64bits
Install the .NET Framework 3.0 Features Configure service accounts, see this for details. Have SQL Server prepared, preferabbly on another VM and using a named instance. In my case I had to put SQL on the same VM because networking between VMs was unstable.

MOSS Setup:

  1. Server Type: Select Advanced -> Complete install
  2. File Location: Install MOSS to non OS drive
  3. Before running the SharePoint Products and Technologies Wizard, neither any databases, application pools or web sites are created. However D:\Program Files\Microsoft Office Servers\12.0 is created.

SharePoint Products and Technologies Wizard:

Create a new farm
Config DB Settings:
  1. MOSS_Farm_Config
  2. spSql account for the database
Config Central Admin Web Application
  1. Port 9991
  2. Use NTLM authentication
Performing configuration tasks 1 thru 9
  1. Create Config DB
  2. Install Help collections
  3. Securing SharePoint resources
  4. Registering SharePoint services
  5. Registering SharePoint features
  6. Provisioning Central Admin Web App
  7. Installing the application content files
  8. Finalizing the Products and Technologies configuration
At this point the following items have been created:
  1. MOSS_Farm_Config DB
  2. SharePoint_AdminContent_GUID DB
  3. OfficeServerApplicationPool (NetworkService identity)
  4. SharePoint Central Administration Application Pool (spsqluser identity)
  5. Office Server Web Services Web Site - uses OfficeServer App Pool
  6. SharePoint Central Administration v3 Web Site
and the Central Admin Site displays in the browser. At this point address the Administrator Tasks displayed.

Administrator Tasks


READ FIRST

Displays the Quick Start Guide

Deploy Servers???

Nothing required for a small farm

Assign services to servers

Excel Calculation Services - just start it, no configuration required.

Configure Office SharePoint Server Search Service Settings
  1. Farm Search Service Account - spSearch
  2. Configuring this search doesn't create a database, app pool or web site
Configure Windows SharePoint Services Search Service Settings - This provides search capabilities within the Help content
  1. Service Account - spSearch
  2. Content Access Account - spContentAccess
  3. Database MOSS_WSS_Search created
Configure server farm's shared services (New Shared Services Provider)

SSP Name - TurtleSSP

Create a new Web Application

NOTE: The SSP needs its own Web application. This will be the second web application for the system (Central Admin was the first).

IIS Web Site
  1. Description: MOSS TurtleSSP
  2. Port: 9992
Application Pool
  1. MOSS TurtleSSP - 9992
  2. Service Account: spAppPool
Database Name and Authentication
  1. DB Name: MOSS_TurtleSSP_Admin
MOSS_TurtleSSP_Admin DB created
MOSS_TurtleSSP - 9992 App Pool created
MOSS TurtleSSP - 9992 Web Site created

My Site Location

Create a new Web Application

NOTE: The SSP needs its own Web application. This will be the second web application for the system (Central Admin was the first).

IIS Web Site
  1. Description: MOSS MySite
  2. Port: 9993
Application Pool
  1. MOSS MySite - 9993
  2. Service Account: spAppPool
Database Name and Authentication
  1. DB Name: MOSS_TurtleSSP_MySite_Content)
MOSS_TurtleSSP_MySite_Content DB created
MOSS_MySite - 9993 App Pool created
MOSS MySite - 9993 Web Site created

SSP Service Credentials

Service Account: spSsp (This account is for SSP Web services to use for inter-server comm and running SSP timer jobs)

SSP Database

Used for Service specific data
  1. DB Name: MOSS_TurtleSSP_Content
Search Database
  1. DB Name: MOSS_TurtleSSP_Search
MOSS_TurtleSSP_Content DB created
MOSS_TurtleSSP_Search DB created
TurtleSSP App Pool created
(Don't recall the opp to name this MOSS_TurtleSSP, it appears to grab the name of the SSP)






Friday, October 2, 2009

SP 2007: New Web Application, Site Collection and Document Center in a VirtualBox Environment

Create New Web Application

IIS Web Site
  1. Description: MOSS Web App - 80 (Consider TurtlePoint Web App - 80)
  2. Port: 80
Application Pool
  1. App Pool Name: MOSS Web App - 80 (Consider TurtlePoint Web App - 80)
  2. Account: spAppPool
Database Name and Authentication
  1. DB Name: MOSS_WebApp_Content
MOSS_WebApp_Content DB created
MOSS Web App Web - 80 Site created
MOSS Web App - 80 App Pool created



Create New Site Collection

Title and Description
  1. Title: Turtle Point
Template Selection
  1. Publishing > Collaboration Portal
Primary Site Collection Administrator
  1. TURTLELLC\Administrator
No new database, web site or app pool created

Tuesday, September 29, 2009

Open Links in New Window

Ricky Spears has a great post on opening SharePoint links in a new window. Once again the Content Editor Web Part and javascript to the rescue.

Wednesday, September 23, 2009

Widening (Fixing) the Tree View for Document Libraries

I find the Tree View a beautiful idea which leaves users unsatisfied. It is too narrow to be very functional. Using SharePoint Designer and a custom Master Page it is quite easy to fix this problem. So take a minute and follow along.

Master Page

You will need a custom Master Page, so if you have one, skip to the Tree View below. If you need to create one, Greg Galipeau does a great job explaining how to create a Master Page here. So take some time to read, understand and create your own custom Master Page. Then move on to the Tree View section below.

Tree View

To change the width of the Tree View follow these few simple steps:
  1. Using SharePoint Designer open your site.
  2. Then open your custom Master Page by navigating in the Folder List to _catalogs > masterpage > customMasterPage.master
  3. Find the SharePoint:SPRememberScroll tag.
  4. Change the width from 150px to 200px or your preference.
  5. Click the save button.
  6. Refresh your SharePoint page
Voila the Tree View becomes wider and more useful.

Thursday, August 6, 2009

Exposing Reporting Services Reports to the Internet

By using the ASP.NET ReportViewer control on a web page exposed to the internet, it is possible to display Reporting Services reports. The trick is in turning on Anonymous Access on the ReportServer Virtual Directory and creating the anonymous user as a Reporting Services user and granting that user permission to view the reports you want to share.

In the ReportViewer control configure the ReportView Tasks as follows:
  1. Choose Report:
  2. Report Server Url: the path to the ReportServer Virtual Directory
  3. Report Path: the path to the report beginning with '/'
On the web server hosting Reporting Services configure the ReportServer Virtual directory as follows:
  1. Turn on Anonymous Access
  2. Remember the Anonymous Access user
In Report Manager do the following:
  1. Configure the Anonymous Access user as a Reporting Services user
  2. Grant that user access to the necessary folders and/or reports
Deploy your web page with the ReportViewer control to your internet server and you are good to go.

Monday, August 3, 2009

Displaying Teams in Data Manager

Displaying teams in Data Manager is simply based on the current user's Team access. Change their Team membership using BPC Administration.

Wednesday, July 8, 2009

BPC Drillthrough for CMS Actuals

Actuals Activity

Current year Actuals data is pulled from 1 table:

GTRAN - G/L Transactions

For previous year Actuals, data is pulled from:

GTLYN - Last Year G/L Transactions


Opening Balances

Retrieved from GLMT

FinanceDrillThrough Table


For Activity and Opening Balances, data is written to the FinanceDrillThrough table which looks like this:

Column_name Type Length Nullable
Entity nvarchar 64 no
Account numeric 9 no
Period numeric 5 no
JournalType nvarchar 2 yes
TranDate datetime 8 yes
TranSource nvarchar 4 no
Amount numeric 9 no
RefNum nvarchar 20 yes
RefDesc nvarchar 60 no
RevEntry nvarchar 2 yes
Century numeric 5 yes
Year numeric 5 yes
PostDate datetime 8 yes
Batch numeric 5 yes
MinorSalesCode nvarchar 6 yes
MajorSalesCode nvarchar 6 yes

Rollups

The GetFinanceDrillThrough stored procedure calls functions that explode rollups into base level members.

Pulling Data From CMS into BPC

Several Files (tables) in CMS are used when pulling data.

MAST - G/L Chart of Account Header
GLMT - G/L Chart of Account Totals for Year

Most of the data comes from GLMT. That is, activity and opening balance comes from GLMT. Properties like account type and company are retrieved from MAST.

Retrieving data from any system requires the same thing. Pulling Company(Entity), Account, Account Type (P&L, BS), Opening Balance and Activity. In some cases, Company is broken up as well such as Payroll and Operations. In those cases that breakdown must be retrieved as well.

Monday, June 29, 2009

BPC Security in a Nutshell

Security is broken down to 4 aspects:
  1. Users
    1. Basic component of security. User, Email, IM, etc.

  2. Teams
    1. Basic grouping of users
    2. You can assign Task and Member Access Profiles to Teams

  3. Task Profiles
    1. Application related security
    2. User/Team Activities and roles specified here
    3. There is a finite number of Tasks configured in BPC. See Task Profile Descriptions in the BPC Administration Help

  4. Member Access Profiles
    1. Dimension and member related security
    2. Example, you can specify which periods are ready to receive forecasts
Security Assignment:
Users-->
          Task Profiles
Teams-->

Users-->
          Member Access Profiles
Teams-->

Tuesday, June 9, 2009

Changing Account Rollups in BPC

To change the rollup for an account in BPC do the following:
  1. Change PARENTH1 on the account to the new rollup
  2. Process the dimension (Do a Full Process)
  3. Make the Application available
    1. Click on the Noble node
    2. Click on Set application set status
    3. Select Available
    4. Click Update application set status
  4. Refresh dimension members on the client.
    1. eTools -> Refresh Dimension Members
This will probably work for any dimension, not just accounts.

Wednesday, May 20, 2009

Find Which Table(s) Contain a Column and the INFORMATION_SCHEMA Namespace.

To find which table(s) contain the PersonID column try this:

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%PersonID%'

In the AdventureWorks DB this is what you see:


So of course you can search for any column, not just PersonID.

Another interesting tidbit is that any ANSI compliant DBMS provides the INFORMATION_SCHEMA namespaces. From this namespace you have access to the metadata on any DB object. You can look up information on Stored Procedures and Functions using INFORMATION_SCHEMA.ROUTINES or use any of the many different objects within this namespace: COLUMNS, ROUTINES, CHECK_CONSTRAINTS, PARAMETERS, TABLES, etc.

Enjoy

Thursday, May 14, 2009

Modifying Forecast Input Templates

OPEN INPUT TEMPLATE FOR EDITING

1. eTools -> Open Dynamic Templates
2. Input Schedules -> 09 Input Templates
3. Open 'Forecast Input Template 2009.xlt'

UPDATE FORECAST TEMPLATE TO REFLECT NEW MONTH OF ACTUALS

1. Change Cell A4 and BA6 to the new FCST Month

MODIFY EVGTS FORMULAS

1. If we are modifying to prepare for October Month End, then we will copy Cells Q15:Q233 to R15:R233
2. Update Cells R12 and R13 to say ACT and OCT in Black Font

MODIFY EVSEND FORMULAS

1. If we are modifying to prepare for October Month End, then we will copy Cells BI15:BI233 to BJ15:BJ233

Opening a Period for Forecasts

. Run the BPC Admin Tool
. Click Manage Security
. Expand Member Access Profiles
. Select Category Upload Switch
. Click Modify member access profile
. Click on BPC Access tab
. Find the Member row (i.e. AprFcst) and change its Access to Read & Write
. Click Next
. Click Apply

Adding New Rates in BPC

To add new rates:

1. Login to the Rate application in BPC
2. eSubmit -> Open Schedule Library
3. Open Rate Input Schedule.xlt
4. In Current View, change Category to ACTUAL and Time to 2009.TOTAL
5. Click Expand All
6. Enter new rates for the month affected
7. eSubmit -> Send and Refresh Schedules
8. Select Active worksheet and click Refresh

Wednesday, April 1, 2009

Recipe for Moving a WSS Site to Its MOSS Site Collection

I recently had to move a bunch of WSS Sites to individual MOSS Site Collections, here is the recipe I used:
  1. Backup MOSS - create a snapshot to rollback to if necessary
  2. Export old WSS Site
    1. stsadm -o export -url http://OldWSSSiteCollection/OldSite -filename C:\Temp\Exports\Sites\OldSite.bak -overwrite -includeusersecurity -haltonfatalerror -versions 4 -nofilecompression
  3. Manually create the new MOSS Site Collection. Keep in mind it must use the same template as the original site. So if your original Site used the Blank template, then you must use the Blank template.
  4. Import old WSS Site into new MOSS Site Collection
    1. stsadm -o import -url http://NewMOSSnoblepoint/sites/NewSite -filename D:\MOSS Backup\Exports\Sites\OldSite.bak -includeusersecurity -haltonfatalerror -updateversions 2 -nofilecompression
  5. Test Site for navigation and content
  6. Change Top Site link
  7. Fix any workflow issues
NOTE: Alerts have to be recreated after this process.
Steve Smith provides an excellent article on configuring Email Enabled Libraries in MOSS 2007 using Exchange 2003: http://www.combined-knowledge.com/Downloads/Moss07incoming_e-mail.pdf

Moving Databases

For some reason pointing SharePoint to a different database server requires the renameserver command for stsadm. Here is a link: http://technet.microsoft.com/en-us/library/cc512725.aspx

MOSS Tidbits

  • MOSS = SharePoint Portal Server and MOSS Enterprise/Standard = SPS Enterprise/Standard
  • stsadm.blogspot.com contains an stsadm extension
  • www.codeplex.com is MS's Open Source site containing projects for most MS technologies including SharePoint
  • SharePoint Page
    • Master Page in SharePoint contains the top and side navigation.
    • The content section of a SharePoint page is different than the Master Page.
    • At least conceptually, there is a class interface for a SharePoint page. This interface must have all of its requirements implemented. How you do this is irelevant, allowing you to use SP Designer or even some other tool to create a page that will run in SharePoint.
  • http://www.microsoft.com/sharepoint/learning/help.mspx is a site for SharePoint Training
  • Forefront - a Microsoft product that scans documents before going into a Document Library to verify they don't contain viruses.
  • www.microsoft.com/office may contain some eLearning for SharePoint

Workflow Tools Beyond Visual Studio, SPD and Out of the Box Workflows

  • Documentum
  • Nintex (SharePoint integraged)
  • K2
  • Blue Spring Software (I am told this one works well with SharePoint)

MOSS Service Accounts

These are the various service accounts used when setting up a new two server MOSS installation
  1. spSql
    1. This account is used by MOSS to access the databases. Additionally, it is used as the identity for the Central Administration application pool & the WSS Timer service.
  2. spSearch
    1. This account is utilized by all of the Shared Service Provider to crawl local & remote content.
  3. spAppPool
    1. Use this for all Application Pool accounts
  4. spSsp
    1. This account is used for the SSP web services & the SSP timer jobs.
  5. spContentAccess
    1. The default account for crawling content
Thanks to Chris Regan and his blog posting on MOSS Setup / Service Accounts for helping me understand how things work a little better.

Tuesday, March 17, 2009

Detaching and Reattaching a Content Database

Detach

The easiest way to detach a content database is thru the UI in Central Administration.
Central Administration -> Application Management -> Content Databases
Click on the link for the Content Database you want to detach. Make a note of the name of the database. Check the 'Remove content database' checkbox. Click OK. This removes but does not delete the database.

Attach

If the Content database is larger, then attaching it is best done using stsadm. Login to the SharePoint server. Bring up a cmd window. Run the following command: stsadm -o addcontentdb -url [url] -databasename [database name]

You can also attach smaller databases using the UI in Central Administration.

Central Administration -> Application Management -> Content Databases

Click 'Add a content database'. Specify the database name you jotted down when detaching. Click OK.

Thursday, March 12, 2009

Configure SMTP for MOSS on Windows Server 2008

To configure SMTP for MOSS on Windows Server 2008 do the following:

Windows Server 2008 Configuration

  1. Add the SMTP Server Feature if required.
  2. Specify an E-mail address
  3. Use the 'Deliver e-mail to SMTP server' option
  4. Set SMTP Server to your Exchange server
  5. Click Apply

MOSS Configuration

  1. Central Administration -> Operations -> Incoming E-Mail Settings
  2. Enable sites on the server to receive e-mail
  3. Settings mode: Automatic
  4. SharePoint Directory Management Server: No
  5. E-mail server display address: Accept default
  6. Accept mail from all e-mail servers.

Email is written to various C:\Inetpub\mailroot\ folders during the life of an email transmission. You may be able to use these folders for troubleshooting.