Mark Fortner | 2 Aug 2011 02:38
Picon

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
Thomas Neustupny | 2 Aug 2011 10:11
Picon
Picon
Gravatar

Re: Making Profiles "Discoverable"

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 <phidias51 <at> gmail.com>
> An: users <at> argouml.tigris.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.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2807930
> 
> To unsubscribe from this discussion, e-mail:
> [users-unsubscribe <at> argouml.tigris.org].

--

-- 
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: [users-unsubscribe <at> argouml.tigris.org].

Mark Fortner | 2 Aug 2011 16:57
Picon

Re: Making Profiles "Discoverable"

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.tigris.org/issues/show_bug.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.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.

  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.tigris.org/issues/show_bug.cgi?id=4819]

Hope this helps,

Mark


On Tue, Aug 2, 2011 at 1:11 AM, Thomas Neustupny <thn-d <at> gmx.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-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 <phidias51 <at> gmail.com>
> An: users <at> argouml.tigris.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.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2807930
>
> To unsubscribe from this discussion, e-mail:
> [users-unsubscribe <at> argouml.tigris.org].

--
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: [users-unsubscribe <at> argouml.tigris.org].

Tom Morris | 2 Aug 2011 21:17
Picon
Gravatar

Re: Making Profiles "Discoverable"

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.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.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 <thn-d <at> gmx.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-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 <phidias51 <at> gmail.com>
>> > An: users <at> argouml.tigris.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.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2807930
>> >
>> > To unsubscribe from this discussion, e-mail:
>> > [users-unsubscribe <at> argouml.tigris.org].
>>
>> --
>> 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:
>> [users-unsubscribe <at> argouml.tigris.org].
>
>

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2808261

To unsubscribe from this discussion, e-mail: [users-unsubscribe <at> argouml.tigris.org].

Mark Fortner | 2 Aug 2011 21:27
Picon

Re: Making Profiles "Discoverable"

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.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.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.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 <thn-d <at> gmx.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-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 <phidias51 <at> gmail.com>
>> > An: users <at> argouml.tigris.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.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2807930
>> >
>> > To unsubscribe from this discussion, e-mail:
>> > [users-unsubscribe <at> argouml.tigris.org].
>>
>> --
>> 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:
>> [users-unsubscribe <at> argouml.tigris.org].
>
>

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=449&dsMessageId=2808261

To unsubscribe from this discussion, e-mail: [users-unsubscribe <at> argouml.tigris.org].


Gmane