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&#39;re working in a team environ=
ment like this, it would probably require you to lock shared files while yo=
u&#39;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">&lt;<a href=3D"mailto:[email protected]">tfmorris@gm=
ail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D=
"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
That&#39;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&#39;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 &lt;<a href=3D"mailto:phidias=
[email protected]">[email protected]</a>&gt; wrote:<br>
&gt; Hi Thomas,<br>
&gt; Thanks for the reply. =A0I think Profile support is one of those areas=
 where<br>
&gt; we haven&#39;t quite thought through=A0how ArgoUML gets used in real-w=
orld<br>
&gt; software development projects. Or how it might get used if people unde=
rstood<br>
&gt; some of its intricacies like profiles. ;-) Here are a couple of<br>
&gt; case-in-points:<br>
&gt;<br>
&gt; Setting standards: =A0Invariably as soon as you have two or more devel=
opers<br>
&gt; you want them to be able to share certain common pieces of information=
.<br>
&gt; =A0Profiles containing commonly used stereotypes is one example; templ=
ates, is<br>
&gt; another. =A0In order to share information people tend to put up a wiki=
 or have<br>
&gt; a shared drive. =A0For us this means we&#39;d need to support more tha=
n one kind<br>
&gt; of file system (perhaps through Commons VFS, or eventually the new Jav=
a NIO<br>
&gt; file systems introduced in Java 7). =A0But this kind of support also m=
akes<br>
&gt; profile and template development easier for us, since we can publish t=
hem<br>
&gt; 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>
&gt;<br>
&gt; Evolving profiles: Typically profiles evolve as you&#39;re modelling. =
=A0You want<br>
&gt; to be able to create or modify profiles on the fly. =A0Currently the o=
nly way<br>
&gt; to do this is to to open a second instance of ArgoUML, and edit your<b=
r>
&gt; profiles there, and then reload them in the first instance of ArgoUML.=
 =A0This<br>
&gt; obviously isn&#39;t the most intuitive or efficient way of doing it. =
=A0It would<br>
&gt; be nicer if you could simply right-click on the Profiles folder in the=
<br>
&gt; Explorer and add a new profile there, or modify one of the existing<br=
>
&gt; profiles. =A0When you create the profile you should then be allowed to=
 create<br>
&gt; stereotypes and tagged data elements directly from the Explorer.<br>
&gt;<br>
&gt; Design Reviews:=A0At the end of all of this modelling, you usually hav=
e a<br>
&gt; design review. =A0During the review you walk the attendees through the=
<br>
&gt; relevant parts of the design. =A0You can add critics to elements in th=
e<br>
&gt; design, but if you do there&#39;s no way to walk through the critics g=
rouped by<br>
&gt; the people that added them. =A0For example, I&#39;d like to be able to=
 go around<br>
&gt; the table and address the comments made by each person, but when you o=
rder<br>
&gt; the critics &quot;By Poster&quot; you get a blank folder with no title=
, and a list of<br>
&gt; critics. When you create the critic there&#39;s no way to specify the =
Poster of<br>
&gt; the critic, perhaps it should just default to the System user name pro=
perty.<br>
&gt;<br>
&gt; Existing Code Bases: If you have an existing code base, you want to be=
 able<br>
&gt; to highlight those parts of the existing code base that will change. =
=A0Doing<br>
&gt; this with stereotypes is fine, but putting &lt;&lt;new&gt;&gt; in fron=
t of a method<br>
&gt; tends to get lost in some of the larger classes. =A0It would be useful=
 to be<br>
&gt; able to turn the method compartment green (or perhaps some other color=
) to<br>
&gt; highlight that it&#39;s new. =A0You would want that kind of style info=
rmation to<br>
&gt; be included in the profile so that a standard color scheme is used by =
all<br>
&gt; developers.<br>
&gt;<br>
&gt; Code Generation: After the design is approved, you want to quickly gen=
erate<br>
&gt; code and get on with the implementation. =A0But there are often artifa=
cts<br>
&gt; generated in the code that don&#39;t belong there,<br>
&gt; [<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>
&gt; be able to add your own copyright header.<br>
&gt; [<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>
&gt; templates means that the code you generate stands a greater chance of<=
br>
&gt; passing checkstyle reviews without additional manual editing.<br>
&gt;<br>
&gt; Testing: If you&#39;re a TDD shop (or just someone who wants better te=
st<br>
&gt; coverage) you also want to be able to generate unit tests for the code=
 that<br>
&gt; 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>
&gt;<br>
&gt; Hope this helps,<br>
&gt; Mark<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Aug 2, 2011 at 1:11 AM, Thomas Neustupny &lt;<a href=3D"mailto=
:[email protected]">[email protected]</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi Mark,<br>
&gt;&gt;<br>
&gt;&gt; you can&#39;t avoid the display of the whole (system specific) pat=
h in the<br>
&gt;&gt; profile configuration. Also, there is no (relative) standard path =
to<br>
&gt;&gt; profiles, you configure your profile directories in edit-&gt;setti=
ngs-&gt;profiles<br>
&gt;&gt; (default XMI directories). Hm, maybe we could strip the displayed =
path in<br>
&gt;&gt; the profile configuration if it is one of the configured directori=
es?<br>
&gt;&gt;<br>
&gt;&gt; Sharing profiles: share the XMI files. Everyone who uses it is res=
ponsible<br>
&gt;&gt; for the loading of the profile in her/his ArgoUML instance. But th=
ere is<br>
&gt;&gt; another way to share profiles: wrap them in a module and share the=
 .jar file<br>
&gt;&gt; (has just to be put into the ext/ directory of ArgoUML). Easier fo=
r the<br>
&gt;&gt; recipients, but requires developer skills for the creator, unless =
you use<br>
&gt;&gt; the &quot;module generator&quot; module, here is a doc that demons=
trate the idea how<br>
&gt;&gt; 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>
&gt;&gt; So this module will create the sources of a profile module for you=
. I can<br>
&gt;&gt; help you with either that module or directly with the (reusable) p=
rofile<br>
&gt;&gt; module sources in case you don&#39;t want to use the module genera=
tor.<br>
&gt;&gt;<br>
&gt;&gt; Thomas<br>
&gt;&gt;<br>
&gt;&gt; -------- Original-Nachricht --------<br>
&gt;&gt; &gt; Datum: Mon, 1 Aug 2011 17:38:03 -0700<br>
&gt;&gt; &gt; Von: Mark Fortner &lt;<a href=3D"mailto:[email protected]">=
[email protected]</a>&gt;<br>
&gt;&gt; &gt; An: <a href=3D"mailto:[email protected]">users@argouml=
.tigris.org</a><br>
&gt;&gt; &gt; Betreff: [argouml-users] Making Profiles &quot;Discoverable&q=
uot;<br>
&gt;&gt;<br>
&gt;&gt; &gt; I&#39;ve been tinkering with some profiles and I was wonderin=
g if there is a<br>
&gt;&gt; &gt; directory that ArgoUML will always check to &quot;discover&qu=
ot; available<br>
&gt;&gt; &gt; profiles.<br>
&gt;&gt; &gt; =A0Perhaps the .argouml directory? =A0The reason I ask is tha=
t currently the<br>
&gt;&gt; &gt; profiles show a complete path to any profile that you add in =
the<br>
&gt;&gt; &gt; explorer.<br>
&gt;&gt; &gt; =A0However, I frequently move back and forth between Windows,=
 Linux and<br>
&gt;&gt; &gt; MacOS<br>
&gt;&gt; &gt; X. =A0It would be nice if there were a single directory that =
I could put<br>
&gt;&gt; &gt; my<br>
&gt;&gt; &gt; profiles, that would always be resolved regardless of the pla=
tform I was<br>
&gt;&gt; &gt; using.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Also, is there a way to share profiles? =A0I would like to be=
 able to post<br>
&gt;&gt; &gt; some profiles on our intranet, and it would be useful to be a=
ble to<br>
&gt;&gt; &gt; specify<br>
&gt;&gt; &gt; an http-type URL for the profiles.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Any suggestions will be appreciated,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Mark<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; ------------------------------------------------------<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; <a href=3D"http://argouml.tigris.org/ds/viewMessage.do?dsForu=
mId=3D449&amp;dsMessageId=3D2807930" target=3D"_blank">http://argouml.tigri=
s.org/ds/viewMessage.do?dsForumId=3D449&amp;dsMessageId=3D2807930</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; To unsubscribe from this discussion, e-mail:<br>
&gt;&gt; &gt; [<a href=3D"mailto:[email protected]">user=
[email protected]</a>].<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir<br>
&gt;&gt; belohnen Sie mit bis zu 50,- Euro! <a href=3D"https://freundschaft=
swerbung.gmx.de" target=3D"_blank">https://freundschaftswerbung.gmx.de</a><=
br>
&gt;&gt;<br>
&gt;&gt; ------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; <a href=3D"http://argouml.tigris.org/ds/viewMessage.do?dsForumId=
=3D449&amp;dsMessageId=3D2808098" target=3D"_blank">http://argouml.tigris.o=
rg/ds/viewMessage.do?dsForumId=3D449&amp;dsMessageId=3D2808098</a><br>
&gt;&gt;<br>
&gt;&gt; To unsubscribe from this discussion, e-mail:<br>
&gt;&gt; [<a href=3D"mailto:[email protected]">users-uns=
[email protected]</a>].<br>
&gt;<br>
&gt;<br>
<br>
------------------------------------------------------<br>
</div></div><a href=3D"http://argouml.tigris.org/ds/viewMessage.do?dsForumI=
d=3D449&amp;dsMessageId=3D2808261" target=3D"_blank">http://argouml.tigris.=
org/ds/viewMessage.do?dsForumId=3D449&amp;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--