Giter Site home page Giter Site logo

archi's People

Contributors

aschlechter avatar davidsara avatar eduardobbs avatar frosttusk avatar janesser avatar jbsarrodie avatar mbd-dbc-dk avatar pds2208 avatar phillipus avatar poum avatar pschoepf avatar shumov avatar smeagol74 avatar stigbd avatar ujifman avatar vinceaxe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

archi's Issues

[feature proposal] Reports enhancements for 2.6 ?

Hi,

I was wondering if we could enhance the (jasper)report function a little bit for the 2.6:

  • Add ability in prefs to define a directory where user could put its custom reports. In it, each report would have its own subfolder containing main.jrxml and other resources. This would automatically populate the "Report template" list in the report wizard (using subfolder name as report name being the easiest way, but we could imagine later a manifest file containing real report name).
  • Use the same mecanism (folder listing) for standard(s) report(s). Now there's only one report by default, but we could imagine providing several reports in the futur (to cover TOGAF artifacts for example).
  • I think that the report I have designed and published on the forum could be a good one to include as it allows more flexibility in the content (section filtering) and design (custom cover etc...). This was not possible before 2.4.1, but now that REPORT_PATH is set for jasper that's easy (I already updated my report for internal use). As this report makes use of parameters, I could include a generic model template with these parameters already defined with safe values, and I could create or adapt the demo model (archinsurance). Last, by default this report could use a front cover with Archi branding :-)

Regards

Jaiguru

Rationalise Preferences Pages

I think the Preferences Pages are getting a bit confusing now. For example, we have some connections prefs on the "Diagram" page and some on the "Connections" page. The "Diagram" page looks really overloaded on a Mac on a small screen.

Can we rationalise the preferences? Note - it is possible to have sub-pages like Diagram -> Connections, Figures -> Colours, Figures -> Fonts, etc. Take a look at how Eclipse itself manages them.

Nested Diagram Objects should not have a Diagram Connection

Related to Issue #26

Don't create an explicit diagram connection between child and parent nested container if the model elements have a relationship.

Assume that an implict diagram connection exists if:

  1. The diagram object is nested with a parent object.
  2. A matching model relationship exists between parent and child.
  3. ARM Preferences say such a relationship exists.

[bug] Line jumps bug

This one is for me :-(

In real-life useage, I've seen a strange rendering of line-jumps:

Didn't find time to study it yet, but will soon.

[feature proposal] Concepts specialization through properties and "stereotypes"

Hi,

Here is my 2cts suggestion to implement concepts specialization through properties. The goal is to ease specialization of concepts without the need to change the meta-model.

In the following I use the word "stereotype" (coming from UML background) as an example.

The feature proposal:

  • As of today, Archi comes with no predefined list of property name. I suggest to add one named "Stereotype". It could then be used by users to better define some concepts. The goal here is just to avoid users having to type it (and misspell it).
  • Create a new option in preference to either:
    • do nothing (same as now),
    • add "<< stereotypename >>" under all figures and use concept name if no stereotype defined (this would be very close to Gerben naming suggestion to ease readability,
    • add "<< stereotypename >>" only under figures that are linked to concepts having the "Stereotype" property set.

Cannot compose actor via business interface

We ran across this during an Archimate training session... one of the examples had creation of an actor composed of a business interface (different than "used by"). When we tried to do this via Archi, the only option we were given was assignment.

This seems incompatible Archimate 2.1 spec; I would expect to use the weakest link:

actor <-- assigned --> role <-- composed of --> business interface

which, afaik, would be "composed of".

Upon further investigation, when I try to create a derived relationship between actor & business interface, Archi says the weakest link is "assigned to". Is it just confused about the relationship strength?

screen shot 2014-05-22 at 9 33 21 am

screen shot 2014-05-22 at 9 32 04 am

Improved CSV Import/Export

See https://groups.google.com/forum/#!topic/archi-users/Dujr_gUhFY8

This means that we need 3 files per export/import:

  • elements with following attributes
    • Element ID
    • Name
    • Type (Actor, Application Component...)
      *Documentation (newline have to be managed in a way or another)
  • relations with following attributes
    • Relation ID
    • Name
    • Type (assignment, used by...)
    • Source element ID
    • Target element ID
    • Documentation (newline have to be managed in a way or another)
  • properties with following attributes
    • Element or relation ID
    • Property Name
    • Property Value

Remarks:

  • We should follow some standard like this one
  • Files should include headers
  • IDs should be kept in model file so we have to define some basic rules to follow (e.g. accepts letters and numbers only without spaces). It should be easy to create them in tools like spreadsheets using formula (e.g. append Type to Name and remove spaces)
  • Fields have to be delimited with double-quote and potential double-quotes in field content have to replaced by a pair of double-quotes. This should be enough to protect newlines in Description fields, but I suppose we should include and option to remove or convert them so tools not accepting newlines even if double-quoted qhould work.
  • There's a known issue with some softwares which always remove leading zeros. An option should allow to use known the workaround.
  • The model itself should be seen as an element whose Type is ArchimateModel, so that we can export/import its description and properties.
  • Even if this makes it no more real CSV, being able to define another field separator should be great (e.g. in French localized Excel, CSV uses semicolon)

Export should either create 3 files in a folder or a zip containing them. Import should either ask explicitly for each file or take a folder and assume filenames to be (eg.) elements.csv, relations.csv, properties.csv

Of course, my assumption is that we export/import only model, not views... So this leads me to the following requirement: we should have to option to import on an already existing model so that elements that exist are updated and new ones added. Deletion could also be manage (but enable only through an option): element which exist in model but not in import file are deleted.

(Jean-Baptiste Sarrodie)

Add Images to ArchiMate Views

You can already do it in the "Canvas" view. Would users like it for ArchiMate Views as well? Some users were asking for additional illustrations.

So far I kept it restricted to the Canvas View in case it didn't work out. But I could easily open up the functionality to ArchiMate views.

Caveats are the same as including an image in a Canvas view:

  • The *.archimate file will be in an archive format (zipped) to contain all the assets together
  • Saving and loading is a bit slower Opening a View with images in it is a bit slower
  • Use reasonable size images, not your whole Flickr family holiday collection.

[issue] Inconsistencies when using Ctrl+A for selection elements

If you use Ctrl+A to select all the elements in a view, the elements inside a concept (e.g. with aggregation) are not marked as selected. Operations that are supposed to work on the "total" selection does not appear to work on the non-marked elements.

If you then use copy and then paste into another view, the copied appear marked as selected, and operations that are supposed to work on the total selection appear to work as expected.

If you use the selection tool, it works as expected too.

So, it seems the Ctrl+A action need to include the elements that are inside a concept in the selection set to be consistent.

(I hope this makes sense, please ask for clarification if not).

[Canvas Editor] Crash if image is removed from Image component

  1. In the Canvas Editor, add two Image components that share the same image.
  2. Ensure the images are their original size.
  3. In Properties remove the image of one of the image components.
  4. Undo

Crash...

org.eclipse.swt.SWTException: Graphic is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4441)
    at org.eclipse.swt.SWT.error(SWT.java:4356)
    at org.eclipse.swt.SWT.error(SWT.java:4327)
    at org.eclipse.swt.graphics.Image.getBounds(Image.java:1164)
    at com.archimatetool.editor.diagram.figures.diagram.DiagramImageFigure.getDefaultSize(DiagramImageFigure.java:105)
    at com.archimatetool.editor.diagram.figures.diagram.DiagramImageFigure.getPreferredSize(DiagramImageFigure.java:112)

Render ArchiMate symbols using Draw2D

The ArchiMate symbols used in the figures are from 16x16 PNG images. These don't scale. To get true scaling these need to be drawn using Draw2D's Graphics class.

Example:

graphics.drawOval(....) // Draw Actor's head
graphics.drawLine(....) // Draw his body
graphics.drawLine(....) // Draw his legs

[issue] key modifier for ignoring snap to grid doesn't work on linux

Hi,

I've just tested 2.6.1 beta 2 on linux (ubuntu 13.04 64bits) and key modifier for ignoring snap to grid doesn't work. When Alt is pressed, I can't move bendpoint at all (it stays/returns to its original location).

Here is a copy of my configuration:
*** Date: Saturday, February 22, 2014 3:51:49 PM Central European Time

*** Platform Details:

*** System properties:
awt.toolkit=sun.awt.X11.XToolkit
com.archimatetool.editor.buildid=201402221107
com.archimatetool.editor.versionid=2.6.1
eclipse.application=com.archimatetool.editor.app
eclipse.commands=-os
linux
-ws
gtk
-arch
x86_64
-showsplash
-launcher
/home/jbsarrodie/Applications/Archi/Archi64
-name
Archi64
--launcher.library
/home/jbsarrodie/Applications/Archi/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120913-144807/eclipse_1502.so
-startup
/home/jbsarrodie/Applications/Archi/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.overrideVmargs
-exitdata
27cd8043
-vm
/usr/bin/java
eclipse.home.location=file:/home/jbsarrodie/Applications/Archi/
eclipse.launcher=/home/jbsarrodie/Applications/Archi/Archi64
eclipse.launcher.name=Archi64
eclipse.product=com.archimatetool.editor.product
eclipse.refreshBundles=true
eclipse.startTime=1393080317320
eclipse.vm=/usr/bin/java
eclipse.vmargs=-Xms128m
-Xmx512m
-XX:MaxPermSize=256m
-Dosgi.requiredJavaVersion=1.6
[email protected]/uk.ac.bolton/Archi
[email protected]/uk.ac.bolton/Archi/configuration
-jar
/home/jbsarrodie/Applications/Archi/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
file.encoding=UTF-8
file.encoding.pkg=sun.io
file.separator=/
gosh.args=--nointeractive
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.awt.printerjob=sun.print.PSPrinterJob
java.class.path=/home/jbsarrodie/Applications/Archi/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
java.class.version=51.0
java.endorsed.dirs=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/endorsed
java.ext.dirs=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext
java.home=/usr/lib/jvm/java-7-openjdk-amd64/jre
java.io.tmpdir=/tmp
java.library.path=/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib
java.runtime.name=OpenJDK Runtime Environment
java.runtime.version=1.7.0_51-b00
java.specification.name=Java Platform API Specification
java.specification.vendor=Oracle Corporation
java.specification.version=1.7
java.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
java.version=1.7.0_51
java.vm.info=mixed mode
java.vm.name=OpenJDK 64-Bit Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Oracle Corporation
java.vm.specification.version=1.7
java.vm.vendor=Oracle Corporation
java.vm.version=24.45-b08
line.separator=

org.eclipse.equinox.launcher.splash.location=/home/jbsarrodie/Applications/Archi/plugins/com.archimatetool.editor_2.6.1.201402221107/splash.bmp
org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.2,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6,JavaSE-1.7
org.osgi.framework.language=en
org.osgi.framework.os.name=Linux
org.osgi.framework.os.version=3.8.0
org.osgi.framework.processor=x86-64
org.osgi.framework.system.capabilities=osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0, 1.1, 1.2",osgi.ee; osgi.ee="JRE"; version:List="1.0, 1.1",osgi.ee; osgi.ee="JavaSE"; version:List="1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7"
org.osgi.framework.system.packages=javax.accessibility,javax.activation,javax.activity,javax.annotation,javax.annotation.processing,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,javax.imageio.stream,javax.jws,javax.jws.soap,javax.lang.model,javax.lang.model.element,javax.lang.model.type,javax.lang.model.util,javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.remote,javax.management.remote.rmi,javax.management.timer,javax.naming,javax.naming.directory,javax.naming.event,javax.naming.ldap,javax.naming.spi,javax.net,javax.net.ssl,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.script,javax.security.auth,javax.security.auth.callback,javax.security.auth.kerberos,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.nimbus,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.tools,javax.transaction,javax.transaction.xa,javax.xml,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xml.crypto.dsig.dom,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.soap,javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.stream,javax.xml.validation,javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.ws.spi,javax.xml.ws.spi.http,javax.xml.ws.wsaddressing,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.portable,org.omg.CORBA.TypeCodePackage,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.portable,org.omg.PortableServer.ServantLocatorPackage,org.omg.SendingContext,org.omg.stub.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
org.osgi.framework.uuid=d04a74f2-cf9b-0013-1d6b-bd6204af6f53
org.osgi.framework.vendor=Eclipse
org.osgi.framework.version=1.7.0
org.osgi.supports.framework.extension=true
org.osgi.supports.framework.fragment=true
org.osgi.supports.framework.requirebundle=true
os.arch=amd64
os.name=Linux
os.version=3.8.0-35-generic
osgi.arch=x86_64
osgi.bundles=org.eclipse.equinox.common@2:start,org.eclipse.update.configurator@3:start,org.eclipse.core.runtime@start
osgi.bundles.defaultStartLevel=4
osgi.bundlestore=/home/jbsarrodie/uk.ac.bolton/Archi/configuration/org.eclipse.osgi/bundles
osgi.configuration.area=file:/home/jbsarrodie/uk.ac.bolton/Archi/configuration/
osgi.framework=file:/home/jbsarrodie/Applications/Archi/plugins/org.eclipse.osgi_3.8.2.v20130124-134944.jar
osgi.framework.shape=jar
osgi.framework.version=3.8.2.v20130124-134944
osgi.install.area=file:/home/jbsarrodie/Applications/Archi/
osgi.instance.area=file:/home/jbsarrodie/uk.ac.bolton/Archi/
osgi.logfile=/home/jbsarrodie/uk.ac.bolton/Archi/.metadata/.log
osgi.manifest.cache=/home/jbsarrodie/uk.ac.bolton/Archi/configuration/org.eclipse.osgi/manifests
osgi.nl=en_US
osgi.os=linux
osgi.requiredJavaVersion=1.6
osgi.sharedConfiguration.area=file:/home/jbsarrodie/Applications/Archi/configuration/
osgi.splashLocation=/home/jbsarrodie/Applications/Archi/plugins/com.archimatetool.editor_2.6.1.201402221107/splash.bmp
osgi.splashPath=platform:/base/plugins/com.archimatetool.editor
osgi.syspath=/home/jbsarrodie/Applications/Archi/plugins
osgi.tracefile=/home/jbsarrodie/uk.ac.bolton/Archi/.metadata/trace.log
osgi.ws=gtk
path.separator=:
sun.arch.data.model=64
sun.boot.class.path=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/netx.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/plugin.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/classes
sun.boot.library.path=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64
sun.cpu.endian=little
sun.cpu.isalist=
sun.desktop=gnome
sun.io.unicode.encoding=UnicodeLittle
sun.java.command=/home/jbsarrodie/Applications/Archi/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar -os linux -ws gtk -arch x86_64 -showsplash -launcher /home/jbsarrodie/Applications/Archi/Archi64 -name Archi64 --launcher.library /home/jbsarrodie/Applications/Archi/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120913-144807/eclipse_1502.so -startup /home/jbsarrodie/Applications/Archi/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.overrideVmargs -exitdata 27cd8043 -vm /usr/bin/java -vmargs -Xms128m -Xmx512m -XX:MaxPermSize=256m -Dosgi.requiredJavaVersion=1.6 [email protected]/uk.ac.bolton/Archi [email protected]/uk.ac.bolton/Archi/configuration -jar /home/jbsarrodie/Applications/Archi/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
sun.java.launcher=SUN_STANDARD
sun.jnu.encoding=UTF-8
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
sun.os.patch.level=unknown
user.country=US
user.dir=/home/jbsarrodie
user.home=/home/jbsarrodie
user.language=en
user.name=jbsarrodie
user.timezone=Europe/Paris

*** Features:

*** Plug-in Registry:
com.archimatetool.canvas (2.6.1.201402221107) "Canvas Model Toolkit" [Active]
com.archimatetool.csv (2.6.1.201402221107) "CSV Export" [Resolved]
com.archimatetool.editor (2.6.1.201402221107) "Archi" [Active]
com.archimatetool.editor.fullscreen.macos (2.6.1.201402221107) "MacFullScreen" [Installed]
com.archimatetool.editor.launch.win32 (2.6.1.201402221107) "Archi Windows Launcher" [Installed]
com.archimatetool.help (2.6.1.201402221107) "Archi Help" [Active]
com.archimatetool.jasperreports (2.6.1.201402221107) "Jasper Reports" [Active]
com.archimatetool.jdom (1.1.1.201402221107) "JDOM and Jaxen Utils" [Resolved]
com.archimatetool.model (2.6.1.201402221107) "Archi Model" [Active]
com.archimatetool.reports (2.6.1.201402221107) "Archi Reports" [Active]
com.archimatetool.templates (2.6.1.201402221107) "Archi Templates" [Active]
com.archimatetool.widgets (2.6.1.201402221107) "Archi Widgets" [Starting]
com.archimatetool.zest (2.6.1.201402221107) "Archi Zest Visualiser" [Starting]
com.ibm.icu (4.4.2.v20110823) "International Components for Unicode for Java (ICU4J)" [Active]
javax.el (2.2.0.v201108011116) "Javax Expression Language Bundle" [Resolved]
javax.servlet (3.0.0.v201112011016) "Servlet API Bundle" [Resolved]
javax.servlet.jsp (2.2.0.v201112011158) "JSP API Bundle" [Resolved]
org.apache.jasper.glassfish (2.2.2.v201205150955) "JSP 2.2 implementation from Glassfish" [Resolved]
org.apache.lucene (2.9.1.v201101211721) "Apache Lucene" [Resolved]
org.apache.lucene.analysis (2.9.1.v201101211721) "Apache Lucene Analysis" [Resolved]
org.apache.lucene.core (2.9.1.v201101211721) "Apache Lucene Core" [Resolved]
org.eclipse.core.commands (3.6.1.v20120912-135020) "Commands" [Resolved]
org.eclipse.core.contenttype (3.4.200.v20120523-2004) "Eclipse Content Mechanism" [Active]
org.eclipse.core.databinding (1.4.1.v20120912-135020) "JFace Data Binding" [Starting]
org.eclipse.core.databinding.observable (1.4.1.v20120521-2332) "JFace Data Binding Observables" [Active]
org.eclipse.core.databinding.property (1.4.100.v20120523-1956) "JFace Data Binding" [Starting]
org.eclipse.core.expressions (3.4.400.v20120523-2004) "Expression Language" [Active]
org.eclipse.core.jobs (3.5.200.v20120521-2346) "Eclipse Jobs Mechanism" [Active]
org.eclipse.core.runtime (3.8.0.v20120521-2346) "Core Runtime" [Active]
org.eclipse.core.runtime.compatibility (3.2.200.v20120521-2346) "Core Runtime Plug-in Compatibility" [Active]
org.eclipse.core.runtime.compatibility.registry (3.5.100.v20120521-2346) "Eclipse Registry Compatibility Fragment" [Resolved]
org.eclipse.draw2d (3.9.0.201212170307) "Graphical Editing Framework Draw2d" [Active]
org.eclipse.emf.common (2.8.0.v20130125-0546) "EMF Common" [Active]
org.eclipse.emf.ecore (2.8.3.v20130125-0546) "EMF Ecore" [Active]
org.eclipse.emf.ecore.xmi (2.8.1.v20130125-0546) "EMF XML/XMI Persistence" [Active]
org.eclipse.equinox.app (1.3.100.v20120522-1841) "Equinox Application Container" [Active]
org.eclipse.equinox.common (3.6.100.v20120522-1841) "Common Eclipse Runtime" [Active]
org.eclipse.equinox.http.jetty (3.0.1.v20121109-203239) "Jetty Http Service" [Starting]
org.eclipse.equinox.http.registry (1.1.200.v20120912-130548) "Http Service Registry Extensions" [Resolved]
org.eclipse.equinox.http.servlet (1.1.300.v20120912-130548) "Http Services Servlet" [Starting]
org.eclipse.equinox.jsp.jasper (1.0.400.v20120912-130548) "Jasper Jsp Support Bundle" [Starting]
org.eclipse.equinox.jsp.jasper.registry (1.0.300.v20120912-130548) "Jasper Jsp Registry Support Plug-in" [Starting]
org.eclipse.equinox.launcher (1.3.0.v20120522-1813) "Equinox Launcher" [Resolved]
org.eclipse.equinox.launcher.gtk.linux.x86 (1.1.200.v20120913-144807) "Equinox Launcher Linux X86 Fragment" [Installed]
org.eclipse.equinox.launcher.gtk.linux.x86_64 (1.1.200.v20120913-144807) "Equinox Launcher Linux X86_64 Fragment" [Resolved]
org.eclipse.equinox.preferences (3.5.1.v20121031-182809) "Eclipse Preferences Mechanism" [Active]
org.eclipse.equinox.registry (3.5.200.v20120522-1841) "Extension Registry Support" [Active]
org.eclipse.gef (3.9.0.201212170307) "Graphical Editing Framework GEF" [Active]
org.eclipse.help (3.6.0.v20120912-134126) "Help System Core" [Active]
org.eclipse.help.base (3.6.101.v201301310800) "Help System Base" [Starting]
org.eclipse.help.ui (3.5.201.v20130108-092756) "Help System UI" [Starting]
org.eclipse.help.webapp (3.6.101.v20130116-182509) "Help System Webapp" [Starting]
org.eclipse.jetty.continuation (8.1.3.v20120522) "Jetty :: Continuation" [Resolved]
org.eclipse.jetty.http (8.1.3.v20120522) "Jetty :: Http Utility" [Resolved]
org.eclipse.jetty.io (8.1.3.v20120522) "Jetty :: IO Utility" [Resolved]
org.eclipse.jetty.security (8.1.3.v20120522) "Jetty :: Security" [Resolved]
org.eclipse.jetty.server (8.1.3.v20120522) "Jetty :: Server Core" [Resolved]
org.eclipse.jetty.servlet (8.1.3.v20120522) "Jetty :: Servlet Handling" [Resolved]
org.eclipse.jetty.util (8.1.3.v20120522) "Jetty :: Utilities" [Resolved]
org.eclipse.jface (3.8.0.v20120912-135020) "JFace" [Active]
org.eclipse.jface.databinding (1.6.0.v20120912-135020) "JFace Data Binding for SWT and JFace" [Resolved]
org.eclipse.osgi (3.8.2.v20130124-134944) "OSGi System Bundle" [Active]
org.eclipse.osgi.services (3.3.100.v20120522-1822) "OSGi Release 4.2.0 Services" [Resolved]
org.eclipse.swt (3.8.1.v3836b) "Standard Widget Toolkit" [Resolved]
org.eclipse.swt.gtk.linux.x86 (3.8.1.v3836b) "Standard Widget Toolkit for GTK 2.0" [Installed]
org.eclipse.swt.gtk.linux.x86_64 (3.8.1.v3836b) "Standard Widget Toolkit for GTK 2.0" [Resolved]
org.eclipse.ui (3.8.2.v20121018-234953) "Eclipse UI" [Active]
org.eclipse.ui.cheatsheets (3.4.200.v20120521-2344) "Cheat Sheets" [Starting]
org.eclipse.ui.forms (3.5.200.v20120521-2332) "Eclipse Forms" [Active]
org.eclipse.ui.views (3.6.100.v20120521-2332) "Views" [Active]
org.eclipse.ui.views.properties.tabbed (3.5.300.v20120912-135020) "Tabbed Properties View" [Active]
org.eclipse.ui.workbench (3.8.2.v20121128-133708) "Workbench" [Active]
org.eclipse.update.configurator (3.3.200.v20120912-142556) "Install/Update Configurator" [Active]
org.eclipse.zest.core (1.5.0.201212170307) "Graphical Editing Framework Zest Core" [Resolved]
org.eclipse.zest.layouts (1.1.0.201212170307) "Graphical Editing Framework Zest Layouts" [Resolved]

*** User Preferences:

Sat Feb 22 15:51:50 CET 2014

/bundle_defaults/org.eclipse.ui/ENABLE_DETACHED_VIEWS=true
/bundle_defaults/org.eclipse.ui.workbench/MULTI_KEY_ASSIST_TIME=1000
/bundle_defaults/org.eclipse.ui.workbench/EDITORLIST_SORT_CRITERIA=0
/bundle_defaults/com.archimatetool.editor/sketchDefaultBackground=1
/bundle_defaults/org.eclipse.ui.workbench/shouldPromptForEnablement=true
/bundle_defaults/com.archimatetool.editor/editNameOnNewObject=true
/instance/com.archimatetool.editor/defaultFillColour_BusinessFunction=#ffffe6
/bundle_defaults/com.archimatetool.editor/defaultViewFont=
/bundle_defaults/org.eclipse.ui/PROMPT_WHEN_SAVEABLE_STILL_OPEN=true
/bundle_defaults/org.eclipse.ui/RECENTLY_USED_WORKINGSETS_SIZE=5
/instance/com.archimatetool.editor/hiddenRelationsTypes=897
/bundle_defaults/org.eclipse.ui.workbench/HeapStatus.showMax=false
/instance/org.eclipse.gef/org.eclipse.gef.psize=125
/instance/com.archimatetool.editor/defaultFillColour_Node=#7dffff
/bundle_defaults/com.archimatetool.editor/animateVisualiserNodes=true
/bundle_defaults/org.eclipse.ui/ENABLE_MIN_MAX=true
/instance/com.archimatetool.editor/defaultFillColour_Artifact=#91ff91
/bundle_defaults/org.eclipse.ui/KEY_CONFIGURATION_ID=org.eclipse.ui.defaultAcceleratorConfiguration
/bundle_defaults/com.archimatetool.editor/viewpointsHideDiagramElements=false
/bundle_defaults/org.eclipse.ui/VIEW_TAB_POSITION=128
/instance/com.archimatetool.editor/defaultFillColour_InfrastructureInterface=#7dffff
/bundle_defaults/com.archimatetool.editor/mruMax=6
/instance/com.archimatetool.editor/defaultFillColour_InfrastructureFunction=#ffff82
/bundle_defaults/org.eclipse.ui.workbench/USE_IPERSISTABLE_EDITORS=true
/bundle_defaults/org.eclipse.ui/USE_WINDOW_WORKING_SET_BY_DEFAULT=false
/bundle_defaults/com.archimatetool.editor/gridSize=12
/bundle_defaults/org.eclipse.ui/ENABLE_32_STICKY_CLOSE_BEHAVIOR=false
/bundle_defaults/com.archimatetool.editor/orthogonalAnchor=false
/bundle_defaults/org.eclipse.ui/USE_COLORED_LABELS=true
/bundle_defaults/org.eclipse.ui.workbench/EDITOR_TAB_WIDTH=3
/bundle_defaults/org.eclipse.ui/disableNewFastView=false
!/=
/instance/com.archimatetool.editor/defaultFillColour_InfrastructureService=#ffff82
/bundle_defaults/org.eclipse.ui/SHOW_OTHER_IN_PERSPECTIVE_MENU=true
/bundle_defaults/com.archimatetool.editor/showShadows=false
/bundle_defaults/org.eclipse.ui.workbench/REUSE_OPEN_EDITORS_BOOLEAN=false
/bundle_defaults/org.eclipse.ui.workbench/coolBarVisible=true
/bundle_defaults/com.archimatetool.editor/viewpointsFilterModelTree=true
/instance/com.archimatetool.editor/defaultFillColour_Value=#e6ffe6
/instance/com.archimatetool.editor/defaultFillColour_Product=#e6ffe6
/bundle_defaults/org.eclipse.ui/ENABLE_ANIMATIONS=true
/bundle_defaults/org.eclipse.ui.workbench/OPEN_AFTER_DELAY=false
/bundle_defaults/com.archimatetool.editor/newRelationsTypes=896
/bundle_defaults/org.eclipse.ui.workbench/perspectiveBarVisible=true
@com.archimatetool.editor=2.6.1.201402221107
/bundle_defaults/org.eclipse.ui/LINK_NAVIGATOR_TO_EDITOR=false
/instance/com.archimatetool.editor/defaultFillColour_Device=#7dffff
/bundle_defaults/com.archimatetool.editor/createRelationWhenMovingElementToContainer=true
/instance/com.archimatetool.editor/defaultFillColour_Meaning=#e6ffe6
/instance/com.archimatetool.editor/defaultFillColour_BusinessRole=#e6ffff
/instance/com.archimatetool.editor/defaultFillColour_BusinessInteraction=#ffffe6
/instance/org.eclipse.gef/Layout\ Setting=2
/bundle_defaults/org.eclipse.ui.workbench/SELECT_ON_HOVER=false
/bundle_defaults/com.archimatetool.editor/deriveElementLineColorFactor=7
/bundle_defaults/com.archimatetool.editor/gridVisible=false
/instance/com.archimatetool.editor/defaultFillColour_BusinessObject=#e6ffe6
/bundle_defaults/com.archimatetool.editor/animate=true
/bundle_defaults/com.archimatetool.canvas/canvasEditorEnabled=true
/instance/com.archimatetool.editor/defaultFillColour_ApplicationCollaboration=#afffff
/instance/com.archimatetool.editor/defaultFillColour_BusinessEvent=#ffffe6
/bundle_defaults/com.archimatetool.editor/saveUserDefaultFillColorInFile=false
/bundle_defaults/com.archimatetool.editor/antiAlias=true
/bundle_defaults/org.eclipse.ui/showIntro=true
/instance/com.archimatetool.editor/defaultFillColour_DataObject=#afffaf
/instance/com.archimatetool.editor/defaultFillColour_Location=#e6ffff
/instance/com.archimatetool.editor/defaultViewFont=1|Arial|9.0|0|GTK|1|
/bundle_defaults/org.eclipse.ui/SHOW_TEXT_ON_PERSPECTIVE_BAR=true
@org.eclipse.gef=3.9.0.201212170307
/bundle_defaults/org.eclipse.ui.workbench/ENABLED_DECORATORS=
/instance/com.archimatetool.editor/defaultFillColour_SystemSoftware=#7dffff
/instance/com.archimatetool.editor/defaultFillColour_BusinessProcess=#ffffe6
/bundle_defaults/com.archimatetool.editor/createRelationWhenAddingModelTreeElementToContainer=true
/bundle_defaults/org.eclipse.ui.workbench/DISABLE_OPEN_EDITOR_IN_PLACE=false
/bundle_defaults/org.eclipse.ui/SHOW_OPEN_ON_PERSPECTIVE_BAR=true
/instance/com.archimatetool.editor/defaultFillColour_Representation=#e6ffe6
/bundle_defaults/org.eclipse.ui/SHOW_FILTERED_TEXTS=true
/bundle_defaults/com.archimatetool.editor/linkView=false
/bundle_defaults/org.eclipse.ui/SHOW_SYSTEM_JOBS=false
file_export_version=3.0
/bundle_defaults/com.archimatetool.editor/lineCurves=true
/instance/com.archimatetool.editor/defaultFillColour_Network=#7dffff
/instance/org.eclipse.gef/org.eclipse.gef.pstate=4
/bundle_defaults/org.eclipse.ui.workbench/EDITORLIST_SELECTION_SCOPE=1
/bundle_defaults/org.eclipse.ui.workbench/OPEN_VIEW_MODE=0
/bundle_defaults/com.archimatetool.editor/viewpointsHideMagicConnectorElements=true
/bundle_defaults/org.eclipse.ui.workbench/KEYS_PREFERENCE_SELECTED_TAB=0
/bundle_defaults/org.eclipse.ui.workbench/COLOR_ICONS=true
/bundle_defaults/org.eclipse.ui/SHOW_MULTIPLE_EDITOR_TABS=true
/bundle_defaults/com.archimatetool.editor/deriveElementLineColor=true
/bundle_defaults/com.archimatetool.editor/showFillColorsInGui=false
/bundle_defaults/org.eclipse.ui/SHIFT_OPEN_NEW_PERSPECTIVE=OPEN_PERSPECTIVE_REPLACE
/bundle_defaults/com.archimatetool.editor/polarityMagicConnector=false
/bundle_defaults/com.archimatetool.editor/gridSnap=true
/instance/com.archimatetool.editor/defaultFillColour_BusinessService=#ffffe6
/bundle_defaults/com.archimatetool.editor/palette_state=true
/instance/com.archimatetool.editor/orthogonalAnchor=true
/bundle_defaults/com.archimatetool.editor/hiddenRelationsTypes=896
/bundle_defaults/org.eclipse.ui.workbench/HeapStatus.updateInterval=500
/bundle_defaults/org.eclipse.ui.workbench/SINGLE_CLICK_METHOD=0
/bundle_defaults/org.eclipse.ui.workbench/REUSE_OPEN_EDITORS=8
/bundle_defaults/org.eclipse.ui.workbench/OPEN_PERSPECTIVE_MODE=0
/instance/uk.ac.bolton.archimate.editor/orthogonalAnchor=true
/bundle_defaults/com.archimatetool.editor/backupOnSave=true
/bundle_defaults/org.eclipse.ui/presentationFactoryId=org.eclipse.ui.presentations.default
/instance/com.archimatetool.editor/defaultFillColour_BusinessActor=#e6ffff
/bundle_defaults/org.eclipse.ui.workbench/EDITORLIST_DISPLAY_FULL_NAME=false
/bundle_defaults/com.archimatetool.editor/viewpointsHidePaletteElements=true
/bundle_defaults/org.eclipse.ui.workbench/EDITORLIST_PULLDOWN_ACTIVE=false
/bundle_defaults/org.eclipse.ui.workbench/SHOW_MEMORY_MONITOR=false
/bundle_defaults/com.archimatetool.editor/userDataFolder=/home/jbsarrodie/uk.ac.bolton/Archi
/bundle_defaults/com.archimatetool.editor/circularConnections=false
/instance/com.archimatetool.editor/MRU3=/home/jbsarrodie/Documents/Development/Archi/EMF Compare/test2.archimate
/instance/com.archimatetool.editor/MRU2=/home/jbsarrodie/Documents/Development/Archi/EMF Compare/test1.archimate
/instance/com.archimatetool.editor/MRU1=/home/jbsarrodie/Documents/Magic Briefcase/ArchiMate Models/Architecture Patterns.archimate
/instance/com.archimatetool.editor/MRU0=/home/jbsarrodie/Documents/Magic Briefcase/ArchiMate Models/ArchiMate Training.archimate
/instance/com.archimatetool.editor/defaultFillColour_ApplicationComponent=#afffff
/bundle_defaults/com.archimatetool.editor/useNestedConnections=true
/instance/com.archimatetool.editor/defaultFillColour_Contract=#e6ffe6
/bundle_defaults/org.eclipse.ui/EDITOR_MINIMUM_CHARACTERS=-1
/instance/com.archimatetool.editor/defaultFillColour_BusinessInterface=#e6ffff
/bundle_defaults/com.archimatetool.editor/lineJumps=true
/bundle_defaults/org.eclipse.ui.workbench/REUSE_DIRTY_EDITORS=true
/instance/com.archimatetool.editor/defaultFillColour_BusinessCollaboration=#e6ffff
/instance/com.archimatetool.editor/defaultFillColour_ApplicationInterface=#afffff
/bundle_defaults/org.eclipse.ui/EDITOR_TAB_POSITION=128
/instance/uk.ac.bolton.archimate.editor/MRU1=/home/jbsarrodie/Documents/Development/Archi/EMF Compare/test1.archimate
/instance/uk.ac.bolton.archimate.editor/MRU0=/home/jbsarrodie/Documents/Development/Archi/EMF Compare/test2.archimate
/bundle_defaults/org.eclipse.ui.workbench/STICKY_CYCLE=false
/bundle_defaults/org.eclipse.ui.workbench/OPEN_ON_SINGLE_CLICK=false
/bundle_defaults/org.eclipse.ui.workbench/overridepresentation=false
/bundle_defaults/org.eclipse.ui/CLOSE_EDITORS_ON_EXIT=false
/bundle_defaults/org.eclipse.ui.workbench/DISABLE_DIALOG_FONT=false
/bundle_defaults/org.eclipse.ui.workbench/ENABLE_COOL_BARS=true
/instance/com.archimatetool.editor/defaultFillColour_ApplicationInteraction=#ffffaf
/instance/com.archimatetool.editor/defaultFillColour_ApplicationFunction=#ffffaf
/bundle_defaults/org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=true
/bundle_defaults/org.eclipse.ui.workbench/ENABLE_CONFIGURABLE_PROJECT_WIZARD=false
/bundle_defaults/org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topLeft
/bundle_defaults/com.archimatetool.editor/viewTooltips=true
/bundle_defaults/org.eclipse.ui/PROJECT_OPEN_NEW_PERSPECTIVE=OPEN_PERSPECTIVE_REPLACE
/bundle_defaults/org.eclipse.ui/VIEW_MINIMUM_CHARACTERS=1
/bundle_defaults/com.archimatetool.editor/createRelationWhenAddingNewElementToContainer=true
/bundle_defaults/org.eclipse.ui/initialFastViewBarLocation=bottom
/bundle_defaults/com.archimatetool.editor/animationSpeed=300
/bundle_defaults/org.eclipse.ui.workbench/FVB_HIDE=false
/bundle_defaults/com.archimatetool.editor/gridShowGuidelines=true
/instance/com.archimatetool.editor/defaultFillColour_CommunicationPath=#7dffff
/instance/com.archimatetool.editor/defaultFillColour_ApplicationService=#ffffaf
/bundle_defaults/org.eclipse.ui/ALTERNATE_OPEN_NEW_PERSPECTIVE=OPEN_PERSPECTIVE_REPLACE
/bundle_defaults/org.eclipse.ui/OPEN_NEW_PERSPECTIVE=OPEN_PERSPECTIVE_REPLACE
/bundle_defaults/org.eclipse.ui.workbench/RECENT_FILES=4
/bundle_defaults/com.archimatetool.editor/animateMagicConnector=true
/bundle_defaults/com.archimatetool.editor/openDiagramsOnLoad=false
/bundle_defaults/org.eclipse.ui.workbench/ENABLE_NEW_MENUS=true
/bundle_defaults/org.eclipse.ui.workbench/MULTI_KEY_ASSIST=true

Ci build

This is my proposal, please reply what is acceptable and what is not, and your additional constraints.

Goals:

  1. Continous integration using free cloud service, which is drone.io now.
  2. CI includes automatic publication of installers to a configureable scp destination. For me it is the "archici" sourceforge project.
  3. Stable and unstable releases are clearly separated on the destination, stable meaning builds of the master branch.
  4. It is possible to use eclipse as a development environment, and this includes running unit tests and using "Launch an Eclipse Application" from archimate.product
  5. It is possible to create and check installers "at home", without submitting to git or cloud, and without network connection
  6. One thing is implemented exactly once
  7. Build should be possible on supported platforms

Constraints:

  1. The CI build uses maven.
  2. Maven conventions are adhered.
  3. The build uses files only in places where a unprivileged user have write rights.
  4. The non-eclipse dependencies of the build (jre installs and Inno Setup) are placed in one artifact in a place which unambigously exists in all supported platform. That is there is one tar.gz or zip, containing all of the three things, and it is within the home directory. Currently it is ~/Downloads/archi-extra.tar.gz
  5. Installers are created using maven even "at home".
  6. Working (creating installer) without net is possible if both
    a) a build have already ran with network which have cached in all the dependencies (e.g. a succesful mvn install)
    b) no new dependency have been introduced

[feature proposal] Archi scripting engine (Groovy?)

Having passed some days to create some shell scripts to merge/remove duplicate elements in a (big) model, I think it should be a good idea to have a kind of scripting engine inside Archi. After some research, it seams that groovy is a good candidate (can be used as a standalone script engine) and a cool way of doing it is through an embedded groovy console. This would allow us to work on EMF model with the help of EMF Builder and thus access all elements and properties without (to many) issues.

I see in fact 2 use cases:

  • Scripts in read only mode. This would be mainly for extraction/reporting purposes, offering a similar feature as what BIZZdesign Architect include. No issues with undo/redo stack so can be seen as a potential Archi feature or plugin. If GroovyConsole doesn't integrate well with eclipse, a simple UI can be created.
  • Scripts in update mode. This would be mainly for model maniulation purposes. Undo/redo stack could be an issue, so this could be (at least at the begining) a companion tool, but not integrated into Archi itself. In this case, GroovyConsole UI is perfect so we just have to focus on EMF integration through [Beans](http://groovy.codehaus.org/Using+the+Eclipse+Modeling+Framework+(EMF\)) and/or EMF Builder.

[feature proposal] Find/Replace on Element Names

I would like to suggest that Archi was made to support search and replace on element names, in the model tree or in the current view or in the current selection.

Usecase: If I make a seperate model to hold "patterns", I can copy and paste elements and connection from this into my "real" model. If I then select the freshly pasted elements, and make a "search and replace", I can quickly create e.g. hosts, applications, etc, from a set of patterns.

Currently I can do the same, but I have to manually search and replace in all the names to correct the name (and remove the "(copy)" that is automatically added.

Of course, if there is an easier way to support this usecase, feel free to let me know :-)

[feature proposal] Negate property search in the model

Currently, one can easily limit the model tree to show only objects with a certain property. It would be nice to be able to show only objects without a certain property.

In general: An option to negate all or some of the "checkmarks" for the filtering.

Use case: When working with views, I might like to add, to the view, a "status" property, to allow me to search for views that are "done", "in progress", or similar. But I can easily forget to add the status property to a view, and then it will not show up in my search.

Minor issue.

[feature proposal] Entry point for a "Tools..." submenu

It could be nice to have another entry point for plugins that don't only do export/import. Something like a "Tools..." submenu could then be used for repository management stuff, and also for my upcoming (one day) groovy scripting engine.

This "Tools..." menu would remains invisible unless a menu item is contributed to it.

[Copy & Paste] Pasting an element into another does not pop-up the "nested elements relationship" dialog

Minor issue:

When copying and then pasting an element from one view into an element of another view, the "nested elements relationship" dialog does not pop-up, until you "nudge" or move the pasted element a bit.

Steps to reproduce

  • Create a view (A) with a "large" Node element in it.
  • Create a view (B) with a System Software element in it.
  • Copy the element from view B
  • Select the Node element from view A
  • Paste the System Software element.

What happens:

The System Software element is now "inside" the Node element.
If you move the System Software element a bit, the "nested elements relationship" dialog pops-up.

Expected/preferred:

The "nested elements relationship" dialog should pop-up when the System Software element was pasted, or the element should not have ended up inside the Node element.

(Hope it makes sense - very minor issue).

Archi will not start on Kubuntu

since the Kuuntu upgrade to 14.04 Archi will crash with a segmentation fault (SIGSEGV)

in the previous kubuntu version there where already problems but could be overcome using different gtk2 config, but that will not work now

[feature proposal] Enhanced Visualizer / Virtual Views

I think the Visualizer is one Archi's features that make it different of other modelling tools. This allow navigating through model elements in a very different and more interactive way than traditional views.

To be even more effective and attractive, I think we could:

  • Use real archimate figures. This would make image export more attractive.
  • Filter element types through archimate viewpoints. On rich models, the Visualizer output gets clutter. Been able to apply dynamic viewpoint would allow to focus on context dependent needs.
  • Group elements on subgraphs based on architecture layers and use a Tree Layout Algorithm. This would allow to create a layered view.

In fact, with all these enhancements, we could create a new concept: the "virtual view". A "virtual view" could be seen as a saved Visualizer context (selected object, rendering configuration). Of course the rendering would never be as good as a manually created view, but this could help managing big models.

To create these features, I've found two main examples on internet:

[feature proposal] More paste options

The docs state that:

Diagram elements may be cut, copied and pasted in Views. There are, however, certain constraints on how this works:

  • If an element is pasted into a View from the same model where the element already exists in that View then a new model element and a new diagram element are created for the View. The new element is a copy of the original. Any connections are also newly created as copies.
  • If an element is pasted in a View from the same model where the element does not already exist then a new diagram element is created for the View and the original model element is referenced. This is equivalent to dragging the element from the Model Tree into the View. Any connections are also referenced.

It seems, that in the "mixed" case, where some parts of the selection is already present in the view, others are not, Archi defaults to treat the whole selection as a "copy". So, if a element A and B are already in the view (with some releations), and I try to paste element A, B and C, with all releations into the model, I get a completely new set of elements, that are all a copy of the elements, so I now have A, B, A', B' and C' and all its relations.

It would be nice with an option to control the action. For my example, I would want to be able to at least have an option of pasting, such that existing elements in the view was ignored, and new elements in the view was just added.

So, in my case, insteaf of (A, B) + paste (A, B, C) => (A, B, A', B', C'), i would like to hold e.g. shift or alt down, and get (A, B) + alt-paste(A, B, C) => (A, B, C).

The usecase is "updates"; where I have a view (1) that holds the structure of e.g. a host. This host is also present in another view (2) together with other stuff. I now find that I need to add an element to the host in view (1), e.g. an additional infrastructure function, or similar, and I wish to add this addition to view (2) too. Currently I have to only copy+paste the new element from view (1), and then manually add the relations present in view (2). If I was able to copy and then have Archi only paste the "new" elements and reletations from the selection, (compared to existing content of view 1), it would be rather nice.

As usual: If you know of a way to accomplish this currently, feel free to let me know.

[feature proposal] Add option to render documentation items as Markdown in JasperReport wizard

In order to make reports feature more powerfull, it should be possible to add an option on the report wizard (disabled by default) to render documentation items using a Markdown to HTML preprocessor. This would then enable the report to render the HTML (that's an option in jasperreport) and thus create better looking documents.

Adding markdown support should be easy as several (but not tested) Java libs exists.

Of course, seen from Archi, documentation items would remain text only and users will see the Markdown "source", but this should not be a bit deal as it was created to be human readable.

Allow user to set default colours

It would be nice to allow the user to specify default colours for the entities.

The default colours could be set for Business, Application and Technology layers, or individually.

You could perhaps define colour schemes.

test failures

I have the following problems when trying to run the unit tests in the develop branch:

com.archimatetool.model.tests:
in com.archimatetool.model.impl.RelationshipTests all tests fail with
java.lang.InstantiationException

in editor tests:
diff --git a/tests/com.archimatetool.editor.tests/src/com/archimatetool/editor/ui/FigureChooserTests.java b/tests/com.archimatetool.editor.tests/src/com/archimatetool/editor/ui/FigureChooserTests.ja
index 62e67dc..1cb1f51 100644
--- a/tests/com.archimatetool.editor.tests/src/com/archimatetool/editor/ui/FigureChooserTests.java
+++ b/tests/com.archimatetool.editor.tests/src/com/archimatetool/editor/ui/FigureChooserTests.java
@@ -56,6 +56,7 @@ public class FigureChooserTests {
Preferences.STORE.setValue(IPreferenceConstants.BUSINESS_INTERFACE_FIGURE, 1);
int type = FigureChooser.getDefaultFigureTypeForNewDiagramElement(IArchimateFactory.eINSTANCE.createBusinessInterface());
assertEquals(1, type);

  •    Preferences.STORE.setValue(IPreferenceConstants.BUSINESS_INTERFACE_FIGURE, 0);
    

    }

    }

a lot of other tests fail on Platform.getBundle() returning null when running as Junit test (non-plugin one)

com.archimatetool.tests:
java.lang.RuntimeException: Error
at com.archimatetool.tests.AllTests.getTest(AllTests.java:37)
at com.archimatetool.tests.AllTests.suite(AllTests.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.internal.runners.SuiteMethod.testFromSuiteMethod(SuiteMethod.java:34)
at org.junit.internal.runners.SuiteMethod.(SuiteMethod.java:23)
at org.junit.internal.builders.SuiteMethodBuilder.runnerForClass(SuiteMethodBuilder.java:14)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.(JUnit4TestReference.java:33)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.(JUnit4TestClassReference.java:25)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62)
at org.eclipse.pde.internal.junit.runtime.PlatformUITestHarness$1.run(PlatformUITestHarness.java:47)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3537)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3189)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.pde.internal.junit.runtime.NonUIThreadTestApplication.runApp(NonUIThreadTestApplication.java:54)
at org.eclipse.pde.internal.junit.runtime.UITestApplication.runApp(UITestApplication.java:41)
at org.eclipse.pde.internal.junit.runtime.NonUIThreadTestApplication.start(NonUIThreadTestApplication.java:48)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
Caused by: java.lang.ClassNotFoundException: com.archimatetool.export.svg.AllTests
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at com.archimatetool.tests.AllTests.getTest(AllTests.java:33)
... 49 more

Allow multi-line names for objects

At the moment, all name attributes for an object are single-line. The name attribute is saved as a single line in the model, and the text editing components are single line.

Allow multi-line names, like the "Documentation" field.

Labels set to 'middle' on relationships end up over the top of the relationship

For labels that are in the 'middle' of a relationship, the label ends up over the top of the relationship when the relationship is horizontal in v2.6 which is kind of ugly. It doesn't happen if you choose 'target' or 'source', for these the label ends up underneath which is much nicer.

It would be good to have a little more flexibility around where exactly the labels are placed in relation to the relationship as a general rule anyway, for example if the relation is horizontal, sometimes you might want the label above the line rather than below.

[issue] Wrong direction on derived access relation?

When creating a derived relation from the node to the artifact, based on the structural relations of the image below, I believe the read/write direction on the derived relation is wrong: write, where it should be a read.

Minor issue.
wrongdirectionderivedrelation

[feature proposal] Load a model as a "Pattern Library"...

Hi,

What about adding the ability to load a model as a "Pattern Library"...

This would then open a new tab on Archi, listing all views contained on that model. At first each view would be collapsed, but with ability to be "opened" to see a small version of the view:

image

The pattern name would be the view name, and hovering would display the view documentation...

With this "Pattern Library", it could then be really easy to add a whole bunch of elements and relation to a new model (without having to open a model, the view, selecting all, copying, switch to the model being edited, pasting, removing unwanted "(copy)" suffixes...).

So basically its a kind of enhanced copy/past buffer.

Of course, Archi would come with a good pattern file as example ;-)

Regards

JB

[Magic Connector] Show and create in both directions

This was requested - "Enhance the magic connector to show all possible relations based on 2 elements independently of which one is the source and which one is the target (each time I use the magic connector I have to use it twice to see all possible relations). E.g the popup menu could have 2 "sections": direct and reverse."

intelligent placement strategies when dragging multiple elements to the view

There are some placement strategies I routinely do (by hand now). It would be nice to be able to do them automatically, even if the placement would need some hand-adjustment after automatic placement. I know this is very hard to support this. Maybe some algorithms could be reused from programs doing routing and placement for integrated circuits.

  1. Container
    There are container items, which contain other ones (using composition/aggregation).
    The strategy places the contained items adjacent to each other, similar to a table. The size of most of the contained items is the same, choosen such that all of them can hold their name. For the few which have too long names, I use two adjacent "cells" of the imaginary table. The number of rows and columns of the "tables" are choosen such that the whole diagram takes the least place. There is a small gap between the containing items though.
  2. Levels
    There are multiple levels of indirection, the element type and relation type may not the same on different levels. The connections between the levels are many-to-many.
    The elements of different levels are placed in different columns, and the row of the elements are choosen such that the length of the relations should be minimal (using shortest path routing).
  3. Clusters
    The elements are connected, some clusters of them are more fully connected than others. The placement places the elements of the clusters near to each other at the center, and puts the less connected *satellite) elements on the periphery. The placement optimizes placement on length of the relations (using shortest path routing), but places the satellite elements in a geometric order (rows, columns)

Improve JUnit Test Framework

Need to organise JUnit Tests on a per-plugin basis to manage restricted access to protected packages and plugins.

  1. Remove the existing com.archimatetool.tests plugin
  2. Create a test fragment project for each plugin
  3. Create a new com.archimatetool.tests plugin to gather all tests in a suite and provide test support utils.
  4. Put these in a "tests" directory

New feature to add existing relationships to a view for a selected element

Sometimes 2 or more views have similar information, and during workshops, one view can be evolved to contain more relationships and details.

It would be very useful if there was an easy way to add those extra details across other similar views. e.g.

  1. Right click on a view element and select a new "Add all relationships" menu item (preferred), or
  2. Be able to drag/drop from the Visualiser onto the active view.

I know that there is a way to find and add any relationships to a view which exist in the underlying model but it is very fiddly and manual.

I think 1. above is probably the best way to go because there typically won't be a huge amount of relationships attached to a given model element and the modeller could then just delete those elements which were added by the "Add all relationships" function but not needed.

If this is still not clear, here's an example.

  1. I create View1 with App Component 1 (AC1)
  2. I create View2 with AC1 and AC2
  3. I go to View1 and associate App Function 1 (AF1) with AC1, and AF2 with AC2. I then also add a Flow relationship between AF1 and AF2.
  4. I go to View2. The problem here is that depending on the modelling requirements and viewpoint I may want to know all of the interesting modelling which has recently occurred.
  • If select AC1 on View 2 and choose "All all relationships" then AF1 should appear.
  • If if then choose AF1 on View 2 and choose "All all relationships" then AF2 should appear.
  • Finally, selecting AF2 and choosing "Add all relationships should make AC2 appear.

I know all of this is in the model and the visualiser but I'm lazy and think this would be a great way to blend discovery and modelling.

[Copy/Paste] Child objects pasted in wrong place

I've improved Copy & Paste of diagram objects but there's still a problem to be fixed.

If child objects (nested) are selected and copied they are pasted at co-ordinates relative to the diagram, not the parent object.

See com.archimatetool.editor.diagram.actions.CopySnapshot class:

private void calculateXYOffset(Point mousePosition) {
        // No mouse click, so increment position by 10,10
        // FIXME: If selected objects are child objects then the offset is relative to the diagram, not the parent objects
        if(mousePosition == null) {
            fXOffSet += 10;
            fYOffSet += 10;
            return;
        }

Anyone like to take a look at this. I'm stumped.

[SVG Export] Some fonts are not rendered correctly

Some fonts are clipped or not rendered correctly when exporting to SVG. The GraphicsToGraphics2DAdaptor has a workaround for this, but it renders the text as an image. This is ugly.

The problem areas seems to be here:

plug-in: com.archimatetool.export.svg
class: GraphicsToGraphics2DAdaptor
method: public void drawString(String s, int x, int y)

This seems to be more apparent on Linux and Mac.

[Unit Tests] Remove dependencies on PlatformUI and Workbench

We would like to run all Unit tests in a "headless" way, so that there is no dependency on the PlatformUI and Workbench.

Tests plug-ins that can be run "headless":

com.archimatetool.export.svg.tests
com.archimatetool.jdom.tests
com.archimatetool.model.tests

Some tests in

com.archimatetool.editor.tests

cannot be run headless. They are testing code that invokes the PlatformUI and/or Editors.

The aim now is to refactor these dependencies and/or replace some test objects with mock objects where possible.

[Copy/Paste] Relation not copied if nested objects copied and pasted

When copy/pasting nested elements, the relation that exists between parent and child is not kept. This is because there's no relation object shown on the diagram.

  1. Create a Business Actor on a View.
  2. Create Business Role on same View directly inside of Business Actor, creating an Assignment Relationship.
  3. Select Business Actor and Copy & Paste

No relationship copy is made.

However, if you now drag the Business Role out of its parent (Business Actor) and drag it back in again and repeat the steps a relationship copy is made.

Copy & Paste logic is looking for actual DiagramModelConnection, not implicit.

Bugger.

Splitting core and archimate

I am preparing a feature branch which is the beginning of the split of the current codebase of Archi to two parts: general metamodel-independent modeling code, and archimate metamodel support. Before even thinking of submitting this, I would like to make sure that I am going in a direction which is okay for you.

Here are the goals and constraints. Please reply which is acceptable and which is not, and add your own constraints.

Goals:

  1. Split the general part (core) and the archimate support in a way which supports creating a product (in another repo) which depends on the core, and have different metamodel than archimate.
  2. Archi builds correctly
  3. All of the current unit tests of archi run successfully
  4. Core and archimate support have their own unit tests such that when building Zenta, core unit tests can be used and archimate unit tests are not in the way.
  5. In the core there should be no reference to the archimate metodology beyond the fact that the base package name is com.archimatetool.
  6. The core will incorporate all of the minimally needed frameworks which support any functionality of Zenta. That is when such a framework is proposed by Zenta developer, the discussion will be about how to support the feature with minimal modification in the core and not about whether the feature should be supported.
  7. No intention to do all of the split in one step. This feature branch is about setting up the infrastructure to do so. Goals 2. and 3. should always be satisfied nevertheless.

Constraints:

  1. The core and the archimate parts will be in their own directory, both of them have their own tests directory.
  2. The core will incorporate frameworks which support functionality needed in Zenta but not needed in Archi, and the other way around. That is the functionality will be implemented in the respective product, but the minimally needed modifications to support that functionality are implemented in the core.
  3. The core will not incorporate any functionality which is conflicting with the functionality of either Archi or Zenta. The implementation of functionality which differ with the two products will be factored out into product-specific plugins. This includes metamodel-dependent things like metamodel-specific viewpoint logic, but also those core functionalities where we cannot agree, like the movearound one. The patch to factor out those functionalities in a way which does not break any of the products should be made by the one who do not want to see the functionality in the core.
  4. The core can incorporate any functionality which is useful for both of the products. The patch to factor in these functionalities in a way which does not break any of the products should be made by the one who wants to see the functionality in the core.
  5. The ecore model will be split into two bundles, somewhere around the current "ArchimateElement" element.
  6. ArchimateElement will be renamed to "ModelElement".

[feature proposal] Highlight structural chains when element is selected

From this discussion on the users list: https://groups.google.com/forum/#!topic/archi-users/OP45L70vfDo :

It would be great if Archi had a mecanism to highlight some of the chains when selecting an element. We could for example use one color for the chain starting from this element and another for the chain ending with it.

This would be good, both as a teaching and (simple) analysis tool.

A bonus feature (I don't understand this, posted by Jean-Baptiste): another additional feature would be to allow (through an option) to "walk through" composition and aggregation in reverse order as this make sens in this context (if a node realizes an Infra Svc which is part of another Infra Svc, then obviously, if the node is down, there's an impact on the latest Infra Svc which is not shown when using strict definition of derived relationship).

Would it be possible to activate Wiki on Archi's repo ?

Hi,

As we have now more and more suggestions/feature requests comming from LinkedIn and User Forum, I think we should find a place to copy/order them before creating real github issues. I really don't want to refrain users to open issues, but I think this could become a mess if we just copy/paste all this material here.

With the Wiki opened we (I?) could then create several pages for all requests and start grouping then by use case. This last point seems important to me because this could also be a potential reusable material for the "tips & tricks" website section. My idea being to see the whole enterprise ((c) Tom Graves) and thus focus on the several workflow/use cases Architects develop around Archi.

For example we could focus on the workflow followed when you start doing EA (create and share a baseline model):

  • Collect material from several sources (CMDB, misc. referentials...).
  • Import this material in Archi -> this leads us to the import/export request (what format...)
  • Explore the model through the visualizer
  • Create a few first "high level" views. When starting EA, there's much chances that ArchiMate is not well known -> this leads us to the teaching/learning part of Archi (included ArchiMate specs, feature request around magic connector...).
  • Export these views to share them with stakeholders -> This leads us to the reporting features
  • ...

From a technical perspective, the GitHub wiki makes it easy to create pages using markdown syntax, thus this content is easilly reusable through strapdown.

Migrate to Eclipse 4

Archi needs at some point to migrate to Eclipse 4 using its "compatibility layer". Eclipse 4.4 final will be released in June 2014. This should be the minimum target version.

Milestone and Integration builds of Eclipse 4.4 are available here:

http://download.eclipse.org/eclipse/downloads/

Let's track the issues here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.