Postgresql: Detect Status Changes in a Table

This is another challenging problem I had, and it took me some hours of work to find out how to solve it. I was very tempted to use a script in a procedural language like Perl, which would make the problem easy and the solution straightforward, but there had to be a pure SQL way and here’s how I did it!

Read More

Markdown filter for Mason2

Mason comes with some built-in filters that can be used to process portions of content in a component. The standard way to invoke a filter is in a block:

Read More

Adminer for Oracle

I’m becoming a fan of Adminer, a database management tool written in PHP, with lots of features and consisting only of a single PHP file, and very easy to deploy to an Apache web server. I have started to develop a plugin adminer-plugin-dump-markdown so I can quickly convert queries and tables to Markdown format, ready to be included in my e-mails or in my blog posts.

Read More

Scheduling Kettle Jobs

Pentaho Data Integration is an open source tool that provides Extraction, Transformation, and Loading (ETL) capabilities. While it’s an essential DWH tool, I use it quite a lot also as an integration tool, where it performs well.

Read More

Moving to GitHub Pages

I have never been a big fan of the WYSIWYG paradigm: it looks fast and convenient at first, but it becomes unmanageable at a later time. This applies to almost everything, like Word processors, Web Pages editors, Grapgical programs, but also to blogging platforms. Have you ever tried to insert some programming code in your articles, and edit the code at a later time? Chances are that the code will become messed up, sooner or later.

Read More

Shared Recordset Definition

I think that the modules I developed for Sentosa Autoforms are quite elegant and flexible (expecially the Sentosa::SQL module, and the DataDatables and JSON modules) so I decided to reuse them! However I don’t like the fact that Sentosa Autoforms is all driven by database data.. while it’s sometimes very convenient, I don’t like the layer of complexity that it adds.

Read More

Custom Sentosa System Database

Sentosa Autoforms by default stores all of its users, settings and objects in a local SQLite database. The default connection is defined in lib\Sentosa\ module:

Read More

SQL Markdown Builder

I like text editors, especially Sublime Text. And I like to work at the command line (on Linux, on Mac… but even on Windows 10 it has become very nice).

Read More Library

Hello, I’m finally back! Yes not much posts lately, but lots of coding - it’s a lot considering that I’m working full time and that this is only a side project on my spare time.

Read More Basic template

On my own machine I’m using a HTML Admin template I bought from it’s just a few dollars, and I can concentrate on my Mason code, forgetting for a while about HTML, CSS, and JavaScript libraries. Of course I had to choose a template that supports DataTables, we are going to use that a lot later.

Read More

Global variables between components? No! Sessions!

I didn’t post much recently because I wanted to focus on coding: even if it’s still to early, even if a lot of functions I want to implement are still missing, and even if the code is not too robust, I want to start using the application within my company and I want to publish a limited but working version on GitHub, so anyone can download it and see it in action.

Read More

User authentication

Okay I know already that the code I’m going to post here is quite a big mess: it will work under some circumstances but it’s buggy and insecure. I will update this post as soon as I figure out how to make this code better (expecially the UserSession part).

Read More

Share a variable between components

On my previous posts we saw how to to create and use true global variables. Their usage is limited to $dbh at the moment. But I also need a “global” variable, shared between all components of the same request. Here’s one of my first tries, and this is how the will look like:

Read More

Global variable $dbh

The name of my project is “Sentosa AutoForms”, and it is going to be driven by a SQL database. I’m using SQLite but it can be changed at a later time to MySQL or Postgresql.

Read More