Automatic Processing #tools


Stefano Giusto
 

Hello,
what is the syntax and what are the commands available in the AutomaticProcessingSequenceFile?
I am not able to find anything in the docs
BR
  Stefano


Steven Blank
 

Stefano,

I don't have v4.7 installed, but I can't imagine it to be that different from v3.3 in which there are literally dozens of topics re. automatic processing and the Studio's Tools Infrastructure functionality. To wit:



What specific task do you want to accomplish? I may be able to help...

Steven G. Blank
SGBlank Consulting


On 6/12/2021 8:26 AM, Stefano Giusto wrote:
Hello,
what is the syntax and what are the commands available in the AutomaticProcessingSequenceFile?
I am not able to find anything in the docs
BR
  Stefano


Stefano Giusto
 

Hello,
we have two projects, development and deploy under version control on azure devops
when we are ready to release some new feature, we build a list of models, datasources and task to move from develop to deploy
in magic 8 we used to export/import manually
I was wondering if it would be possible to automate this process.
something like this:
  • open project develop
  • get latest version from server
  • export model x
  • export model y
  • export data source z
  • export task a
  • export task b
  • open project deploy
  • check out model repo
  • import model x at bottom
  • overwrite model x
  • delete model from bottom
  • import model y at bottom
  • overwrite model y
  • delete model from bottom
  • check out data sources repo
  • import data source z at bottom
  • overwrite data source z
  • delete data source from bottom
  • check out program repo
  • check out program a
  • import program a at bottom
  • overwrite program a
  • delete program a from bottom
  • check out program b
  • import program b at bottom
  • overwrite program b
  • delete program b from bottom
  • check in everithing with a custom label ('version xyz')
  • generate ECF

the automation file would be generated by our tool that track changes to project
thank you
  Stefano


Steven Blank
 

Stefano,

Looks like a worthy usage of the Tools Infrastructure, for sure!

Opening a project uses the "Project" command. Example:
Project, c:\projects\myproject\myproject.edp

Opening the Models repository and parking on the tenth entry to overwrite uses the "Simulate" command. Example:
Simulate, WIN=MDL_REP#10, KEY=Ctrl+W, KEY=Enter

Exports use the "Export" command. Example:
Export, %Path%AllTables.exp, Repository=M  Range=@

Generating a new ECF uses the "ECF" command:
ECF, c:\projects\myproject\myproject.ecf

Commands are documented in the online reference at:
Home > Reference Guide > Utilities > Tools Infrastructure > Operation Commands

The only unknown in my mind is whether or not the version control actions such as get latest version and check in|out can be Simulated. I don't see why not, but ...

HTH.

Steven G. Blank
SGBlank Consulting


On 6/12/2021 11:07 AM, Stefano Giusto wrote:
Hello,
we have two projects, development and deploy under version control on azure devops
when we are ready to release some new feature, we build a list of models, datasources and task to move from develop to deploy
in magic 8 we used to export/import manually
I was wondering if it would be possible to automate this process.
something like this:
  • open project develop
  • get latest version from server
  • export model x
  • export model y
  • export data source z
  • export task a
  • export task b
  • open project deploy
  • check out model repo
  • import model x at bottom
  • overwrite model x
  • delete model from bottom
  • import model y at bottom
  • overwrite model y
  • delete model from bottom
  • check out data sources repo
  • import data source z at bottom
  • overwrite data source z
  • delete data source from bottom
  • check out program repo
  • check out program a
  • import program a at bottom
  • overwrite program a
  • delete program a from bottom
  • check out program b
  • import program b at bottom
  • overwrite program b
  • delete program b from bottom
  • check in everithing with a custom label ('version xyz')
  • generate ECF

the automation file would be generated by our tool that track changes to project
thank you
  Stefano


Stefano Giusto
 

Thank you Steven,
I am a little afraid about the 'simulate' command since check in and check out involve interaction with source control provider...
I will do some experiments and let you know
BR
  Stefano


Keith Canniff
 

Stefano,

 

Is there a reason you haven’t looked at using Git and branches? Just type “Branch” into Magic’s help. It’s been there since 3.1 but I believe it’s better thought out from 3.3 to current with 4.7 having full integration, so this is the direction MSE is taking the tool.

 

You can have your

 

Master branch

                Release Fall 2021 Branch

                                Sprint 1 Branch

                                                Work Item 1 Branch

                                                Work Item 2 Branch

                                                Etc.

                                Sprint 2 Branch

                Release Spring 2022 Branch

Etc.

 

Work items (individual features usually assigned to a single developer)

Unit Test each Work Item

Merger tested work items into the Sprint branch

Fully test the merged Sprint Branch

Merge tested Sprint branch(s) into Release Branch

Fully regression test your release branch

Merge to master branch

 

Release to customers

 

If you want you can release work item, sprint, or release branches to specific customers (for example alpha testing a work item that’s specific to a customer)

 

This would seem to be a more standard way of managing your source without getting into the automation below. Start simple (like with one of the provided example projects so you don’t mess up your application) and go from there.

 

Keith

 

From: main@magicu-l.groups.io <main@magicu-l.groups.io> On Behalf Of Stefano Giusto
Sent: Saturday, June 12, 2021 2:08 PM
To: main@magicu-l.groups.io
Subject: Re: [magicu-l] Automatic Processing #tools

 

Hello,
we have two projects, development and deploy under version control on azure devops
when we are ready to release some new feature, we build a list of models, datasources and task to move from develop to deploy
in magic 8 we used to export/import manually
I was wondering if it would be possible to automate this process.
something like this:

  • open project develop
  • get latest version from server
  • export model x
  • export model y
  • export data source z
  • export task a
  • export task b
  • open project deploy
  • check out model repo
  • import model x at bottom
  • overwrite model x
  • delete model from bottom
  • import model y at bottom
  • overwrite model y
  • delete model from bottom
  • check out data sources repo
  • import data source z at bottom
  • overwrite data source z
  • delete data source from bottom
  • check out program repo
  • check out program a
  • import program a at bottom
  • overwrite program a
  • delete program a from bottom
  • check out program b
  • import program b at bottom
  • overwrite program b
  • delete program b from bottom
  • check in everithing with a custom label ('version xyz')
  • generate ECF


the automation file would be generated by our tool that track changes to project
thank you
  Stefano


Virus-free. www.avast.com


Stefano Giusto
 

Hi Keith,
we are using git for all development but Magic. (C, C++, VB.NET, PHP)
honestly pay a third party for compare and merge seems me nonsense, it should be done internally by studio
we use PHPStorm+Github that cost a fraction of magic and has very nice tools for branching, merging, versioning and issue tracking
git integration in 4.7 seems me no more than experimental.
our application is huge (3400 tasks, 1300 tables, 600 models) and is converted from magic 8. compare and merge did not passed our internal tests
moreover we have our internal tool that tracks tasks modifications and prevents to deploy a group of tasks (branch1) if another group (branch2) has modified even only a task of branch1
this to prevent interferences between interfaces or In database schema.
we should split our application in components, design components interfaces and then we will ready for branching with magic (assuming that magic will have a decent git integration by that date)
so, in the meanwhile, I was looking for a solution using automation
we moved from magic 8 and kbput to land on xpa 4.7 and Simulate! it seems they wasted 20 years....
Regards
  Stefano


oldone
 

Keith's discussion points to the fact that Magic designers in the old days, like mine, did not appreciate the importance and
value to our lives of trees. The capacity of this technique to simplify a wide variety of application implementations and designs
I find hard to understate. Having worked in 72 industries and failed them all, this would have made a real difference in my
modeling. 

a better Don


Wes Hein
 

The Compare and Merge is free, just ask for a license from your rep.

Wes


Stefano Giusto
 
Edited

Free? They asked me 1500€ per seat per year!