Hello everyone,
REI3.12 is finally ready for beta release. By size, it´s the largest feature release we´ve had so far. And while not all features will be immediately apparent, new things will be possible and many existing parts have been touched up.
How to get started
You can download the beta release with these links:
Please be aware that we cannot guarantee upgrade-safety from the beta to the finished release. Expect to be loosing everything you do in the beta version.
If you want to test with production apps/data, you can upgrade a copy of your production instance. Just make sure to disable external connectors, like email or REST. You can also do this with the mirror option in the config.json file ("mirror": true); if set and after a restart of the r3 service, this option disables external connectors so that a copy of a production system can be tested safely.
How to send feedback / report issues
As replicating issues can take multiple responses, we´d prefer if a new discussion is started in the forum in the 'Platform' category for each case. Preferrably with the "R3.12 BETA" prefix. Such as: "R3.12 BETA: Field input becomes unusable if X is entered..."
What changed
The full change log is available here - though it is quite technical:
https://rei3.de/downloads/temp/change_log.html
While we still need time for polishing and updating the Builder documentation, here are some things that you might want to try out with this beta:
- PDF editor: Postponed multiple times, the visual PDF editor is now finally available. It can directly load data from relations in REI3 and include lists with many of the features that already work in regular forms. Some more details:
- We´ve prepared a demo application, which uses the example of an invoicing app. Just install it in the beta release to see how the PDF editor can be used.

- PDFs do not need to load data, but usually start with a record, such as a document. Just like with forms, you define a base relation and can then join more relations as you need. List fields, filtered to the current record, can then load sub entities such as document positions.
- PDFs can be generated from button fields, via form actions or from backend functions. The later allows for scheduled PDF generation, after which the result can be stored and/or sent via email.
- The PDF editor supports 2 layout systems: Grids & flows. A grid is a fixed size, pixel-perfect layout, where you directly place elements. A snapping size setting helps with keeping things aligned. A flow is, similar to how forms work in REI3, a layout for dynamically sized content - useful for larger texts or document areas where content is displayed based on conditions and should not leave whitespace if not shown.
- Document states allow for conditional display of fields or entire pages in the documents - similar to form states. This reduces the need for multiplying PDF templates in cases such as needing many invoice variations.
- Fields for native attributes, such as barcodes or drawings, can be placed on PDF documents, even inside lists. Useful for inventory lists with scannable serial numbers.
- While the PDF editor supports images from file attributes, it does not generate graphs. This is not a feature we will have anytime soon.
- Richtext data, ie. formatted text, can be used in PDFs, but the conversion process is not perfect. Formatted richtext in REI3 is built using HTML, which is fundamentally incompatible with how PDFs work. We´ve built some conversion logic, but in general, it´s better to avoid richtext when building PDFs and apply styling directly on the document.
- Since PDFs are defined in the Builder, we offer overwrites to many styles/options via attribute values. This means that you can setup only a few PDF templates, while offering options inside your app to overwrite things like font family, font size, row color and many more.
- The existing PDF generator will continue to work. It even gets a new feature in this release: UTF8 fonts. Just use the new instance function
pdf_create_utf8(...) to generate UTF8 PDFs - just be aware that these PDFs will be larger.
- A new change log viewer: REI3 change logs are now displayed in a large list, which can include changes from multiple entities at the same time. This means that changes from multiple records can be shown if the change log is opened on a form showing a list field. It can also display changes from sub entities, such as a task and its sub tasks.
- To show changes of sub entities, a record title (also a new feature) must be defined on relations of corresponding entities. Example: If you have a form showing a document and its invoice positions, to show changes of these positions, the change log must have a "label" to differentiate which record the change came from. In this case we can use the document position number as record title, allowing us to see which changes occurred in which positions.
- Integrated version history: Changes to REI3 apps can now be documented inside the Builder. Every time a new version is created the log is pegged to this version. This also plays well with the next feature, which is...
- Automatic upload to REI3 repositories: Authors can now commit new application versions to accessible REI3 repositories, directly from inside the Builder. Change logs are automatically generated based on the new, integrated version history. The transfer UI for application exports has also be redesigned to be easier to use and avoid common mistakes.
- Multiple repositories can now be installed at the same time, allowing for easier staging of REI3 applications in regards to development, testing and production.
- REI3 can now embed files from file attributes in REST calls via new instance functions. This allows for sending files to other systems, including other REI3 systems. Templates were added as examples of how to send files to another REI3 system.
- Forms receive a new option to show record titles (configured on the record relation) in their header.
- Comments can now be added to change logs for specific records via backend functions. This allows for storing changes that were done by the system.
These are just the most interesting features. Many more changes can be found in the change log. Please feel free to ask if you do not find or understand a feature.
Thank you all for your time and support in making the next version ready for prime-time. We are looking forward to hearing from you.