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 <renggli(a)gmail.com> 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