Legacy Code

reengineren of migreren?

Magritte presentatie op ESUG conferentie

Bij een migratie moet vaak handmatige invoer of controle plaatsvinden. We gebruiken daarvoor vaak een webframework gebaseerd op Seaside en Magritte. Daarmee kunnen alle beschikbare domeinexperts tegelijkertijd informatie verbeteren en controleren.

In een (technische) presentatie op de ESUG conferentie beschrijven we verbeteringen die we hierin aangebracht hebben om sneller handigere applicaties te kunnen bouwen.

  • ondersteuning voor gebruik van meerdere talen
  • zoeken en filteren in rapporten
  • selecteren en schuiven van kolommen
  • betere ondersteuning van afhankelijkheden en business rules
  • vermindering van duplicatie in de beschrijvingen van formulieren en rapporten

DRY-ing Magritte

Magritte is a very flexible framework. It has lots of places where behavior can be overridden. Finding out where to make changes is not always easy. We'll show a number of practical issues and how to solve them.

We would like to show you an add-on for Magritte Diego developed for Q-Software, and is now available as open source (Smalltalkhub). This add-on is a toolbox with several components that use AJAX and focusses on showing a report and a dynamic form.

The report allows for searching, modifying the layout, persisting these changes for each user and making queries. The form extension, uses groups to collapse and expand, and to change its appearance based on the values filled out by the user. To let it run smoothly these components use AJAX in the background.

During the development there were quite some times that we ended up with a lot of duplication in the domain code. This meant that we had to look for a place in Magritte where we could provide the functionality needed, so we could remove the duplication in the domain descriptions. During this presentation we will walk you through the extensions, showing the "naive" solution in Magritte, and then showing how to eliminate the duplication in the domain descriptions.


Videoopname (engels)

Slides

Posted by Stephan Eggermont at 12 September 2013, 1:44 pm link