Knut,
My many discussions with the Uniface team over the years can be summarised as: we think UD6 is a great tool for customers who want additional functionality beyond what Uniface provides.
Uniface is unique in the 4GL/NOCODE world in just how open it is, and how many API's they provide. They provide these API's so customers and ISV's can use the API's to make the product more useful. In my experience, products that provide API's for developers to extend the functionality are always more successful in the long term than products that do not.
So in short - I think you won't find an "official statement" from Rocket or Uniface or Compuware, because it's in the documentation: The Database API. The many API's exist for a reason, and that reason is that every function you can ever imagine is NOT going to be supplied in-built, but the vendor do provide a way to add functionality for those who want it.
Here is a bit of the history of how UD6 came into being and my take on the difference between UD6 and other solutions:
I was involved in a few change management implementations pre Y2K that all failed, including Uniface SCCI and VCLink ones. I went looking for answers as to why the projects failed. I found research by the Configuration Management Institute (part of Berkley) back in the late 90's early 00's, that showed that for change management to be effective, it must ensure the integrity of all managed items in each development stage, and make their evolution more manageable, and their interrelationship clear. The effectiveness can be improved by implementing automated techniques for Insulation, Security and Access Control, Lifecycle Management, Communication and Detailed Reporting.
The VC-Link and SCCI solutions cannot ensure the integrity of all managed items, because they rely on version controlling a COPY of the source, not the actual source. Regardless of whether you are just paranoid, or you have developers who make changes to the meta dictionary with SQL or fast forms, the developers seem to have an instinctive reaction to NOT TRUST the version control. The only solution I found was UD6 - a database that stores your source code in text files. The text files are literally the rows of the database. You can make bulk changes or use the IDE, but all changes are always captured.
If you are in a large organisation, storing your source code as text files also allows you to use the same tools and processes as other development teams with traditional languages, you can use build management tools, continuous integration, etc. etc. Whilst change management mostly represents a cost / an overhead, these other areas provide ways to improve the development/operational productivity and provide a return on investment. But I think the biggest advantage is that it just makes Uniface more visible in the organisation, and reduces the mystery of it. I know one customer who even wrote their own IDE (uXML) for the UD6/Uniface source XML, so that 'untrained' staff could access the source code to help in the diagnostic process/second or third level support. Another customer converted the UD6/Uniface XML source into Microsoft help files, for the same purpose.
There are drawbacks too of course. There is no way text files can be as fast as a database for some queries. Inevitably some processes need to change from fast forms to using native text file based tools instead (sed, grep etc.). It involves change and none of us like change and often we're already quite busy just getting our jobs done.
I originally wrote UD6 because I had a team of consultants working lots of different Uniface programming jobs and I felt it was important that as an organisation we could track what we were doing, just in case a customer queried how much time was spent, or whatever. I put it up on a web site for others to look at - I think the first person outside of my team to try UD6 used version 0.56 for Windows / Uniface 7.2.04 on 11 January 2000, and Uniface developers were buying licenses for it by April 2000.
To create something using the API's that Uniface provides that helps developers so much they are willing to take the time out of their day to test it and for some to license it has been a real thrill for me. I'm very happy that because of these API's I've had the opportunity to make some people's software development just a little bit easier. That I still get to do it 24 years later is just awesome.
Unfortunately I don't get to spend as much time on Uniface and UD6 as I'd like - my company March Hare Software provide change management software for everything from SAS/SPSS (statistical analytics) to Documents to Oracle databases to C/C++ and Java and Uniface of course. I think for every Uniface customer I have about 100 non-Uniface customers. But Uniface and UD6 still hold a very special place in my heart and I've got a lot of ideas as how UD6 can be extended this year ready for its 25th anniversary in 2025.
------------------------------
Arthur Barrett
March Hare Software Ug (Haftungsbeschränkt)
Neuss DE
------------------------------
Original Message:
Sent: 03-01-2024 15:13
From: Knut Dybendahl
Subject: Version Control
Hi Arthur,
Long time no hear, no speak!!
We currently have the UF SCCI driver - which we've paid for, and continue to pay Maintenance for.
Given that UF / Rocket haven't made anything available in UF 10.03 or 10.04 (so far) lead me to believe
1) There is an absolute reason to cancel the maintenance aspect of this.
2) If UF is (still) to be considered an Enterprise Development Environment - then, surely
it should stand to reason that a SCC interface was indeed natively offered as a part of the
development environment.
3) Where is the "Official" statement from UF / Rocket on this?
Time to place the keyboard on the shelf for the weekend.
Regards,
Knut
------------------------------
Knut Dybendahl
Original Message:
Sent: 03-01-2024 04:47
From: Arthur Barrett
Subject: Version Control
Hi Knut!
Of course UD6 is still around and stores your Uniface source code in text files rather than SQLite or Oracle. Once your source is in text files, you can version control easily.
We've been providing this integration with Uniface for 24 years or so...
In the past we didn't provide any GUI - the old Uniface 7/8/9 had the 'additional menu' but Uniface 10 doesn't seem to have anything similar. So for the past couple of years we've included a simple GUI. It was a bit limited (to GitHub enterprise) and the next release of UD6 will include support for GitHub cloud - here is a quick look:
https://youtu.be/ruvsNYpa6Rc
Lots more info over on https://theu.info
Any questions please email sales@march-hare.com
------------------------------
Arthur Barrett
March Hare Software Ug (Haftungsbeschränkt)
Neuss DE
Original Message:
Sent: 02-28-2024 11:47
From: Knut Dybendahl
Subject: Version Control
Hey all,
I've looked through the PAM's - cannot find / see any references to version control systems.
Does anybody have a successful integration to a version control system using UF 10.03 and/or UF 10.04?
Regards,
Knut
------------------------------
Knut Dybendahl
------------------------------