Project: Portal2017-06-10 12:17:44
Back in May I blogged about writing some code in C and I wanted to give you an update to the progress. The original intent was to rewrite our two production products: SimpleSync and Portal to gain the benefits of developing in C. We decided to go a different route and write a new product first, THEN port our existing products to C.
We have been doing a bit of informal market research with our customers and found that there is a need for a web based white pages application. In effect you could publish all of your contact information directly from your Active Directory (Exchange) data. A simple use would be a phone directory. For now we are calling this product: Portal. At this point there isn’t enough to even justify an alpha version as of yet, but we are slowly building up a pretty impressive base of code.
The long term goal in general is to make all of our products web based and multi-platform. Ideally we could even deliver our products on an appliance or virtual appliance. With this in mind we decided to use open source tools in our development. Here is a brief list of the libraries we are working with thus far.
- Windows Compiler: MinGW (Minimalist GNU for Windows)
- LDAP Client: OpenLDAP (LDAP Connection to Active Directory)
- SSL Encryption: OpenSSL (Encryption for LDAP)
- DNS Client: C-Ares (Auto discovery of Global Catalog and Domain Controller servers)
- CGI: cgic (Library to communicate with web server: Apache, IIS etc)
- Web Templates: libctemplate (Dynamic web pages - used in Profiler today)
- Windows Installer: NSIS (Self contained installer executable - used with Profiler & SimpleSync)
- Internal Database (Configuration): SQLite (Internal data storage - used with SimpleSync)
To date all of these libraries have been integrated into the current Portal code. This is no small feat, each library need a bit of work to make it compile correctly in a Windows environment. Thankfully the unix ports will be very straightforward. I will try and post updates weekly (possibly every two weeks) as the work progresses.
Happy New Year!