Professional Geek
RSS icon Email icon Bullet (black)
  • Good Luck Bill English

    I saw this blog post when I got into the office this morning announcing big changes for Bill English. He’s changing his role at MindSharp so that his day to day role is more focussed on the business side of things than the technical.

    His blog post fully explains why but in short he wants to spend more time with his family, less travelling and less time staying on top of the latest and greatest technology and writing books.

    I can fully understand all of these reasons and it’s great Bill has taken the steps to do something about it as he’s effectively turning his career on his head even though he’ll still be at the same company!

    If you have anything to do with SharePoint you’ll know the name Bill English.

    image

    Bill is the author of the first ever book I purchased about SharePoint. It’s a hefty tome and it’s now dog eared corners show much of my attention it’s had over the years.

    This is just one of many in depth books he’s worked on so I can understand why he’d want to slow down on the writing front.

    The 2007 version of the same book comes in at over 1000 pages so the amount of work put into it must be immense.

     

    I’ve also seen Bill speak a couple of times, the first at an event in London, he was actually in the country on holiday but still found the time to touch base with the UK SharePoint community.

    I’ve also been fortunate enough to meet him once. He was speaking at a SharePoint user group meeting and I spent some time over a couple of beers in the bar with him, Todd Bleeker and Penny Coventry. I was in hogs heaven as I love the stuff these guys do!

    I fully expect Bill to not remember that meeting as he must come across a lot of people being so involved in the community but since I’m such a fanboy it stayed with me!

    So anyway, I just wanted to wish Bill good luck, I hope you’ll do the same Smile

  • SharePoint as a Help Desk on Tour v3–Reading

    Looking back at my recent posts it looks like this is all I talk about at the moment!

    Anyway….after giving this presentation to both AMITPRO and the North West England SBSC Group I’ve been asked to do it again by Chris Timm from the Thames Valley Group.

    The meeting is on November 4th in the Symantec building, Green Park, Reading (RG2 6UH)

    Doors open around 5.15 with the meeting to start at 5.30

    But wait there’s more!

    At this particular even you’ll get two AMITPRO members for the price of one as Richard Tubb from JamesCash.co.uk will be delivering the Business Processes for SMB IT Companies presentation he gave at AMITPRO earlier in the year.

    Richard is a great speaker and I’m looking forward to hearing the presentation again.

    As always when I’m out and about if you read my blog and you’re going to be there let me know as I’m always happy to talk geek with people!

    If you’ve never been to an SBS user group meeting before and this is in your area let me know and I’ll be happy to get you an invite.

  • SharePoint site not available after installing KB983444

    Seems this is quite common but none of the Microsoft suggested fixes worked for me so thought I’d round up some of the things I did find and what worked for me.

    So what was the actual problem?

    After we’d installed security update KB983444 for SharePoint we were unable to browse to the SharePoint site or the SharePoint Central Admin site.

    We were also getting messages in the event log along the lines of

    “Access to table dbo.Versions is blocked because the signature is not valid”

    As i said at the beginning it’s quite common and there are a couple of posts from Microsoft about and how to fix it.

    From the SharePoint team: http://blogs.msdn.com/b/sharepoint/archive/2010/06/22/installing-kb938444.aspx

    and the SBS team:http://blogs.msdn.com/b/sharepoint/archive/2010/06/22/installing-kb938444.aspx

    When you install any SharePoint patch the binaries installed first and then the database is upgraded separately. What can sometimes happen is that the install doesn’t complete so the suggestion from the two articles above is to give SharePoint a kick and re-do the database upgrade with the following command

    psconfig -cmd upgrade -inplace b2b -wait –force

    The problem we had was the command fail on stage 2 of 4 with a similar error 

    “Access to table dbo.dtProperties is blocked because the signature is not valid”

    Here are some of the things I found which may help in other scenarios but didn’t work for me here!

    • Download the update and extract the msp file, reapply the patch, reboot and then run the upgrade command again.
    • Remove the groupboard template (we weren’t using it!), reapply the patch
    • Remove SharePoint and the Windows Internal Database, reinstall and reattach the content database (This isn’t a fix in my opinion. What after you’ve done all that, you apply the patch and the same thing happens again?)
    • Ensure you have owner permissions on the SQL database
    • Ensure the account you are running the update from is in the security groups WSS_ADMIN_WPG, WSS_RESTRICTED, WSS_WPG (and IIS_IUSRS for Windows 2008)  
    • Use these commands to reprovision the web service
    stsadm -o provisionservice -action stop -servicetype spwebservice -servicename ""

    stsadm -o provisionservice -action start -servicetype spwebservice -servicename ""

    psconfig -cmd upgrade -inplace b2b -wait -force

    Your mileage may vary with all of these suggestions so use at your own risk.

    So where to go from here? I really didn’t want to go back to backups in case I ran into the same thing after reapplying the patch.

    I trawled through the logs again to figure out exactly what was going on and went back to the fact the error message was slightly different from when I’d first started.

    I opened SQL management studio and noticed that in the database there is a folder for system tables. In all the other databases there were empty but in this instance there was one table called dtProperties. I couldn’t ever remember seeing that before so I logged onto our server to see if it was the same.

    I went back through the logs and as far as I could tell it was running through all the tables and falling over when it got to the dtProperties table.

    Our server didn’t have this table so since I was running out of ideas and was at the stage where I thought I’d be reverting to backups I took a backup of the database and deleted the table.

    I ran the PSEXEC command again and it completed successfully!

    The SharePoint site was backup as was the central admin site.

    My “guess” is that during the upgrade the dtProperties table is a temporary table that had been left behind (if anyone knows otherwise please let me know!)

    I really wouldn’t recommend directly accessing the SQL tables in this way though. I was fully prepared to go back to backups but was determined to figure out what was going on.

    I’ve skipped over the part where I spent an hour reading the logs line by line to figure out exactly what was going on!

    Hope this helps someone else.

  • ‘SharePoint as a Help Desk’ On Tour–Manchester

    I may have mentioned once or twice over the last couple of weeks I’d been invited to the Manchester SBSC group to deliver the presentation I gave at AMITPRO a few months ago.

    So last Thursday I made the trip up to Manchester and as I’ve done every time I’ve presented to a user group I thought it’d critique myself again (in the interests of self improvement of course!)

    But before that the rest of the event.

    First I’d like to thank Simon Belt for organising the event and for very kindly hanging around for a couple of beers afterwards.

    Next, thanks to the group members for their kind welcome and for not heckling. Smile

    Finally the other speaker of the night, Gary Duffield of QA. Garry attended WPC this year and gave a great presentation which summarised the key points that came out of the event and where Microsoft and their partners are heading in the near future. The session was very much discussion based and it was great to see that interactivity and gave everyone some good ideas to think about.

    Garry also has a blog you can check out.

    So onto my presentation.

    On the whole I was pretty happy. I’ve had some nice follow up comments which I always appreciate.

    What did I think though?

    Preparation

    I mentioned in my previous review that I’d used OneNote to put together an outline to work against and I was pleased with how it helped me last time. Because of the way i put it together it made the presentation much easier to pick up and and repeat (it’s the first time I’ve ever done a talk twice!). That said the first time around I created the presentation and then delivered it shortly after I’d finished it so it meant I knew everything inside out. While I had gone back through my notes when preparing I didn’t quite know it in the same way as first time around. Luckily the notes helped so while I did forget to do a couple of things it was very easy to pick that up.

    As a result I actually didn’t build-up the application as much as last time. I did do enough to get my point across though even if I did race through a lot of it. I don’t think there is a lot I can do about this other make sure I’ve got enough time as possible and know the steps as well as I can. Building a fully working SharePoint application and explaining everything along the way in a hour is an ambitious thing to do but worth racing through if it gets people thinking about how they could do it.

    Speed

    When I gave this presentation for AMITPRO I didn’t use a slide deck (it wasn’t actually intentional) this time since very few people in the room knew me I started with the slides to introduce myself. There weren’t many slides but because of how much content there is in the demo to get through it stole a bit of my time. I’ll bear it in mind next time if it’s a packed agenda and maybe go back to the PowerPoint free presentation Guy praised me for last time.

    Demo

    I know a good workman shouldn’t blame his tools but I’m going to anyway. My laptop is a couple of years old now. It’s got an Intel mobile chip (so no virtualisation extensions!) with 3GB of RAM. While it just about ran the two virtual machines I used it very obviously struggled at times and it slowed the presentation quite a bit which wasn’t helpful when I had so much to get through. When I purchased the laptop I never really expected to be using it for running virtual machines for demoing SharePoint to a user group. Times have moved on though and user group presentations aside, the ability to run virtual machines on the go has lots of other benefits. I’m not planning on rushing out and getting a new laptop but when my next hardware refresh comes around I’ll be able to factor it in.

     

    Not too much to complain about on the whole!

    It was also good to see how another user group runs. Other than AMITPRO the only other time I’d been to another group was when I visited the Bristol group for the SBS 2008 launch. That was a slightly different format because of the SBS launch so I’m counting this as my first time!

    Thanks again for to everyone who attended the meeting. Would be great to hear any comments you have!

  • Creating an Activity Log with SharePoint

    I was reminded of an old Notepad trick on LifeHacker yesterday.

    Basically if you create a new text file, add .LOG as your first line and then save the file, every time you open it after that the date and time is automatically added for you.

    image

    LifeHacker then suggest you can use this as an activity log to help keep you focused on productivity. At the end of the day you can take a look and see what you’ve done with your time!

    It also suggested that you added a shortcut to your taskbar so you can get to the log really quickly.

    I’m all for improving productivity but decided I could improve on this a little so created something similar in SharePoint.

    On our companyweb site I also have my own site that I use for testing things out and keeping track of information specific to myself (http://companyweb/andy) so this seemed the perfect place for it.

    First thing was to create a new custom list called “Daily Activity Log”

    imageimage

    image
    Adding it to the quick launch bar means I can get at it quickly while on my site.

    One new list!
    image

    Next I created a new standard view

    image

    From here I made my new view the default view, displayed only the "Created” and “Title” fields (in that order) and set the sort order to “Created" and Descending (newest on top)

    image

    Scrolling down the page I set the filter options to only show the entries for today.

    image

    After that I clicked the NEW button to display a form so I could fill out an activity entry.

    You could also rename the “Title” field to something more useful but I haven’t here as this post will be long enough!

    image

    TADA!

    image

    I now have a complete list of entries from today and the “created” field gives us the same timestamp effect we had in notepad.

    To mirror the LifeHacker suggestion I then created a new shortcut on my desktop.

    image

    The target is:

    "C:\Program Files\Internet Explorer\iexplore.exe" http://companyweb/andy/Lists/Daily%20Activity%20Log/NewForm.aspx

    (This path will be different if using the 32-bit version of Internet Explorer on a 64-bit operating system)

    You can get the URL by clicking the NEW button and copying the URL from the address bar.

    I also changed the icon to make sure it looked different to the main Internet Explorer icon!

    I needed to create the shortcut to Internet Explorer as you can’t pin internet shortcuts to the taskbar – Windows tries to pin them directly to Internet Explorer instead.

    image

    Once pinned to my taskbar I now have one click access to creating a new activity entry.

    To improve on this some more I created another view. Instead of using a new standard view I used my previous view as a base.

    image

    I set the name to “Entry History” and scrolled down to the “group by” options and grouped by the “Created” column and set it to a descending sort (newest on top) with a 30 groups per page which effectively gives us months worth of history at a time.

    image

    I left the default grouping at “collapsed” but this is just my preference.

    image

    I only created this today so only have one groups worth of information.

    All done!

    This means I’ve got a tracking system for my daily activities where I can easily add entries, view what I’ve achieved today as well as go back and look at previous days.

    There are plenty of ways to improve on this further. Some examples that spring to mind.

    • You could add a category field if you wanted to track types of activity. You could then create views and filters around these. (You may want to see how many times you made a phone call during a day for example)
    • You could add a “minutes spent” field and have SharePoint total up this field. This would let you know how many minutes of productivity you’re getting out of your day.
    • You could share the list with a team of people and use the “created by” field to group and filter on usernames so you can see what each person is getting up to
    • If you had personal site like I do you could drop the list onto the web part page so the current list is always displayed – dashboard style!

    Just a couple there. The whole idea is that it’s quick and easy to use so you wouldn’t want to customise it too much.

    Possibly a little overkill when compared to the simplicity of the notepad based solution but once this is setup it’s done and your old data is very nicely tidied away but you still get easy access to it.

  • SharePoint as a Help Desk–On Tour!

    I’ve been waiting to post this as I wanted to make sure it was shared on the official site first!

    As you may or may not know (if you read this blog or know me you should!) I can quite happily ramble on about SharePoint in a small business context for a long time. So much so that I get to stand up in front of the AMITPRO members and bore them from time to time Smile

    So after the last time Simon Belt from the North West SBS group asked if I’d go up to Manchester to bore them too and give a repeat performance and I was happy to say yes.

    The meeting is on August 19th at 18:30 at QA’s training facilities on the 3rd Floor, Westminster House, Minshull Street, off Portland Street, Manchester M1 3HU

    Full details of the event are here

    Let me know if you’re planning on attending?

    I’ll be staying overnight so if anyone wants to chat about all things SBS-related I’ll be happy to do so.

    Also if you’re in and around the North West region and have never visited an SBS user group meeting why not make this your first?

    I’ve been told there will be pizza!

  • SharePoint as a Help Desk @ AMITPRO

    Urgh….I meant to do this a lot earlier but I’ve had a crazy week since the AMITPRO meeting last week. I’ve got a back log of posts I want to put together but between holidays, hospitals and a couple of major client projects I’ve been at full tilt since then.

    Anyway, back to the point!

    Last time I spoke at an AMITPRO meeting I posted a brief “critique” of myself so I could figure out where I went right and wrong so I thought it was worth doing again.

    First of all though a big thank you to everyone that attended!

    We had a really great turn out and as well as our regular crowd there were a lot of new faces as well as appearances from some familiar faces we haven’t seen for a while. Thanks everyone for making the effort.

    So what did I think?

    Demo – Something I’d mentioned in my last critique was that I’d wanted to have a lot more structure in the demo itself. This was even more important subject matter and I’d used OneNote to great effect to give myself an outline to work against which meant everything went far more smoothly.

    Speed - I didn’t quite feel as rushed as last time. By that I mean myself. I really did go through the demos quite quickly because I had a lot to try and do in a short space of time but I felt a lot more relaxed when speaking which will be down to experience and the fact it’s not the first time I’ve presented to the group.

    SlidesEven though Guy very kindly made it look like I’d dropped the dreaded slides I had put together a very small deck that I didn’t get to use. I was still running the Office 2010 beta on my laptop and when I tried to open the file I got an error. Because I was literally minutes from speaking I just made the decision to drop them. When I checked it again afterwards it turned out I could have clicked through the error and used the slides. Which brings me onto my next point.

    Organisation (1)– There had been a mix up at the venue about the room we’d booked and we were in a room for 10-15 with almost 30 people. I’d already started to setup in the smaller room when we needed to move. Also since I’m involved with the organisation of the event I had to help sort the new room,  get everyone moved and setup again. I then ended up speaking first instead of second so I was in a massive rush to get started as we were now running late.

    Organisation (2) – While the previous point was a little out of my control this wasn’t. I’d setup my demo on my home setup with the intention of copying it to my laptop I’d use on the day. On the morning of the meeting I took my virtual machines to the offices with intention of tweaking my machines and going over my notes. We had such a busy day at the office that it just didn’t work out that way.

    At around half three I realised I needed to setup a scheduled task to make everything easier. However, my server machine was running like a dog and generally unresponsive. I’d run a couple of VM’s on my laptop before no problem but was now panicking. After a bit of investigation I found a couple of articles that indicated that laptop hardware can go into reign in the CPU when VMs are running as it thinks the system is actually idle (though I don’t know if this actually true!)

    So in my panic I uninstalled Virtual PC 2007 and installed Windows Virtual PC so I could make a setting change that would overcome this. At the same time I totally forgot that the VM’s aren’t directly compatible so it was almost four thirty (i.e time to leave!) and I had no way to run the demo! I quickly got rid of Windows Virtual PC, loaded Virtual PC 2007 back up and left for the meeting.

    On the way I realised in my rush I hadn’t copied my slide deck onto the laptop. Once at the meeting I had to fight a dodgy 3G signal to try and remote back to the office and grab the file. My intention was to get everything prepped while the other speaker was on but I ended up going on FIRST!

    I was quite lucky in that other than the slides everything from a demo perspective went to plan.

    The lesson to learn was that I should have included the actual laptop the demo would run from as part of demo build instead of just assuming it would all work as expected.

    Thankfully I’d prepared my demo and notes in such a way that I was able to get back on track quickly even though I was quite flustered at the beginning

    All in all I was pleased with how it went.

    I still don’t think I’m a natural presenter but hopefully anyone who was there learning something. If they did then it was mission accomplished.

    I got some very nice comments from people in attendance and via Twitter and e-mail the following day which were much appreciated.

    There was a TON of stuff I’d actually prepared that I just didn’t even cover because of time and the fact I didn’t want to go on for too long and have everyone lose interest. I joked during the presentation that I can talk for HOURS about SharePoint but in all honesty I was being serious!

  • Andy and SharePoint @ June AMITPRO Meeting

    Yeah i know….me again.

    We’ve had a speaker drop out at short notice so I’m going to speaking at AMITPRO this month. The topic is one you’ll probably know is something I quite like talking about – SharePoint!

    My presentation will be titled – SharePoint as a Helpdesk

    I’ve had the idea for the while so it’s something Guy and I have been sort of keeping in reserve just in case we had any issues with speakers so I finally get to roll it out this month.

    So what exactly do I mean by SharePoint as a Helpdesk?

    One thing I’ve found when talking to other partners is that because SharePoint is such a flexible (large?) product is that many of them find it difficult to get into quickly. I can understand this as it can be an awful lot to take in.

    However, I really do think many partners are missing out on revenue opportunities because of this! Now that don’t necessarily mean you need to instantly became a master in SharePoint but if you have a basic understanding of what it can do then you can always partner with a company that does if you have a client who might benefit from such a solution.

    Partnering with other companies is something SBSC partners are good at!

    So….what I’m going to try to do in the time I’ll have is to create a basic helpdesk. All IT companies know what a helpdesk is and what sort of functionality it needs so we can create a quick and dirty SharePoint application that showcases what SharePoint can do.

    I’ll be touching on,

    Lists and Libraries.

    Columns and Views.

    Content Types and E-mail Integration.

    Web Part Pages and Web Parts.

    SharePoint designer and Workflows.

    Office integration and Mobile access

    And if there is time another topic I like to shout about…InfoPath :-)

    Time depending of course!

    Our other speaker is Dell Quinn from Microsoft.

    She’s going to talk about the changes to the Microsoft Partner Network and how it’ll impact Small Business Specialists.

    All this as well as the usual pre and post event banter that goes on at any AMITPRO event!

    As always guests are more than welcome. If you’ve never attended a user group event we’ve love for you to come along.

    If you’d like to know more than leave a comment here, visit the AMITPRO site or get in touch with me directly (or on Twitter)

    Look forward to seeing you there!

  • SharePoint as a Twitter Client. Sort of – Part Five

    In part four I mentioned that there would be a problem in the future with this solution.

    In the second part of this series we created a simple function that generated a HTTP request to send to the Twitter API.

    As part of that request we sent a username and password.

    This known as “basic authentication”

    Unfortunately just after I got this working the Twitter development team announced on google groups they are dropping support for basic authentication.

    our plan is to turn off basic authorization on the API by june 30, 2010 — developers will have to switch over to OAuth by that time.  between now and then, there will be a *lot* of information coming along with tips on how to use OAuth Echo, xAuth, etc.  we really want to make this transition as easy as we can
    for everybody.

    Twitter even created a site called “Countdown to oAuth”

    image

    I can understand why Twitter have done this as it’ll make the system far more secure.

    Unfortunately this breaks my solution so I’ll need to take a look to see how i can use a different authentication method.

    I’ve got till the end of June so hopefully I’ll get something sorted soon!

    Just one final post on the way to wrap this up.

  • SharePoint as a Twitter Client. Sort of – Part Four

    In part three I said there was bit of functionality left to clear up.

    We have to run the process manually.

    We actually did a little bit of the ground work in part two.

    One of the pieces of code was the main function that brings all the bits and pieces together – it was called “Fetch_Tweets”

    Public Function Fetch_Tweets() As String

    Dim strID As String
    Dim strXML As String

    If Get_Settings = False Then
        Debug.Print "Couldn’t get settings"
        End
    End If

    strID = Get_Last_Tweet_ID
    strXML = Get_Latest_Tweets(strScreenName, strUserName, strPassword, strID)

    SaveTmpXML strXML

    Application.ImportXML strTempFile, acAppendData

    Tidy_User_table

    End Function

     

    Take a look at the first word of this code block.

    PUBLIC

    By adding this we can reference the function outside of Access so I put together a vbscript to run the function. (essentially…programmer types will argue this isn’t what Public means but for the layman it’ll do here!)

    Dim TweetDB

    TweetDB = "C:\TweetPoint\Twitter.ACCDB"

    Dim myAccess
    Set myAccess = CreateObject("Access.Application")

    myAccess.OpenCurrentDatabase TweetDB, False
    myAccess.AutomationSecurity = msoAutomationSecurityForceDisable

    myAccess.Run("Fetch_Tweets")

    myAccess.CloseCurrentDatabase
    myAccess.Quit acQuitSaveNone
    Set myAccess = Nothing

     

    So just breaking this down.

    The vbscript is essentially doing exactly the same as if you were running this manually.

    First we create an instance of Access. (The same as opening the application)

    Then we open the database we need.

    Then we tell Access to run our “Fetch_Tweets” function.

    The we close the database and close the application.

    Simple!

    The only caveat here is macro security. If you have your security in Access set to high or prompt then the vbscript won’t work.

    Since I’m just doing this a proof of concept I turned the macro security off.

    You’ll need to make your own decision about how to deal with this.

    One suggestion though is to look at something called “Trusted Locations”

    This article explains how to set that up.

    We can then take this vbscript and run it as a scheduled task to run as often as you need.

    The major downside to this is that the system that will run the vbscript will need to have Access installed.

    I don’t think the Access runtime would be enough (I only tried it very briefly)

    So that’s all of our basic functionality problems sorted

    We can ask Twitter to return the tweets for a given person, have them displayed in a SharePoint list automatically and it will be intelligent enough to not give us duplicates.

    I’ll follow this up with a couple of posts that shows how to add a little more polish and cover a problem that I’ll need to look at going forward. I haven’t figured out what to do about it yet though!