When I undertook this TealCRM project a few weeks ago, I knew I had a big challenge ahead of me. I don’t mind it one bit because it does give me the opportunity to really test my programming skills. I think there is a lot to learn and I’m eager to keep sharpening the saw as they saw. Lonnie Ezell is someone I’ve recently learned about. He’s working on the CodeIgniter 4.0 release that eventually TealCRM will need to move to (for PHP 7.x purposes more than anything as PHP 5.6 will be EOL at year end). I also picked up a copy of his book on CodeIgniter 3 to help me get smarter with the framework itself. All in all, a great learning lesson is underway.
I’m working through the main App Controller for TealCRM. In the Saas version that the open source project inherited, it was decentralized into individual modules (i.e. Companies, People, Deals..etc). In order to make the system as flexible as possible, we need to centralize things so that we’re using a few different concepts. This is where Version 1.1 of TealCRM is going to rock in terms of speed and flexibility. The following key things are what I’m working on for the next “release” of Teal:
- Field Dictionary – A lot of the existing code is hard coded and database dependent. A new field dictionary table is being added to keep track of fields.
- App Controller centralization – All modules will run through the App Controller. This will open the door for future releases where I can start introducing things like custom modules a user might want to create.
- Views centralization – Much like the App Controller itself, Views are hard coded and decentralized. I didn’t intend for it to be part of 1.1 but it only makes sense to do it that way given the work and refactoring that’s being done with the App Controller.
- Installer / Upgrader – It won’t be super pretty but there will be an installer package along with an upgrader to go along with it. As things change over the coming months I’ll want to make it easy for users to upgrade their system as we go along.
No definitive release date for 1.1 but I’m hoping by September I’ll be able to release it. I anticipate that we’ll hear more on release candidates for CI 4.0 by then as well. With PHP 5.6 going end of life at year end we’ll need to prioritize moving TealCRM into the PHP 7.x world.