Wednesday, 11 April 2012

Error - System.InvalidOperationExceptionOperation is not valid due tothe current state of the object

Please note there was a recent microsoft security update that changed the default limit of form fields on pages to 1000. If a page exceeds this amount, you are likely to see below error:

System.InvalidOperationExceptionOperation is not valid due to the current state of the object.

Adding the below setting to the web-config file overcomes this limitation,  in this example it is increased to 2000.

<appSettings>
     ..................
     <add key="aspnet:MaxHttpCollectionKeys" value="2000" />
</appSettings>

More information can be found at:

http://stackoverflow.com/questions/8832470/operation-is-not-valid-due-to-the-current-state-of-the-object-error-during-pos
Note: This setting has been added to the default web.config file, but for upgrades we don't replace the web.config file so it will have to be added manually.

Wednesday, 4 April 2012

Stadium3 Release : 3.3.1970.4353

Build 3.3.1970.4353  is available for download. It includes:
  • Users can specify a custom setting for URL property of RSSFeedViewer control
  • Added MaxHttpCollectionKeys setting to default web.config
  • Fix for issue that was causing dependant values to be lost when opening Chid Grid Editor
  • Fix for issue that occurred when using GridIterator and IterateCurrentPageOnly in combination
  • Fix for script error when clicking on button on messagebox

Stadium4 Release : 4.1.2084.4655

Build 4.1.2084.4655 is available for download. It includes:
  • A better looking chart control
  • Datainput fields have new width property
  • Install now adds all neccessary security rights to configuration folder
  • Added MaxHttpCollectionKeys setting to default web.config
  • Users can specify a custom setting for URL property of RSSFeedViewer control
  • Fix for format conditions on grid not working
  • Fix for issue with RDL viewer not working
  • Fix for issue with menu displaying incorrectly
  • Fix for server side paging
  • Fix for issue that occurred when using GridIterator and IterateCurrentPageOnly in combination
  • Fix for issue that was causing dependant values to be lost when opening Chid Grid Editor
  • Fix for formatconditions not working when grid has filter
  • Fix for menu item seperator property not working

Tuesday, 3 April 2012

A look at LightSwitch

I have spent some time looking at LightSwitch, a Microsoft product that is in some ways similar to Stadium.

How does it create value?The primary aim of LightSwitch is to create business applications in a rapid manner.

Target users

LightSwitch is primarily targeted at developers who need to rapidly produce business applications.  It is very much part of Visual Studio and the application designer uses the Visual Studio IDE.

There are however contradicting statements from Microsoft regarding the target user:

Marketing saying it is aimed at at non-developers:


Jason Zander, corporate vice president of the Visual Studio Team in the Developer division says it is aimed at developers:


Microsoft is sending out a very confusing message but my impression is that it is definitely aimed at developers. In order to achieve anything substantial, coding is required.

Data and Screens

LightSwitch is focussed on building business applications and most business applications consist of at least two things:
  • Data
  • Screens
There is a clear split between these two in LightSwitch. User first defines the data for an application by creating an 'entity'.
Entity
This 'entity' can be linked to a new table in the database or an existing table. The user can then design the screen and link to it to the entity.

I like this clear separation between data and screens.

Screen designer

LightSwitch's screen designer does not have a WYSIWYG editor and I find the model very confusing. Here is an example of how the model looks:


It is not easy to map the design time concepts to the final screen and this requires some serious effort.

Screen templatesWhen user creates a new screen, user can choose from a list of templates. This is a great way the speed up the design process and I like this approach.


Business Logic
In order to specify business logic, code must be written, as specified below:

'Our goal with LightSwitch is to remove a lot of the “plumbing” work and instead allow you to concentrate on the core business logic of your application so that the code you write is exactly what you want to write and no more.'

Web applicationThe final web application is a Silverlight 4.0 application and can be hosted in a browser or a desktop application. I am baffled why Silverlight and not HTML 5.0?

Here is how the the final output looks like:




Friday, 2 March 2012

Report Viewer Timeouts

Stadium has a Report Viewer control that allows a user  to view a report that is being hosted by Reporting Services.

The benefit of using Reporting Services Reports is that they are much more visually appealing, may contain graphs, and off various methods of exporting the data (Excel, PDF, CSV etc.) in an efficient manner.

Once you've uploaded the report on the Reporting Services Server and tested that it successfully generates you may find that the report still fails to generate from within Stadium with the error:

 "An error has occurred: Request timed out."

You have probably checked that the timeout values for both the SQL queries within the report as well as the timeout value on the Stadium's Report Viewer control are set to a sufficiently large number to prevent timeouts but you still get the error.

This error is occurring because the ASP.NET request to the Reporting Services Server is timing out. The 'ExecutionTimeout' setting in web.config can be changed/added to prevent this timeout.

The execution time-out refers to the number of seconds an ASP.NET page is given before the operation is assumed to have failed and the page terminated. In the example web.config file below the executionTimeout is set to one hour.


<system.web>
<httpRuntime executionTimeout="3600" />
<sessionState timeout="60" />
...



Stadium3 Release : 3.3.1960.4332

Build 3.3.1960.4332 is available for download. It includes:



Bug fixes
  • Unable to add column to child grid error
  • Index outside the bounds of array error when deleting a row in a grid
  • Javascript error when clicking on messagebox
  • TreeView's click event not fired when clicking on it more than once

Wednesday, 22 February 2012

A More Desirable Stadium

We made the buttons on the screen look so good, you'll want to lick them. - Steve Jobs on Mac OS X's Aqua UI

There is a much-loved, widely-used (online and at conferences and the like) diagram called the User Experience  Honeycomb. It looks a bit like this:

User Experience Honeycomb

It was first drawn up by Peter Morville in 1994 in an attempt to illustrate the facets of user experience - and why it is important for product development teams (that's us!) to move beyond usability.

Throughout the course of its lifetime, Stadium has grown and improved in all of these aspects except one: desirability. Here, desirability refers to the image, branding and emotional design of Stadium. During Stadium user research, including usability testing and interviews, one of the most commonly voiced sentiments was that Stadium's applications looked outdated and, well, a bit less than desirable.

We decided that it was time for a change. We wanted to make Stadium applications, if not lickable, then at least attractive. We also wanted a solution that would not add to our implementers' workload. Their area of expertise is the design and implementation of business solutions. They should not be burdened with graphic design considerations. Therefore we decided that we would create complete, packaged themes that could be used as is.

The first themes we have implemented were determined by considering our biggest clients' branding and colour palettes.

And so, without further ado, here are a few glimpses of the four new themes for your perusal and hopefully, your enjoyment. We would love to hear from you, so please drop a comment and tell us what you think!

Default theme filter and grid
Forest theme filter and grid
Charcoal theme filter and grid
Burgundy theme filter and grid