User:Alvonruff

From ISFDB
Revision as of 08:42, 17 May 2023 by Alvonruff (talk | contribs)
Jump to navigation Jump to search

Founder of the ISFDB.

Large Projects

  • 2022: Update LAMP stack to latest version (except Python) and enable HTTPS. DONE
  • 2023: Update site to Python3. Underway
  • 2024: Update charset to UTF-8.

Python3 Notes

The primary difficulty with a python3 conversion project is trying to avoid a massive rewrite of the website, and then checkin all those changes with a single big bang integration. That said, the primary function of the scripts is to read data from MySQL, and then organize and print that information to the browser. But the two things that change with python3 is the MySQL connector (which requires a rewrite of all code interfacing with MySQL), and the way print statements work (which requires a rewrite of all code outputting information). So the first goal is to find a way for the ISFDB to exist simultaneously in Python2 and Python3 format. General outline of steps to move to Python3:

  1. Python3 does not tolerate mixed tabs and spaces. There needs to be a project to convert the tabs in all files to 8 spaces. This change works on either Python2 or Python3
  2. Introduce a MySQL connector class, which hides the differences between MySQLdb (which only works on Python2) and mysql.connector (which only works on Python3).
  3. Convert all MySQL code to use the new connector class. This is a large project in itself, with details listed here.
  4. futurize all print statements. This can be done by running futurize, and then keeping only the print() syntax changes. These will run fine under python2.
  5. Perform the Python3 Conversion, and follow up on the numerous porting issues.
  6. Update all character sets. Final procedure still TBD.
  7. Change the default charset in MySQL
  8. Repair strings which have URL encodings in MySQL

Status Trackers

System Upgrade Notes

Details on how to bring up a LAMP stack (on two different OSs), and how to setup https:

User:Alvonruff/Test Page

Other Loose Notes

Obituary Sources

Reading List