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 2 [3] 4 5 ... 59
31
Hi,

since release 13 EA supports so called Hypbrid Scripting (see: http://www.sparxsystems.com/resources/user-guides/automation/hybrid-scripting.pdf).

The benefit is: You can generate, build, deploy and run by EA your little Java Program which can access a Repository. Maybe it's of use.

Regards,

Helmut

32
Bugs and Issues / Re: EA response is super slow in V13!?
« on: July 25, 2017, 05:22:00 am »
Hi Peter,

the projects I worked for:
- EA with *.eap and Version Control ==> lot of problems, I have almost never experienced some benefits from Version Control
- EA with Database, no Version Control ==> runs smoothly

Today I look carefully into the processes to evaluate if Version Control is really needed and not a rarely needed functionality.

In most cases, baselines or simply write/export (not read) to Version Control will do the job. No locking, just writing. An Integrator who was also responsible for integrating the model told me that there are seldom merge conflicts and if they have solved them fast.

Processes like SPICE are talking a lot of the benefits of Version Control. It's a thing we have to use without thinking about. In praxis, you should look into the details and ask:
- What are the real benefits?
- What are the issues?
- Can I mitigate the issues?

Kind regards,

Helmut

33
Hi q,

problem solved. As you suggested I simply forgot to define the Search with New Search.

Best regards,

Helmut

34
Thanks, I got it. I have to configure the Search. Now I see it.

Best regards,

Helmut

35
Hi,

I thought I could see the Search in the AddIn category after CTRL+F.

Have I missed something? Is there something to do to see the Search after CTRL+F?

Best regards,

Helmut

36
Hi q,

thanks a lot for your engagement.

I've tried it with two Add_Ins, EA 13.5 and 12, with and without DEBUG mode. I can't see the Add-In Searches in the Search Window. In the dll I can see the public function:
- public object AddInSearchSample(EA.Repository repository, string searchText, out string xmlResults)

The signature is according to the links which make sense.

The functionality behind the Add-In Search works fine. I only can't run it manually because it doesn't show up.

Kind regards,

Helmut




37
Hello,

I am trying to develop an Add-In Search with C# according to http://sparxsystems.com/enterprise_architect_user_guide/13.5/automation/add-in_search.html.

The Add-In works correctly but EA doesn't recognize the Add-In Search. I would expect to see the Search in 'Find in Project' category Addin. Nothing shows up.

I tried the following signatures and checked it in the DLL with ildasm.exe. The methods are public methods in the Add-In Class.

Signatures:
- public string AddInSearchSample2(EA.Repository repository, string searchText, out string xmlResults)
- public string AddInSearchSample2(EA.Repository repository, string searchText, ref string xmlResults)
- public object AddInSearchSample2(EA.Repository repository, string searchText, out string xmlResults)
- public object AddInSearchSample2(EA.Repository repository, string searchText, ref string xmlResults)


Has someone experiences, examples or ideas?

Thanks,

Helmut

38
Hi Mark,

please file a bug report.

Kind regards,

Helmut

39
Hi Julian,

The free Open Source hoTools now contains Addi═nSimple. AddInSimple is a basic Add-In which:
- Shows how to develop an Add-In in C#
- Demonstrates how to implement Shape Script print methods
- Ready to use sample to print parent properties like Tags, Name,
- Easy to adapt to other needs

You find it:
- Documentation https://github.com/Helmut-Ortmann/EnterpriseArchitect_hoTools/wiki/addinshapescript
- Download https://github.com/Helmut-Ortmann/EnterpriseArchitect_hoTools

I based the implementation on:
- Geert Bellekens AddIn
- Aaron Bell http://www.sparxsystems.com/cgi-bin/yabb/YaBB.cgi?num=1326759082/1#1

Additional you find the method:
- public string GetParentProperty(EA.Repository repository, string eaGuid, object theParams) {..}
- Print properties of the parent object like Name, Alias, Tagged Values,
- Details in the implementation https://github.com/Helmut-Ortmann/EnterpriseArchitect_hoTools/blob/master/AddInSimple/AddinSimple.cs

With this sample application, it should be easy to implement other needed features.

Kind regards,

Helmut

40
Hi Julian,

one issue is that there are thousands of things to do with Add-Ins. Only rarely matches Add-Ins the need of others.

I know a lot of projects who want to publish libraries of functions. In the end, it mostly don't work

If I have understood you right you want to visualize a tagged value of a parent element with an Add-In used by a shape script.

Maybe, if I like to spend some time I'll make a little demo Add-In which exposes this feature. Just to see how it works.

If an Addin does some accesses in a shape script it probably will slow down rendering diagrams which use this feature a lot.

Think, if my specification is correct and maybe I'll do it for fun.

Kind regards,

Helmut


41
Hi Mr Stuff,

I don't catch your issue. Think about making a little concrete example. What embedded objects do you have in mind? A little picture would make it clear.

In EA you can control the appearance of:
- Diagram
- Diagram nodes
- Diagram links

If you want e.g. not show Ports on a Diagram, there is at least one Addin that solves the issue.

Kind regards,

Helmut

42
Hi Mr. Stuff,

I haven't got the whole picture of what an Addin or Script should do for you. May be you write a little specification and try to generalize your issue at hand. A small example would be helpful. If you find something of general interest, there might be someone who can help you.

If you want to get information from a Diagram Node EA offers some possibilities out of the box and by scripting with just a few lines of code. E.g.:
- You can visualize arbitrary information in the document view
- Make a note and assign Element property/feature/tagged values to this note (powerful and easy)
- Hyperlink to show other Diagrams, Elements,
- etc.

Kind regards,

Helmut

43
Hi Gary,

I see the following possibilities for diagrams:
- Using the EA Style Panel
  http://sparxsystems.com/enterprise_architect_user_guide/13.5/user_interface/using_the_style_panel.html
- Diagram Style with hoTools (Open Source, free)
  https://github.com/Helmut-Ortmann/EnterpriseArchitect_hoTools/wiki/DiagramGeneralStyles
- Write a Script / Addin (qwerties books help a lot)

May be there is a way to change the Visual Style http://sparxsystems.com/enterprise_architect_user_guide/13.5/user_interface/visualstyles.html. An *.xml file or something like this.

Kind regards,

Helmut

44
General Board / Re: Update Text for Hyperlinks to Elements
« on: July 15, 2017, 12:15:27 am »
Hi,

updating the Notes/Description isn't a complex task if you know how. The following snippet shows how to do it with C#.

I may integrate the functionality in hoTools https://github.com/Helmut-Ortmann/EnterpriseArchitect_hoTools/wiki. Then it's just a Click away.

Best regards,

Helmut

Code: [Select]
        /// <summary>
        /// Change EA Hyperlinks of type package, element, diagram, attribute, operation in notes string.
        /// </summary>
        /// <param name="rep"></param>
        /// <param name="s">Reference to the Notes string</param>
        /// <returns>True if string is changed</returns>
        private static bool ChangeHyperLinksInNote(Repository rep, ref string s)
        {
            // Possible replacements for element, package, feature(Attribute or Operation)
            Regex rgx = new Regex(@"(a href=""\$(element|diagram|package|feature)://({[ABCDEF0123456789-]+})[^u]*u>)([^<]*)",
                RegexOptions.IgnoreCase);
            Match m = rgx.Match(s);
            bool changeNote = false;
            while (m.Success)
            {
                bool changeNoteItem = false;
                string guid = m.Groups[3].Value;
                string type = m.Groups[2].Value;
                string name = "don't exists";
                switch (type)
                {
                    case "package":
                    case "element":
                        EA.Element elReplace = rep.GetElementByGuid(guid);
                        if (elReplace != null) name = $"{elReplace.Name}";
                        changeNote = true;
                        changeNoteItem = true;
                        break;

                    // Operation/Attribute
                    case "feature":

                        EA.Attribute aReplace = rep.GetAttributeByGuid(guid);
                        if (aReplace != null)
                        {
                            name = aReplace.Name;
                        }
                        else
                        {
                            EA.Method mReplace = rep.GetMethodByGuid(guid);
                            if (mReplace != null) name = mReplace.Name;
                        }
                        changeNote = true;
                        changeNoteItem = true;
                        break;


                    // EntryName:   'PackageName' : 'DiagramName'
                    case "diagram":
                        EA.Diagram diaReplace = (EA.Diagram) rep.GetDiagramByGuid(guid);
                        if (diaReplace != null)
                        {
                            EA.Package pkg = rep.GetPackageByID(diaReplace.PackageID);
                            name = $"{pkg.Name} : {diaReplace.Name}";
                        }
                        changeNote = true;
                        changeNoteItem = true;
                        break;
                    // do nothing
                    default:
                        break;
                }
                // current item changed
                if (changeNoteItem)
                {
                    s = s.Replace($"{m.Groups[0].Value}", $"{m.Groups[1].Value}{name}");
                }


                m = m.NextMatch();
            }
            return changeNote;
        }

45
Hello,

in Visual Studio Project Properties, Debug for the DEBUG configuration activate
- Enable 'native code debugging'.

The forum also contains a thread about this.

Kind regards,

Helmut

Pages: 1 2 [3] 4 5 ... 59