Login | Register
My pages Projects Community openCollabNet

Discussions > users > [argouml-users] Making Profiles "Discoverable"

argouml
Discussion topic

Hide all messages in topic

All messages in topic

Re: [argouml-users] Making Profiles "Discoverable"

Author phidias
Full name Mark Fortner
Date 2011-08-02 12:27:07 PDT
Message 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 <tfmorris at gmail dot com> 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 <phidias51 at gmail dot com> 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.tigri​s.org/issues/show_bu​g.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.tigri​s.org/issues/show_bu​g.cgi?id=6239]. You also want
> to
> > be able to add your own copyright header.
> > [http://argouml.tigri​s.org/issues/show_bu​g.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.tigri​s.org/issues/show_bu​g.cgi?id=4819]
> >
> > Hope this helps,
> > Mark
> >
> >
> > On Tue, Aug 2, 2011 at 1:11 AM, Thomas Neustupny <thn-d at gmx dot de> 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-modul​egenerator.tigris.or​g/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 <phidias51 at gmail dot com>
> >> > An: users at argouml dot tigris dot org
> >> > 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.tigri​s.org/ds/viewMessage​.do?dsForumId=449​&dsMessageId=280793​0
> >> >
> >> > To unsubscribe from this discussion, e-mail:
> >> > [users-unsubscribe@a​rgouml.tigris.org].
> >>
> >> --
> >> Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
> >> belohnen Sie mit bis zu 50,- Euro! https://freundschaft​swerbung.gmx.de
> >>
> >> --------------------​--------------------​--------------
> >>
> >>
> http://argouml.tigri​s.org/ds/viewMessage​.do?dsForumId=449​&dsMessageId=280809​8
> >>
> >> To unsubscribe from this discussion, e-mail:
> >> [users-unsubscribe@a​rgouml.tigris.org].
> >
> >
>
> --------------------​--------------------​--------------
>
> http://argouml.tigri​s.org/ds/viewMessage​.do?dsForumId=449​&dsMessageId=280826​1
>
> To unsubscribe from this discussion, e-mail: [
> users-unsubscribe@ar​gouml.tigris.org].
>
Attachments

Re: [argouml-users] Making Profiles "Discoverable"

Author tfmorris
Full name Tom Morris
Date 2011-08-02 12:17:57 PDT
Message 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 <phidias51 at gmail dot com> 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.tigri​s.org/issues/show_bu​g.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.tigri​s.org/issues/show_bu​g.cgi?id=6239].  You also want to
> be able to add your own copyright header.
> [http://argouml.tigri​s.org/issues/show_bu​g.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.tigri​s.org/issues/show_bu​g.cgi?id=4819]
>
> Hope this helps,
> Mark
>
>
> On Tue, Aug 2, 2011 at 1:11 AM, Thomas Neustupny <thn-d at gmx dot de> 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-modul​egenerator.tigris.or​g/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 <phidias51 at gmail dot com>
>> > An: users at argouml dot tigris dot org
>> > 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.tigri​s.org/ds/viewMessage​.do?dsForumId=449​&dsMessageId=280793​0
>> >
>> > To unsubscribe from this discussion, e-mail:
>> > [users-unsubscribe@a​rgouml.tigris.org].
>>
>> --
>> Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
>> belohnen Sie mit bis zu 50,- Euro! https://freundschaft​swerbung.gmx.de
>>
>> --------------------​--------------------​--------------
>>
>> http://argouml.tigri​s.org/ds/viewMessage​.do?dsForumId=449​&dsMessageId=280809​8
>>
>> To unsubscribe from this discussion, e-mail:
>> [users-unsubscribe@a​rgouml.tigris.org].
>
>

Re: [argouml-users] Making Profiles "Discoverable"

Author phidias
Full name Mark Fortner
Date 2011-08-02 07:57:58 PDT
Message 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:

   1. *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.tigri​s.org/issues/show_bu​g.cgi?id=6189]

   2. *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.

   3. *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.

   4. *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.

   5. *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.tigri​s.org/issues/show_bu​g.cgi?id=6239]. You also want to
   be able to add your own copyright header. [
   http://argouml.tigri​s.org/issues/show_bu​g.cgi?id=5093] Having editable
   templates means that the code you generate stands a greater chance of
   passing checkstyle reviews without additional manual editing.

   6. *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.tigri​s.org/issues/show_bu​g.cgi?id=4819]


Hope this helps,

Mark


On Tue, Aug 2, 2011 at 1:11 AM, Thomas Neustupny <thn-d at gmx dot de> 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-modul​egenerator.tigris.or​g/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 <phidias51 at gmail dot com>
> > An: users at argouml dot tigris dot org
> > 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.tigri​s.org/ds/viewMessage​.do?dsForumId=449​&dsMessageId=280793​0
> >
> > To unsubscribe from this discussion, e-mail:
> > [users-unsubscribe@a​rgouml.tigris.org].
>
> --
> Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
> belohnen Sie mit bis zu 50,- Euro! https://freundschaft​swerbung.gmx.de
>
> --------------------​--------------------​--------------
>
> http://argouml.tigri​s.org/ds/viewMessage​.do?dsForumId=449​&dsMessageId=280809​8
>
> To unsubscribe from this discussion, e-mail: [
> users-unsubscribe@ar​gouml.tigris.org].
>
Attachments

Re: [argouml-users] Making Profiles "Discoverable"

Author thn
Full name Thomas Neustupny
Date 2011-08-02 01:11:24 PDT
Message 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-modul​egenerator.tigris.or​g/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 <phidias51 at gmail dot com>
> An: users at argouml dot tigris dot org
> 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.tigri​s.org/ds/viewMessage​.do?dsForumId=449​&dsMessageId=280793​0
>
> To unsubscribe from this discussion, e-mail:
> [users-unsubscribe@a​rgouml.tigris.org].

--
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaft​swerbung.gmx.de

[argouml-users] Making Profiles "Discoverable"

Author phidias
Full name Mark Fortner
Date 2011-08-01 17:38:04 PDT
Message 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
Attachments
Messages per page: