Wednesday, 18 December 2013

Gandalf Gives a ‘Bit’ of Inspiration

So there I was in Camden High Street (which was weird because I live in Devon) posting a letter and minding my own business when a unicorn came along carrying Gandalf the Grey (who was actually my mum in a beard, bygones….) and he spake unto me.

“Young Wizard, have you never thought of using a bit field to represent related data within a database?”

The question threw me, In part because I really like the look of the giant sized marshmallow that Gandalf was now devouring, in part because I wasn’t aware that Gandalf had any interest in RDBS techniques but mainly because I hadn’t ever considered it

Read full blog here.

Written by:  Conrad Rowlands, Senior Systems Architect and Developer, DSCallards

For more information, visit

Thursday, 28 November 2013

Fluent with Enumerations

fluent-nhibernateCurrently investigating the usage of nHibernate (fluently) as an ORM to be used within our software. First impressions are that I like it a lot. I feel that we should have made this move a long time ago but sometimes with the  time constraints its not always feasible to stray from well trodden paths… Currently flying at plenty of new tech though so expect plenty of postings!

Whilst putting together my first sample classes I came across a small gotcha whilst defining my LogonClass and retrieving the associated data. Code snippets follow:-

Read full blog here.

Written by Conrad Rowlands, Senior Systems Architect and Developer, DSCallards.

XML Schema Validation Issues

Working on one of our long term projects recently I came across a gotcha that I have never encountered before when working with Xml Schema documents. Whilst researching and correcting this issue I have subsequently seen a lot of other people making the same mistake on many other forums and so I thought I should share. The issue arose when I had a loaded Xml document that I subsequently wished to validate against a schema that we have defined, fine I thought, I will use the following code….  More.

Written by Conrad Rowlands, Senior Systems Architect and Developer, DSCallards.

Thursday, 7 November 2013

Float Like a Butterfly ... Errr


I know, I know…., in an ideal world we’d all have the latest and greatest browsers but in the real world companies are not so ‘lithe’ when it comes IT infrastructure.

Recently whilst putting a .NET web project to bed we had some reports from the field of some rendering issues with Internet Explorer 7.  Of course we had tested IE 7 using the compatibility modes present within later versions of IE but seemingly this does not throw up many issues that arise in the ‘real’ browser.  

One such issue being reported has been recorded in my blog, here.

Written by Conrad Rowlands, Senior Systems Architect and Developer, DSCallards.

Theory of Relativity

Recently whilst putting a .NET web project to bed we had yet more reports from the field of some rendering issues with Internet Explorer 7.  Of course we had tested IE 7 using the compatibility modes present within later versions of IE but seemingly this does not throw up many issues that arise in the ‘real’ browser.

Relativity-formulaI know, I know…., in an ideal world we’d all have the latest and greatest browsers but in the real world companies are not so ‘lithe’ when it comes IT infrastructure.

The issue being reported was that one form displaying an accordion control, which in turn had embedded within it a scrollable div which in turn contained three or four divs as well as a JQGrid was having ‘issues of parentage’… When the main scrollable div was being scrolled all underlying divs were being rendered correctly and scrolling with the content whilst the JQGrid was not moving at all, just merely floating in space and generally getting in the way. After a lot of digging I found the following solution that cured my issues:- The main HTML was defined thus

  with the ‘QuestionnaireGrid’ being the location that the javascript JQGrid is rendered into, The issue however seems to lie with the parent div and not the JQGrid itself, what I needed to do was attach a style via the css to the ‘QuestionnaireGridContainer’ div like thus:

This ‘position:relative’ style  in this instance seems to explicitly force all children objects to behave correctly with regard to their location within time and space and now when i scroll my div content all child objects are scrolled exactly as I would expect.

Written by:  Conrad Rowlands, Senior Systems Architect and Developer, DSCallards

Wednesday, 16 October 2013

Sending Error Mail from Elmah

As part of a recent release of a web application we decided that in order to make the best use of error logs being created by Elmah we should email these to stakeholders as and when they happen to improve the general response times. Here is how we set up ‘that thing’ in our .NET MVC4 application! The red sections indicate properties that were either added or edited to enable the email functionality and green section indicate those fields you will need to change to reflect your choice of smtp server.

Click here for the full blog.

Written by:  Conrad Rowlands, Senior Systems Architect and Developer, DSCallards,

Displaying Alternative Coloured Images in JQ Grid

RedAmberGreenWhilst coding up a recent .NET MVC application built heavily using JQGrid I came across a requirement which to be honest I struggled with at first . In short I wanted to, on a column by column basis, colorise the icons that were to be displayed. Now JQGrid supports a icon colorset which seemingly cannot be changed easily so in the end I had to resort to changing the styles. Here is how I achieved this, warts and all….

Firstly of course JQGrid uses the standard set of JQuery Ui Icons to provide its user interface. I say ‘Icons’ but this is of course provided as one image which is broken up into sprites of 16 x 16 pixels, more of that later. So the first step is to download the set of colour icons that you require…. provides a standard set of these icons rolled in every colour you can dream so its in fact very easy. The hardest part is arriving at your chosen colours!

Click here for the full blog.

Written by:  Conrad Rowlands, Senior Systems Architect and Develope, DSCallards

The Piece of Wood and Full Possession of the Facts


Now I can’t lie to you, I’m not an insanely practical man….. When it comes to home repairs and the like I’d prefer to pay a man (or woman) who knows what they are doing to do the job; They won’t swear half as much, will generally get the job done without resort to every ill fitting tool in my toolbox, without the use of a calendar and they’ll also have an understanding of the problems that are likely to be encountered on the way. More importantly they’ll plan to avoid the potential issues. (in)Famously I once tweeted that ‘there are only so many ways that 15 pieces of wood can be put together to make a wardrobe, I know because I’ve tried all the others!’

I once knew a guy who was immensely practical, being a general builder for much of his life I asked, and he agreed, to assist me with repairing some windows as I wanted to learn; maybe I could become self sufficient in all my windowing needs and move onto doors and the like… possibly take over the world, I don’t know what I was thinking. Anyway we first needed some strips of wood to replace the pieces that we were going to have to break in repairing the window. How hard could this be? I mean it’s just a piece of wood right, so long as the dimensions are fine and it looks clean…. However I was aware of time passing as we stood in the local ‘shed’ looking at various seemingly identical pieces of strip wood. After he had discarded what seemed like the 7th identical piece I asked what he was doing… I don’t remember his exact response but I do remember that he was particularly keen to ensure that the grain of the wood was absolutely as he needed for a good deal many reasons. It was at this point that my practical life in windows was curtailed as there was clearly way more to think about that I had previously imagined.

I know what you re thinking….. no code snippets in a developer blog? The answer this week is a resounding No! Before one line of code can be written the problem MUST be understood in it’s entirety, you can’t code for a problem until you understand the problem and you can’t code a solution unless you understand how your chosen platform allows you to best solve a problem, well you could but like with the window if we’d used just any piece of wood it would likely have just broken midway through the job.

I guess you can sum this post up in one word ‘Experience.’

Written by:  Conrad Rowlands, Senior Systems Architect and Developer, DSCallards

Setting Default Data for Add New operation using .NET MVC JQGrid

Of late I have been working with the .NET MVC JQGrid control for a relatively simple project and have found myself asking all sorts of questions of the technology which do not seem to be easily and readily supported without resorting to hacking around in HTML. One such example came up recently where I needed to default the value for a column upon creating a new Company record. After posting on the forums I was directed to a ‘sample’ which actually showed me nothing even though the forum poster had responded with an answer that was meaningful. I thus decided to document the actual methodology so that you don’t have to!

In short I have a Responder object which upon creation needs the ‘ResponderType’ property to be primed with the value ’2′ to indicate what type of responder we are creating. I have included a full listing  of the ‘MVC’ components although only the items highlighted in bold red are actually pertinent to this blog post. The rest is provided for completeness (although as the code has been derived in reality from some abstracted classes there may be some errors, so apologies in advance).

Click here for the full blog.

Written by:  Conrad Rowlands, DSCallards, Senior Systems Architect & Developer


Thursday, 22 August 2013

At-a-Glance Guide to Implementing Successful Business Intelligence

DSCallards has been delivering value-driven Business Intelligence (BI) for over ten years to hundreds of customers and understands the main pitfalls when implementing a new solution.

So, if you are thinking about investing in a new BI solution, we would recommend that you consider the following six points when selecting your solution partner.  Each of our recommendations is backed up with a customer case study, which you may find an interesting read!

  1. In-depth Understanding:  During the consultancy period of the project it’s important that you and your BI solution provider are completely attuned, and they have an absolute understanding of your business architecture, its drivers, and goals. "DSCallards really listened to our needs, often facilitating discussions we might not have had internally, to get a clear picture of our objectives and where the value lay. They didn’t dictate how we should do business – they simply enabled us to get more value from our data to hit our targets while preserving our uniqueness”.  More
  2. Credibility:  Choose a solution provider that not only has a positive ‘can do’ attitude, but one that is proven, with a track record of working with reputable industry players. To evolve and explore all project possibilities, it’s important you feel a good level of trust with your solution provider, and that you feel they will accommodate your suggestions and requests.  “We checked DSCallards website and liaised with our SAP Business Objects Partner Manager who told us that DSCallards were a highly regarded SAP Business Objects Partner”.  More.

  3. Excellent Support:  It’s important to work with a BI solution provider who can offer you support throughout the project, not just once your solution is implemented. “Support provided during the evaluation phase was very good. We believe that if the software vendor can offer good free support during the trial, then this is a good indication of the type of support we would be receiving in the event that they were selected as the solution of choice”.  More.

  4. Value for Money:  In times of austerity, this speaks for itself! "DSCallards are very good value for money”.  More.
  5. End-to-End Service: A BI solution provider who can offer a complete service package is invaluable, it ensures a smoother project experience for both parties, particularly when keeping within budget and set timescales is critical.  “Babcock is extremely satisfied with the services and support provided by DSCallards. They delivered to budget and on time going above and beyond the call of duty to ensure a successful roll out of this new technology across our organisation – not an easy task!” More.
  6. Innovation and Added Value: Many BI solution providers can deliver what you ask of them, but do they really add any value? Aim to seek a solution provider who can understand your business, listen to your ideas, and innovatively shape the project, to deliver growth and efficiencies to your business.  “The project grew rapidly in response to evolving business needs, and has delivered value at every step along the way – progressing from model reporting to a sophisticated, real-time business intelligence solution that is helping us drive the business forward. And it was all achieved without significant disruption to our day-to-day operations and at an affordable price”. More.
This is, in our humble opinion, the six-point guide.  There are of course many other considerations exclusive to your own organisation. If you would like to discuss how we can help you in more detail, let us know ... we're a really friendly group of consultants!

Wednesday, 21 August 2013

Faster Image Processsing (aka Lock your Bits)

Whilst working on a small new project to write a console application that examines images for certain kinds of colour data I started, as I always do, with looking at how best to achieve this in a performant manner for the client. There is nothing worse than an application  that appears to hang whilst an invisible piece of processing occurs. True, in this instance it was a console app that would be automagically scheduled for use and so this was not such a design issue but I still think it’s good practice. The main remit of the application was to iterate over every single pixel within an image file and to perform various calculations against the colour data that we obtained,  the calculations were fairly simple and thus set in stone and so no real performance gains could be made out of a refactor, however this business of iterating over every pixel….

Click here for complete article.

Written by Conrad Rowlands, Senior Developer, DSCallards
For more information, visit

Wednesday, 14 August 2013

On-the-go Analytics Enables Me To Act Decisively Wherever and Whenever

When mobile phones first became mainstream as business tools, it was all about being reachable no matter where you were. But if you wanted to get any real work done, you’d still have to lug around a laptop. Today’s smart phones are capable of so much more than just calls, emails and texts – in fact, I read they’re more powerful than the computers that NASA used to send astronauts to the moon in the 1960s. 

I use my smart phone for everything – from capturing my running times to taking out my frustrations on Angry Birds. But what I’m really excited about is that we’ve recently got the SAP Crystal Server add-on for mobile at work.  Basically, it delivers all the reports and analytic data I rely on daily to my mobile phone when I’m away from my desk. 
If I have to go and see a customer, I no longer bother taking my laptop with me, because I have all the up-to-date information I need in the palm of my hand.  Not only is my smart phone more convenient to carry, but unlike a laptop, there’s no tedious wait to boot up and connect – it’s instant.  The other day, I was able to provide factual up the minute information to a customer while I was sat right opposite him by showing him the figures, instead of having to wait until I was back in the office.  Not only was he impressed by my professionalism but also by my company – a sure way to sustain a good business relationship. 

While mobilising our business intelligence is enabling people like me to work more flexibly and productively, it also ticks the boxes for IT – secure, self-service and simple – plus it helps our company to get more value out of the BI system we already have in place.  There’s a free trial available to download so you can try SAP Crystal Solutions before you buy.  Although I’ll warn you now: using mobile insight to answer business questions on the go is almost as addictive as Angry Birds!  

Try SAP Crystal Server add-on for mobile for yourself with our compliments!  Download here.

Visualise This!

I’m a very visual person. I tend to use my hands when I talk.  I remember faces, but I’m terrible with names. When I learn something new, I need to see it to really understand it. So I was very excited when I was asked to evaluate one of the latest offerings from SAP, called Lumira.

Basically, it’s a “data discovery” tool.  That means instead of having to spend time manually aggregating data from multiple sources and in diverse formats, SAP Lumira pulls the data directly from wherever it resides and lets you organise and manipulate it however you want. 

OK, maybe the earth’s not moving for you yet. But this is where it gets interesting: once you’ve prepared your data, you can create visualisations to find the kinds of business insights and trends that are impossible to glean from staring at rows of numbers. 

It’s a simple matter of dragging and dropping the data labels onto what is more or less a “blank canvas” in the middle of your screen, and choosing how you want to visualize the results. You can select anything from a straightforward bar, radar or scatter chart, to a sophisticated multi-dimensional chart, geographic bubble chart, tree map or tag cloud. You can see the big picture at a glance and then drill down into the details by filtering data in columns, facets or charts.

What’s really liberating is that it enables people like me (numerically literate but not an analytical expert) to look for relationships and uncover patterns in data without adding to IT’s workload. No more waiting for them to write a custom query or report each time a new question arises. 

I downloaded the free trial of SAP Lumira yesterday afternoon and got so immersed playing with it that by the time I looked up again, everyone had gone home and the cleaner was trying to trying to vacuum around my feet.  I visualize that I’m going to be finding lots of answers to questions I never knew I had with my new software over the coming days!

For more information, click here.

Shedding Some Light on the Subject of Data

Genius is one per cent inspiration and 99 per cent perspiration, according to American inventor Thomas Edison. He should know. After all, he held 1,093 US patents, including a system for electric power generation and distribution. Edison is quite a hero of mine – I work for a company that manufactures light bulbs. Unfortunately, while we had the perspiration angle covered, our inspiration left a lot to be desired. And it was affecting our efficiency in a big way.

Historically, we have based our decisions on hard facts. The problem with this approach was the amount of time we spent working to get reliable data. We spent more time poring through spread sheets and pivot tables than we did analysing data and making decisions.

One of the big advantages of being a small business is agility. You can normally react to changes in the market quickly and steal a march on your competitors. But we were losing this advantage because of our convoluted and time-consuming data processes. We didn’t have the information in time to make the decisions we needed to.

Fortunately, as we’re an SAP partner, we implemented SAP Crystal Server to solve this problem. It didn’t take long to implement and set up and before long, we had dashboards and reports to give us all the information I needed to make good decisions, quickly.

Now, we’re running more efficiently and more people in the business are starting to use SAP software to analyse their data. When I think of all the time we used to spend working with spread sheets it doesn’t bear thinking about. Of course, that doesn’t mean there’s any less perspiration, it just means we’re directing our efforts into more strategic, fruitful tasks. 

For more information on SAP Crystal Server click here.

Wednesday, 26 June 2013

Top Ten Pain Points Solved by Business Intelligence

As Business Intelligence experts, we sat down and tried to work out the top reasons why a company should invest in a Business Intelligence solution and came up with the following:
  1. "Our users simply won't give up Excel" - sound familiar?  Are spreadsheets still your most widely used Business Intelligence tool?
  2. Does your business rely too heavily on IT to produce and deliver reports?  Are your reports too static with no self-serve reporting?
  3. Do you require a single version of the truth?  Does your business have a universal agreement of the terms and sources of the reports that are produced?  Do they trust the data?
  4. Do you lack business support and buy-in for your Business Intelligence initiative and are you concerned about the project's performance?
  5. Are you confused by the terms Business Intelligence and do you need clarification on how it can help your business?
  6. Does integration and interoperability of your Business Intelligence with other systems such as CRM and ERP pose a problem?
  7. Has your Business Intelligence project stalled or gone over budget?  Can you work out the TCO/ROI of your Business Intelligence investment?
  8. Are you struggling to respond to market dynamics?
  9. Do you suffer from low marketing hit rates due to poorly targeted campaigns?  Is your sales profitability constrained by pricing based on guesswork?  Is your sales close rate lower than expected?
  10. Is your cash flow low due to too much stock or do you lose revenue from insufficient stock?
If you answered yes to any of the above, perhaps you need to speak to us!  DSCallards is a proudly independent SAP Business Objects partner with a unique skills profile.  You can call us on 0800 652 4050 or email us at

Written by:  Adriane Gillies, Marketing Manager, DSCallards
For more information visit

Monday, 29 April 2013

Maximising Every Opportunity with BI

In order to survive today's global economy, and keep up with the risks of every day business, companies of all sizes must make smarter decisions.

However, effective decision making requires accurate data.  Key business analytics can help maximise existing revenues plus taqrget areas of expansion, by revealing exactly what's driving a business and new opportunities.  More visibility and greater insight equals better decisions.

SAP Business Intelligence Solutions provides a dashboard with a single, reliable and real-time overview right across your company with the ability to track your competitors and spot market opportunities.  It delivers quick insight and reduces your dependency on IT.  You can even measure the business impact of a particular change by running what-if tests and unlock insights buried online in blogs and social networking content.  And conveniently, all this is available on mobile devices as well as desktop computers, at an affordable price.

With information you can totally turst, you have a clear competitive advantage.

Click here to see how you can get on-the-go business intelligence.  More.

Want information that you can totally trust?  Contact us on 0800 652 4050 or email us at to see how SAP Business Intelligence Solutions can help you to achieve this.

Planning for Tomorrow with Business Intelligence

If your company has seen its growth rocket through the tough economic times, that's great news.  However, rapid growth can bring its own challenges if you don't have the right infrastructure in place.

With a flurry of activities, you probably don't even have time for a coffee, let alone think about whether your software meets your business needs.  But as your company expands, accurate, up-to-date information is the key to achieving your business potential.  You'll need an IT solution to monitor and manage every part of your company and it'll need to support your growth.

SAP Business Intelligence Solutions provides fact-based, quality information to help you identify and implement business controls.  What's more, it'll meet your employees' needs for mobility.  All this insight is available on mobile devices as well as desktop computers, so you can always be in touch - even when you're out of the office.  Better still, SAP offers the ability to adapt as your business grows - whether you're handling 100 transactions, or 1 million transactions.  All at an affordable price.

Want to know more about SAP Business Intelligence Solutions?  Contact us on 0800 652 4050 or email us at

In a best run business, decisions are based on fact.  Click here for more.