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: