4 minutes reading time (860 words)

QWcrm First Progress Report

I thought I would take a moment and update everyone on where the project was and what I have been doing.

I have been doing a full code re-write of QWcrm because the code I inherited from MyITCRM was in such a mess improvements or bug fixing was incredibly difficult.

This has taken longer than I thought because of all the problems I have found and needed to fix. Going forward fixes and upgrades will be a lot easier.

PHP4 support will be removed and I will look at PHP7 support. I cannot guarantee PHP7 support just yet but I can't see why not in the feature.

There will be stuff I have missed so I might add to this list as I go along.

This code rewrite has had the following benefits
  • Code is tidier making development easier
  • Files are all organised logically
  • I have found features that were incomplete or turned off because they were broken
  • Duplicate code has been removed
  • QWcrm runs quicker
  • I can make all of QWcrm translatable with a single language file
  • And I am sure other benefits
So now I have told you why, what have I actually done?

  • QWcrm is templatable – I have built a theme system and in theory you could make your own template but I have decided to leave this setting off until I have finished with the massive upgrades to code. This was the first feature I wanted to add to QWcrm and because of this code is all sorted and only where it should be. When this feature is enable build your own template will be very simple.
  • Workorder module
    • I have fully rewritten the code
    • All translatable
    • Functions and logic is now separated and streamlined (MVC)
    • Templates have been tidied and reorganised
    • You can now print workorder for employees or customers with appropriate details for each. This is controlled by a simple template
    • Print Jobsheet. Similar to the employees workorder but covers a slightly different area. Again this is controlled by a template
  • Waiting for parts feature is now fixed
  • You can enabled/disable logs
  • There now are the following logs
    • Activity log – what are the staff upto
    • Error log – when errors occur these are loggied
    • Apache access log – simply when a file is access it is logged
  • Core module (header/menu/footer)
    • I have fully rewritten the code
    • All translatable
    • Functions and logic is now separated and streamlined (MVC)
    • Templates have been tidied and reorganised
    System module (index.php/include.php etc…the brains)
    • I have fully rewritten the code
    • All translatable
    • Functions and logic is now separated and streamlined (MVC)
  • New error system – QWcrm will give real errors when issues occur
  • Debug and Advance debug – This feature is for development but it allows for the display of smarty and PHP varibles and constants. This can be enabled or disabled
  • Page titles, meta description, meta keywords will be set by the language file instead of passing a title by a $_GET variable.
  • Login is now a native part of the core module. This mean that I have removed a load of redundant code
  • The ACL has been re-written and now has additional groups and now allows the control of pages for users who are not logged in. There is other backend stuff that I have changed for the ACL that improves the working of it.
  • I have upgraded these libraries
    • Dhtmlxcombo – combo box on invoices
    • TinyMCE WYSIWYG editor
    • JQuery
    • Slashdot menu
    • JSCal2 – The calendar popup
  • I have added a new help module that includes the following pages to include various information
    • About
    • Attribution
    • License
Stuff that is on the list to get added or fixed

  • Schedule section – I have got the main stuff working and this should be working for the next release
  • Password reset – now that I can control pages for users that are not logged in I can add this most important feature.
  • Update checker – This will not perform automatic updates just inform you when an update is present.
  • New PDF invoice system – This system will use the HTML invoice template allowing the use of 1 invoice template instead of 2 with different looks
  • Email invoice to client from QWcrm
  • Database upgrade
    • Change tables UTF8_unicode_ci
    • Rename tables to have better names
    • Remove uneeded tables
  • Upgrade ADODB database abstraction layer – If I can for this release
  • Smarty 3 – If I can for this release
Stuff that I might remove

  • The legacy tracker logging thing – This is seems a bit pointless and uses massive resources. This feature can now be replaced by using the access log feature that I added and using a 3rd party log viewer.
  • The PDF invoice template system as is – having 2 templates is stupid
QuantumWarp Website

I will over the next week or so make the website interactive so I can get feedback so please bear with me.

What now?

Now I have complete the core code I can concentrate on improving the modules which actually deliver functionality to the end user. It is in these modules I might find other hidden features and fix them Modules are all separate entities so I will be fixing 1 module at a time until they are done.

Once I have finished the modules I will go through the issues on GitHub and fix as many as possible. Then I will concentrate on the upgrade and installation routines and final database fixes.

When all of that is done I can release the first version of QWcrm.


QWcrm Update report
I am still here

Related Posts


Comments (0)

There are no comments posted here yet

Blog Calendar

Wait a minute, while we are rendering the calendar