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]].
