Since the site came online, I had to fix a number of issues. They are relatively easy (compare to the ones I have to face at work). This project page will keep tracking all the issues, the ways I have fixed them, and provide some insights to anyone who needs them.
It is being a few days I have pushed this web site to public. Since then I have made several fixes to it. I am using this page to track all the issues and resolution. In here, I shall describe the problem in detail, and discuss the solution I had made. Some of these information will be useful at a later day; and some are just interesting, worthy of being reviewed later.
How do I fix these issues so fast? It is all related to the setup of this web application. The two web sites run on Spring Boot. So they are standalone applications. I have the source code on my dev machine, and I sync them to the web server machine. I fix them first in my dev machine, then tested locally. Then I sync the source code to web server. Build on it. Then start them back up. The deployment takes about 2 minutes.
Here are the problem I have faced. They are listed from the latest issue to the earliest.
Issue #11:When previewing the project page in Admin site, the difficulty value display and in-progress display only shows the % sign. Turned out the property references of the two didn't have object to them. So they are undefined. Fixed now. Date: 07/11/2020.
Issue #10:There is an issue with the save site update, save will fail if the category is not set. Another issue is with the preview. The property name "description" was spelled wrong. So the summary for the friendly links will not be displayed in the preview (I thought I fixed this issue earlier). Anyways, both fixed. Date: 07/11/2020.
Issue #9: Not a bug fix. Fixed the maven compile warning regarding illegal access by class xstream. And find out there is deprecated annotation property in one of the controller class. And updated the Spring Boot version to 2.3.1.RELEASE. Now the maven build is clean of warning and error.
Issue #8: Fixed 3 issues at once. The first one is the blog site index page is not being displayed if the items count for the four item types are 0. That is a big one, a show stopper. It only occurs when the site mgmt data are not configured. The second one is that at the bottom the domain name is hard coded to the wrong one. I have changed it to use the config value from the site management configuration. The last one is at the index page of the site admin, the section "Private Messages" is labelled as "Comments". Fixed the label. Every little fix I do, makes this blog better.
Issue #7: After I was fixed the popup not closing issue, I did a upgrade on the Web Server OS. Then I restarted the web server. The problem I found is that none of the two web site were working. Then I couldn't figure out why. It took a couple minutes. I realized the iptables routing are all gone. Some search in the web shows that the configuration of iptables routing does not persist, so the reboot wiped out the configuration. I had to extract the iptables configuration to a file, Then add /etc/rc.local file and specify the configuration to be reloaded. It took some configuration and now the reboot will restore everything correctly.
Issue #5: I was working on the "About Us" page. This page was at first designated as a page. When it was published, this page showed up in the Articles list. Then the page itself had comments/add comment section added. Both are terrible. So I add a special aboutUs web method. And change the page as special page. The code change is not hard because some needed functionality already exists. It was a code fix.
Issue #4: I was using tags for the keywords. They are made of <span>...</span>, If I put all these in a line, they don't automatically line wrap when overflow. So I had to limit the display for 5 at most. And use ... for the rest. This only occur on the Admin site. It doesn't affect the public site. So fixing it proper is a low priority. Don't have a better solution yet. When I do, I will proper fix it.
Issue #3: I was using ResultSet's getNString() method at one place. There is no NCHAR or NVARCHAR columns in the database. So using getNString() would be wrong. It was causing exception to be thrown. Easy fix, change it to getString() instead.
Issue #2: When editing the user, the users active/inactive status is always unchecked. Turned out the property reference was wrong. Again, an easy fix.
Issue #1 (earliest): When the web application first came online, the public site was throwing exceptions on Blog Posts list, Articles list, and Projects list. The problem was that on the site management page, I didn't specify the number of page items to be listed on these pages, and these pages didn't handle the null value as well as I imagined. It was an easy code fix.