|
|
|
1
2
|
|
Viðar Svansson
|
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
|
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
|
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
|
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
|
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
|
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
|
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. > 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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 |
||||||||||||||||
|
Mark Fallu
|
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
|
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
|
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
|
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
|
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 |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |