Model View separation?

classic Classic list List threaded Threaded
8 messages Options
Greg-2 Greg-2
Reply | Threaded
Open this post in threaded view
|

Model View separation?

Hi I'm curious,

How modular is the LibO code base? In other words, do we have separate
* document model (Model)
* page renderer | slide renderer |  drawing renderer &c. (View)
* bunch of action modules (one for each user action), that can be rendered
as menu/context items, toolbar items, or API calls (Controller)

Just wondered, because I think it presses on the need to build a solid and
flexible foundation that will enable efficacy and ease of restructuring LibO
to implement great plans like Mirek's Citrus.

If the code is a jungle, we'd be better advised to make it fit for purpose. A
goal and a roadmap would be a great idea. Architectural simplification would
also leave some breathing space for the design team to test and refine Mirek's
ideas (and competing proposals) with users.

Hope that makes sense?

Cheers,

Noh

--
Unsubscribe instructions: E-mail to [hidden email]
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/design/
All messages sent to this list will be publicly archived and cannot be deleted

Andrew Pullins Andrew Pullins
Reply | Threaded
Open this post in threaded view
|

Re: Model View separation?

Mirek has made a road map inplace [1]. I have not read this in some time
but it lays out some small things that we can start to do
to transition into implementing it. looks like it could be updated some but
I do not know.

[1]
http://clickortap.wordpress.com/citrus/roadmap/

--
Unsubscribe instructions: E-mail to [hidden email]
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/design/
All messages sent to this list will be publicly archived and cannot be deleted

Charles-H. Schulz Charles-H. Schulz
Reply | Threaded
Open this post in threaded view
|

Re: Model View separation?

Andrew,

Mirek's page is useful as an introduction but it needs a lot more details.
It's a good start though.

Best,

Charles.
Le 25 nov. 2011 03:32, "Andrew Pullins" <[hidden email]> a écrit :

> Mirek has made a road map inplace [1]. I have not read this in some time
> but it lays out some small things that we can start to do
> to transition into implementing it. looks like it could be updated some but
> I do not know.
>
> [1]
> http://clickortap.wordpress.com/citrus/roadmap/
>
> --
> Unsubscribe instructions: E-mail to [hidden email]
> Problems?
> http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
> Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
> List archive: http://listarchives.libreoffice.org/global/design/
> All messages sent to this list will be publicly archived and cannot be
> deleted
>
>

--
Unsubscribe instructions: E-mail to [hidden email]
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/design/
All messages sent to this list will be publicly archived and cannot be deleted

Kévin PEIGNOT-3 Kévin PEIGNOT-3
Reply | Threaded
Open this post in threaded view
|

Re: Model View separation?

Yes, it needs a little bit more details, and before that discussion (and
maybe the survey, I will try to start something this week-end)

2011/11/25 Charles-H. Schulz <[hidden email]>

> Andrew,
>
> Mirek's page is useful as an introduction but it needs a lot more details.
> It's a good start though.
>
> Best,
>
> Charles.
> Le 25 nov. 2011 03:32, "Andrew Pullins" <[hidden email]> a écrit :
>
> > Mirek has made a road map inplace [1]. I have not read this in some time
> > but it lays out some small things that we can start to do
> > to transition into implementing it. looks like it could be updated some
> but
> > I do not know.
> >
> > [1]
> > http://clickortap.wordpress.com/citrus/roadmap/
> >
> > --
> > Unsubscribe instructions: E-mail to [hidden email]
> > Problems?
> > http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
> > Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
> > List archive: http://listarchives.libreoffice.org/global/design/
> > All messages sent to this list will be publicly archived and cannot be
> > deleted
> >
> >
>
> --
> Unsubscribe instructions: E-mail to [hidden email]
> Problems?
> http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
> Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
> List archive: http://listarchives.libreoffice.org/global/design/
> All messages sent to this list will be publicly archived and cannot be
> deleted
>
>

--
Unsubscribe instructions: E-mail to [hidden email]
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/design/
All messages sent to this list will be publicly archived and cannot be deleted

Andrew Pullins Andrew Pullins
Reply | Threaded
Open this post in threaded view
|

Re: Model View separation?

thats why I posted it it looks like it need some more details.

Andrew

--
Unsubscribe instructions: E-mail to [hidden email]
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/design/
All messages sent to this list will be publicly archived and cannot be deleted

Christoph Noack Christoph Noack
Reply | Threaded
Open this post in threaded view
|

Re: Model View separation?

In reply to this post by Greg-2
Hi Greg,

very good question :-)

Am Freitag, den 25.11.2011, 00:31 +0000 schrieb Greg:

> Hi I'm curious,
>
> How modular is the LibO code base? In other words, do we have separate
> * document model (Model)
> * page renderer | slide renderer |  drawing renderer &c. (View)
> * bunch of action modules (one for each user action), that can be rendered
> as menu/context items, toolbar items, or API calls (Controller)
>
> Just wondered, because I think it presses on the need to build a solid and
> flexible foundation that will enable efficacy and ease of restructuring LibO
> to implement great plans like Mirek's Citrus.

Oh, its also required for much smaller plans, I'd say. Although I don't
know alle the scary details, I had lots of discussions with devs in the
past. For example, when we've discussed the need for an "Outline View",
I have been told that the "Model/View" isn't clearly separated in
Writer. Thus being only one example ... so it will need major code
restructuring to provide a clean MVC.

This is one of the reasons why large-scale improvement proposals don't
help our development at the moment ... instead, it helps them to improve
the code iteratively and to refactor bit-by-bit. (Mirek addressed some
of these concerns with his roadmap, although the chunks are still too
large).

> If the code is a jungle, we'd be better advised to make it fit for purpose. A
> goal and a roadmap would be a great idea. Architectural simplification would
> also leave some breathing space for the design team to test and refine Mirek's
> ideas (and competing proposals) with users.

Although some people within the community might disagree: I think a
rough plan - a vision - would greatly help to communicate what we have
in mind in general. And whilst we have our development working with us
on smaller improvements, we could really make use of the given time to
resolve open questions like target users, high-priority workflows, ...

You've asked "Hope that makes sense?" ... Absolutely! Glad to have
people with your expertise around!

Cheers,
Christoph

PS: I'm terribly tired, so I'll skip any mediocre proposal how to
continue. But I'd be happy for any input :-) Good night!


--
Unsubscribe instructions: E-mail to [hidden email]
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/design/
All messages sent to this list will be publicly archived and cannot be deleted
Michel RENON Michel RENON
Reply | Threaded
Open this post in threaded view
|

Re: Model View separation?

In reply to this post by Greg-2
Le 25/11/11 01:31, Greg a écrit :
> Hi I'm curious,
>
> How modular is the LibO code base? In other words, do we have separate
> * document model (Model)
> * page renderer | slide renderer |  drawing renderer&c. (View)
> * bunch of action modules (one for each user action), that can be rendered
> as menu/context items, toolbar items, or API calls (Controller)


I found a page in the OpenOffice wiki that may give some technical answers :
http://wiki.services.openoffice.org/wiki/Architecture/To-Dos#Application-specific_Improvements

I can add another example : the table in writer and calc are different,
event if thay have some basic common behavior

Even if this page is old (the "port to XCanvas" is done), the big points
still remain.
(maybe some devs can confirm this).

Michel

--
Unsubscribe instructions: E-mail to [hidden email]
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/design/
All messages sent to this list will be publicly archived and cannot be deleted

Kohei Yoshida Kohei Yoshida
Reply | Threaded
Open this post in threaded view
|

Re: Model View separation?

In reply to this post by Greg-2
On Fri, 2011-11-25 at 00:31 +0000, Greg wrote:
> How modular is the LibO code base? In other words, do we have separate
> *       document model (Model)
> *       page renderer | slide renderer |  drawing renderer &c. (View)
> *       bunch of action modules (one for each user action), that can
> be rendered
> as menu/context items, toolbar items, or API calls (Controller)

At the framework level this sort of model view separation is enforced,
and each menu item, icon, context menu item etc is represented
internally as a "command", which is mapped to an event ID.

Also these commands are what you see in the list of actions in the key
bindings page.

I suppose that answers your question.

Kohei

--
Kohei Yoshida, LibreOffice hacker, Calc


--
Unsubscribe instructions: E-mail to [hidden email]
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/design/
All messages sent to this list will be publicly archived and cannot be deleted