A theme for each view.

Dec 23, 2010 at 11:33 AM

For my PageFlow again...

Having 5 steps, each a differend View working with 1 ContentItem and several ContentParts.
I don't want to do much coding and it should be simple (because all code will be generated by t4)

Would it be possible to bind a placement to a view somehow?
Maybe create a theme for each step in the flow?

For PageFlow 1 it will then be:
Step 1 uses Theme_PageFlow1_Step1
Step 2 uses Theme_PageFlow1_Step2
etc

There might be 50 differend modules providing there own pageflows and themes..

- Is it possible to define a theme for a single view.
- Is the ThemeManager fast enough, can it handle 250+ themes?
- Or are Stereotypes a better option?

Dec 23, 2010 at 12:06 PM

bummer... a theme has a side-effect, it's a Theme! and so it appears in the installed theme's etc..

What i really want is to define which Placement.Info should be used for a certain view.
Or maybe a own Placement.Info manager that reads attributes to know which element belongs to a view.

Dec 23, 2010 at 1:40 PM
Edited Dec 23, 2010 at 7:16 PM

Nevermind... Just giving a non-existing zonename in the placement somehow seems to work.
I don't understand why it renders on the place of the Content zone but i'l figure it out

<Placement>
    <Place Parts_MyFirstPart_Edit="Step1"/>
    <Place Parts_MySecondPart_Edit="Step2"/>
</Placement>

view

@using (Html.BeginFormAntiForgeryPost())
{
    @Html.ValidationSummary()
    @Display(Model.Step1)
}
Coordinator
Dec 23, 2010 at 9:21 PM

Well, couldn't the drivers for those parts decide to add a shape or not depending on current state?

Dec 23, 2010 at 10:21 PM

Doesn't that bind the parts to a contentitem?

Op 23 dec. 2010 23:22 schreef "bertrandleroy" <notifications@codeplex.com> het volgende:
> From: bertrandleroy
>
> Well, couldn't the drivers for those parts decide to add a shape or not depending on current state?
>
>
Coordinator
Dec 23, 2010 at 10:29 PM

How is that a problem?

Dec 23, 2010 at 10:48 PM

A more generic part in a common module for customer information or premium stuff shouldn't be aware of the pageflow state.. a loose contentpart that is binden to a dynamic contentitem, not a specific one.

Op 24 dec. 2010 00:36 schreef "bertrandleroy" <notifications@codeplex.com> het volgende:
> From: bertrandleroy
>
> How is that a problem?
>
>
Coordinator
Dec 23, 2010 at 10:50 PM

Still don't see wht the problem is. If you don't make your parts attachable, nobody will see them unless they want to.

Dec 23, 2010 at 11:02 PM

They are visible in my module. Maybe im not clear enough or u mean something different... i think a driver returns a shape containing a contentpart, it's unaware in which view and zone it will visible

Op 24 dec. 2010 00:53 schreef "bertrandleroy" <notifications@codeplex.com> het volgende:
> From: bertrandleroy
>
> Still don't see wht the problem is. If you don't make your parts attachable, nobody will see them unless they want to.
>
>
Coordinator
Dec 23, 2010 at 11:17 PM

The driver can know whether or not to create the shape if you give it the state. Placement can be generic.

Dec 24, 2010 at 7:58 AM

All i can tell from the controller if a driver must create a shape or not, if u talk about visible state that is.
In one controller the customer part must be on step 3, in another controller the customer part must be in step 4.

Coordinator
Dec 24, 2010 at 8:09 AM

So? I'm sorry but I'm now totally confused about what the problem is here.

Dec 24, 2010 at 8:51 AM

Some things:

The customer will use a custom tool to configure c.q. define:
- contentparts;
- a pageflow with steps, each showing differend content
- business rules.

Finally the customer will create over 50 modules, 1 pageflow a module, so in total over 50 modules.. containing at least 200 steps.

My first thought was to create one module and dynamicly create shapes etc, but a requirement exist that for a single pageflow things must be totally differend. |
A module might be altered or create for customized-goods.
And at last it's easier to support to have differend modules generated.

For example the customer configure a 'new fire and theft insurrance product' workflow with 4 steps
Step 1 - fire and theft part
Step 2 - premium checkboxes and showing the premium based on that
Step 3 - customer part
Step 4 - payment details and acceptment

The idea is like a shopping card, where all products have alot in common after generation.

Dec 24, 2010 at 1:43 PM
Edited Dec 24, 2010 at 9:12 PM

After all, i think u are right about the drivers returning a shape or not based on the current pageflow state.
Each driver knows the ContentItem_Id and that way it can ask a pageflowservice if they should add a shape based on the current state.

I'll drop the idea using the Placement.Info for step information, it would probl. cause issues rendering shapes while not showing and updating models..

Thanks for the insight (even thru we speak a differend jargon sometimes)

Merry X-Mas to you and the team!