Dealing with multiple Omnis 10.22 VCSs
Mayada Al-Kishtini
malkishtini at gmail.com
Thu Jan 5 03:14:43 UTC 2023
Hi Paul,
Thank you for your feedback. You confirmed that we were right in
deciding not to spend any time in trying branching in VCS, since it was
not working well in earlier versions of Omnis anyway.
What we are trying to do is add triggers to tables in the VCS database
and controls what to copy to the other VCS based on keywords, we don’t
have a working solutions yet, we are still in the test/ trial stage.
I can update the list if we reach any working solution that might help
others.
Thank you,
Mayada
Sent from my iPhone
On Jan 4, 2023, at 6:21 PM, Paul Mulroney
<pmulroney at logicaldevelopments.com.au> wrote:
Hi Mayada,
We recently contacted Omnis support about branching in the VCS because
we were looking into using it, and we were told basically that it's not
supported. It doesn't look like it works anyway based on our
investigation, so we abandoned that.
Regards,
Paul.
On 5 Jan 2023, at 3:29 am, Doug Easterbrook via omnisdev-en
<[1]omnisdev-en at lists.omnis-dev.com> wrote:
hi Mayada.
so, here’s a conundrum for you.
you mention you can’t use the JSON export because there is ‘bad code’.
but you don’t want to fix that bad code’ since that takes time.
I understand your concern. you may want to re-evaluate that thought
because ‘bad code’ = mistakes and maybe those are ticking time bombs in
your old code.
sadly the VCS lets you check in bad code, I wish it didn’t. the
JSON export will tell you when notation is wrong, end if’s are missing,
windows have extra object ‘0’s, missing methods, and that sort of
stuff.
as A side note, I’m also finding chroma coding of code really great in
the code editor and find and replace windows — because I quickly see
there I forgot to put a $ in from of a method many years ago .. and
that shows up things that never executed. That got me recently.
trying to find a bug — and it had been there for a decade or more,
un-noticed. Just had to fix the method call.
please, please don’t ever let me give you grief over how you want to
manage your application. I just really like how json and the editor
point out ot me where I’ve been a bad coding dude.
good luck, however you go at it.
Doug Easterbrook
Arts Management Systems Ltd.
[2]mailto:doug at artsman.com
http://www.artsman.com
Phone (403) 650-1978
On Jan 4, 2023, at 9:37 AM, <malkishtini at gmail.com>
<malkishtini at gmail.com> wrote:
Hi Doug,
Thank you so much for your valuable feedback. As usual, I learn a
lot from your messages 😊.
I know that Git is the solution to our problem, and we do use Git as
our backend repository, so we do have the infrastructure ready for
it.
But the unfortunate thing in our Omnis case now, is that we are
dealing with newly converted libraries (converted from O7) and the
export to JSON/import is failing because some of the classes have
bad code.
Our libraries are big, and they have obsolete classes and bad code,
but we can not afford now to go though all classes in all the
libraries and clean them up from the bad code...We are still busy
with the conversion and testing the converted pieces and preparing
for deploying the converted pieces to production sites.
That's why I'm trying to find a process to automate anything we can
do to support branching our code and have different builds.
I have not worked with VCS branching in old versions of Omnis, so I
have no idea how that used to work, but I heard that it was not
working well anyway.
So, I'll keep trying to find a solution to eliminate/reduce the need
for manual interference in the deployment process, as much as
possible, using VCS.
Thank you,
Mayada
-----Original Message-----
From: omnisdev-en <omnisdev-en-bounces at lists.omnis-dev.com> On
Behalf Of Doug Easterbrook via omnisdev-en
Sent: January 4, 2023 11:53 AM
To: OmnisDev List - English <omnisdev-en at lists.omnis-dev.com>
Cc: Doug Easterbrook <doug at artsman.com>
Subject: Re: Dealing with multiple Omnis 10.22 VCSs
hi Mayada:
happy new year to you too.
supposedly, there was branching in the omnis VCS at one time. In
studio 5.x, we never got it to work, but that was years ago.
the studio 8.1 documentation says it might still be available. The
implication is that sys(236) and sys(238) would give you a clue.
Those functions are NOT in studio 10.22, so I suspect native support
for branching is GONE from the studio VCS.
Project Branching
In versions prior to Studio 8.1 you could implement branching in
Omnis VCS projects. Access to branching in the VCS in Studio 8.1 has
been removed from Studio Browser, but support for branching is still
available for backwards compatibility. To enable branching, you can
add the following member to config.json:
"vcs": {
"enableBranching": true
}
In addition, sys(236) has been added and returns true if VCS
branching is enabled. If sys(236) returns false on a branched
project, the VCS will display the default branch data.
so where does that leave you? maybe you want to think about and
try using the JSON export for VCS since GIT supports branching
extensively.
and more importantly, it supports MERGING branches.
Truly, multiple versions in multiple VCS’s are a hard thing to
handle in omnis because merging them is a trial by fire process.
If even just two of us want to change the same omnis class with the
VCS, only one can have it checked out.
if a second person wants to make changes, we end up using the class
compare a while lot, and that can take a lot of time, plus trying to
merge in where the changes are, and then recommitting it to the VCS.
if you have multiple VCS’s, you are going to hurt — trying to merge
the class from development, picking up the changes that are in
testing, and then moving it to production. Its not easy to pick and
choose the changes.
the JSON export has each class in its own folder. and then it
breaks each method into its own file. In theory, it allows you
commit methods to your vcs in the branch you are working on (in git
— it is very easy to change branches).
and the migrate the changes up the branches.
truth be told, I have not gone full out on only using the JSON
export at the moment and abandoning the VCS. right now we
are in a hybrid world of VCS and GIT — and I’ve been using the
JSON export for about 5 years and committing to a GIT repository.
Along the way, we’ve been submitting bug and change requests to
omnis and they’ve been very good at addressing them.
We are close to jumping to only using JSON Export/Git — its just a
matter of finding the right moment.
but, if you want to do branching …. I’d recommend thinking about the
JSON export .. and playing with it.
now, there are free tools like github desktop that let you visualize
your branches and who made the changes. I use tower (a paid tool)
as I really like it.
and there are free servers like gitlab (free), than you can also use
to create processes that will build libraries each time something is
checked in.
so, if you are going for automation, branching, building things
automatically, think
- using JSON export/Import
- using gitlab and its automations
I know others are doing auto builds with tools like jenkins and
gitlab, so hopefully tey might jump in with their experiences.
I just don’t think the VCS to manage multiple repositories would
have a long life and will cause you grief since it is not designed
to do that.
Doug Easterbrook
Arts Management Systems Ltd.
mailto:doug at artsman.com
http://www.artsman.com
Phone (403) 650-1978
On Jan 4, 2023, at 8:10 AM, malkishtini at gmail.com wrote:
Hello all,
Happy new Year everyone!
We have a need to maintain different code versions, which means we
need to have different VCSs, Dev, QA and production.
We are trying to find a way to automate building the QA and
production
VCSs from Dev VCS based on certain criteria.
We use Omnis VCS (studio 10.22) and PostgreSQL database.
I would like to see if others have dealt with this scenario
(deploying
different versions of code) before and what solutions they use to
achieve it.
We are trying to build a new process, so I'm looking for ideas and
suggestions.
As usual, all your ideas and feedback are welcomed and highly
appreciated.
Thank you and best regards,
Mayada
_____________________________________________________________
Manage your list subscriptions at https://lists.omnis-dev.com Start
a
new message -> mailto:omnisdev-en at lists.omnis-dev.com
_____________________________________________________________
Manage your list subscriptions at https://lists.omnis-dev.com Start
a new message -> mailto:omnisdev-en at lists.omnis-dev.com
_____________________________________________________________
Manage your list subscriptions at https://lists.omnis-dev.com
Start a new message -> mailto:omnisdev-en at lists.omnis-dev.com
I recently decided to sell my vacuum cleaner, all it was doing was
gathering dust.
--
Paul W. Mulroney We Don't Do
Simple Pty Ltd
[3]pmulroney at logicaldevelopments.com.au Trading as Logical
Developments
[4]www.logicaldevelopments.com.au ACN 161 009 374
Ph: +61 8 9458 3889 86 Coolgardie
Street
BENTLEY WA 6102
References
1. mailto:omnisdev-en at lists.omnis-dev.com
2. mailto:doug at artsman.com
3. mailto:pmulroney at logicaldevelopments.com.au
4. http://www.logicaldevelopments.com.au/
More information about the omnisdev-en
mailing list