Difference between revisions of "User:Alvonruff"
Line 16: | Line 16: | ||
=== Status Trackers === | === Status Trackers === | ||
* [[User:Alvonruff/Debugging_Remarks|Debugging Remarks]] | * [[User:Alvonruff/Debugging_Remarks|Debugging Remarks]] | ||
− | * Per-File Status: [[User:Alvonruff/Python3_Files]] | + | * Per-File Status: [[User:Alvonruff/Python3_Files|Python3 File Status]] |
− | * ISFDB2 Status: [[User:Alvonruff/Python3_ISFDB2]] | + | * ISFDB2 Status: [[User:Alvonruff/Python3_ISFDB2|ISFDB2 Per-Script Status]] |
+ | * Formal Tests: [[User:Alvonruff/ISFDB_Tests|Formal ISFDB Test Status]] | ||
== System Upgrade Notes == | == System Upgrade Notes == |
Revision as of 08:53, 12 May 2023
Founder of the ISFDB.
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:
- 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
- Introduce a MySQL connector class, which hides the differences between MySQLdb (which only works on Python2) and mysql.connector (which only works on Python3).
- Convert all MySQL code to use the new connector class. This is a large project in itself, with details listed here.
- 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.
- Perform the Python3 Conversion, and follow up on the numerous porting issues.
- Update all character sets. Final procedure still TBD.
- Change the default charset in MySQL
- Repair strings which have URL encodings in MySQL
Status Trackers
- Debugging Remarks
- Per-File Status: Python3 File Status
- ISFDB2 Status: ISFDB2 Per-Script Status
- Formal Tests: Formal ISFDB Test Status
System Upgrade Notes
Details on how to bring up a LAMP stack (on two different OSs), and how to setup https:
- User:Alvonruff/ISFDB_Move - Our old hosting service was bought out by a larger hosting service, and they are pushing off our ancient server onto something up to date. We've already been staging such a move at isfdb2.org for a few months, and have most things operational on the new server. The actual move will start sometime after Labor Day.
- User:Alvonruff/ISFDB On Ubuntu 20.04
- User:Alvonruff/ISFDB2_Notes - Another Fedora Core variant.
- User:Alvonruff/HTTPS Notes - Notes on moving to https on isfdb2
- User:Alvonruff/Link Tests - Combinations of http/https www/no www links.
Other Loose Notes
- Development/HTTPS - Discussion area.
- User:Alvonruff/The_Charset_Problem
- User:Alvonruff/Notes on MySQLdb
- User:Alvonruff/Test_Pages
Obituary Sources
- https://sf-encyclopedia.com/timeline.php?rip
- https://ansible.uk/ - (R.I.P. section)
- https://www.sfwa.org/category/excluded-categories/in-memoriam/