Connect.Collaborate.SharePoint
Dec
30
I was just thinking of all the things I started this year but never finished.
One of them was the comments feature on this site. I wanted to have a link on every page so that people could send me feedback via a SharePoint list. I managed to get the basic feedback page created but never automated the population of the Page field that people were referring to.
Data Form

So today I can tick this one off the list.

This is just a standard SharePoint Web Part Page. The Master Page for the site contains a hyperlink to this page so that users can comment on every page in the site.

Behind the scenes there is a sharepoint list with the fields that you see in the form on this page and I have signed up for alerts on this list.

The form is a Data Form which must be added to the page using SharePoint Designer. To add the form, insert the Data View from the the SPD Data View menu.

  1. Select the list that will hold the data from the data source list
  2. Select "View data"
  3. Hold down the <Ctrl> key and select all the field you want displayed in the form
  4. Select "Insert Selected Fields as", "New Item Form

SharePoint Data View New Item Form

You can add an action to the Submit button. Just right click the button and select "Form Actions". I have added a "Navigate To Page" function so that users don't end up at the default AllItems list view.

Data Form Actions

I populate the Page field on this form from the referring url buy using the following Java script added to the page. (the value in red is the name of the field I want to update).

<script language="javascript">
_spBodyOnLoadFunctionNames.push("fillDefaultValues");

function fillDefaultValues() {
  setFormFieldName("Page");
}

function setFormFieldName(fieldName) {
  var theInput = getTagFromIdentifierAndTitle("input","TextField",fieldName);
  var txtValue=document.getElementById(theInput.id);
  txtValue.value = document.referrer;

}
function getTagFromIdentifierAndTitle(tagName, identifier, title) {
  var len = identifier.length;
  var tags = document.getElementsByTagName(tagName);
  for (var i=0; i < tags.length; i++) {
    var tempString = tags[i].id;
    if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) {
     //tags[i].id.defaultValue = document.referrer;
      return tags[i];
    }
  }
  return null;
}
</script>

This script is derived from an awsome post on the SharePoint Designer team blog...
http://blogs.msdn.com/sharepointdesigner/archive/2007/06/13/using-javascript-to-manipulate-a-list-form-field.aspx

Categories:SharePoint

 
Dec
30

It's just not easy to do the 3 finger solute with one hand on my HP laptop. I know I have short fingers (the reason why I gave up playing the piano), but even on a normal keyboard with normal fingers, it is an unnatural combination to do with one hand.

I have two hands, why does this bother me so much? Because I have a 5 minute screen saver setting and when I start talking to someone on the phone, the screen saver kicks in. Near the end of my phone conversation is usually when I need to book an appointment or create a task while holding the phone in one hand I have to try and unlock the computer with the other (my password is already optimised for one handed entry).

The answer is to swap some keys around. E.g.

Who uses the right click key anyway? Get this simple little application from http://www.inchwest.com and get MapKeyboard.

You only have to run this 30Kb application one time and the settings are saved.

Categories:

 
Dec
30
I didn't let my kids do any of these things, they did them anyway (apart from driving the car...)
Categories:Personal

 
Dec
29

When troubleshooting a MOSS environment that I didn't design/build, the first thing I look to do is confirm that appropriate domain accounts have been used for all the application pools. Rather than working the MMC UI, I just run this script...

C:\WINDOWS\system32>iiscnfg.vbs /export /f c:\iisAPPpoolConfig.xml /sp /lm/W3SVC/AppPools /children

This will produce a nice list of the application pools. E.g.

<IIsApplicationPool    Location ="/lm/W3SVC/AppPools/SharePoint Central Administration v3"

        AppPoolAutoStart="TRUE"

        AppPoolIdentityType="3"

        IdleTimeout="10"

        PeriodicRestartSchedule="02:12"

        PeriodicRestartTime="0"

        PingingEnabled="FALSE"

        RapidFailProtection="FALSE"

        WAMUserName="domain\account"

        WAMUserPass="blablabla"

    >

</IIsApplicationPool>

 

What I don't want to see is all the application pools using the same domain account or built in accounts (System or Network service).

 

Some notes on appropriate IIS Application Pool settings can be found on Joel Olsen's blog
http://blogs.msdn.com/joelo/archive/2007/10/29/sharepoint-app-pool-settings.aspx

 

Appropriate Active Directory Domain Account usage for SharePoint can be found here...
http://www.wssdemo.com/redir.aspx?ID=1456

 

The other things I like to check are:

  • SharePoint Windows Services identities
  • Content Database information (location, size etc)
  • Site Collection Details
  • Logging setup (get stuff off c: )
  • Search configuration (this is the one that goes wrong the most)

More tips to come...

Categories:

 
Dec
28

A while back I created a small SharePoint application to replace our whiteboard based utilisation forecast. Just having to use the whiteboard drove me up the wall and watching someone transpose all the data back to the starting column every 2 months was really productive (not).

The Gantt view is ideal for this although it has a few shortcomings:

  • Can't change the bar colours (I would like to show confirmed, tentative and on leave as different colours
  • Doesn't support web part connections

The default view for the list filters the list where the consultants name = [Me]. This makes it easy for consultants to keep their forecast up to date as they don't need to see the clutter of all the other forecasts.

For the resource managers, I created this view...

The list of consultants is rendered by a Data View and the hyperlink for the calendar image just appends the value for the column filter to the view url.

As you can see, I'm taking a long break after a very busy year.

Categories:

 
Dec
27

Something I meant to complete when I last blogged about this free SharePoint add-on.

Microsoft provides Learning Essentials 2.0 for Microsoft Office
http://www.microsoft.com/downloads/details.aspx?FamilyID=e5f4f9c7-1a6a-484b-99fd-c231442deaa4&displaylang=en

With Learning Essentials 2.0 for Microsoft Office, educators and students can get started, stay organized, and successfully complete high-quality work using the templates and tutorials provided. Educators can also create effective instructional resources, complete administrative tasks, and implement new teaching strategies.

I found this under "Office Genuine Advantage Offers" but when you get to the download page it says that it is a free download for schools that license Microsoft Office. The EULA when you install the product is even more specific and makes it pretty clear that this is not for government or commercial use.

All is not lost; Learning Essentials includes a cut down version of a commercial product called Thesis from http://www.getthesis.com/thesis_professional.htm which is the key to creating SCORM compliant packages for the SharePoint Learning Kit. Thesis supports using a normal SharePoint document library to manage the Office artefacts making up your training module so any SharePoint users can maintain the content and only one person needs Thesis to create the SCORM file and upload it to the learning site.

Using Learning Essentials, it took me less than 5 minutes to take a PowerPoint slide and publish it into the learning kit hosted on WSSDemo.com.

Categories:

 
Dec
24
Categories:

 
Dec
24
One thing you should never do with the SharePoint blog site is edit the posts/post.aspx page with SharePoint Designer. This page displays an individual post, any related comments for the post and form to add a new comment.
If you do edit the page, there seems to be no way of reverting back to the original functionality (trust me, I tried).
 
So I had to create a new blog site and tried using Access to migrate the posts from the old site but it only copied the Title and Published Date fields. The Body field for the new site is read only according to Access so I had to copy-and-paste the body content.
 
What I really need to do is apologize to everyone for the 300 new posts they are about to see, even though they are old. There will also be lots of people trying to access my old RSS feed which is no longer valid. I should have been using FeedBurner long ago but it's better late than never.
 
 
I have also reinstalled the Community Kit for SharePoint Enhanced Blogging Edition (CKS:EBE) since Vincent Rothwell (aka thekid.me.uk) provided a fix for the SPD problem.
 
I managed to find a sponsor to provide a new server for wssdemo.com :-) More on this later.
Categories:

 
Dec
16

The KISS way, just use the page viewer web part. It is easy with live.com, just use a url like http://maps.live.com/?where1=1%20microsoft%20way,%20redmond,%20wa%2098052
If you want this in a nicely sized window then try an iFrame like this...

Categories:

 
Dec
15
I usually make a point of only blogging original things that I have done but this chapter is from the book
"Essential SharePoint® 2007: Delivering High-Impact Collaboration",
 provided courtesy of Addison Wesley Professional, is a good read for anyone thinking about the business reasons for deploying SharePoint.
Categories: