11024. Program development work for LwriterGF began with database table design. LwriterGF is to do the same thing Labelwriter does—generating, numbering and sorting of different types of labels for the packaging of printed security stationery, along with generating several analysis and documentation reports—but for a different type of security material and with different label formats.
The work progressed throughout the month, with all label formats programmed by the end of the month. … Testing the initial database design against two versions of the database engine. Setting up PowerBuilder development directories and files. Creating and later changing the program icon, to something more solid like the one for MBGL. Implementing data entry with states and LGAs, with content imported from EPPMS. Implementing data entry lists for envelope, carton and pallet sizes. Implementing color list maintenance, after adapting a color specification form from the PowerBuilder examples, that was better than what we had in MoneyBooks for customizing an invoice. Coding job quantity data import, which got us to revisit the table design for states and LGAs. …
Building code and objects for envelope labeling and having to adjust designs for a couple of database tables. Envelope labeling up to the point of summary report generation. Producing the first printout of the envelope labels. Working on the label report display window (ported from Labelwriter) to ensure all its buttons were active, then implementing the editing option for label content. Implementing the single envelope label. Setting up things for the carton label report. Implementing saving and retrieving report content settings to and from the database. Carton label coding and first carton label reports being generated and displayed. Laying out the strategy for implementing the “color striping” requirement for carton and pallet labels, and getting a print of carton labels with the state and LGA coloring. Carton label editing and then starting on single carton label. Implementing pallet labels, designing the datawindow objects for the label and the report parameters. Planning how calculations would be done, mostly to be done behind-the-scenes by the database as the labels were being generated. Revising carton label generation to also generate envelope label data and trigger database calculation of boxes, number ranges and carton weight.
11061. Towards the end of August one of our ISPs emailed about moving our website accounts to new servers and assuring it would be seamless. Nothing was heard from them afterward. However few days ago we discovered one website we created for a client was not opening. On Firefox browser on the desktop it would display a blank screen, while on mobile browsers, HTTP error 500 - internal server error would be reported. We informed the ISP. After some exchanges they finally admitted that the new server they moved the site to was now running a different version of MySQL, version 8, from the version 5.x it used to be, and the “configuration” of the database used by the site was not compatible with it. We should review the database code to be compatible, or opt for some other hosting plan they had that would still allow things to work.
We began investigating the error logged at the server whenever attempt was made to open the website, then implementing fixes. What we found as the cause of the error 500 that was recorded in all but one occasion was a SELECT statement using a table named system. It had failed because MySQL 8 now treats system as a reserved word so it cannot be used unless quoted. We made the corrections in the database and also uploaded missing user procedures and functions that were skipped when the ISP was recreating the database. Afterward, the website still failed to load.
11072. Continued further troubleshooting of the error 500 issue. On a local computer we installed and configured MySQL 8 (from a separate zip download) and PHP 7 (as part of a XAMPP download). We got the website running locally after editing those parts of the database code that refused to load.
11094. We finally found out why the site was still not loading on the server, due to something the ISP had done, and resolved the error 500 issue. The client’s website began working again!