Skip to content
Roland Bengtsson edited this page May 3, 2024 · 5 revisions

Welcome to the BoldForDelphi wiki!

Branches

  • master branch. This is the default branch and it should always be ready for use in production
  • develop branch. Development happen here. Trivial changes could be committed directly to this branch
  • feature_xyz branch. If you work on a feature xyz you can make a new feature branch. Advantage is that it become independent of other feature branches. Commit should happen often. First it is a good backup of the changes, Second other developers can see changes. When feature is complete it is merged to develop branch. Conflicts can of course happen and you must solve those. Feature branches can be deleted a while after merge.

When develop is merged to stable it should be seen as a new release. The release has a version number year.month.minor.build. Like 2024.3.1.1234. Prebuilt packages for later Delphi can be attached to release.

External developers

The repository are happy for contribution from external developers that have no write access. You may work on documentation, code or test-project. For bigger changes it is better to contact us before to avoid waste your time in case the change don't fit.

Important concepts in Bold

Bold is a Object Relation Mapping (ORM) framework with the goal to raise abstraction level for developers with shorter time to a executable application. Focused on business applications connected to a database. It use Model Driven Development (MDD). This means a model is the starting point and should contain the business rules.

Key features

  • Hide database from application.
  • Read and write data as objects.
  • Use Object Constraint Language (OCL) to fetch data.
  • Use derived members to divide a complex task in smaller pieces in a CPU efficient way.

Common concepts

Model This is a bld-file. There is a builtin editor for this. It doesn't show visual UML diagrams.

Class When persistant it is mapped to table in database. Can also be transient only in memory.

Boldobject An instance of a class. This is mapped to a row in database. If inheritance is used several rows might be used.

Attribute A simple datatype in class string, integer, float or Datetime.

Singlelink A one to one relation between two classes.

Multilink Either many to one or many to many relation between two classes.

Member Abstraction of attribute, singlelink and multilink. So boldobject have a list of members.

Derived member When a member is derived the value is calculated and result is only i memory. This can be done either in OCL or Delphi code.

Boldid All boldobjects have a boldid. This is a unique integer to identify the boldobject.

Clone this wiki locally