Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Helmut Ortmann

Pages: 1 ... 57 58 [59] 60 61 62
871
Hello,

timeout problem:
Project, Version Control, Version Control Settings
Change timeout time
This failure is uncritical. Redo the operation will also work.

Make Sure:
- The SVN rights for lock for the current user are available

Check:
Usually EA outputs the command to svn which causes the trouble. Try the command in a cmd window.

Start with just two packages and without branch
Make a simple project with just two packages.  

My experiences with SVN
Besides from the uncritical timeout most if not all problems occurs from settings within SVN. That are only a few issues. By typing the command you'll quickly find out.

EA paradigm
Be aware of the EA paradigm. You may like it or not but you can't change it:
  • EA locks the file (checkout)
  • Nobody, except the checkout user can edit the file
  • The Checkout user edits the file
  • The Checkout user makes a checkin (Commit) or a undo checkout (remove lock among other things)
This paradigm is the cause that EA don't work with GRIT.

Resynchronize VC package state
If you are confused about the current state just right click on the package, Version Control, Re-sync Status with VC provider

Be aware of
In my experiences with a lot of different VC tools is that the technical aspects works quit seamless after some starting problems.

There are a lot of pros and cons about VC. You can find these in this forum with a lot of personal experiences and emotions.

To summarize it: You get something but usually you have to pay for it.

My personal view is:
In an environment with strict processes or safety requirements I would use VC after I'm sure I've found the right package structure. If you have no special requirements according to VC other than 'I'm used to it' I would think carefully about it. Some remarks:
  • No convincing diff tool
  • You may have to checkout more than one package for relationships
  • Cross package dependencies may be difficult to handle
  • I would use at least Version 9.35
  • Be aware of some unexpected problems
Don't be worried but make a conscious decision. This forum may help you.


Helmut

872
Hello,

EA locks the *.xml file during Checkout. It unlocks it during checkin.

Helmut


873
Hello Geert,

do you have the EA Corporate Edition?

Helmut

874
Hello,

I think Geert is right. I have the same experiences. You may try:

- Create the Diagrammobject in the way you want to see them
  (position them)
- After that set the parant-Id as they were before

Helmut

875
Hi,

some code to see how to add a connection and to estimate the position:
Code: [Select]
                       Repository.SaveDiagram(dia.DiagramID);
                        
                        EA.Element elNote = null;
                        try
                        {
                            elNote = (EA.Element)pkg.Elements.AddNew("", "Note");
                            elNote.Update();
                            pkg.Update();
                        }
                        catch { break; }

                        // add element to diagram
                        // "l=200;r=400;t=200;b=600;"

                        // get the position of the Element
                        EA.DiagramObject diaObj = null;
                        foreach (EA.DiagramObject dObj in dia.DiagramObjects) {
                            if (dObj.ElementID == el.ElementID)
                            {
                                diaObj = dObj;
                                break;
                            }
                        }
                          int left = diaObj.left + 2*(diaObj.right - diaObj.left);
                        int right = diaObj.right + 2 * (diaObj.right - diaObj.left);

                        string position = "l=" + left.ToString() +";r=" + right.ToString() + ";t=" + diaObj.top.ToString() + ";b=" + diaObj.bottom.ToString() + ";";
                        EA.DiagramObject diaObject = (EA.DiagramObject)dia.DiagramObjects.AddNew(position, "");
                        dia.Update();
                        diaObject.ElementID = elNote.ElementID;
                        diaObject.Update();
                        pkg.Elements.Refresh();
                        // make a connector
                        EA.Connector con = (EA.Connector)el.Connectors.AddNew("test", "NoteLink");
                        con.SupplierID = elNote.ElementID;
                        con.Update();
                        el.Connectors.Refresh();
                        Util.setElementHasAttchaedLink(Repository, el, elNote);
                        Repository.ReloadDiagram(dia.DiagramID);

                    }

I don't know why your requirements structure became flat. You have to ensure that the parent_id of the requirement remains unchanged. For me the code looks good. You are just creating a diagramobject and assign it to the requirement element. I would do it almost the same way.

Helmut

876
Hello,

I see the following possibilities to get quickly started:
  • Thomas Kilian's book ScriptingEA
  • Geert Bellekens Tutorial in the Community (Addin in 10 Minutes or so)

There is also a bunch of examples in:
- Online Help
- Scripting example Code (MDG EAScriptLib) and LocalScript in View Scripting

Helmut

877
Hello,

you may write an Addin to create a requirement diagram for each package containing requirements.

Best regards,

Helmut

878
Hello,

if the DOORS MDG don't creates diagrams as part of the import you may write an Addin to visualize the requirements in a diagram for each package.

Kind regards,

Helmut


879
Hello Bello,

if you want to access EA via API from RTC you can do this. EA has a COM interface which you can access by a lot of programming languages like:
  • C#
  • Pearl
  • Visual Basic for .net
  • Excel, Word,.. (VB for application)
  • etc.

This interface is well documented and there are a lot of examples available.

Helmut

880
Hello Bello,

integration with other tools isn't that simple. In theory there is a standardized exchange format. It's called XMI. Additionally some tool suppliers have a special import features for other tools.

To your question:
EA has three powerful mechanism to do things that are not part of the tool.
- SQL
- Addin (your language like C#, VB, Pearl,..)
- Scripts (more for fast solutions)

With Addins and the possibility to access the underlying database you can do almost everything.

Good sources to get started are:
- Online help (with examples)
- Example scripts in the EA scripting view
- eBook ScriptingEA from Thomas Kilian
- Geert Bellekens Tutorial (my First Addin in 10 Minutes, in EA Community))

What is the best answer to you problem? You have to give more information.

Helmut

881
Automation Interface, Add-Ins and Tools / Re: Changing font size
« on: July 12, 2013, 04:49:12 am »
Hi Fabio,

interesting question. Also how to manipulate the text by html tags.

I just tried:
- Formatting the note by EA means (Size, Color,..)
- Visualize the note content by free addin EnArSpy (LieberLieber)
- SQL would also do

The formatting is coded by html tags. But there is also somewhere a flag to switch on the interpretation of html code.

I propose:
- Make a new *.eap file
- Make a class and a note (class note) with formatting by EA means
- Make a class and a note (class note) with the same text and without formatting
- select note As MyNote,* from t_object  (as search)

Hopefully you see the differences and the way interpretation html is switched on

May be another of the active community guys know a solution.

If you discover a solution I would be happy if you tell about your achievement.

It's a bit of try and error or waiting for someone who knows the solution.

Good luck and thanks,

Helmut

882
Hi Fabio,

the following snippet shows you how to add a note, connect to an element and visualize the note of the element.
Code: [Select]
                       Repository.SaveDiagram(dia.DiagramID);
                      
                       EA.Element elNote = null;
                       try
                       {
                           elNote = (EA.Element)pkg.Elements.AddNew("", "Note");
                           elNote.Update();
                           pkg.Update();
                       }
                       catch { break; }

                       // add element to diagram
                       // "l=200;r=400;t=200;b=600;"

                       // get the position of the Element
                       EA.DiagramObject diaObj = null;
                       foreach (EA.DiagramObject dObj in dia.DiagramObjects) {
                           if (dObj.ElementID == el.ElementID)
                           {
                               diaObj = dObj;
                               break;
                           }
                       }
                          int left = diaObj.left + 2*(diaObj.right - diaObj.left);
                       int right = diaObj.right + 2 * (diaObj.right - diaObj.left);

                       string position = "l=" + left.ToString() +";r=" + right.ToString() + ";t=" + diaObj.top.ToString() + ";b=" + diaObj.bottom.ToString() + ";";
                       EA.DiagramObject diaObject = (EA.DiagramObject)dia.DiagramObjects.AddNew(position, "");
                       dia.Update();
                       diaObject.ElementID = elNote.ElementID;
                       diaObject.Update();
                       pkg.Elements.Refresh();
                       // make a connector
                       EA.Connector con = (EA.Connector)el.Connectors.AddNew("test", "NoteLink");
                       con.SupplierID = elNote.ElementID;
                       con.Update();
                       el.Connectors.Refresh();
                       Util.setElementHasAttchaedLink(Repository, el, elNote);
                       Repository.ReloadDiagram(dia.DiagramID);

                   }


Helmut

883
Hi Fabio,

be aware: It may be no problem to clone a package. But I think this clone don't create new elements as it's content (shallow copy).

So you probably have to recursively dip into the package structure and clone all the elements and packages.

Helmut

884
Hello Alberto,

you can't  assign a script to a toolbar button.

You can add a script to the context menu. Then Right Click, Scripts, Scriptname.

To add a script to the context menu:
- Create a Script Group of Type Browser, Diagram,..
- Drag the script into this Script group
- The script appears in the context menu according to the script group
  (Browser, Diagram,..)

If you want your script to work on browser and on diagram you have to duplicat the script and but it in Browser Group and in Diagram Group

Helmut

885
Hi,

you can use the tagged value type:
Type=Memo;

With this type you have no limits in entering text.

Seach in the help for: Tagged Value, Types
for the available types.

Best regards,

Helmut


Pages: 1 ... 57 58 [59] 60 61 62