Design Question - Wizard Flow

Design Question - Wizard Flow

Old forum URL: forums.lhotka.net/forums/t/6903.aspx


tna55 posted on Wednesday, May 06, 2009

All,

I have a form that is a wizard to create a new employee record. The wizard has following tabs:

 

Tab 1
Tab 2
Tab 3 – with some checkbox that skips Tab 4 including validation of its fields
Tab 4
Tab 5

 

I have created a NewEmployeeWizard business object that handles this wizard. This object has other Editable objects to store data. This editable object has child objects that store specific data for each tab.

 

What I am trying to understand is whether I should have one OR two editable object for both scenarios i.e. 1) when user filling all tabs 2) user filling all tabs except tab 4.

 

In terms of use case one can think that there are two use cases here and it is a possibility to create two editable roots, with their own children, for each scenario. The use case object can then decide which editable root to choose. The problem then is where to put data when the wizard first starts and user has not reached tab 3.

 

I would really appreciate any help and some views on  how to handle such wizard like data entry scenarios where user selection can change the flow of wizard.

 

Thanks

Tahir

Marjon1 replied on Friday, May 08, 2009

Hey Tahir,

There isn't one solution and having two objects would would, however,
I think would be a bit of overkill given that from what I can see above appears that the only real logic is if the information on Tab 4 is required based on some setting(s) on Tab 3.

Assuming that there is some type of boolean field that determines if Tab 4 is displayed or not, you could build a series of custom validation rules that would take into account this field.
If Tab 4 is skipped they would always return as non-broken, if Tab 4 is shown then that field could be used to know this and then the values can be checked and reported broken if they are indeed broken.

Copyright (c) Marimer LLC