Riaan Lehmkuhl's Blog

Subversion, Progamming, Tips & Tricks and whatever else springs to mind.
21Oct

Setup and Installation PerformancePoint Server 2007 SP1, Proclarity 6.3 and WSS 3.0 SP1 (Part 2)

21 October 2008 02:16 by Riaan Lehmkuhl

<-- Part 1

Preparation

1. Active Directory

  • Create Service Accounts: YOURDOMAIN\farmservice.
    Add the new secure domain user accounts to the Deny log on locally, Deny log on through Terminal Services and Log on as a service group policies.

2. DNS Entries

  • Create the following Forward Lookup Zones that points to the IP address chosen for use with NLB (Network Load Balancing): intranet.yourdomain.com (where intranet is how you want to access your WSS site)

Database Server installation

1. Install Database server (PPS-DB)

  • Install SQL Server 2005 with SP2 or later (http://msdn.microsoft.com/en-us/library/ms143516.aspx).
    • SQL Server Database Engine (* Required)
    • Notification Services
    • Integration Services
    • Management Tools
    • Documentation and Samples
  • The SQL Server database collation must be configured for case-insensitive, accent-sensitive, Kana-sensitive, and width-sensitive. Microsoft Office PerformancePoint Server 2007 requires case-insensitive collation be configured for its host SQL Server. If the host SQL server is configured to use case-sensitive collation, Setup will fail.
  • Enable Local and Remote Connections, Using both TCP/IP and named pipes:
    1. Click Start, point to All Programs, point to Microsoft SQL Server 2005, point to Configuration Tools, and then click SQL Server Surface Area Configuration.
    2. In the SQL Server 2005 Surface Area Configuration dialog box, click Surface Area Configuration for Services and Connections.
    3. In the tree view, expand the node for your instance of SQL Server, expand the Database Engine node, and then click Remote Connections.
    4. Select Local and Remote Connections, select Using both TCP/IP and named pipes, and then click OK.
  • Add the a login for the farmservice user, and add it to the following roles:
    • Security Administrators (securityadmin).
    • Database Creators (dbcreator).

2. Install Analysis server (PPS-PLAN)

3. Install Reporting server (PPS-MON)

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
22Sep

Setup and Installation PerformancePoint Server 2007 SP1, Proclarity 6.3 and WSS 3.0 SP1 (Part 1)

22 September 2008 23:22 by Riaan Lehmkuhl

This is the first of a series of posts describing the process of setting up PerformancePoint Server 2007 SP1, Proclarity 6.3 and WSS 3.0 SP1 in a very simplified configuration. Not all bets practices are followed, but it will be enough for a initial implementation.

We are only implementing a minimal simple x86 farm configuration:

Simple PPS configuration

Software requirements

1. Operating System

  • Windows Server 2003 R2 with SP2 or later.

2. Windows Components

  • Active Directory.
  • IIS 6.0 (using worker process isolation mode), including:
    • Common files
    • WWW
    • Simple Mail Transfer Protocol (SMTP)
  • Microsoft .NET Framework 2.0 SP1 or later.
  • Microsoft .NET Framework 3.0 SP1 or later.

3. Database

  • SQL Server 2005 Enterprise with SP2 or later.
    If you plan to use the full features of Planning Server, then Enterprise Edition is your only choice.
  • Cumulative update package 3 for SQL Server 2005 SP2 (http://support.microsoft.com/kb/939537).
    All Analysis Services computers in your PerformancePoint Server environment must have this update applied prior to your Planning Server installation.
    UPDATE: Cumulative update package 8 for SQL Server 2005 Service Pack 2 (http://support.microsoft.com/kb/951217) released 

4. Additional Software


Part 2 -->

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
19Aug

MSTSC /console not working anymore

19 August 2008 21:13 by Riaan Lehmkuhl
When using the "Virtual Server Administration Website" to admin your Virtual Server 2005 R2 virtual servers one needs to be logged on to the console of the host server or you get a HTTP 500 Internal Server Error message. For this reason I've always used the mstsc /console command to log in to session 0 of the host server, but to my dismay this just didn't seem to work anymore.
I opened the command prompt and typed in mstsc /?. Lo and behold, the console option is gone:
---------------------------
Remote Desktop Connection Usage
---------------------------
MSTSC [] [/v:] [/admin] [/f[ullscreen]]
[/w: /h:] [/public] | [/span] [/edit "connection file"] [/migrate]
"connection file" -- Specifies the name of an .rdp file for the connection.
/v: -- Specifies the remote computer to which you want to connect.
/admin -- Connects you to the session for administering a server.
/f -- Starts Remote Desktop in full-screen mode.
/w: -- Specifies the width of the Remote Desktop window.
/h: -- Specifies the height of the Remote Desktop window.
/public -- Runs Remote Desktop in public mode.
/span -- Matches the remote desktop width and height with the local
virtual desktop, spanning across multiple monitors if necessary. To span
across monitors, the monitors must all have the same height and be aligned
vertically.
/edit -- Opens the specified .rdp connection file for editing.
/migrate -- Migrates legacy connection files that were created with
Client Connection Manager to new .rdp connection files.
---------------------------
OK   
---------------------------
I noticed the /admin switch, which seemed to do the trick.
After some more research I've found that this was apllied with XP SP3 and supposed to be because of some new security features in Windows Server 2008 and Vista SP1. Due to this fact this trick won't work on these.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
04Aug

RE: Updated SyntaxHighlighter Extension for BlogEngine.NET

04 August 2008 23:59 by Riaan Lehmkuhl

There seems to be a conflict between the SyntaxHighlighter javascript and the BlogEngine.NET Widget Zone administration drag-and-drop javascript. When the SyntaxHighlighter Extension is enabled, the drag-and-drop in the Widget Zone does not work although there doesn't seem to be any javascript errors.

Luckily we don't need to rearrange the widget zone that often. So when you need to do that just disable the SyntaxHighlighter Extension temporarily, rearrange your widgets and enable the SyntaxHighlighter Extension again.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
27Jul

Updated LinkList widget for BlogEngine.NET

27 July 2008 15:51 by Riaan Lehmkuhl

Here's an updated LinkList widget that allows for changing the order of items in the list with a 'Move Up' command.
Also updated the txtUrl control's ValidationExpression to cater for urls starting with '/', '~/' and 'mailto:'.

LinkList  

Download the updated LinkList widget or get the patch files from CodePlex to apply to your working copy.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
27Jul

Grass And Sky BlogEngine.NET 1.4 template

27 July 2008 15:09 by Riaan Lehmkuhl

As promised in a previous post here is the Grass And Sky template adapted for BlogEngine.NET 1.4

Grass And Sky website template 

This theme is not a 100% complete yet, but maybe you can make it work for yourself.

Download and give it a go.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
27Jul

Updated SyntaxHighlighter Extension for BlogEngine.NET

27 July 2008 12:52 by Riaan Lehmkuhl

Looking for ways to add syntax highlighting to my blog I came accross Scott Dougherty's article for Adding SyntaxHighlighter to BlogEngine.NET and then Chris Blankenship's SyntaxHighlighter Extension for BlogEngine.NET.

I really like his extension, but I wanted the installation path and loaded language scripts to be configurable so I've updated his extension to use the BlogEngine Extension Manager.

  1. Download SyntaxHighlighter
  2. Extract and upload the SyntaxHighlighter code to your blog (I renamed the dp.SyntaxHighlighter directory to just SyntaxHighlighter)
    eg. ~/extensions/SyntaxHighlighter
  3. Download, extract and upload the SyntaxHighlighter.cs file into the ~/App_Code/Extensions directory

    NOTE:
    If you already had the SyntaxHighlighter Extension from Chris Blankenship installed, you might have to delete the "~/App_Data/datastore/extensions/SyntaxHighlighter.xml" file before the new extension settings will be loaded.

  4. Login to your blog and go to "Extensions" under the "Control panel"
  5. Click on "Edit" next to the "SyntaxHighlighter" extension and configure as required (see preview below)

SyntaxHighlighter Extension Manager

For a list of supported languages see the syntaxhighlighter wiki

For Windows Live Writer support:

  1. Download and install Windows Live Writer and the SyntaxHighlighter for Windows Live Writer plugin (Requires .Net 3.5 framework)
  2. Update the blog style (In Live Writer under the "Weblog" menu then "Edit Weblog Settings..." and click on the "Editing" tab)

NOTE:
If you have custom ordered list item styles in your theme, you might have to make a small change to the SyntaxHighlighter CSS. In my case I've got a custom list-style-image so I had to make the following change in the "SyntaxHighlighter\Styles\SyntaxHighlighter.css" file:
in the following bit, I added list-style-image: none;:

/* clear styles */
.dp-highlighter ol,
.dp-highlighter ol li,
.dp-highlighter ol li span 
{
margin: 0;
padding: 0;
border: none;
list-style-image: none;
}
Here's the diff:
Index: /BlogEngine/BlogEngine.Web/extensions/SyntaxHighlighter/Styles/SyntaxHighlighter.css 
=================================================================== 
--- /BlogEngine/BlogEngine.Web/extensions/SyntaxHighlighter/Styles/SyntaxHighlighter.css 
+++ /BlogEngine/BlogEngine.Web/extensions/SyntaxHighlighter/Styles/SyntaxHighlighter.css 
@@ -17,6 +17,7 @@
margin: 0;
padding: 0;
border: none;
+	list-style-image: none;
}
.dp-highlighter a,

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
23Jul

Firefox 3 Bug: invalid 'in' operand this._sandbox

23 July 2008 19:27 by Riaan Lehmkuhl

If you are getting the following JavaScript error in Firefox 3, here is a quick workaround:

Error: invalid 'in' operand this._sandBox Source File: file:///C:/Program%20Files/Mozilla%20Firefox/components/nsProxyAutoConfig.js Line: 95
Open the file mentioned in your favourite text editor (one that can handle unix line endings; if you have nothing else, use WordPad), and seach for the this line:
if (!("FindProxyForURL" in this._sandBox))
   return null;
and wrap it in a try/catch block like this:
try {
   if (!("FindProxyForURL" in this._sandBox))
      return null;
} catch (e) { return null; }
Save your changes, and restart Firefox.

Although this is probably not the correct way to solve this problem, at least it helps to keep the 'Error Console' garbage free.

 

Currently rated 2.8 by 9 people

  • Currently 2.777778/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
22Jul

Moving from Blogger to BlogEngine.NET

22 July 2008 02:42 by Riaan Lehmkuhl

I just moved my blog from Blogger to BlogEngine.NET. I done this for various reasons, but mainly because I'm a control freak.

Although I could have used the "blog.importer.application" provided by BlogEngine.NET, I did the export and import manually to have full control of the process.

Normally when moving domains the best way would of course be to setup 301 redirects, So my new blog to keep rankings etc. but Blogger has made that impossible.

I searched for ways for just forwarding all the requests to the Blogger blog to my new blog and found many posts on moving from Blogger to Wordpress. So this post just includes the specifics for BlogEngine.NET.

The main two sources I used was:

I wanted my old blog to stay up with posts intact so that people that has bookmarked it or any posts can still find what they are looking for and because read this post: why-you-should-never-delete-your-blogger-blogs.

The Walkthrough:

(Remember to replace "YOUR_NEW_BLOG_DOMAIN_HERE" with your blog's address.)

  • Setup the auto redirect:
    Log into your Blogger account, navigate to the "Layout" tab and click on "Edit HTML". In the template editor put the following in the <head>...</head>:
    <meta content='5;url=http://YOUR_NEW_BLOG_DOMAIN_HERE/' http-equiv='refresh'/>
    This will handle the front page redirection of the blog.
  • To let the users know that your blog has moved, and that they will be redirected, add a message to the page:
    <div style='position: absolute; top: 30px; left: 30px; border: solid 2px #333; color: #000; background-color: yellow; padding: 5px; width: 400px; z-index: 5; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: large;opacity: .4;filter: alpha(opacity=40);'>
    <p><strong>My blog has moved!</strong></p>
    <p>You should be automatically redirected in 5 seconds. If not, visit<br/> <a href='http://YOUR_NEW_BLOG_DOMAIN_HERE/'> <strong>YOUR_NEW_BLOG_DOMAIN_HERE</strong></a> <br/> and update your bookmarks.</p>
    </div>
    Place this right after the opening <body> tag.
    redirect
  • Because your new blog will contain all the posts from the old Blogger blog you need to avoid being penalised for duplicate content, add this to the "head" section as in point one...
    <META NAME="ROBOTS" CONTENT="NOINDEX, FOLLOW"/>
    <META NAME="GOOGLEBOT" CONTENT="NOINDEX, FOLLOW"/>
    NOINDEX FOLLOW tells the crawler not to index the Blogger page but to FOLLOW the redirect. NOINDEX will also instruct the crawler to drop any already indexed version of page.
  • To make the individual posts forward to their new counterparts a few things need to be done:
    1. On the Blogger control panel in “Settings -> Formatting”, change the Timestamps on posts to the MM/DD/YYYY format.
    2. Look for this code in the Blogger Template
    <b:section class='main' id='main' showaddelement='no'>
    and enter the following widget code under it (combine the three bits):
    <b:widget id='Redirector' locked='true' title='Blog Posts' type='Blog' >
    <b:includable id='main' >
    <b:if cond='data:blog.pageType == "item"' >
    <b:loop values='data:posts' var='post' >
    <div id='redirectorTitle' style='visibility:hidden' > <data:post.title/ > </div >
    <script type='text/javascript' >
    var new_domain = 'http://www.lehmkuhl.za.net/blog/post'
    function utf8_uri_encode( str ) {
       var high_code = new RegExp(/[\u0080-\uffff]+/);;
       new_str = str;;
       while( m = high_code.exec( new_str ) ) {
          new_str = new_str.replace(m,encodeURIComponent(m));;
       }
       return new_str;;
    }
    var title = document.getElementById('redirectorTitle').innerHTML;;
    // [INCOMPLETE] Keep percent signs that aren't part of an octet?
    title = title.replace(/<[^>]*?>/g,'');; // remove tags
    title = title.replace(/&.+?;/g,'');; // remove entities
    title = utf8_uri_encode(title);; // handle UTF-8 characters
    title = title.toLowerCase();;
    title = title.replace(/[^%a-z0-9 _-]/g,'');; // remove punctuation
    title = title.replace(/\s+/g,'-');; // turn spaces into hyphens
    title = title.replace(/-+/g, '-');; // collapse runs of hyphens
    title = title.replace(/^-+/g,'');; // remove prefixed hyphens
    title = title.replace(/-+$/g,'');; // remove suffixed hyphens
    var timestamp = ' <data:post.timestamp/ >';
    timestamp = timestamp.split('/');
    timestamp = timestamp[2]+'/'+timestamp[0]+'/'+timestamp[1];
    var new_page = new_domain + '/' + timestamp + '/' + title + '.aspx';;
    document.location.href = new_page;
    </script >
    </b:loop >
    </b:if >
    </b:includable >
    </b:widget >

    This will redirect the blogger post...
    http://someblog.blogspot.com/2008/06/some-blog-post.html
    ...to...
    http://YOUR_NEW_BLOG_DOMAIN_HERE/post/2008/06/28/some-blog-post.aspx

To see a working example visit my old blog at http://somethingsubversion.blogspot.com/.

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
13Jul

Add Google Talk Online Presence to Web Pages

13 July 2008 00:08 by Riaan Lehmkuhl
If you use Google Talk instant messenger and would like to stay connected with visitors on your website, the Google Talk chatback badge is a cool way to display to them when you are online and available to chat / IM with them.

Just point your browser to http://www.google.com/talk/service/badge/New, and follow the easy instructions.

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Riaan Lehmkuhl


Me, a disorder of the brain that results in a disruption in a person's thinking, mood, and ability to relate to others.

Recent comments

Comment RSS

Thingies

Calendar And Month List

<<  November 2008  >>
MoTuWeThFrSaSu
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

View posts in large calendar

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in  anyway.

© Copyright 2008

Most comments

E. R. Joell E. R. Joell
1 comments
us United States

Cool Quote

I know that you believe that you understood what you think I said, but I am not sure you realize that what you heard is not what I meant. - Robert McCloskey