I am one of the committee members :)
The cairngorm micro-architecture wasn't build to
handle multiple instances of the same view because in standard web apps,
this is not required (usually you have one instance of a particular view). So
this is the best way to accomplish this for now.
Of course, because of Flex and the fact that you can pop-up
multiple instances of the same view, this might be something that we will have
to review in the future.
Dimitrios
Gianninas
RIA Developer
Optimal
Payments Inc.
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of maxym.hryniv
Sent: Monday, May 15, 2006 9:32 AM
To: [email protected]
Subject: [flexcoders] Re: Cairngorm microarchitecture. 2 instances of view with different data.
doesn't fit to cairngorm architecture. Maybe someone of cairngorm
authors can describe clean and logical solution?
--- In [email protected], "Dimitrios Gianninas" <dimitrios.
[EMAIL PROTECTED]> wrote:
>
> I asked for screenshot because an image can help understand exactly
what
> you are getting at. Actually I missed the word "instance" in your
> previous post... so you can have X instances of the same view that
can
> appear, each with its own set of data. That's similar to the a user
> admin app I created (screenshot below).
>
> In these cases, you can't use data binding, you will have to pass
the
> view helper instance to the command object, so it can use the view
> helper instance to update the appropriate view. This is the way I
did it
> and it works, there might be a better way, others can comment.
>
> Does that help?
>
>
>
>
> Dimitrios Gianninas
> RIA Developer
> Optimal Payments Inc.
>
>
> ________________________________
>
> From: [email protected] [mailto:[EMAIL PROTECTED]
On
> Behalf Of maxym.hryniv
> Sent: Monday, May 15, 2006 8:58 AM
> To: [email protected]
> Subject: [flexcoders] Re: Cairngorm microarchitecture. 2 instances
of
> view with different data.
>
>
> Dimitrios, thank you for quick reply, but please don't post reply if
> you are not in context. It's a question about architecture and i'm
> wondering why you are asking for a screenshot? I'll try to clarify
my
> question
> I have
> 1. 2 different set of delegates (different classes)
> 2. 2 different data instances (the same data class)
> 3. 2 instances of ONE view (the same class) that support 2 modes.
> I have to see in THE SAME TIME one instance of view with one set of
> data (received by the first set of delegates - my guestbook
messages)
> and another with second set of data (received by the second set of
> delegates - my friend guestbook messages).
> And probably i'll have a possibility to see 3 or X guestbooks in the
> same screen (depends on UI team solution - i don't care about UI)
> eachone with another set of data (different people guestbooks).
>
> Waiting for reply.
>
> --- In [email protected], "Dimitrios Gianninas" <dimitrios.
> gianninas@> wrote:
> >
> > Ok, maybe if you can provide some sample code or a screenshot of
> what
> > these two views look like would help. Is it that the two views are
> going
> > to update the data in two different fashions?
> >
> > Dimitrios Gianninas
> > RIA Developer
> > Optimal Payments Inc.
> >
> >
> > ________________________________
> >
> > From: [email protected] [mailto:[EMAIL PROTECTED]
com]
> On
> > Behalf Of maxym.hryniv
> > Sent: Monday, May 15, 2006 8:04 AM
> > To: [email protected]
> > Subject: [flexcoders] Re: Cairngorm microarchitecture. 2 instances
> of
> > view with different data.
> >
> >
> > True, You don't understand my problem.
> > I have
> > 1. 2 different set of delegates (different classes)
> > 2. 2 different data instances (the same data class)
> > 3. 2 instances of ONE view that support 2 modes.
> > I have to see in THE SAME TIME one instance of view with one set
of
> > data and another with second set of data.
> >
> > Waiting for reply.
> >
> > --- In [email protected], "Dimitrios Gianninas"
<dimitrios.
> > gianninas@> wrote:
> > >
> > >
> > > Hi,
> > >
> > > Unless I don't fully understand your problem, the solution is
> > simple. You don't need to create 2 different models for the same
> > data. You create the variable to hold your data on the
ModelLocator
> > (ex.: ModelLocator.messages) and then bind this variables to
> controls
> > on our 2 views. First part done.
> > >
> > > Now, when the owner logs in, you will get his messages and
assign
> > them to this variable, OR when a visitor logs in, you do exactly
the
> > same thing. You don't need 2 FrontControllers, always use one.
> > >
> > > I think your question has more to do with controlling what a
> visitor
> > can do as opposed to a owner, which has more power. Yes?
> > >
> > > Dimitrios Gianninas
> > >
> > > -----Original Message-----
> > > From: [email protected] on behalf of maxym.hryniv
> > > Sent: Mon 5/15/2006 3:29 AM
> > > To: [email protected]
> > > Subject: [flexcoders] Re: Cairngorm microarchitecture. 2
instances
> > of view with different data.
> > >
> > > Thanx for reply Tim, but you didnt't understand my question.
> > > If i bind "the same value object (data) to more than one
> > > view(component)" i'll have the same information in both views,
but
> i
> > > must have different information.
> > > "Before you change the view state, you dispatch the getMessages
> > event
> > > (to return messages based on the user's role)" - It's called
> > HARDCODE
> > > and it's unacceptable.
> > > And i have to display different information at the same time in
> > > different instances of one view thats why your suggestion will
not
> > > work. However thank you.
> > > Btw i have different delegates for different states cause of
> server
> > > side architecture. It's another one reason why it will not work.
> > >
> > > Waiting for reply.
> > >
> > > --- In [email protected], "Tim Hoff" <TimHoff@> wrote:
> > > >
> > > >
> > > > Ok, there are certainly more qualified people on this list
> > > (especially
> > > > the creators of Cairngorm) that could give you some sage
advice.
>
> > > But
> > > > let me throw out a couple of ideas and try to help you. It's
a
> > > little
> > > > difficult to know what your use-case is exactly without seeing
> the
> > > code,
> > > > but here is a simple scenario. There are two things to keep
in
> > > mind.
> > > > In Cairngorm, there is only one control class; the
> > FrontController.
> > > > Also, you shouldn't need to maintain two sets of data in the
> > > > ModelLocator. You can bind the same value object (data) to
more
> > > than
> > > > one view (component). For example, let's say that you have:
> > > >
> > > > 2 views - visitorView and ownerView (view)
> > > > 3 events - getMessages, insertMessage, updateMessage (control
-
> > > > FrontController)
> > > > 3 commands - getMessagesCommand, insertMessageCommand,
> > > > updateMessageCommand (commands)
> > > > 3 delegates - getMessagesDelegate, insertMessageDelegate,
> > > > updateMessageDelegate (business)
> > > > 2 valueObjects - messageVO, selectedMessage (vo and model -
> > > > ModelLocator)
> > > >
> > > > The views dictate which user gestures (events) are allowed to
be
> > > > dispatched; based on the role of the user (vistor or owner)
For
> > > > instance, both views allow the user to read messages
> (getMessages)
> > > and
> > > > post messages (insertMessage). While only the owner view
allows
> > the
> > > > user to edit messages (editMessage). Before you change the
view
> > > state,
> > > > you dispatch the getMessages event (to return messages based
on
> > the
> > > > user's role). The event causes the getMessagesCommand to
> execute,
> > > which
> > > > in turn instantiates the getMessagesDelegate class. The
result
> > from
> > > the
> > > > service call is then cast to the messageVO, which resides in
the
> > > > modelLocator. The messageVO can then be bound to both views,
> > since
> > > they
> > > > both allow the user to read messages. Even though the VO is
> bound
> > > to
> > > > both views, the user will only see the view that is associated
> > with
> > > > their role. The same scenario can be used for posting
messages,
> > > because
> > > > it is a common user gesture for both views. For the gestures
> that
> > > are
> > > > unique to a view, like editing a message in the ownerView, you
> > would
> > > > only dispatch the appropriate event (updateMessage) that is
> > allowed
> > > for
> > > > the user's role. Simply stated, the ownerView would have an
> edit
> > > button
> > > > and the visitor view wouldn't I know that this isn't your
exact
> > > > use-case, but hopefully it will give you some ideas.
> > > >
> > > > Regards,
> > > > Tim Hoff
> > > >
> > > >
> > > >
> > > >
> > > > --- In [email protected], "maxym.hryniv" <mokus@>
> wrote:
> > > > >
> > > > > Hy, coders.
> > > > > I have a question:
> > > > > We are creating social network portal. Any user of our
network
> > > must
> > > > > have a possibility to create his own guestbook.
> > > > > I have questbook control that supports 2 states: Owner and
> > visitor
> > > > > (created using viewstates mechanism). In owner mode you have
> > full
> > > > > control of your guestbook and in visitor mode you can only
> post
> > > > > messages. When you open your own blog it uses one set of
> server
> > > > > Delegates and when you open another person blog it uses
> another
> > > set.
> > > > > If i use standart cairngorm approach i have to create 2
> > different
> > > sets
> > > > > of data in ModelLocator for owner view and for visitor view
> and
> > > then i
> > > > > have to create 2 different control classes. Can someone
> suggest
> > me
> > > how
> > > > > to resolve this problem, cause i want to use the same
control
> > > class.
> > > > > I'll probably have superuser mode, and i don't want to make
a
> > > > > copy&paste.
> > > > > Btw it's all about flex 1.5, Cairngorm 0.99.
> > > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > > Flexcoders Mailing List
> > > FAQ: http://groups.yahoo.com/group/flexcoders/files/
flexcodersFAQ.
> > txt
> > > Search Archives: http://www.mail-archive.com/flexcoders%
> > 40yahoogroups.com
> > >
> > >
> > >
> > >
> > > SPONSORED LINKS
> > > Web site design development <http://groups.yahoo.com/gads?
> >
>
t=ms&k=Web+site+design+development&w1=Web+site+design+development&w2=C
> >
>
omputer+software+development&w3=Software+design+and+development&w4=Mac
> > romedia+flex&w5=Software+development+best+practice&c=5&s=166&.
sig=L-
> > 4QTvxB_quFDtMyhrQaHQ> Computer software development
> > <http://groups.
> > yahoo.com/gads?
> >
>
t=ms&k=Computer+software+development&w1=Web+site+design+development&w2
> >
>
=Computer+software+development&w3=Software+design+and+development&w4=M
> > acromedia+flex&w5=Software+development+best+practice&c=5&s=166&.
> > sig=lvQjSRfQDfWudJSe1lLjHw> Software design and development
> > <http://
> > groups.yahoo.com/gads?
> >
>
t=ms&k=Software+design+and+development&w1=Web+site+design+development&
> >
>
w2=Computer+software+development&w3=Software+design+and+development&w4
> > =Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.
> > sig=1pMBCdo3DsJbuU9AEmO1oQ>
> > > Macromedia flex <http://groups.yahoo.com/gads?
> >
>
t=ms&k=Macromedia+flex&w1=Web+site+design+development&w2=Computer+soft
> >
>
ware+development&w3=Software+design+and+development&w4=Macromedia+flex
> > &w5=Software+development+best+practice&c=5&s=166&.
> > sig=OO6nPIrz7_EpZI36cYzBjw> Software development best
> practice
> > <http://groups.yahoo.com/gads?
> >
>
t=ms&k=Software+development+best+practice&w1=Web+site+design+developme
> >
>
nt&w2=Computer+software+development&w3=Software+design+and+development
> >
>
&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.
> > sig=f89quyyulIDsnABLD6IXIw>
> > >
> > > ________________________________
> > >
> > > YAHOO! GROUPS LINKS
> > >
> > >
> > > * Visit your group "flexcoders <http://groups.yahoo.
> com/
> > group/flexcoders> " on the web.
> > >
> > > * To unsubscribe from this group, send an email to:
> > > [EMAIL PROTECTED] <mailto:flexcoders-
> > [EMAIL PROTECTED]>
> > >
> > > * Your use of Yahoo! Groups is subject to the Yahoo! Terms
of
> > Service <http://docs.yahoo.com/info/terms/> .
> > >
> > >
> > > ________________________________
> > >
> >
> >
> >
> >
> >
> >
> > --
> > Flexcoders Mailing List
> > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.
> txt
> > Search Archives:
> > http://www.mail-archive.com/flexcoders%40yahoogroups.com
> >
> >
> >
> >
> > SPONSORED LINKS
> > Web site design development
> > <http://groups.yahoo.com/gads?
> t=ms&k=Web+site+design+development&w1=Web+
> >
>
site+design+development&w2=Computer+software+development&w3=Software+d
> es
> >
>
ign+and+development&w4=Macromedia+flex&w5=Software+development+best+pr
> ac
> > tice&c=5&s=166&.sig=L-4QTvxB_quFDtMyhrQaHQ> Computer
software
> > development
> > <http://groups.yahoo.com/gads?
> t=ms&k=Computer+software+development&w1=We
> >
>
b+site+design+development&w2=Computer+software+development&w3=Software
> +d
> >
>
esign+and+development&w4=Macromedia+flex&w5=Software+development+best
> +pr
> > actice&c=5&s=166&.sig=lvQjSRfQDfWudJSe1lLjHw> Software
design
> and
> > development
> > <http://groups.yahoo.com/gads?
> t=ms&k=Software+design+and+development&w1=
> >
>
Web+site+design+development&w2=Computer+software+development&w3=Softwa
> re
> >
>
+design+and+development&w4=Macromedia+flex&w5=Software+development+bes
> t+
> > practice&c=5&s=166&.sig=1pMBCdo3DsJbuU9AEmO1oQ>
> > Macromedia flex
> > <http://groups.yahoo.com/gads?
> t=ms&k=Macromedia+flex&w1=Web+site+design+
> >
>
development&w2=Computer+software+development&w3=Software+design+and+de
> ve
> >
>
lopment&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s
> =1
> > 66&.sig=OO6nPIrz7_EpZI36cYzBjw> Software development best
> > practice
> > <http://groups.yahoo.com/gads?
> t=ms&k=Software+development+best+practice&
> >
>
w1=Web+site+design+development&w2=Computer+software+development&w3=Sof
> tw
> >
>
are+design+and+development&w4=Macromedia+flex&w5=Software+development
> +be
> > st+practice&c=5&s=166&.sig=f89quyyulIDsnABLD6IXIw>
> >
> > ________________________________
> >
> > YAHOO! GROUPS LINKS
> >
> >
> >
> > * Visit your group "flexcoders
> > <http://groups.yahoo.com/group/flexcoders> " on the web.
> >
> > * To unsubscribe from this group, send an email to:
> > [EMAIL PROTECTED]
> > <mailto:[EMAIL PROTECTED]
subject=Unsubscribe>
> >
> > * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> > Service <http://docs.yahoo.com/info/terms/> .
> >
> >
> > ________________________________
> >
>
>
>
>
>
>
>
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.
txt
> Search Archives:
> http://www.mail-archive.com/flexcoders%40yahoogroups.com
>
>
>
>
> SPONSORED LINKS
> Web site design development
> <http://groups.yahoo.com/gads?
t=ms&k=Web+site+design+development&w1=Web+
>
site+design+development&w2=Computer+software+development&w3=Software+d
es
>
ign+and+development&w4=Macromedia+flex&w5=Software+development+best+pr
ac
> tice&c=5&s=166&.sig=L-4QTvxB_quFDtMyhrQaHQ> Computer software
> development
> <http://groups.yahoo.com/gads?
t=ms&k=Computer+software+development&w1=We
>
b+site+design+development&w2=Computer+software+development&w3=Software
+d
>
esign+and+development&w4=Macromedia+flex&w5=Software+development+best
+pr
> actice&c=5&s=166&.sig=lvQjSRfQDfWudJSe1lLjHw> Software design
and
> development
> <http://groups.yahoo.com/gads?
t=ms&k=Software+design+and+development&w1=
>
Web+site+design+development&w2=Computer+software+development&w3=Softwa
re
>
+design+and+development&w4=Macromedia+flex&w5=Software+development+bes
t+
> practice&c=5&s=166&.sig=1pMBCdo3DsJbuU9AEmO1oQ>
> Macromedia flex
> <http://groups.yahoo.com/gads?
t=ms&k=Macromedia+flex&w1=Web+site+design+
>
development&w2=Computer+software+development&w3=Software+design+and+de
ve
>
lopment&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s
=1
> 66&.sig=OO6nPIrz7_EpZI36cYzBjw> Software development best
> practice
> <http://groups.yahoo.com/gads?
t=ms&k=Software+development+best+practice&
>
w1=Web+site+design+development&w2=Computer+software+development&w3=Sof
tw
>
are+design+and+development&w4=Macromedia+flex&w5=Software+development
+be
> st+practice&c=5&s=166&.sig=f89quyyulIDsnABLD6IXIw>
>
> ________________________________
>
> YAHOO! GROUPS LINKS
>
>
>
> * Visit your group "flexcoders
> <http://groups.yahoo.com/group/flexcoders> " on the web.
>
> * To unsubscribe from this group, send an email to:
> [EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>
>
> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> Service <http://docs.yahoo.com/info/terms/> .
>
>
> ________________________________
>
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
YAHOO! GROUPS LINKS
- Visit your group "flexcoders" on the web.
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

