A Framework Uploaded

We’ve now uploaded an initial framework to GitHub based on CodeIgniter with Twitter Bootstrap. The code displays a login screen and token homepage if the access to the system is granted, so it’s really for the interest of developers just to see where we are heading. Mostly it’s about the underlying structure of the PHP code rather than the HTML – so the interface design is simplistic and it hasn’t been tested across the various browsers yet.

CodeIgniter – and recruiting developers

We had some serious second thoughts about the choice of CodeIgniter after talking with interested parties about the nextSIS project, because during the course of these conversations it’s become apparent that it – or any framework for that matter – is a potential problem to to its higher initial learning curve. The project probably seems more accessible if developed in plain PHP, and this is probably more aligned with developer experiences in the education sector.

Despite this, we’re pressing ahead with using the CodeIgniter framework, because in the longer term we believe it will lead to a more structured and therefore maintainable system, and arguably it provides a more productive development environment.

Security

The passwords in the database are salted and hashed based on SHA-256, but later the plan is to increase this to SHA-512 or Blowfish via bcrypt or scrypt with key lengthening.

Multiple language support

The default language for the application is English, but Korean language files have been added for testing purposes. Currently, the language can be set by changing the associated value in the config.php file. We’re actually storing these in text files as per CodeIgniter’s language class, which might seem like a throwback to older times given that we have a database at our disposal, but it helps avoid database thrashing which can otherwise occur when every text item on multiple network screens is being read from it.

License

We’ve chosen GPL3 for the nextSIS license – and the selection was a major headache because the issues involved are emotive and raise a variety of both philosophical and practical questions about what is trying to be achieved. We wanted to ensure a company couldn’t take the code and incorporate it into closed-sourced systems which are sold on the market, which some open source licenses would allow. Our choice comes out of an unhappiness with education software vendors.

Leave a Reply

Your email address will not be published. Required fields are marked *

*