Re: Making Profiles "Discoverable"
Mark Fortner <[email protected]> Tue, 2 Aug 2011 12:27:04 -0700
| Newsgroups | gmane.comp.lang.uml.argouml.user |
|---|---|
| Message-ID | <CAOwy01v1-4kL-bptvTrAQGW8oyZ5rQfhjitUs2cXbOLyWnoLEA@mail.gmail.com> |
------=_Part_12780_1504520087.1312313228563 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi Tom, Sorry to go off on a bit of a tangent there. The concept of a personal, project, group, and corporate libraries sounds like a good fit for both profiles and templates. I have something similar in ArgoPrint and have plans on adding VFS support there. I think the only caveat there must be that if you're working in a team environment like this, it would probably require you to lock shared files while you're editing them. Mark On Tue, Aug 2, 2011 at 12:17 PM, Tom Morris <[email protected]> wrote: > That's a good workflow description/use case, but I think it ranges > quite a bit wider than just profile support (e.g. code generation). > > Going back to the original question, the design intent and underlying > support mechanisms consider profile resolution as something which > occurred through a search list of libraries, e.g. personal library, > project library, group library, corporate library. Some of this is > obscured in the current implementation, but I think a lot of the > underlying mechanisms are still in place. > > The other thing that this touches on is the general issue of > modularity and sub-models. Many of the same mechanisms that are used > to support profiles are intended to also support models which > reference other models. This would also help partition things so that > multiple people can work on parts of a model (collection) without > stepping on each other's toes. > > Tom > > On Tue, Aug 2, 2011 at 10:57 AM, Mark Fortner <[email protected]> wrote: > > Hi Thomas, > > Thanks for the reply. I think Profile support is one of those areas > where > > we haven't quite thought through how ArgoUML gets used in real-world > > software development projects. Or how it might get used if people > understood > > some of its intricacies like profiles. ;-) Here are a couple of > > case-in-points: > > > > Setting standards: Invariably as soon as you have two or more developers > > you want them to be able to share certain common pieces of information. > > Profiles containing commonly used stereotypes is one example; templates, > is > > another. In order to share information people tend to put up a wiki or > have > > a shared drive. For us this means we'd need to support more than one > kind > > of file system (perhaps through Commons VFS, or eventually the new Java > NIO > > file systems introduced in Java 7). But this kind of support also makes > > profile and template development easier for us, since we can publish them > > through the website. [ > http://argouml.tigris.org/issues/show_bug.cgi?id=6189] > > > > Evolving profiles: Typically profiles evolve as you're modelling. You > want > > to be able to create or modify profiles on the fly. Currently the only > way > > to do this is to to open a second instance of ArgoUML, and edit your > > profiles there, and then reload them in the first instance of ArgoUML. > This > > obviously isn't the most intuitive or efficient way of doing it. It > would > > be nicer if you could simply right-click on the Profiles folder in the > > Explorer and add a new profile there, or modify one of the existing > > profiles. When you create the profile you should then be allowed to > create > > stereotypes and tagged data elements directly from the Explorer. > > > > Design Reviews: At the end of all of this modelling, you usually have a > > design review. During the review you walk the attendees through the > > relevant parts of the design. You can add critics to elements in the > > design, but if you do there's no way to walk through the critics grouped > by > > the people that added them. For example, I'd like to be able to go > around > > the table and address the comments made by each person, but when you > order > > the critics "By Poster" you get a blank folder with no title, and a list > of > > critics. When you create the critic there's no way to specify the Poster > of > > the critic, perhaps it should just default to the System user name > property. > > > > Existing Code Bases: If you have an existing code base, you want to be > able > > to highlight those parts of the existing code base that will change. > Doing > > this with stereotypes is fine, but putting <<new>> in front of a method > > tends to get lost in some of the larger classes. It would be useful to > be > > able to turn the method compartment green (or perhaps some other color) > to > > highlight that it's new. You would want that kind of style information > to > > be included in the profile so that a standard color scheme is used by all > > developers. > > > > Code Generation: After the design is approved, you want to quickly > generate > > code and get on with the implementation. But there are often artifacts > > generated in the code that don't belong there, > > [http://argouml.tigris.org/issues/show_bug.cgi?id=6239]. You also want > to > > be able to add your own copyright header. > > [http://argouml.tigris.org/issues/show_bug.cgi?id=5093] Having editable > > templates means that the code you generate stands a greater chance of > > passing checkstyle reviews without additional manual editing. > > > > Testing: If you're a TDD shop (or just someone who wants better test > > coverage) you also want to be able to generate unit tests for the code > that > > you just generated. [ > http://argouml.tigris.org/issues/show_bug.cgi?id=4819] > > > > Hope this helps, > > Mark > > > > > > On Tue, Aug 2, 2011 at 1:11 AM, Thomas Neustupny <[email protected]> wrote: > >> > >> Hi Mark, > >> > >> you can't avoid the display of the whole (system specific) path in the > >> profile configuration. Also, there is no (relative) standard path to > >> profiles, you configure your profile directories in > edit->settings->profiles > >> (default XMI directories). Hm, maybe we could strip the displayed path > in > >> the profile configuration if it is one of the configured directories? > >> > >> Sharing profiles: share the XMI files. Everyone who uses it is > responsible > >> for the loading of the profile in her/his ArgoUML instance. But there is > >> another way to share profiles: wrap them in a module and share the .jar > file > >> (has just to be put into the ext/ directory of ArgoUML). Easier for the > >> recipients, but requires developer skills for the creator, unless you > use > >> the "module generator" module, here is a doc that demonstrate the idea > how > >> to do it: http://argouml-modulegenerator.tigris.org/documentation.html > >> So this module will create the sources of a profile module for you. I > can > >> help you with either that module or directly with the (reusable) profile > >> module sources in case you don't want to use the module generator. > >> > >> Thomas > >> > >> -------- Original-Nachricht -------- > >> > Datum: Mon, 1 Aug 2011 17:38:03 -0700 > >> > Von: Mark Fortner <[email protected]> > >> > An: [email protected] > >> > Betreff: [argouml-users] Making Profiles "Discoverable" > >> > >> > I've been tinkering with some profiles and I was wondering if there is > a > >> > directory that ArgoUML will always check to "discover" available > >> > profiles. > >> > Perhaps the .argouml directory? The reason I ask is that currently > the > >> > profiles show a complete path to any profile that you add in the > >> > explorer. > >> > However, I frequently move back and forth between Windows, Linux and > >> > MacOS > >> > X. It would be nice if there were a single directory that I could put > >> > my > >> > profiles, that would always be resolved regardless of the platform I > was > >> > using. > >> > > >> > Also, is there a way to share profiles? I would like to be able to > post > >> > some profiles on our intranet, and it would be useful to be able to > >> > specify > >> > an http-type URL for the profiles. > >> > > >> > Any suggestions will be appreciated, > >> > > >> > Mark > >> > > >> > ------------------------------------------------------ > >> > > >> > > http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2807930 > >> > > >> > To unsubscribe from this discussion, e-mail: > >> > [[email protected]]. > >> > >> -- > >> Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir > >> belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de > >> > >> ------------------------------------------------------ > >> > >> > http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2808098 > >> > >> To unsubscribe from this discussion, e-mail: > >> [[email protected]]. > > > > > > ------------------------------------------------------ > > http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2808261 > > To unsubscribe from this discussion, e-mail: [ > [email protected]]. > ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2808263 To unsubscribe from this discussion, e-mail: [[email protected]]. ------=_Part_12780_1504520087.1312313228563 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi Tom,<div>Sorry to go off on a bit of a tangent there.</div><div><br></di= v><div>The concept of a personal, project, group, and corporate libraries s= ounds like a good fit for both profiles and templates. =A0I have something = similar in ArgoPrint and have plans on adding VFS support there. =A0I think= the only caveat there must be that if you're working in a team environ= ment like this, it would probably require you to lock shared files while yo= u're editing them.</div> <div><br></div><div>Mark<br> <br><br><div class=3D"gmail_quote">On Tue, Aug 2, 2011 at 12:17 PM, Tom Mor= ris <span dir=3D"ltr"><<a href=3D"mailto:[email protected]">tfmorris@gm= ail.com</a>></span> wrote:<br><blockquote class=3D"gmail_quote" style=3D= "margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> That's a good workflow description/use case, but I think it ranges<br> quite a bit wider than just profile support (e.g. code generation).<br> <br> Going back to the original question, the design intent and underlying<br> support mechanisms consider profile resolution as something which<br> occurred through a search list of libraries, e.g. personal library,<br> project library, group library, corporate library. =A0Some of this is<br> obscured in the current implementation, but I think a lot of the<br> underlying mechanisms are still in place.<br> <br> The other thing that this touches on is the general issue of<br> modularity and sub-models. =A0Many of the same mechanisms that are used<br> to support profiles are intended to also support models which<br> reference other models. =A0This would also help partition things so that<br= > multiple people can work on parts of a model (collection) without<br> stepping on each other's toes.<br> <br> Tom<br> <div><div></div><div class=3D"h5"><br> On Tue, Aug 2, 2011 at 10:57 AM, Mark Fortner <<a href=3D"mailto:phidias= [email protected]">[email protected]</a>> wrote:<br> > Hi Thomas,<br> > Thanks for the reply. =A0I think Profile support is one of those areas= where<br> > we haven't quite thought through=A0how ArgoUML gets used in real-w= orld<br> > software development projects. Or how it might get used if people unde= rstood<br> > some of its intricacies like profiles. ;-) Here are a couple of<br> > case-in-points:<br> ><br> > Setting standards: =A0Invariably as soon as you have two or more devel= opers<br> > you want them to be able to share certain common pieces of information= .<br> > =A0Profiles containing commonly used stereotypes is one example; templ= ates, is<br> > another. =A0In order to share information people tend to put up a wiki= or have<br> > a shared drive. =A0For us this means we'd need to support more tha= n one kind<br> > of file system (perhaps through Commons VFS, or eventually the new Jav= a NIO<br> > file systems introduced in Java 7). =A0But this kind of support also m= akes<br> > profile and template development easier for us, since we can publish t= hem<br> > through the website. [<a href=3D"http://argouml.tigris.org/issues/show= _bug.cgi?id=3D6189" target=3D"_blank">http://argouml.tigris.org/issues/show= _bug.cgi?id=3D6189</a>]<br> ><br> > Evolving profiles: Typically profiles evolve as you're modelling. = =A0You want<br> > to be able to create or modify profiles on the fly. =A0Currently the o= nly way<br> > to do this is to to open a second instance of ArgoUML, and edit your<b= r> > profiles there, and then reload them in the first instance of ArgoUML.= =A0This<br> > obviously isn't the most intuitive or efficient way of doing it. = =A0It would<br> > be nicer if you could simply right-click on the Profiles folder in the= <br> > Explorer and add a new profile there, or modify one of the existing<br= > > profiles. =A0When you create the profile you should then be allowed to= create<br> > stereotypes and tagged data elements directly from the Explorer.<br> ><br> > Design Reviews:=A0At the end of all of this modelling, you usually hav= e a<br> > design review. =A0During the review you walk the attendees through the= <br> > relevant parts of the design. =A0You can add critics to elements in th= e<br> > design, but if you do there's no way to walk through the critics g= rouped by<br> > the people that added them. =A0For example, I'd like to be able to= go around<br> > the table and address the comments made by each person, but when you o= rder<br> > the critics "By Poster" you get a blank folder with no title= , and a list of<br> > critics. When you create the critic there's no way to specify the = Poster of<br> > the critic, perhaps it should just default to the System user name pro= perty.<br> ><br> > Existing Code Bases: If you have an existing code base, you want to be= able<br> > to highlight those parts of the existing code base that will change. = =A0Doing<br> > this with stereotypes is fine, but putting <<new>> in fron= t of a method<br> > tends to get lost in some of the larger classes. =A0It would be useful= to be<br> > able to turn the method compartment green (or perhaps some other color= ) to<br> > highlight that it's new. =A0You would want that kind of style info= rmation to<br> > be included in the profile so that a standard color scheme is used by = all<br> > developers.<br> ><br> > Code Generation: After the design is approved, you want to quickly gen= erate<br> > code and get on with the implementation. =A0But there are often artifa= cts<br> > generated in the code that don't belong there,<br> > [<a href=3D"http://argouml.tigris.org/issues/show_bug.cgi?id=3D6239" t= arget=3D"_blank">http://argouml.tigris.org/issues/show_bug.cgi?id=3D6239</a= >]. =A0You also want to<br> > be able to add your own copyright header.<br> > [<a href=3D"http://argouml.tigris.org/issues/show_bug.cgi?id=3D5093" t= arget=3D"_blank">http://argouml.tigris.org/issues/show_bug.cgi?id=3D5093</a= >] =A0Having editable<br> > templates means that the code you generate stands a greater chance of<= br> > passing checkstyle reviews without additional manual editing.<br> ><br> > Testing: If you're a TDD shop (or just someone who wants better te= st<br> > coverage) you also want to be able to generate unit tests for the code= that<br> > you just generated. [<a href=3D"http://argouml.tigris.org/issues/show_= bug.cgi?id=3D4819" target=3D"_blank">http://argouml.tigris.org/issues/show_= bug.cgi?id=3D4819</a>]<br> ><br> > Hope this helps,<br> > Mark<br> ><br> ><br> > On Tue, Aug 2, 2011 at 1:11 AM, Thomas Neustupny <<a href=3D"mailto= :[email protected]">[email protected]</a>> wrote:<br> >><br> >> Hi Mark,<br> >><br> >> you can't avoid the display of the whole (system specific) pat= h in the<br> >> profile configuration. Also, there is no (relative) standard path = to<br> >> profiles, you configure your profile directories in edit->setti= ngs->profiles<br> >> (default XMI directories). Hm, maybe we could strip the displayed = path in<br> >> the profile configuration if it is one of the configured directori= es?<br> >><br> >> Sharing profiles: share the XMI files. Everyone who uses it is res= ponsible<br> >> for the loading of the profile in her/his ArgoUML instance. But th= ere is<br> >> another way to share profiles: wrap them in a module and share the= .jar file<br> >> (has just to be put into the ext/ directory of ArgoUML). Easier fo= r the<br> >> recipients, but requires developer skills for the creator, unless = you use<br> >> the "module generator" module, here is a doc that demons= trate the idea how<br> >> to do it: <a href=3D"http://argouml-modulegenerator.tigris.org/doc= umentation.html" target=3D"_blank">http://argouml-modulegenerator.tigris.or= g/documentation.html</a><br> >> So this module will create the sources of a profile module for you= . I can<br> >> help you with either that module or directly with the (reusable) p= rofile<br> >> module sources in case you don't want to use the module genera= tor.<br> >><br> >> Thomas<br> >><br> >> -------- Original-Nachricht --------<br> >> > Datum: Mon, 1 Aug 2011 17:38:03 -0700<br> >> > Von: Mark Fortner <<a href=3D"mailto:[email protected]">= [email protected]</a>><br> >> > An: <a href=3D"mailto:[email protected]">users@argouml= .tigris.org</a><br> >> > Betreff: [argouml-users] Making Profiles "Discoverable&q= uot;<br> >><br> >> > I've been tinkering with some profiles and I was wonderin= g if there is a<br> >> > directory that ArgoUML will always check to "discover&qu= ot; available<br> >> > profiles.<br> >> > =A0Perhaps the .argouml directory? =A0The reason I ask is tha= t currently the<br> >> > profiles show a complete path to any profile that you add in = the<br> >> > explorer.<br> >> > =A0However, I frequently move back and forth between Windows,= Linux and<br> >> > MacOS<br> >> > X. =A0It would be nice if there were a single directory that = I could put<br> >> > my<br> >> > profiles, that would always be resolved regardless of the pla= tform I was<br> >> > using.<br> >> ><br> >> > Also, is there a way to share profiles? =A0I would like to be= able to post<br> >> > some profiles on our intranet, and it would be useful to be a= ble to<br> >> > specify<br> >> > an http-type URL for the profiles.<br> >> ><br> >> > Any suggestions will be appreciated,<br> >> ><br> >> > Mark<br> >> ><br> >> > ------------------------------------------------------<br> >> ><br> >> > <a href=3D"http://argouml.tigris.org/ds/viewMessage.do?dsForu= mId=3D449&dsMessageId=3D2807930" target=3D"_blank">http://argouml.tigri= s.org/ds/viewMessage.do?dsForumId=3D449&dsMessageId=3D2807930</a><br> >> ><br> >> > To unsubscribe from this discussion, e-mail:<br> >> > [<a href=3D"mailto:[email protected]">user= [email protected]</a>].<br> >><br> >> --<br> >> Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir<br> >> belohnen Sie mit bis zu 50,- Euro! <a href=3D"https://freundschaft= swerbung.gmx.de" target=3D"_blank">https://freundschaftswerbung.gmx.de</a><= br> >><br> >> ------------------------------------------------------<br> >><br> >> <a href=3D"http://argouml.tigris.org/ds/viewMessage.do?dsForumId= =3D449&dsMessageId=3D2808098" target=3D"_blank">http://argouml.tigris.o= rg/ds/viewMessage.do?dsForumId=3D449&dsMessageId=3D2808098</a><br> >><br> >> To unsubscribe from this discussion, e-mail:<br> >> [<a href=3D"mailto:[email protected]">users-uns= [email protected]</a>].<br> ><br> ><br> <br> ------------------------------------------------------<br> </div></div><a href=3D"http://argouml.tigris.org/ds/viewMessage.do?dsForumI= d=3D449&dsMessageId=3D2808261" target=3D"_blank">http://argouml.tigris.= org/ds/viewMessage.do?dsForumId=3D449&dsMessageId=3D2808261</a><br> <div><div></div><div class=3D"h5"><br> To unsubscribe from this discussion, e-mail: [<a href=3D"mailto:users-unsub= [email protected]">[email protected]</a>].<br> </div></div></blockquote></div><br></div> ------=_Part_12780_1504520087.1312313228563--