Re: A lesson learned about wicket

2011-12-14 Thread Martin Makundi
> a simpler approach:
>
> https://www.42lines.net/2011/12/01/simplifying-non-trivial-user-workflows-with-conversations/

Maybe yeah, but in our situation our model/controller complexity is
almost like a relational db, so it will reside completely in its own
layer facaded by "entitymanager". Yeah, exactly what we are looking
for.

**
Martin

>
> -igor
>
> On Wed, Dec 14, 2011 at 12:12 AM, Martin Makundi
>  wrote:
>> Hi!
>>
>> Today I have learned about a huge misconception I have had about wicket 1.4.
>>
>> I have actually been thinking that it is an MVC framework.
>>
>> But it is practically not. Why? Wicket's request cycle and
>> serialization process makes effortless MVC design almost impossible.
>> It seems like wicket is just an "MVC proxy", via IModels.
>>
>> Maybe it's just my mistake, but maybe it is also a design issue in
>> wicket. Don't know yet.
>>
>> Nevertheless, I am trying out a new approach where model and wicket
>> are more strictly decoupled: wicket will only render what is managed
>> in a non-visual model that has a some sort of "facade" representation
>> which can be iterated and rendered.
>>
>> So it will be:
>>
>> Wicket (View) <-> Facade <-> (Model, Controller)
>>
>> Until now I have been wronlgy assuming that wicket can manage the
>> lifecycle of Model, View, Controller, but it truly becomes a mess with
>> serialization issues and complex logic.
>>
>> My 2cents ;)
>>
>> **
>> Martin
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: A lesson learned about wicket

2011-12-14 Thread Igor Vaynberg
a simpler approach:

https://www.42lines.net/2011/12/01/simplifying-non-trivial-user-workflows-with-conversations/

-igor

On Wed, Dec 14, 2011 at 12:12 AM, Martin Makundi
 wrote:
> Hi!
>
> Today I have learned about a huge misconception I have had about wicket 1.4.
>
> I have actually been thinking that it is an MVC framework.
>
> But it is practically not. Why? Wicket's request cycle and
> serialization process makes effortless MVC design almost impossible.
> It seems like wicket is just an "MVC proxy", via IModels.
>
> Maybe it's just my mistake, but maybe it is also a design issue in
> wicket. Don't know yet.
>
> Nevertheless, I am trying out a new approach where model and wicket
> are more strictly decoupled: wicket will only render what is managed
> in a non-visual model that has a some sort of "facade" representation
> which can be iterated and rendered.
>
> So it will be:
>
> Wicket (View) <-> Facade <-> (Model, Controller)
>
> Until now I have been wronlgy assuming that wicket can manage the
> lifecycle of Model, View, Controller, but it truly becomes a mess with
> serialization issues and complex logic.
>
> My 2cents ;)
>
> **
> Martin
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: A lesson learned about wicket

2011-12-14 Thread Martin Makundi
Hi!

>> Wicket (View) <-> Facade <-> (Model, Controller)
>
> Wicket (View) <-> Controller -> Facade (using interface IModel) + direct 
> model access -> Model (Data)

No. If contorller is touched by Wicket, it spoils the state. I know
your proposal works in simple situations, but when you have lots of
players, items and bolts, the problem is that we find ourselves with
multiple "actors" from different request cycles (different serialized
copy). So I see that only solution is to push all meaningful parts
behind the facade so all wicket sees is a single instance of facede
and controller.

> So what exactly is the problem?
>
> If you don't like serialization you basically use something
> like LoadableDetachableModel.

Well.. I need to keep the "selection" somewhere. And if I have a
hierarchical structure the first idea is to keep the "selection"
instance inside wicket. But whoa when you need to do something with
that "selection" after it has become stale. Anyways, the use case is
quite complex to explain in short.

Think like if you were implementing the Rubic Cube with wicket... the
dependencies get quite complex.

> Serialization is needed to persist state across request over a
> stateless protocol like HTTP. It's not there to bully our users :-)

Exactly, but it is very error prone to try to keep track of the
instances. It is simply easier to push all such logic out of wicket,
to behind the facade.

> If you can't serialize you need to restore state on your own using
> for example LoadableDetachableModel.

Well.. that would be a stateless application ;)

**
Martin

>
>>
>> My 2cents ;)
>>
>
> 4 cent now :-)
>
> If you need help you are always welcome to ask!
>
> Best regards
> Peter
>
>> **
>> Martin
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: A lesson learned about wicket

2011-12-14 Thread Peter Ertl
Hi Martin,

trying to give you a qualified opinion on your post...

Am 14.12.2011 um 09:12 schrieb Martin Makundi:

> Hi!
> 
> Today I have learned about a huge misconception I have had about wicket 1.4.
> 
> I have actually been thinking that it is an MVC framework.
> But it is practically not. Why? Wicket's request cycle and
> serialization process makes effortless MVC design almost impossible.

Struts is an 'MVC framework' but I can't remember that it made anything 
'effortless'.

Or asking differently: Is there _any_ MVC framework where things are effortless 
(™)? We would like to learn from that framework so we can improve :-)

> It seems like wicket is just an "MVC proxy", via IModels.

IModel just mediates between between M and VC. Basically you don't have to 
tweak your Model M so it fits into VC. Probably IModel should be renamed into 
IModelAdapterForPresentationLayer but that much typing would really not help 
anybody.

> Maybe it's just my mistake, but maybe it is also a design issue in
> wicket. Don't know yet.
> 
> Nevertheless, I am trying out a new approach where model and wicket
> are more strictly decoupled: wicket will only render what is managed
> in a non-visual model that has a some sort of "facade" representation
> which can be iterated and rendered.
> 
> So it will be:
> 
> Wicket (View) <-> Facade <-> (Model, Controller)

Wicket (View) <-> Controller -> Facade (using interface IModel) + direct model 
access -> Model (Data)

> Until now I have been wronlgy assuming that wicket can manage the
> lifecycle of Model, View, Controller, but it truly becomes a mess with
> serialization issues and complex logic.

By putting your stuff into WebApplication, WebSession and Request you have the 
typical life cycles of an web application. Putting stuff into pages and 
transferring them to other pages by reference can even give you 
conversation-style scope. Also you can use stuff like 'Weld' where Igor wrote a 
nice article about integration into Wicket. So what exactly is the problem?

If you don't like serialization you basically use something like 
LoadableDetachableModel. Serialization is needed to persist state across 
request over a stateless protocol like HTTP. It's not there to bully our users 
:-)

If you can't serialize you need to restore state on your own using for example 
LoadableDetachableModel.

> 
> My 2cents ;)
> 

4 cent now :-)

If you need help you are always welcome to ask!

Best regards
Peter

> **
> Martin
> 
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
> 


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: A lesson learned about wicket

2011-12-14 Thread Martin Makundi
Hi!

>>I have actually been thinking that [Wicket] is an MVC framework.
>
> Looking at all the other MVC web frameworks I'm glad it isn't.
>
> What issues are you trying to solve actually?

That's a long story. We have complex business logic in complex
multidimensional forms... yeah, don't try handling all that complexity
dynamically in wicket, let wicket see just a facade.

**
Martin

> Sven
>
> Am 14.12.2011 09:12, schrieb Martin Makundi:
>>
>> Hi!
>>
>> Today I have learned about a huge misconception I have had about wicket
>> 1.4.
>>
>> I have actually been thinking that it is an MVC framework.
>>
>> But it is practically not. Why? Wicket's request cycle and
>> serialization process makes effortless MVC design almost impossible.
>> It seems like wicket is just an "MVC proxy", via IModels.
>>
>> Maybe it's just my mistake, but maybe it is also a design issue in
>> wicket. Don't know yet.
>>
>> Nevertheless, I am trying out a new approach where model and wicket
>> are more strictly decoupled: wicket will only render what is managed
>> in a non-visual model that has a some sort of "facade" representation
>> which can be iterated and rendered.
>>
>> So it will be:
>>
>> Wicket (View)<->  Facade<->  (Model, Controller)
>>
>> Until now I have been wronlgy assuming that wicket can manage the
>> lifecycle of Model, View, Controller, but it truly becomes a mess with
>> serialization issues and complex logic.
>>
>> My 2cents ;)
>>
>> **
>> Martin
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: A lesson learned about wicket

2011-12-14 Thread Sven Meier

Hi Martin,

>I have actually been thinking that [Wicket] is an MVC framework.

Looking at all the other MVC web frameworks I'm glad it isn't.

What issues are you trying to solve actually?

Sven

Am 14.12.2011 09:12, schrieb Martin Makundi:

Hi!

Today I have learned about a huge misconception I have had about wicket 1.4.

I have actually been thinking that it is an MVC framework.

But it is practically not. Why? Wicket's request cycle and
serialization process makes effortless MVC design almost impossible.
It seems like wicket is just an "MVC proxy", via IModels.

Maybe it's just my mistake, but maybe it is also a design issue in
wicket. Don't know yet.

Nevertheless, I am trying out a new approach where model and wicket
are more strictly decoupled: wicket will only render what is managed
in a non-visual model that has a some sort of "facade" representation
which can be iterated and rendered.

So it will be:

Wicket (View)<->  Facade<->  (Model, Controller)

Until now I have been wronlgy assuming that wicket can manage the
lifecycle of Model, View, Controller, but it truly becomes a mess with
serialization issues and complex logic.

My 2cents ;)

**
Martin

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org




-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



A lesson learned about wicket

2011-12-14 Thread Martin Makundi
Hi!

Today I have learned about a huge misconception I have had about wicket 1.4.

I have actually been thinking that it is an MVC framework.

But it is practically not. Why? Wicket's request cycle and
serialization process makes effortless MVC design almost impossible.
It seems like wicket is just an "MVC proxy", via IModels.

Maybe it's just my mistake, but maybe it is also a design issue in
wicket. Don't know yet.

Nevertheless, I am trying out a new approach where model and wicket
are more strictly decoupled: wicket will only render what is managed
in a non-visual model that has a some sort of "facade" representation
which can be iterated and rendered.

So it will be:

Wicket (View) <-> Facade <-> (Model, Controller)

Until now I have been wronlgy assuming that wicket can manage the
lifecycle of Model, View, Controller, but it truly becomes a mess with
serialization issues and complex logic.

My 2cents ;)

**
Martin

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org