Sharing the source code of 4D components lets you customize them and make them your own! With project databases and the ability to share an application’s source code via a source control system, we’ve converted our 4D internal components into project databases and pushed the source code to the 4D GitHub account. It’s open to everyone, all you need to take advantage of it is an account on Github. Why did we do this? To make your life easier by keeping track of changes and modifications to both code and forms.
In a previous blog post, we introduced you to Git (a version control system) and Github (a cloud-based hosting service) and how you can share your 4D code with other developers. In this blog post, we’ll go a bit further by exploring some scenarios a developer may encounter, such as cloning a remote repository, ignoring already committed files, and solving merge conflicts.
The Form Editor allows you to create, modify, and customize your forms. Several tools are available to make your work easier, one of which is the Views palette. This tool makes it easy to build complex forms by distributing objects into different views. The views enable objects to be hidden or displayed as needed.
What if you’re working on a form developed by someone else? How can you quickly determine if the form uses views? Are there limitations on the number of views permitted? 4D v18 R2 and project databases eliminate these existential questions while greatly enhancing the user experience!
With the introduction of project databases, we’ve also modified the interface of some 4D dialogs. In this blog post, we’ll present some of the changes we’ve made to the form editor.
As you know, 4D now supports two ways to work with sources: binary and project databases. Binary databases are the 4D we all know and love, with source code in a binary file to allow team development with 4D Server, and all of the design elements (methods, forms, structure, etc.) gathered in a single, compact binary file, the “.4db” file. Project databases make it easier for distributed teams to work collaboratively by storing the source code in a source control system in separate, plain text files. Projects will not replace the 4DB, we have no plans to make the 4DB disappear. It’s about two different ways of working and developing. It’s up to you to choose what best suits your needs. Here’s a blog post to help you decide:
A very detailed blog post has been published on Users and Groups in project databases. In this post, we’re providing a video about the key points to remember.
So you’ve been testing out project databases … maybe you’ve created one or perhaps you’ve converted an existing binary application. Now, it’s time for us to show you how to use Git (the revision control system) with Github as the hosting service for your 4D application.
Since the delivery of 4D v18, a series of blog posts on how to convert and develop with project databases have been published. What about components? This blog post answers that question.
So your application has been developed and you’re ready for the next step. 4D lets you:
- generate a compiled database that no longer contains any interpreted code,
- generate a standalone application that can be double-clicked, (i.e., merged with 4D Volume Desktop, 4D’s database engine),
- generate client/server applications with automatic updates of client and server parts.
4D provides libraries to help you develop applications. One of these libraries is standard and contains preconfigured form objects and widgets, while other libraries are custom. The standard library is “read-only” and its behavior doesn’t change when developing project databases (with the exception of minor, cosmetic interface differences). You also have the ability to create your own custom libraries to save your own form objects or group of objects. In this case, a few changes have been made to make them even more powerful. The following is everything you need to know about these changes:
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy