magrite toOne relationship and component creation

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

magrite toOne relationship and component creation

NorbertHartl
In the MARelationDescription it is possible to specify a variety of target clases that can be used. If I have more than one I cannot set the reference at the same time. This gives me trouble using MAExternalEditorComponent.

Shouldn't

MARelationComponent>>editorFor: anObject
        ^ (self description reference asComponentOn: anObject)
                addValidatedForm;
                yourself

be rather

MARelationComponent>>editorFor: anObject
        ^ (anObject description asComponentOn: anObject)
                addValidatedForm;
                yourself

?

Norbert
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: magrite toOne relationship and component creation

Lukas Renggli
> Shouldn't
>
> MARelationComponent>>editorFor: anObject
>        ^ (self description reference asComponentOn: anObject)
>                addValidatedForm;
>                yourself
>
> be rather
>
> MARelationComponent>>editorFor: anObject
>        ^ (anObject description asComponentOn: anObject)
>                addValidatedForm;
>                yourself
>
> ?

It depends what you want to do. I suggest that you create a subclass
that works for your use-case.

As I already explained here several times, I've personally never used
the relationships. I rarely found the default behavior useful, and
another default behavior was not useful in other contexts.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: magrite toOne relationship and component creation

John McKeon
Hello Lukas,

On Sat, Feb 20, 2010 at 3:45 AM, Lukas Renggli <[hidden email]> wrote:
> Shouldn't
>
> MARelationComponent>>editorFor: anObject
>        ^ (self description reference asComponentOn: anObject)
>                addValidatedForm;
>                yourself
>
> be rather
>
> MARelationComponent>>editorFor: anObject
>        ^ (anObject description asComponentOn: anObject)
>                addValidatedForm;
>                yourself
>
> ?

It depends what you want to do. I suggest that you create a subclass
that works for your use-case.

As I already explained here several times, I've personally never used
the relationships. I rarely found the default behavior useful, and
another default behavior was not useful in other contexts.

I have always found this statement to be somewhat disturbing on each of those several occasions. 
Could you elaborate on this a little? What *would* you use to describe a collection? Do you mean that you always subclass the needed relationship classes to suit your needs? 

Thanks
John


Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki



--
http://jmck.seasidehosting.st

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: magrite toOne relationship and component creation

NorbertHartl
Lukas,

I must agree with John. I never understood your quick and anti-relationship responses. I think it is an important part of the meta model that you can try to model a complex scenario with relationships. I agree that it is difficult to find a default behaviour of all those. I would like to hear your answers to Johns questions as well.

Just to repeat myself. You can specify a relationship to a variety of possible target classes. I'm not sure what reference is meant for exaclty but I can't barely imagine a case where the component to build is not dependent on the object being edited. I would be glad to hear something that conflicts with this.

thanks,

Norbert
 
On 20.02.2010, at 15:20, John McKeon wrote:

Hello Lukas,

On Sat, Feb 20, 2010 at 3:45 AM, Lukas Renggli <[hidden email]> wrote:
> Shouldn't
>
> MARelationComponent>>editorFor: anObject
>        ^ (self description reference asComponentOn: anObject)
>                addValidatedForm;
>                yourself
>
> be rather
>
> MARelationComponent>>editorFor: anObject
>        ^ (anObject description asComponentOn: anObject)
>                addValidatedForm;
>                yourself
>
> ?

It depends what you want to do. I suggest that you create a subclass
that works for your use-case.

As I already explained here several times, I've personally never used
the relationships. I rarely found the default behavior useful, and
another default behavior was not useful in other contexts.

I have always found this statement to be somewhat disturbing on each of those several occasions. 
Could you elaborate on this a little? What *would* you use to describe a collection? Do you mean that you always subclass the needed relationship classes to suit your needs? 

Thanks
John


Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki



--
http://jmck.seasidehosting.st
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki


_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: magrite toOne relationship and component creation

Lukas Renggli
> I must agree with John. I never understood your quick and anti-relationship
> responses. I think it is an important part of the meta model that you can
> try to model a complex scenario with relationships. I agree that it is
> difficult to find a default behaviour of all those. I would like to hear
> your answers to Johns questions as well.

The relationships work for simple things. In practice however I have
always felt the need to customize the descriptions through one or more
of the extension mechanisms in Magritte, either for usability or to
satisfy particular customer requests.

I must say that the current implementation is more at the state of a
proof of concept. I never used relationships in any project (other
than the Magritte meta editor in Magritte itself), it is largely
untested in practice. The only changes relationships have seen since
my Master in 2006 were fixes that other people have submitted. The
fact that some of these fixes got reverted again by newer fixes has
led me to the conclusion that at least in the current form the
implementation of relationships is fragile and I refrain from
suggesting its use.

I found it more flexible and user-friendly to let Magritte create
simple components only. I would then compose these individual
components in a master component. This allows one to easily create
arbitrary complex forms with custom navigation between different
objects that exactly match the wishes of the customer with relatively
little glue code.

I know that other web and meta-frameworks go much further here. I
would not mind somebody talking over the issue an implement (and
maintain) better working and well tested relationship descriptions
that solve the current problems.

Lukas






> Just to repeat myself. You can specify a relationship to a variety of
> possible target classes. I'm not sure what reference is meant for exaclty
> but I can't barely imagine a case where the component to build is not
> dependent on the object being edited. I would be glad to hear something that
> conflicts with this.
> thanks,
> Norbert
>
> On 20.02.2010, at 15:20, John McKeon wrote:
>
> Hello Lukas,
>
> On Sat, Feb 20, 2010 at 3:45 AM, Lukas Renggli <[hidden email]> wrote:
>>
>> > Shouldn't
>> >
>> > MARelationComponent>>editorFor: anObject
>> >        ^ (self description reference asComponentOn: anObject)
>> >                addValidatedForm;
>> >                yourself
>> >
>> > be rather
>> >
>> > MARelationComponent>>editorFor: anObject
>> >        ^ (anObject description asComponentOn: anObject)
>> >                addValidatedForm;
>> >                yourself
>> >
>> > ?
>>
>> It depends what you want to do. I suggest that you create a subclass
>> that works for your use-case.
>>
>> As I already explained here several times, I've personally never used
>> the relationships. I rarely found the default behavior useful, and
>> another default behavior was not useful in other contexts.
>
> I have always found this statement to be somewhat disturbing on each of
> those several occasions.
> Could you elaborate on this a little? What *would* you use to describe a
> collection? Do you mean that you always subclass the needed relationship
> classes to suit your needs?
> Thanks
> John
>>
>> Lukas
>>
>> --
>> Lukas Renggli
>> http://www.lukas-renggli.ch
>>
>> _______________________________________________
>> Magritte, Pier and Related Tools ...
>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki
>
>
>
> --
> http://jmck.seasidehosting.st
> _______________________________________________
> Magritte, Pier and Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki
>
> _______________________________________________
> Magritte, Pier and Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki
>



--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: magrite toOne relationship and component creation

John McKeon


On Sat, Feb 20, 2010 at 1:52 PM, Lukas Renggli <[hidden email]> wrote:
> I must agree with John. I never understood your quick and anti-relationship
> responses. I think it is an important part of the meta model that you can
> try to model a complex scenario with relationships. I agree that it is
> difficult to find a default behaviour of all those. I would like to hear
> your answers to Johns questions as well.

The relationships work for simple things. In practice however I have
always felt the need to customize the descriptions through one or more
of the extension mechanisms in Magritte, either for usability or to
satisfy particular customer requests.

I must say that the current implementation is more at the state of a
proof of concept. I never used relationships in any project (other
than the Magritte meta editor in Magritte itself), it is largely
untested in practice. The only changes relationships have seen since
my Master in 2006 were fixes that other people have submitted. The
fact that some of these fixes got reverted again by newer fixes has
led me to the conclusion that at least in the current form the
implementation of relationships is fragile and I refrain from
suggesting its use.

I found it more flexible and user-friendly to let Magritte create
simple components only. I would then compose these individual
components in a master component. This allows one to easily create
arbitrary complex forms with custom navigation between different
objects that exactly match the wishes of the customer with relatively
little glue code.

I know that other web and meta-frameworks go much further here. I
would not mind somebody talking over the issue an implement (and
maintain) better working and well tested relationship descriptions
that solve the current problems.

Lukas


 
Thank you for your reply Lukas. This is very illuminating. I have not ventured much further than the typical "invoice/line item" type of relationships so I have yet to run into any problems that cannot be overcome by overriding and adding some special behavior. For now I find them quite useful.

I am thinking over the last paragraph before committing to anything, though it is an enticing offer. Does it pay well? 

Thanks again

John





> Just to repeat myself. You can specify a relationship to a variety of
> possible target classes. I'm not sure what reference is meant for exaclty
> but I can't barely imagine a case where the component to build is not
> dependent on the object being edited. I would be glad to hear something that
> conflicts with this.
> thanks,
> Norbert
>
> On 20.02.2010, at 15:20, John McKeon wrote:
>
> Hello Lukas,
>
> On Sat, Feb 20, 2010 at 3:45 AM, Lukas Renggli <[hidden email]> wrote:
>>
>> > Shouldn't
>> >
>> > MARelationComponent>>editorFor: anObject
>> >        ^ (self description reference asComponentOn: anObject)
>> >                addValidatedForm;
>> >                yourself
>> >
>> > be rather
>> >
>> > MARelationComponent>>editorFor: anObject
>> >        ^ (anObject description asComponentOn: anObject)
>> >                addValidatedForm;
>> >                yourself
>> >
>> > ?
>>
>> It depends what you want to do. I suggest that you create a subclass
>> that works for your use-case.
>>
>> As I already explained here several times, I've personally never used
>> the relationships. I rarely found the default behavior useful, and
>> another default behavior was not useful in other contexts.
>
> I have always found this statement to be somewhat disturbing on each of
> those several occasions.
> Could you elaborate on this a little? What *would* you use to describe a
> collection? Do you mean that you always subclass the needed relationship
> classes to suit your needs?
> Thanks
> John
>>
>> Lukas
>>
>> --
>> Lukas Renggli
>> http://www.lukas-renggli.ch
>>
>> _______________________________________________
>> Magritte, Pier and Related Tools ...
>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki
>
>
>
> --
> http://jmck.seasidehosting.st
> _______________________________________________
> Magritte, Pier and Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki
>
> _______________________________________________
> Magritte, Pier and Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki
>



--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki



--
http://jmck.seasidehosting.st

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki