Versioning of a conzept 16 project

<div class=”float-left”><img src=”https://www.vectorsoft.de/media/2016/07/VersionFrontPic.png” alt=”versionControllImage” /></div>
The distributed version management of a project is a necessary optimization for the development process, especially when several developers are involved in the project. For us, this necessity has arisen, which is why we have set up a Git server in our company, with which our conzept 16 project is placed under distributed version management. As some customers have already asked about versioning conzept 16, I would like to present our solution to you.
<!–more–>
<h4>What is Git?</h4>
Git is a free distributed version management system for primarily text-based files. What makes it special compared to other similar programs such as SVN is that no central server is required to work on the project. The repository, which is available locally but can also be located on a server, is organised in branches. Changes to the project are saved as a snapshot by means of a commit. The last commit is tracked by version control. The current commit in the current branch is referenced by a pointer. Each new commit points to its predecessor. A commit consists of a commit object which, among other things, refers to a tree object in which the project files, i.e. BLOBs, are referenced. All objects are identified and controlled by a hash.

More about Git at <a href=”https://git-scm.com/book/de/v1/” target=”_blank” rel=”noopener”>Git: Book</a> and <a href=”https://de.wikipedia.org/wiki/Git” target=”_blank” rel=”noopener”>Wikipedia</a>.
<h4>Versioning in action</h4>
Of course, you can work with Git using the command line. However, there are some useful Git clients that simplify the whole thing somewhat – for Windows, for example, TortoiseGit.
In order to place a conzept 16 project under Git versioning, however, a few functionalities are required, completely independent of Git, as there is no direct interface between a conzept 16 application and the versioning tool. This means, for example, that it is not possible to work directly on the procedure version that is available in the repository, but only on the version that is available in the database.
We therefore first had to think about what exactly from the project should be placed under version control. In our case, this concerned the database procedures and the data structure. We also had to think about a workflow that would be suitable for working in conzept 16 using Git.
What is needed here is a way to export procedures from the database to the Git directory or, conversely, to import them. In order to do this conveniently and efficiently during project work, we have decided to create a plugin that works on the basis of the conzept 16 plugin interface. The Git plugin is an additional window that is opened next to the Designer and looks like this:
<div class=”align-center”><span class=”align-left”><a href=”https://www.vectorsoft.de/media/2016/07/Plugin.png” data-rel=”lightbox”><img src=”https://www.vectorsoft.de/media/2016/07/Plugin_small.png” alt=”” /></a>conzept 16 Git-Plugin</span></div>
The plugin can be used to export all procedures from the database and import them into the database. It is also possible to export the data structure file by file in XML format. In addition, the most important Git commands for us (commit, checkout, push, pull and fetch) can be executed. Of course, Git must be installed on the computer for this. However, the functions also require a workspace to be selected.
<em>Commit</em>:
Create a snapshot with the current changes to the branch

<em>Checkout</em>:
Switch to another branch or create a new branch. Can also be used to reset the branch to the last commit

<em>Push</em>:
Synchronise the branch with another branch, which may be located on a server, for example

<em>Pull</em>:
Update the local repository to the status of a repository that may be located on a server, for example

<em>Fetch</em>:
Update repository information

With regard to conzept 16, it was important to note that after a checkout or a pull, the procedure status must be imported from the local repository into the database. Before a commit, on the other hand, the procedures must be exported from the database.

The window consists of the buttons that can be seen on the left of the plugin image, as well as a label (under the “Select Workspace” button) to display the status and the current branch. The rest of the window is taken up by a textedit object in which status texts are displayed that are generated directly by Git.

The Git commands are executed by <code class=”c16″>SysExecute()</code>.

The plugin is developed according to the template manager from the CodeLibrary. If you are interested in the procedures of the plugin, you are welcome to leave a comment.

Klicken Sie hier, um die Nutzungsbedingungen für unseren Blog zu lesen.

Leave a Reply

Your email address will not be published. Required fields are marked *

Leave the field below empty!

Requests, questions or feedback are welcome:

Terms of use of the comment function in the blog

1. General information

Vectorsoft AG (‘Provider’) provides a public blog for Internet users (‘Users’) on the vectorsoft.de website. The public blog is intended for the exchange of information and ideas. Users who participate with contributions and comments undertake to comply with the blog terms of use and are responsible for the accuracy, appropriateness and freedom from legal infringements of their contributions. By using the comment function in our blog, you accept these terms of use.

2. Netiquette

We ask you to refrain from personal attacks and provocations based on other opinions. Please argue objectively and maintain a constructive discussion culture. Your comment should always be related to the topic in question in order to avoid digressions into other topics. Posting the same comment or several similar comments more than once is not permitted.

3. Prohibition of illegal content

By submitting your comment, you confirm that you are not violating any copyrights or other rights of third parties. Inciting, racist statements, instructions for criminal offences and their glorification, depictions of violence, pornographic content and statements that violate personal rights are prohibited.

4. No advertising

The use of the comment function is not permitted for commercial or party-political purposes. Advertising contributions of any kind will be deleted immediately.

5. Details of the name

When entering your name, pay attention to the principles mentioned above.

6. Source references

If you intend to publish quotes or contributions from third parties, please indicate the respective sources and explain how they relate to the blog post.

7. Violation of the terms of use

Posts that violate this policy will be deleted immediately. If you notice any violations yourself, please send us the link to the comment in question by e-mail to . We expressly point out that we will exclude individual users in the event of repeated or serious violations of these terms of use.

As of: Sept. 2024

Get your Trial Version now!

Test yeet free of charge

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Subscribe to our newsletter

[cleverreach_signup]
WordPress Cookie Notice by Real Cookie Banner