Summer of code 2020
We take big summer holidays in France. Before that, we have a rush to finish things. June and July have been busy for Open Lowcode. Release 1.9 focused on the data-model. A powerful new type of link was introduced: the object to master link. This is advanced technology to link two versioned objects. Release 1.10 focused on security. The framework now support One-time-password authentication. Also, it introduced a plug-and-play encryption with public/private key (AES/RSA).
So Summer holidays are now starting. This is a perfect time to code in bucolic surroundings. A minor objective is the management of multi-dimension value tables. In the example below, budget is managed by year, country and spending type. Users really appreciate the widget developed this spring. However, developers still need effort to setup related data. So, the ‘Multi Dimensional child’ feature addresses that shortcoming. It provide a quick and powerful way to create the data. This replaces around 30-40% of the custom code in the first Open Lowcode applications.
Integrating user features in a platform sounds obvious but it is actually rare. Many users of commercial packages hope to do just that. This almost never happens. Just try to tell your commercial package editor that you have an interesting idea he should take into account. Good luck with that! With Open Lowcode, everything is more simple. Our smaller community allows for easier communication between operational stakeholders with no management layer in between. Open-source does a very fine job of aligning the interests of all stakeholders.
Open Lowcode designer
The major objective of Summer of Code is the deployment of the designer interactive application. It replace quite tedious java scripting of the application model by a graphical application. This has several benefits. Citizen developers can develop a very good prototype of an application by himself. Then, when it kind of works, they can call a developer to finish the last 5-10% that require custom logic. Also, even for developers, the current scripting of object model is tedious. Indeed, data declaration typically ends-up in a hard-to-maintain 2000 lines file. So developers should enjoy this new feature too.
The designer application uses the core Open Lowcode technology. As the application template is quite complex, Open Lowcode core technology needs improvements. The most important one is pragmatic sub-types for objects. Let’s say you need to manage a road vehicle database. There is probably a common set of data for all vehicle. All of them have registry number and owner. However, you may need to manage cars, trucks, and agricultural tractor. Each will have slightly different data. You keep fuel economy information on a motorway for passenger cars. However, it does not make sense for an agricultural tractor which never travels on a motorway. However, on those, you care about vertical clearance.
So you want to have some application logic common to all vehicles, say, they can all have a parking fine. And you want some specifics. This is what object-oriented programming offers. Often, this becomes terribly complex. Open Lowcode will provide a good enough implementation. Data objects have a type. Then, the objects get a companion data-set depending on their type. Typically, you end-up with dozens of types and a few companion data-sets. For our vehicle example, you may manage different types of industrial machines: agricultural tractors, mining trucks. All of them will have the same companion data-set reserved for specialized industrial vehicle. This looks very limiting compared to full-feature objects. However, in practice, this is enough to manage data for enterprise applications. It also keeps things simple enough.
As a result, Open Lowcode objective will be an even more credible alternative to major commercial packages. The designer will bring unparalleled ease to the design of an application. The sub-object feature will provide the most elaborate data-model features that only the best commercial packages have.
Leave a ReplyWant to join the discussion?
Feel free to contribute!