Wednesday 14 November 2012

Value does not fall within the expected range

My first SharePoint 2010 post!

We're in the process of deploying a supplier management system to a client, this after extensive testing first on our staging environment and then on theirs. Everything was working fine until we started doing data migration testing.

The client had been chucking in data and then wiping it out again repeatably on their server, but then we started getting a System.ArgumentException: Value does not fall within the expected range error on a section that had previously worked.

Much googling later, everything I found indicated that the List View Lookup Threshold needed to be changed. I knew for a fact that this was not the issue as the system worked as expected on our server and our setting was set at the default of 8.

This made me look at what was getting written to the main list. There I found that a required value was now showing as blank. The column in question was a lookup to another list. Investigating the log file a little further up indicated that the system was unable to open a lookup list >


Armed with the the GUID from the log, I could see that the lookup list was not the same. I then pointed the client's admin to the possibility that the lookup column may have become disassociated from the list.

They responded that they had in fact deleted the lookup list and re-created it from a template containing the lookup values during their importing trials. Because the lists for this system are created pragmatically and activated via a feature, they have specific GUIDs. The client was then able to delete all the lists and recreate them via the feature and it all started working again.

Monday 29 October 2012

View opening cancelled

We're half way through doing an upgrade from Notes/Domino 7 to version 8.5.3. Although we've run into a couple of issues, for the most part it's been fine. Last week produced one of these said issues, which I thought I'd share since there was a total of one topic in the IBM forums. Needless to say, the suggested resolution was attempted by our Admin chap in vain.

As mentioned in a previous blog, we provide a number of packaged applications to our clients. These are really stable, as they've been out in the field for a number of years now, and have successfully migrated to newer versions of Notes without any issues, until now that is.

We've had a number of users upgrade successfully and none have picked up any issues with their existing applications. Then we got one! This user could not open a particular view called 'My Records'. They kept getting the message: "View opening cancelled. To see this view, you must close it and then re-open it". Obviously, this suggested action did nothing.

Delving into the design revealed that the view in question was in fact a 'Shared, desktop private-on-first-use view'. That's when the light bulb went on. My guess is that the particular view, which is stored in the user's desktop file, had gotten a little messed up during the upgrade. As the design is set on first use, the only way to fix it, is to get the view to think it's the first time the user is opening it again.

The solution for this is to get the user to remove the icon from their workspace, which prompts the user asking if they want to delete x number of private views. Answering 'Yes' will remove the view designs from the user's desktop file. Getting them to re-open the application will trigger the view design to be added back to the desktop, all shiny and new.

And Voila! No more issues.

Wednesday 22 February 2012

Closed design and corrupted compiled code

So my current company supply packaged Lotus Notes applications, which get implemented with hidden designs. I'd made some design changes and applied them to the client's application, obviously having done the usual UAT testing and so on. Imagine my surprise when the production application started playing up.

With the customer's help, I was able to reproduce the effect and determine that the issue occurred only when applying the design with the "Hide formula and LotusScript" option checked, i.e. closed design. That got me to thinking about the nature of templates.




Templates contain both raw code and compiled code. When you replace the design so that it's closed, only the compiled code is used. It seems the compiled code was corrupted, which is why it worked with the open design but not the closed one.

That lead me to the solution. I had to recompile all the LotusScript to make sure the template contained the correct compiled code. That sorted the problem straight away. So hopefully this helps someone else.

Friday 17 February 2012

Almost crochet ...?

Ok, so the crochet part is really just something that alliterated with code. I happened across a site called 'Cats who code' the other day, which just appealed to my funny bone. That got me thinking about what I'd call this blog when I eventually got down to writing. I figured I'd probably spend just as much time talking about my hobbies. Code and knitting just didn't roll off the tongue. So now you know.

In case you're wondering, I do enjoy crochet, but I'm finally getting into knitting. Just to prove it, I've taken a snap of a crochet square from one of my unfinished projects. It might have something to do with the wonderful climate here in Scotland. Knitting actually contributes to keeping my lap warm. Knitting on the tropical east coast of South Africa just wasn't practical. What with humidity of 110 half the year, and it being far too warm to actually wear anything I'd made.

I have to admit that I've usually got about 3 or 4 projects on the go at any given moment. It's in case I get bored with my current project. I can then pick up something else and get on with that instead. I thought I'd share some photos of a recently completed project. A pair of merino wool Norwegian socks. Admittedly started a year ago, but worth it. I've already worn them over 5 times this winter and they really kept my toes cosy with my sheepskin boots. Ah ... bliss ... warm feet!



Wednesday 15 February 2012

The code part

So, if you've come back for more, then this post is going to be a brief history about the code part of this blog. If you've checked out my profile you'll have seen I'm currently a Software Engineer.

It seems I've always been interested in code. Probably got something to do with mixing logic and creativity. In almost every job I've filled there's been some form of coding that's slipped into my remit. So over 20 odd years of working I've managed to play around with languages starting from GWBASIC (wow) to AutoLisp, to VBA, to a number of other languages, and finally to LotusScript and a plethora of web based languages from CSS to XML.

Currently I'm working with Lotus Notes & Domino, but I'm also playing round with PHP whilst maintaining my company's website. As well as upgrading my Notes certification to R8/8.5, I'm also trying to get into Microsoft SharePoint within the next 2 months.

I'm hoping to post updates on things I come across code wise in my daily excursions. I might also post updates on my journey into SharePoint for anyone else also thinking of making the leap. Maybe some of you who've been there and done that can share on the experience too?

Sunday 12 February 2012

At last

It's time! I've been putting this off for years, with my most famous excuse being there's no time. After some thought, it's occurred to me that there will never be any time to do this, if I don't make the time.

Excuses over. Welcome to my blog. I won't make any promises I can't keep, so fair warning - I might not get to update this too often.

If you're wondering what this blog is going to be about, I've not really finalised that in my mind yet. Hence the odd blog title. I figured I'd just start and see where it took me, covering everything that's going on in my life for now, and seeing if anyone was up for a journey of discovery with me.

Here's to enjoying the ride!