Ideas for my GSoC project

33 messages Options Options
Embed this Post
Permalink
1 2
Viðar Svansson

Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
Hi Plone developers,

My name is Vidar Svansson and I am one of Plone's Google Summer of Code students. My project is Genesis, the next code generator, mentored by Reinout van Rees. First of all I just want to thank you all for the opportunity and thanks for all the help I have received already. You can reach me on #plone under the nick 'pjesi'.

I have been studying ArchGenXML and how we could improve the usability and functionality. One of my problems though is that I only have rough idea how the ideal generated code should look like for Plone 3.0-3.5. If anyone wants to come up with suggestions on this then I would love to listen.

I have some ideas on the generator which I would love to get some feedback on regarding the model editing. It seems to me that the UML tools are not the perfect fit for the content types and the result is a lot of "hacky" stereotypes and tagged values. Example such as state machines can only be associated with one class and interfaces can't have attributes just to name a couple. My idea is that perhaps we could use our own model editor which is specialised for Plone/Zope development.

Now this might sound extremely complex task, but actually there is quite a lot of tool support for this kind of editors.

The Eclipse Graphical Modeling Framework (GMF) [1] allows you to define your own graphical modeling editor based on your metamodel inside Eclipse. This implies that you could only draw models that represent valid products and automatic validation can be provided. Eclipse would then replace the UML editor you are currently using, and you could generate the code inside the IDE as well so the entire development could take place within Eclipse (or the generated product edited using external editor for those who like).

The openArchitectureWare's Xtext [2] is another framework which can parse textual models based on the metamodel. This could be python-ish abstraction of the product which expresses the same thing as its graphical equivalent. The great thing about this is that experienced user could be up and running with a product super fast as he can type a lot faster than he can draw. The biggest advantage of this representation is that it is super easy to version it. Diffing and merging of XML is no fun and almost impossible. Having simple text artifacts makes versioning of models super easy. It might also be easy to include some custom code inside the model.

The two above could then be transformed from one to the other, so the textual version could be versioned but the graphical version actually used to edit it, for example.

For those who prefer the good old UML tools, then UML profiles can also be used to map to the metamodel, making it completely transparent to them.

Since everything can be based on the same metamodel, the same generator can be used for all representations. The metamodel is written in the Eclipse Modeling Framework (EMF) [3].

I am aware that many developers would not like to use Eclipse. However, it does not need to be used as a IDE but rather just as the modeling tool. The generator could still be invoked from the command line.

If you have any feedback on how you would like to develop your models in the futures, or think I am out of my mind :) then please let me know. I would love to hear about what kind of improvements from AGX you would like to see as well.

Cheers,
Vidar

[1] http://www.eclipse.org/gmf
[2] http://www.eclipse.org/gmt/oaw
[3] http://www.eclipse.org/emf

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Reinout van Rees

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
Viðar Svansson wrote:
>
> My name is Vidar Svansson and I am one of Plone's Google Summer of Code
> students. My project is Genesis, the next code generator, mentored by
> Reinout van Rees. First of all I just want to thank you all for the
> opportunity and thanks for all the help I have received already. You can
> reach me on #plone under the nick 'pjesi'.

Wow, gsoc is only running for a few days and you're already sending
detailed emails like this :-)

> I have some ideas on the generator which I would love to get some
> feedback on regarding the model editing. It seems to me that the UML
> tools are not the perfect fit for the content types and the result is a
> lot of "hacky" stereotypes and tagged values. Example such as state
> machines can only be associated with one class and interfaces can't have
> attributes just to name a couple. My idea is that perhaps we could use
> our own model editor which is specialised for Plone/Zope development.

"our own" == maintenance costs/time. It is probably offset against other
things. Any input on this?

> Eclipse would then replace the UML editor you are currently using

With the current state of UML editors, replacing them by dead chickens
almost seems like a good idea :-)

But: can you keep open the option of using generic UML tools at the same
time or is that route closed off by using some special eclipse metamodel
thingy?

> The openArchitectureWare's Xtext [2] is another framework which can
> parse textual models based on the metamodel. This could be python-ish
> abstraction of the product which expresses the same thing as its
> graphical equivalent. The great thing about this is that experienced
> user could be up and running with a product super fast as he can type a
> lot faster than he can draw. The biggest advantage of this
> representation is that it is super easy to version it. Diffing and
> merging of XML is no fun and almost impossible. Having simple text
> artifacts makes versioning of models super easy. It might also be easy
> to include some custom code inside the model.

I'm sure a lot of developers would hug you if you could get such a
textual format to work :-) I would be pretty much ideal.

> The two above could then be transformed from one to the other, so the
> textual version could be versioned but the graphical version actually
> used to edit it, for example.
>
> For those who prefer the good old UML tools, then UML profiles can also
> be used to map to the metamodel, making it completely transparent to them.

You make it sound pretty easy: is it?

> I am aware that many developers would not like to use Eclipse. However,
> it does not need to be used as a IDE but rather just as the modeling
> tool. The generator could still be invoked from the command line.

The generator, is that part of eclipse (does it use eclipse's
libraries)? Also when running on the command line? Eclipse sounds so GUI
to me :-)

And I think a base requirement for a python/zope/plone modeling tool is
that is written in python. At least, we shouldn't have to write any java
code. Jython/jpython is OK, I guess. Any ideas on this?


Reinout


--
Reinout van Rees  - Programmer at http://zestsoftware.nl/
http://vanrees.org/weblog/     mailto:reinout@...
"White space, the opposite of black hole?" -- Joris slob


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Lars von Wedel

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink

Hello,
>> My project is Genesis, the next code generator, mentored by
>> Reinout van Rees. First of all I just want to thank you all for the
>> opportunity and thanks for all the help I have received already. You can
>> reach me on #plone under the nick 'pjesi'.
>>    
Brilliant thing! I have used ArchGenXML which gave me a good jump start
into Plone product development and would like to add a few comments.

Basically I would second to have some kind of intermediate "neutral"
(yet powerful) layer between UML and the actual generator component. If
this could really be handled by an arbitrary text editor it might make
several things like creation, modification or versioning of a model
simpler than with the graphical UML modeling tools.

Also, there may be other "source" formats such as ontologies which we
might want to use in the future to rapidly generate applications from a
given domain representation. This would surely be better supported by an
expressive intermediate format rather than UML (which I would rate as
relatively vague compared to OWL for instance).

> But: can you keep open the option of using generic UML tools at the same
> time or is that route closed off by using some special eclipse metamodel
> thingy?
>  
That is something I would surely like to see in order to permit a smooth
transition for existing projects. Also, UML is regarded as something
standardized and is therefore easily communicated to customers (rather
than a proprietary language which can only be entered with one certain
tool).

In addition, the UML diagrams really gave me a good starting point for
development in Plone. I could start development at some point I really
confirmed as "known" to me as opposed to Plone development which really
appeared like a thick book very well locked ;-) The UML diagrams were
also quite useful to discuss with customers, just to give them a visual
feedback on progress and where we are (even if they did probably not get
all the details of the object model).

Hence, keeping UML as a possible route (that may not exploit all
features of the new generator, though) would indeed be very welcome.

Maybe it is even possible to combine information from various sources so
that UML can be used for classes and relations, but more detailed
constraints and stereotype-like things could be added through a text file ?

Just my 2 cents,
Lars



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Viðar Svansson

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Reinout van Rees
On 6/1/07, Reinout van Rees <reinout@...> wrote:

> Viðar Svansson wrote:
> >
> > My name is Vidar Svansson and I am one of Plone's Google Summer of Code
> > students. My project is Genesis, the next code generator, mentored by
> > Reinout van Rees. First of all I just want to thank you all for the
> > opportunity and thanks for all the help I have received already. You can
> > reach me on #plone under the nick 'pjesi'.
>
> Wow, gsoc is only running for a few days and you're already sending
> detailed emails like this :-)
>
> > I have some ideas on the generator which I would love to get some
> > feedback on regarding the model editing. It seems to me that the UML
> > tools are not the perfect fit for the content types and the result is a
> > lot of "hacky" stereotypes and tagged values. Example such as state
> > machines can only be associated with one class and interfaces can't have
> > attributes just to name a couple. My idea is that perhaps we could use
> > our own model editor which is specialised for Plone/Zope development.
>
> "our own" == maintenance costs/time. It is probably offset against other
> things. Any input on this?

Compared to maintenance cost/time of supporting all the different XMIs
that the different tools produce and that UML is a moving target, then
this might not mean more time. The tools are actually generated from
their own models. For example, I created a metamodel to try the thing
out. From it I generated a tree editor so I could actually start
modeling inside eclipse *just* by describing how my models should look
like.

Now of course most people would not like the tree editor after being
used to UML boxes (although I find it quite straight forward). So I
can map elements in the metamodel to graphical elements, and generate
the graphical editor. Similarly, I can define the metamodel as an EBNF
grammar. Now technically we don't need special editors for textual
models, but we can generate one that would have syntax highlighting
and such.

All of this does not require any programming in the traditional sense,
only some smart modeling.


> > Eclipse would then replace the UML editor you are currently using
>
> With the current state of UML editors, replacing them by dead chickens
> almost seems like a good idea :-)
>
> But: can you keep open the option of using generic UML tools at the same
> time or is that route closed off by using some special eclipse metamodel
> thingy?

Yes, using UML tools would still be possible, it is simply another
form of expressing the product.

>
> > The openArchitectureWare's Xtext [2] is another framework which can
> > parse textual models based on the metamodel. This could be python-ish
> > abstraction of the product which expresses the same thing as its
> > graphical equivalent. The great thing about this is that experienced
> > user could be up and running with a product super fast as he can type a
> > lot faster than he can draw. The biggest advantage of this
> > representation is that it is super easy to version it. Diffing and
> > merging of XML is no fun and almost impossible. Having simple text
> > artifacts makes versioning of models super easy. It might also be easy
> > to include some custom code inside the model.
>
> I'm sure a lot of developers would hug you if you could get such a
> textual format to work :-) I would be pretty much ideal.

I think so too :)

>
> > The two above could then be transformed from one to the other, so the
> > textual version could be versioned but the graphical version actually
> > used to edit it, for example.
> >
> > For those who prefer the good old UML tools, then UML profiles can also
> > be used to map to the metamodel, making it completely transparent to them.
>
> You make it sound pretty easy: is it?

There are some very sophisticated model-to-model transformation tools
available. A lot of people have been doing this already and there are
special documentations and tools for this. I have not tried it yet
myself but my guess is that I could figure it out in few hours.

The matured UML tools such as MagicDraw even ship with exporting to EMF.

>
> > I am aware that many developers would not like to use Eclipse. However,
> > it does not need to be used as a IDE but rather just as the modeling
> > tool. The generator could still be invoked from the command line.
>
> The generator, is that part of eclipse (does it use eclipse's
> libraries)? Also when running on the command line? Eclipse sounds so GUI
> to me :-)

The generator can be build as an Eclipse plugin. It uses a workflow
engine to input some model, make the neccessary transformations, fill
the templates and output to the filesystem. This does not require any
GUI, you can execute the workflow direcly from a script or from a make
program.

However, if you are drawing our models in the GUI then it might be
more convenient to just push the "generate" button :)

> And I think a base requirement for a python/zope/plone modeling tool is
> that is written in python. At least, we shouldn't have to write any java
> code. Jython/jpython is OK, I guess. Any ideas on this?

My experiments so far have not required a single line of java code.
The templating language is designed for code generation so it has some
advanced functionality which is not common in template languages.
Given that all the major modeling tools available today are written in
Java, then it is not really any change from my point of view. We are
still going to use tools written in Java, not write our own.

Vidar

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Encolpe Degoute-2

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Viðar Svansson
Viðar Svansson a écrit :
> Hi Plone developers,
>
> For those who prefer the good old UML tools, then UML profiles can also
> be used to map to the metamodel, making it completely transparent to them.

Hello,
Just on this point, I made a profile generator from ArchGenXMLL
documentation, to be sure that everything is documented before to be
used in a metamodel. It's commited in 1.5 branch and need some more test
before to be commited in trunk.

Regards,
--
Encolpe Degoute
INGENIWEB (TM) - S.A.S 50000 Euros - RC B 438 725 632
17 rue Louise Michel - 92300 Levallois Perret - France
web : www.ingeniweb.com - « les Services Web Ingénieux »
Tel : 01.78.15.24.03 / Fax : 01 47 57 39 14


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
justizin-2

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Viðar Svansson
On 6/1/07, Viðar Svansson <vidarsvans@...> wrote:

> On 6/1/07, Reinout van Rees <reinout@...> wrote:
> > Viðar Svansson wrote:
> > >
> > > My name is Vidar Svansson and I am one of Plone's Google Summer of Code
> > > students. My project is Genesis, the next code generator, mentored by
> > > Reinout van Rees. First of all I just want to thank you all for the
> > > opportunity and thanks for all the help I have received already. You can
> > > reach me on #plone under the nick 'pjesi'.
> >
> > Wow, gsoc is only running for a few days and you're already sending
> > detailed emails like this :-)
> >
> > > I have some ideas on the generator which I would love to get some
> > > feedback on regarding the model editing. It seems to me that the UML
> > > tools are not the perfect fit for the content types and the result is a
> > > lot of "hacky" stereotypes and tagged values. Example such as state
> > > machines can only be associated with one class and interfaces can't have
> > > attributes just to name a couple. My idea is that perhaps we could use

It sounds like we also want to advance the feature set of UML..

> > > our own model editor which is specialised for Plone/Zope development.
> >
> > "our own" == maintenance costs/time. It is probably offset against other
> > things. Any input on this?
>
> Compared to maintenance cost/time of supporting all the different XMIs
> that the different tools produce and that UML is a moving target, then
> this might not mean more time. The tools are actually generated from
> their own models. For example, I created a metamodel to try the thing
> out. From it I generated a tree editor so I could actually start
> modeling inside eclipse *just* by describing how my models should look
> like.
>

This does sound very neat - I recall a colleague of mine saying that
he was using GWT to visualize changesets..

> Now of course most people would not like the tree editor after being
> used to UML boxes (although I find it quite straight forward). So I

Is it as useful for pointing at in front of people?  UML is part of a
software engineering process, it's important not to consider this
purely a part of "manufacturing" software so much as a very early
step.  People who don't code understand UML and some of them have been
exposed to it before, because it's standard.

> can map elements in the metamodel to graphical elements, and generate
> the graphical editor. Similarly, I can define the metamodel as an EBNF
> grammar. Now technically we don't need special editors for textual
> models, but we can generate one that would have syntax highlighting
> and such.
>
> All of this does not require any programming in the traditional sense,
> only some smart modeling.
>

> >
> > > I am aware that many developers would not like to use Eclipse. However,
> > > it does not need to be used as a IDE but rather just as the modeling
> > > tool. The generator could still be invoked from the command line.
> >
> > The generator, is that part of eclipse (does it use eclipse's
> > libraries)? Also when running on the command line? Eclipse sounds so GUI
> > to me :-)
>
> The generator can be build as an Eclipse plugin. It uses a workflow

What happened to libcoral?

> engine to input some model, make the neccessary transformations, fill
> the templates and output to the filesystem. This does not require any
> GUI, you can execute the workflow direcly from a script or from a make
> program.
>
> However, if you are drawing our models in the GUI then it might be
> more convenient to just push the "generate" button :)
>
> > And I think a base requirement for a python/zope/plone modeling tool is
> > that is written in python. At least, we shouldn't have to write any java
> > code. Jython/jpython is OK, I guess. Any ideas on this?
>
> My experiments so far have not required a single line of java code.

Another concern is possibly the amount of installation required for
someone who is a relative non-developer and simply wants to generate
something simple, or re-generate something from an existing model.

> The templating language is designed for code generation so it has some
> advanced functionality which is not common in template languages.
> Given that all the major modeling tools available today are written in
> Java, then it is not really any change from my point of view. We are
> still going to use tools written in Java, not write our own.
>

Does this functionality run in parallel to coral, or overlap?

Also, there is Gaphor whose community we have been working with for
1-2 years now, and they have talked about supporting ATs directly in
their editor.

Thing is, since all modeling tools suck, as you say, a lot of us might
like to contribute to one that isn't written in Java.  I don't think
in 3 years we'll be any more pleased at having chosen Eclipse versus
having chosen ArgoUML and Poseidon.. Rather than selecting a tool, I
think it *is* important to continue using non-vendor-specific
approaches to modeling / metamodeling in such a way that we can adopt
tools as they are made available to the world.

$0.02

--
Justin Alan Ryan, Director, VonGogo Foundation
Independent Interactivity Architect, ACM SIGGRAPH
http://www.siggraph.org/members/jryan
+1-415-226-1199

"I can't do anything but play guitar."
  --Tommy Bolin

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Larry Pitcher-3

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Viðar Svansson
Viðar Svansson wrote:

> Hi Plone developers,
>
> I have some ideas on the generator which I would love to get some
> feedback on regarding the model editing. It seems to me that the UML
> tools are not the perfect fit for the content types and the result is a
> lot of "hacky" stereotypes and tagged values. Example such as state
> machines can only be associated with one class and interfaces can't have
> attributes just to name a couple. My idea is that perhaps we could use
> our own model editor which is specialised for Plone/Zope development.
>
Vidar,

I've been using AGX with Poseidon for a while now and I've been
frustrated that the tool doesn't really "fit the task" well so you have
a good point here.

> Now this might sound extremely complex task, but actually there is quite
> a lot of tool support for this kind of editors.
>
> The Eclipse Graphical Modeling Framework (GMF) [1] allows you to define
> your own graphical modeling editor based on your metamodel inside
> Eclipse. This implies that you could only draw models that represent
> valid products and automatic validation can be provided. Eclipse would
> then replace the UML editor you are currently using, and you could
> generate the code inside the IDE as well so the entire development could
> take place within Eclipse (or the generated product edited using
> external editor for those who like).

I've started using Eclipse and I really like it. There are so many
useful plug-ins. I just started using Mylar to view my Trac tickets
inside of Eclipse! There's the SVN integration and PyDev stuff too. I
know it's a memory hog, but it works. I think there are quite a few
Plone developers using Eclipse, but maybe not the core developers...

Anyway, here's one non-core Plone developer who doesn't mind using a
tool that's not written in Python!

Thanks for your work,

Larry Pitcher
Catapult Solutions

> If you have any feedback on how you would like to develop your models in
> the futures, or think I am out of my mind :) then please let me know. I
> would love to hear about what kind of improvements from AGX you would
> like to see as well.
>
> Cheers,
> Vidar
>
> [1] http://www.eclipse.org/gmf
> [2] http://www.eclipse.org/gmt/oaw
> [3] http://www.eclipse.org/emf

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
justizin-2

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by justizin-2
On 6/1/07, Justizin <justizin@...> wrote:
> On 6/1/07, Viðar Svansson <vidarsvans@...> wrote:

> > Now of course most people would not like the tree editor after being
> > used to UML boxes (although I find it quite straight forward). So I
>
> Is it as useful for pointing at in front of people?  UML is part of a
> software engineering process, it's important not to consider this
> purely a part of "manufacturing" software so much as a very early
> step.  People who don't code understand UML and some of them have been
> exposed to it before, because it's standard.
>

Eh, I should say: some people who can't code can read UML, or at least
it can be used as a visual aid.

Perhaps this can be served by a different process whereby a visual
"app map" was related to the metamodel, but not the defining aspect?

--
Justin Alan Ryan, Director, VonGogo Foundation
Independent Interactivity Architect, ACM SIGGRAPH
http://www.siggraph.org/members/jryan
+1-415-226-1199

"I can't do anything but play guitar."
  --Tommy Bolin

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Martin Aspeli-2

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Viðar Svansson
Hi Vidar,

> My name is Vidar Svansson and I am one of Plone's Google Summer of Code
> students. My project is Genesis, the next code generator, mentored by
> Reinout van Rees. First of all I just want to thank you all for the
> opportunity and thanks for all the help I have received already. You can
> reach me on #plone under the nick 'pjesi'.

Welcome :-)

> I have been studying ArchGenXML and how we could improve the usability
> and functionality. One of my problems though is that I only have rough
> idea how the ideal generated code should look like for Plone 3.0-3.5. If
> anyone wants to come up with suggestions on this then I would love to
> listen.

Can you contact me in private? I have some code you could look at which
outlines my ideas, but it's not something I can release publicly (yet).

> I have some ideas on the generator which I would love to get some
> feedback on regarding the model editing. It seems to me that the UML
> tools are not the perfect fit for the content types and the result is a
> lot of "hacky" stereotypes and tagged values. Example such as state
> machines can only be associated with one class and interfaces can't have
> attributes just to name a couple. My idea is that perhaps we could use
> our own model editor which is specialised for Plone/Zope development.
>
> Now this might sound extremely complex task, but actually there is quite
> a lot of tool support for this kind of editors.
>
> The Eclipse Graphical Modeling Framework (GMF) [1] allows you to define
> your own graphical modeling editor based on your metamodel inside
> Eclipse. This implies that you could only draw models that represent
> valid products and automatic validation can be provided. Eclipse would
> then replace the UML editor you are currently using, and you could
> generate the code inside the IDE as well so the entire development could
> take place within Eclipse (or the generated product edited using
> external editor for those who like).

How comfortable do you feel with this? I think it sounds like a sensible
path, especially since Eclipse is cross-platform, extremely
well-supported and has a lot of mindshare out there. Telling people "you
can develop new Plone functionality using purpose-built Eclipse
plug-ins" is a pretty strong message in some quarters.

Eclipse is fairly slow and big, but that aside it's a very solid tool.

> The openArchitectureWare's Xtext [2] is another framework which can
> parse textual models based on the metamodel. This could be python-ish
> abstraction of the product which expresses the same thing as its
> graphical equivalent. The great thing about this is that experienced
> user could be up and running with a product super fast as he can type a
> lot faster than he can draw. The biggest advantage of this
> representation is that it is super easy to version it. Diffing and
> merging of XML is no fun and almost impossible. Having simple text
> artifacts makes versioning of models super easy. It might also be easy
> to include some custom code inside the model.

To be honest ... if you're the kind of person who wants graphical tools,
then you may as well just write Archetypes code. ;-)

> The two above could then be transformed from one to the other, so the
> textual version could be versioned but the graphical version actually
> used to edit it, for example.
>
> For those who prefer the good old UML tools, then UML profiles can also
> be used to map to the metamodel, making it completely transparent to them.
>
> Since everything can be based on the same metamodel, the same generator
> can be used for all representations. The metamodel is written in the
> Eclipse Modeling Framework (EMF) [3].
>
> I am aware that many developers would not like to use Eclipse. However,
> it does not need to be used as a IDE but rather just as the modeling
> tool. The generator could still be invoked from the command line.

I like Eclipse. Those who don't like eclipse dislike Poseidon, ArgoUML
and friends even more. ;-)

My main concern here is scope. I think this *could* be quite ambitious,
and given the Eclipse EMF stuff has to be written in Java, you may find
that not that many people are able to help you out, at least not until
we hit more Python-ish layers of the stack.

So, again - do you have any experience with these tools? How long do you
think it'd be to get a prototype up?

Martin

--
Acquisition is a jealous mistress


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Martin Aspeli-2

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Reinout van Rees
Reinout van Rees wrote:

> And I think a base requirement for a python/zope/plone modeling tool is
> that is written in python. At least, we shouldn't have to write any java
> code. Jython/jpython is OK, I guess. Any ideas on this?

I don't think that's *necessarily* true. A few of us (me included) can
write Java. If the benefits of Eclipse outweigh the language barrier, I
don't think we should let it be a show stopper.

Eclipse is a stable, well-known, well-supported, widely used and very
powerful tool. Lots of Plone developers use it to write Plone (Python)
code. There is definitely a fit there, and certainly a better fit than
with any other standalone tools (e.g. Poseidon/ArgoUML, which are
completely black-box and separate from the tools we normally use).

Java programmers are pretty easy to come by, too. :)

For example, I've maintained/fixed AGX, which is a pretty hair piece of
Python code. I think I'd find it easier to maintain a well-written piece
of Java code if it came to that. I wouldn't want to learn how to write
for the GEF and set it all up from scratch, but once the code was there,
making tweaks and bug fixes (provided the code was well-written and unit
tested) wouldn't be too much of a burden I don't think.

Martin

--
Acquisition is a jealous mistress


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Martin Aspeli-2

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Lars von Wedel
Hi Lars,

> That is something I would surely like to see in order to permit a smooth
> transition for existing projects. Also, UML is regarded as something
> standardized and is therefore easily communicated to customers (rather
> than a proprietary language which can only be entered with one certain
> tool).

This point cannot be over-emphasised. UML is a very useful and widely
understood notation. People come out of universities knowing UML. We may
define a meta-model that's specific to Plone-like development, but the
base syntax could be UML or very close to UML.

Martin


--
Acquisition is a jealous mistress


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Martin Aspeli-2

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Larry Pitcher-3
Larry Pitcher wrote:

> I've started using Eclipse and I really like it. There are so many
> useful plug-ins. I just started using Mylar to view my Trac tickets
> inside of Eclipse! There's the SVN integration and PyDev stuff too. I
> know it's a memory hog, but it works. I think there are quite a few
> Plone developers using Eclipse, but maybe not the core developers...
>
> Anyway, here's one non-core Plone developer who doesn't mind using a
> tool that's not written in Python!

If we consider the potential audience for graphical/model-driven
development, I suspect that those who do not like big IDEs and lots of
tools also do not like the idea of model-driven development; conversely,
those who like model-driven development are probably also comfortable
using an IDE and at least having the option to integrate all their
development tools (code editor, test runner, ticketing etc) into one
environment. Eclipse is probably the only serious open source contender
we could consider here.

Martin


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Sidnei da Silva-2

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
On 6/1/07, Martin Aspeli <optilude@...> wrote:
> If we consider the potential audience for graphical/model-driven
> development, I suspect that those who do not like big IDEs and lots of
> tools also do not like the idea of model-driven development; conversely,
> those who like model-driven development are probably also comfortable
> using an IDE and at least having the option to integrate all their
> development tools (code editor, test runner, ticketing etc) into one
> environment. Eclipse is probably the only serious open source contender
> we could consider here.

Well, I know that Visual Studio is extensible, just not sure if the
Express Edition is. The Workflow Designer for Windows Workflow
Foundation is a free download if I recall. It might be possible to
re-use some parts of that to build some kind of class diagram.

As for your SoC project, if the code is generic enough, integrating
with Visual Studio might be possible too. I could see integrating the
UI bits that make up the diagrams design tools for Workflow Designer
and your code as being something doable.

--
Sidnei da Silva
Enfold Systems                http://enfoldsystems.com
Fax +1 832 201 8856     Office +1 713 942 2377 Ext 214

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Reinout van Rees

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Martin Aspeli-2
Martin Aspeli wrote:

> Larry Pitcher wrote:
>
>> I've started using Eclipse and I really like it. There are so many
>> useful plug-ins. I just started using Mylar to view my Trac tickets
>> inside of Eclipse! There's the SVN integration and PyDev stuff too. I
>> know it's a memory hog, but it works. I think there are quite a few
>> Plone developers using Eclipse, but maybe not the core developers...
>>
>> Anyway, here's one non-core Plone developer who doesn't mind using a
>> tool that's not written in Python!
>
> If we consider the potential audience for graphical/model-driven
> development, I suspect that those who do not like big IDEs and lots of
> tools also do not like the idea of model-driven development; conversely,
> those who like model-driven development are probably also comfortable
> using an IDE and at least having the option to integrate all their
> development tools (code editor, test runner, ticketing etc) into one
> environment. Eclipse is probably the only serious open source contender
> we could consider here.

Well, I for one *do* like to create my products using UML. But on the
other hand, nothing can kick/drag/hack/whatever me away from the
commandline and from emacs. So it won't be as clear-cut as you say.

But I do think that you're right that the current agx users won't mind
using eclipse, as long as it works ok and - as someone else rightfully
mentioned - it is all easy to install.


Reinout (who's drooling at the amount of feedback everyone is giving his
gsoc student! :-) )

--
Reinout van Rees  - Programmer at http://zestsoftware.nl/
http://vanrees.org/weblog/     mailto:reinout@...
"White space, the opposite of black hole?" -- Joris slob


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Alexander Limi

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Sidnei da Silva-2
On Fri, 01 Jun 2007 15:40:42 -0700, Sidnei da Silva  
<sidnei@...> wrote:

> Well, I know that Visual Studio is extensible, just not sure if the
> Express Edition is.

It's not, and could land you lawsuits, yay:

http://developers.slashdot.org/article.pl?sid=07/06/01/164254

--
Alexander Limi · http://limi.net


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Alexander Limi · http://limi.net

Mark Fallu

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
Do you have any thoughts on how these plans might impact on the
development of "round trip"  functionality?

ie. from model to code... modified code back to model... repeat etc.

Cheers,

Mark

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Viðar Svansson

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Lars von Wedel
Thank you guys for all the feedback!

On 6/1/07, Lars von Wedel <vonwedel@...> wrote:

>
> Hello,
> >> My project is Genesis, the next code generator, mentored by
> >> Reinout van Rees. First of all I just want to thank you all for the
> >> opportunity and thanks for all the help I have received already. You can
> >> reach me on #plone under the nick 'pjesi'.
> >>
> Brilliant thing! I have used ArchGenXML which gave me a good jump start
> into Plone product development and would like to add a few comments.
>
> Basically I would second to have some kind of intermediate "neutral"
> (yet powerful) layer between UML and the actual generator component. If
> this could really be handled by an arbitrary text editor it might make
> several things like creation, modification or versioning of a model
> simpler than with the graphical UML modeling tools.
>
> Also, there may be other "source" formats such as ontologies which we
> might want to use in the future to rapidly generate applications from a
> given domain representation. This would surely be better supported by an
> expressive intermediate format rather than UML (which I would rate as
> relatively vague compared to OWL for instance).

I agree that UML is not a good match to represent a particular domain,
and it is the reason for the rapid increase in the usage of
domain-specific languages in the industry. The U in UML makes it
really difficult to adapt it to a particular domain of interest. AGX
uses the two most common ones, which apply to most domains. It is
possible to expose more types, such as activity digrams to describe
the flow between pages and use cases for tests, but it is not a
perfect match.

>
> > But: can you keep open the option of using generic UML tools at the same
> > time or is that route closed off by using some special eclipse metamodel
> > thingy?
> >
> That is something I would surely like to see in order to permit a smooth
> transition for existing projects. Also, UML is regarded as something
> standardized and is therefore easily communicated to customers (rather
> than a proprietary language which can only be entered with one certain
> tool).

People both know and have been using UML. This makes it both essential
and strategic to base it on the same ideas, but with more Plone, and
less Unified.

>
> In addition, the UML diagrams really gave me a good starting point for
> development in Plone. I could start development at some point I really
> confirmed as "known" to me as opposed to Plone development which really
> appeared like a thick book very well locked ;-) The UML diagrams were
> also quite useful to discuss with customers, just to give them a visual
> feedback on progress and where we are (even if they did probably not get
> all the details of the object model).

Being able to discuss design with clients using UML is very valuable
and it could only get better if the diagrams contained more than boxes
and arrows.

Does anyone see an advantage in using lets say an icon of a person
instead of a class with a <<remember>> stereotype?

>
> Hence, keeping UML as a possible route (that may not exploit all
> features of the new generator, though) would indeed be very welcome.
>
> Maybe it is even possible to combine information from various sources so
> that UML can be used for classes and relations, but more detailed
> constraints and stereotype-like things could be added through a text file ?

This is very exciting and to be able to achieve this then we need a
solid modeling framework.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Viðar Svansson

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by justizin-2
On 6/1/07, Justizin <justizin@...> wrote:

> On 6/1/07, Viðar Svansson <vidarsvans@...> wrote:
> > On 6/1/07, Reinout van Rees <reinout@...> wrote:
> > > Viðar Svansson wrote:
> > > >
> > > > My name is Vidar Svansson and I am one of Plone's Google Summer of Code
> > > > students. My project is Genesis, the next code generator, mentored by
> > > > Reinout van Rees. First of all I just want to thank you all for the
> > > > opportunity and thanks for all the help I have received already. You can
> > > > reach me on #plone under the nick 'pjesi'.
> > >
> > > Wow, gsoc is only running for a few days and you're already sending
> > > detailed emails like this :-)
> > >
> > > > I have some ideas on the generator which I would love to get some
> > > > feedback on regarding the model editing. It seems to me that the UML
> > > > tools are not the perfect fit for the content types and the result is a
> > > > lot of "hacky" stereotypes and tagged values. Example such as state
> > > > machines can only be associated with one class and interfaces can't have
> > > > attributes just to name a couple. My idea is that perhaps we could use
>
> It sounds like we also want to advance the feature set of UML..

Not really, it is more about reuse what we can use of it and then add to that.

>
> > > > our own model editor which is specialised for Plone/Zope development.
> > >
> > > "our own" == maintenance costs/time. It is probably offset against other
> > > things. Any input on this?
> >
> > Compared to maintenance cost/time of supporting all the different XMIs
> > that the different tools produce and that UML is a moving target, then
> > this might not mean more time. The tools are actually generated from
> > their own models. For example, I created a metamodel to try the thing
> > out. From it I generated a tree editor so I could actually start
> > modeling inside eclipse *just* by describing how my models should look
> > like.
> >
>
> This does sound very neat - I recall a colleague of mine saying that
> he was using GWT to visualize changesets..
>
> > Now of course most people would not like the tree editor after being
> > used to UML boxes (although I find it quite straight forward). So I
>
> Is it as useful for pointing at in front of people?  UML is part of a
> software engineering process, it's important not to consider this
> purely a part of "manufacturing" software so much as a very early
> step.  People who don't code understand UML and some of them have been
> exposed to it before, because it's standard.

I would say no. It is very useful though while developing the
generator as you always get an editor for free as you change your
metamodel.

>
> > can map elements in the metamodel to graphical elements, and generate
> > the graphical editor. Similarly, I can define the metamodel as an EBNF
> > grammar. Now technically we don't need special editors for textual
> > models, but we can generate one that would have syntax highlighting
> > and such.
> >
> > All of this does not require any programming in the traditional sense,
> > only some smart modeling.
> >
>
> > >
> > > > I am aware that many developers would not like to use Eclipse. However,
> > > > it does not need to be used as a IDE but rather just as the modeling
> > > > tool. The generator could still be invoked from the command line.
> > >
> > > The generator, is that part of eclipse (does it use eclipse's
> > > libraries)? Also when running on the command line? Eclipse sounds so GUI
> > > to me :-)
> >
> > The generator can be build as an Eclipse plugin. It uses a workflow
>
> What happened to libcoral?

I have been researching the possible tools for the last month,
starting with Coral. If you are only interested in replicating the
features of AGX then Coral might be the right tool. It is though very
difficult to develop anything useful with it (from a time
perspective). I have not yet seen anyone successfully build it from
source, which will make it very difficult for users as well. The app
itself is far from being stable and it looks like there are no
resources to support it anymore.

>
> > engine to input some model, make the neccessary transformations, fill
> > the templates and output to the filesystem. This does not require any
> > GUI, you can execute the workflow direcly from a script or from a make
> > program.
> >
> > However, if you are drawing our models in the GUI then it might be
> > more convenient to just push the "generate" button :)
> >
> > > And I think a base requirement for a python/zope/plone modeling tool is
> > > that is written in python. At least, we shouldn't have to write any java
> > > code. Jython/jpython is OK, I guess. Any ideas on this?
> >
> > My experiments so far have not required a single line of java code.
>
> Another concern is possibly the amount of installation required for
> someone who is a relative non-developer and simply wants to generate
> something simple, or re-generate something from an existing model.

My personal experience is the reverse. You can package it in such way
that the user just downloads an archive with eclipse and the plugin,
extracts it, and is up and running.

>
> > The templating language is designed for code generation so it has some
> > advanced functionality which is not common in template languages.
> > Given that all the major modeling tools available today are written in
> > Java, then it is not really any change from my point of view. We are
> > still going to use tools written in Java, not write our own.
> >
>
> Does this functionality run in parallel to coral, or overlap?

Coral uses Velocity, which is a general purpose language. You can
still write simple templates, but you can also do some interesting
stuff, such as use aspect-oriented programming in the template. This
can be very useful for those who want to customize the default
generated output without touching the default templates.

>
> Also, there is Gaphor whose community we have been working with for
> 1-2 years now, and they have talked about supporting ATs directly in
> their editor.
>
> Thing is, since all modeling tools suck, as you say, a lot of us might
> like to contribute to one that isn't written in Java.  I don't think
> in 3 years we'll be any more pleased at having chosen Eclipse versus
> having chosen ArgoUML and Poseidon.. Rather than selecting a tool, I
> think it *is* important to continue using non-vendor-specific
> approaches to modeling / metamodeling in such a way that we can adopt
> tools as they are made available to the world.

Very good point. Tools suck, but some toolkits don't. The thing is
that Eclipse is not going away. A lot of vendors are producing their
tools for Eclipse already and it is one of the biggest research and
industry field for model-driven development.

Microsoft with their DSL tools for Visual Studio and Eclipse with EMF
and all the subprojects are the two biggest. Using either makes it
much more easier to adopt to future tools since chances are that those
tools will be integrated in one of IDEs.

The big UML vendors are also starting to support Eclipse. The latest
beta of MagicDraw can for instance save directly to EMF.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Viðar Svansson

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Larry Pitcher-3
On 6/1/07, Larry Pitcher <unclelarry@...> wrote:
[snip]
>
> I've started using Eclipse and I really like it. There are so many
> useful plug-ins. I just started using Mylar to view my Trac tickets
> inside of Eclipse! There's the SVN integration and PyDev stuff too. I
> know it's a memory hog, but it works. I think there are quite a few
> Plone developers using Eclipse, but maybe not the core developers...

I am also using Subclipse and PyDev, both excellent tools. Using
PyDev, Eclipse warns me if any of the generated files contain errors.
For me this is very handy :)

> Anyway, here's one non-core Plone developer who doesn't mind using a
> tool that's not written in Python!
>
> Thanks for your work,
>
> Larry Pitcher
> Catapult Solutions
>
> > If you have any feedback on how you would like to develop your models in
> > the futures, or think I am out of my mind :) then please let me know. I
> > would love to hear about what kind of improvements from AGX you would
> > like to see as well.
> >
> > Cheers,
> > Vidar
> >
> > [1] http://www.eclipse.org/gmf
> > [2] http://www.eclipse.org/gmt/oaw
> > [3] http://www.eclipse.org/emf
>

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
Viðar Svansson

Re: Ideas for my GSoC project

Reply Threaded MoreMore options
Print post
Permalink
In reply to this post by Martin Aspeli-2
On 6/1/07, Martin Aspeli <optilude@...> wrote:
> Hi Vidar,
>
> > My name is Vidar Svansson and I am one of Plone's Google Summer of Code
> > students. My project is Genesis, the next code generator, mentored by
> > Reinout van Rees. First of all I just want to thank you all for the
> > opportunity and thanks for all the help I have received already. You can
> > reach me on #plone under the nick 'pjesi'.
>
> Welcome :-)
Thanks :)

>
> > I have been studying ArchGenXML and how we could improve the usability
> > and functionality. One of my problems though is that I only have rough
> > idea how the ideal generated code should look like for Plone 3.0-3.5. If
> > anyone wants to come up with suggestions on this then I would love to
> > listen.
>
> Can you contact me in private? I have some code you could look at which
> outlines my ideas, but it's not something I can release publicly (yet).
Will do.

>
> > I have some ideas on the generator which I would love to get some
> > feedback on regarding the model editing. It seems to me that the UML
> > tools are not the perfect fit for the content types and the result is a
> > lot of "hacky" stereotypes and tagged values. Example such as state
> > machines can only be associated with one class and interfaces can't have
> > attributes just to name a couple. My idea is that perhaps we could use
> > our own model editor which is specialised for Plone/Zope development.
> >
> > Now this might sound extremely complex task, but actually there is quite
> > a lot of tool support for this kind of editors.
> >
> > The Eclipse Graphical Modeling Framework (GMF) [1] allows you to define
> > your own graphical modeling editor based on your metamodel inside
> > Eclipse. This implies that you could only draw models that represent
> > valid products and automatic validation can be provided. Eclipse would
> > then replace the UML editor you are currently using, and you could
> > generate the code inside the IDE as well so the entire development could
> > take place within Eclipse (or the generated product edited using
> > external editor for those who like).
>
> How comfortable do you feel with this? I think it sounds like a sensible
> path, especially since Eclipse is cross-platform, extremely
> well-supported and has a lot of mindshare out there. Telling people "you
> can develop new Plone functionality using purpose-built Eclipse
> plug-ins" is a pretty strong message in some quarters.

Personally I feel very comfortable about this. I have been trying to
hit as many walls a possible but I guess time can only tell. I have
also a lot of resources in this field in my department.

>
> Eclipse is fairly slow and big, but that aside it's a very solid tool.

Plone is also slow and big, but that is what makes it so good!

>
> > The openArchitectureWare's Xtext [2] is another framework which can
> > parse textual models based on the metamodel. This could be python-ish
> > abstraction of the product which expresses the same thing as its
> > graphical equivalent. The great thing about this is that experienced
> > user could be up and running with a product super fast as he can type a
> > lot faster than he can draw. The biggest advantage of this
> > representation is that it is super easy to version it. Diffing and
> > merging of XML is no fun and almost impossible. Having simple text
> > artifacts makes versioning of models super easy. It might also be easy
> > to include some custom code inside the model.
>
> To be honest ... if you're the kind of person who wants graphical tools,
> then you may as well just write Archetypes code. ;-)

True. If you are generating SQL code, templates, XML files and what
not, then it seems sensible to be able to write once, generate
anything TM.

>
> > The two above could then be transformed from one to the other, so the
> > textual version could be versioned but the graphical version actually
> > used to edit it, for example.
> >
> > For those who prefer the good old UML tools, then UML profiles can also
> > be used to map to the metamodel, making it completely transparent to them.
> >
> > Since everything can be based on the same metamodel, the same generator
> > can be used for all representations. The metamodel is written in the
> > Eclipse Modeling Framework (EMF) [3].
> >
> > I am aware that many developers would not like to use Eclipse. However,
> > it does not need to be used as a IDE but rather just as the modeling
> > tool. The generator could still be invoked from the command line.
>
> I like Eclipse. Those who don't like eclipse dislike Poseidon, ArgoUML
> and friends even more. ;-)
>
> My main concern here is scope. I think this *could* be quite ambitious,
> and given the Eclipse EMF stuff has to be written in Java, you may find
> that not that many people are able to help you out, at least not until
> we hit more Python-ish layers of the stack.

I believe I need much more help on the Python-ish layers. Java is my
strongest language and I have no problems there. However, using EMF to
build tools does not require much Java. Probably you can get away with
Jython if you *really* need some extra functionality. The community is
also very active.

>
> So, again - do you have any experience with these tools? How long do you
> think it'd be to get a prototype up?

I want to get up a prototype of the workflow for Plone 3 before
Tuesday if possible. I don't have experience with GMF but I have with
EMF. The prototype would use GMF so I could tell you more about it
then. It also depends on the examples I manage to scrap together.

Vidar

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-developers mailing list
Plone-developers@...
https://lists.sourceforge.net/lists/listinfo/plone-developers
1 2