What they use includes Python/Django. MFC, microsoft foundation classes. DHTMLx. ReportLab for PDF report generation. Firebird SQL database.
Why django? It is future proof. Easier to connect to the internet. And html pages are often more beautiful than standard microsoft dialogs.
A problem was securing the python and html code. They didn’t want customers to
modify the templates, so they wrote their own template loader that could read
encrypted templates. Same with python files. They shipped encrypted
files. For that, they needed to modify django a bit, because it looks for
*.py extensions in various places.
As webserver, they settled on cherrypy which ran fast enough and could be integrated into c++.
As database, they picked Firebird as that one was easy to install and performed fine.
As a browser, they picked CEF (Chromium Embedded Framework), basically an embeddable version of Chrome. It is used by spotify, steam client, github for windows and adobe dreamweaver. You can embed it into a c++ application.
They needed a way to generate their own PDFs. So they picked Reportlab. They had to modify it and discovered that it is not well-coded. It looks like a C program and uses one-character variable names…
In the end he gave a demonstration. They did get it going. In reaction to questions: he wouldn’t do it this way again.
My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):