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 - bholtzman

Pages: [1] 2 3 ... 7
1
General Board / Re: Swim lanes in the database
« on: July 07, 2022, 01:17:44 am »
OK, so when I move the objects with my code by updating the RECTTOP value I need to update the SEQUENCE value as well. Thanks!

2
General Board / Re: Swim lanes in the database
« on: July 06, 2022, 11:46:43 pm »
Geert,
My swim lane automation works well - thanks so much. Quick question: What is the significance of the SEQUENCE field in t_diagramobjects? I wonder if I should update it when I rearrange the objects in the diagram.

Bill

3
General Board / Re: Swim lanes in the database
« on: June 09, 2022, 01:46:03 am »
Awesome. The Sparx interface isn't always ideal but behind the scenes everything makes sense and having access to that knowledge here is super helpful.

Bill

4
General Board / Re: Swim lanes in the database
« on: June 08, 2022, 06:38:23 am »
Thanks, Geert, you're always right and always helpful.

A couple of follow-up questions if you don't mind:
- What is the significance of t_xref.requirement? The values I see are of the form SW=249;
- Is there any meaningful data in t_xref.description?
- t_xref.partition determines which swim lane is furthest left correct? where does Sparx keep track of the width of the swim lane?
- I am guessing there is no way to extract which objects are in which swim lanes, other than some kind of complex geometry thing. It seems you can put the objects so they straddle swim lanes.
- Can you envision code that would generate rows in t_xref and insert a swim lane into a diagram?

You're the best!

Bill

5
General Board / Swim lanes in the database
« on: June 08, 2022, 01:00:44 am »
Hi:
We're looking to leverage swim lane data from the database and implement some swim lane automation. I see that swim lane data is contained in the t_xref but I don't see any references to that data. How does Sparx know which diagrams to associate with the swim lane? Thanks.

Bill

6
General Board / Re: HTML Reports
« on: May 20, 2022, 04:55:55 am »
Thanks Geert! Good to know.

7
General Board / Re: HTML Reports
« on: May 20, 2022, 02:35:10 am »
Eve is there any update on this? Internet Explorer is becoming a relic and I don't know anyone who uses Opera. I could not get Firefox to work either. Thanks.

Bill

8
General Board / Re: Use of Tagged Values for version notes
« on: August 02, 2020, 12:42:48 am »
Hi Geert,
Hope you're well. I have deployed your LinkToCR code and given a couple of demonstrations to team members. It works well. One thing they'd like to see is for the code to be triggered by a change to their model. So if they were to add a new attribute for instance, is there a way to then start the code so that a user cannot make changes without being reminded (or even forced) to associate the update with a CR? Thanks.

OK, I just saw this video:
https://www.youtube.com/watch?v=-BKJxCilD6c

So I can use EAMatic to trigger off user events, correct?

EAMatic looks like something the user has to download and set up. Is there another way to trigger your code from user events?

Bill

9
General Board / Re: Use of Tagged Values for version notes
« on: July 01, 2020, 04:09:56 am »
Hi Geert,
I've got it all working now and am able to export the results of my query to Excel using a script in the Project Browser Group. It's pretty awesome!

I did have to work through a lot of errors with my query that were resolved when I removed the continuation character and just put it all on one line. I'm not sure what the issue was as I kept getting invalid character. After I put it on one line, I was able to then reinsert the continuation character and it worked, so I am thinking there were some invisible formatting characters present. Have you seen that?

One question I do have is, I am getting an extra column in my Excel output called Column1 with no content. I assumed this was because I had somehow specified another column in my query but I do not see how. Any ideas? My query is below.

Bill

   sqlGetContent = "select p.name AS Package, o1.name AS TargetClass, c.destrole AS ConnectorTag " & _
   "FROM (t_object o INNER JOIN (t_connector c INNER JOIN t_object AS o1 ON c.End_Object_ID = o1.Object_ID) " & _
   "ON o.Object_ID = c.Start_Object_ID) INNER JOIN t_package p ON o1.Package_ID = p.Package_ID " & _
   "WHERE not isnull(c.destrole) and lcase(o1.name) <> lcase(c.destrole)" & _
   "ORDER BY p.name, o1.name"

10
General Board / Re: Use of Tagged Values for version notes
« on: June 25, 2020, 02:04:50 am »
Of course you're right...I need to edit the queries...thanks!

Bill

11
General Board / Re: Use of Tagged Values for version notes
« on: June 24, 2020, 12:20:57 am »
Geert,
In Project A I tried running both test.vbs and TestKristof.vbs and same error:

DAO.Database [0x000000c03]
Syntax error (missing operator) in query expression '(uc1.Object_ID = con.Start_Object_ID)    INNER JOIN t_object uc2 ON (con.End_Object_ID = uc2.Object_ID)'

Any ideas?

Bill

12
General Board / Re: Use of Tagged Values for version notes
« on: June 19, 2020, 06:56:34 am »
Geert,
Reference my previous question, I found you had touched on it here:
https://www.sparxsystems.com/forums/smf/index.php?topic=41323.0

You said: Another option is to write a small script that automates that. In such a script you could also directly export to Excel if you wanted to.


Do you have any examples of that?

Bill

13
General Board / Re: Use of Tagged Values for version notes
« on: June 19, 2020, 02:32:04 am »
The below worked in case anyone needs it. One odd thing was if I used the alias CLASSTYPE, I got an odd column containing symbols. Now that I have the query, how can I provide less skilled users with a way to run it and export the data? Can I put it into a script?

Geert this is really good stuff - I appreciate your attention to my posts.

Bill

SELECT o.ea_guid AS CLASSGUID, o.Object_Type AS CLASS_TYPE,
re.Name AS Release, cr.StereoType AS ChangeType, cr.Name AS ChangeRequest, o.name AS ChangedItem,
mid(op.notes, instr(op.notes, "date=")+5, 10) AS ChangeDate,
mid(op.notes, instr(op.notes, "comments=")+9, 500) AS ChangeComments,
mid(op.notes, instr(op.notes, "user=")+5, instr(op.notes, ";date") - instr(op.notes, "user=")-5) AS ChangeUser,
package.name AS PackageName, package_p1.name AS Package_level1, package_p2.name AS Package_level2, package_p3.name AS Package_level3
FROM ((((((((t_object o
INNER JOIN t_objectproperties op ON o.Object_ID = op.Object_ID)
INNER JOIN t_object cr ON cr.ea_guid = op.value)
LEFT JOIN t_connector crre ON crre.Start_Object_ID = cr.Object_Id)
LEFT JOIN t_object re ON (re.Object_Id = crre.End_Object_Id AND re.StereoType = 'Release'))
INNER JOIN t_package package ON o.package_id = package.package_id)
LEFT JOIN t_package package_p1 ON package_p1.package_id = package.parent_id)
LEFT JOIN t_package package_p2 ON package_p2.package_id = package_p1.parent_id)
LEFT JOIN t_package package_p3 ON package_p3.package_id = package_p2.parent_id)
WHERE op.Property = 'CR'

UNION

SELECT a.ea_guid AS CLASSGUID, 'Attribute' AS CLASS_TYPE,
re.Name AS Release, cr.StereoType AS ChangeType, cr.Name AS ChangeRequest, o.name +'.'+ a.Name AS ChangedItem,
mid(atv.notes, instr(atv.notes, "date=")+5, 10) AS ChangeDate,
mid(atv.notes, instr(atv.notes, "comments=")+9, 500) AS ChangeComments,
mid(atv.notes, instr(atv.notes, "user=")+5, instr(atv.notes, ";date") - instr(atv.notes, "user=")-5) AS ChangeUser,
package.name AS PackageName, package_p1.name AS Package_level1, package_p2.name AS Package_level2, package_p3.name AS Package_level3
FROM (((((((((t_attribute a
INNER JOIN t_attributetag atv ON a.ID = atv.ElementID)
INNER JOIN t_object cr ON cr.ea_guid = atv.value)
LEFT JOIN t_connector crre ON crre.Start_Object_ID = cr.Object_Id)
LEFT JOIN t_object re ON (re.Object_Id = crre.End_Object_Id AND re.StereoType = 'Release'))
INNER JOIN t_object o ON a.Object_ID = o.Object_ID)
INNER JOIN t_package package ON o.package_id = package.package_id)
LEFT JOIN t_package package_p1 ON package_p1.package_id = package.parent_id)
LEFT JOIN t_package package_p2 ON package_p2.package_id = package_p1.parent_id)
LEFT JOIN t_package package_p3 ON package_p3.package_id = package_p2.parent_id)
WHERE atv.Property = 'CR'

ORDER BY Release, ChangeType, ChangeRequest, ChangedItem

14
General Board / Re: Use of Tagged Values for version notes
« on: June 18, 2020, 10:34:32 pm »
Thanks, Geert. It worked! I am now seeing tagged values with the property "CR" and the value a GUID. Awesome!

I am not using SQL Server and just an EAP file, so I need to convert those two queries you provided to something Access can process, right?

Bill

15
General Board / Re: Use of Tagged Values for version notes
« on: June 18, 2020, 05:39:25 am »
Stepping through the code it looks like it bombs at the CreateObject call.

function getSelectedElements(diagram)
   dim selectedElements
   set selectedElements = CreateObject("System.Collections.ArrayList")

Pages: [1] 2 3 ... 7