Difference between revisions of "User:Alvonruff"
Line 3: | Line 3: | ||
== Large Projects == | == Large Projects == | ||
* 2022: Update LAMP stack to latest version (except Python) and enable HTTPS. [https://isfdb.org/wiki/index.php/User:Alvonruff#System_Upgrade_Notes DONE] | * 2022: Update LAMP stack to latest version (except Python) and enable HTTPS. [https://isfdb.org/wiki/index.php/User:Alvonruff#System_Upgrade_Notes DONE] | ||
− | * 2023: Update site to Python3. [https://isfdb.org/wiki/index.php/User:Alvonruff#Python3_Notes Underway]. This is a larger project than the LAMP update, and will take a few months. Steps | + | * 2023: Update site to Python3. [[User/Alvonruff/Python3_Conversion]][https://isfdb.org/wiki/index.php/User:Alvonruff#Python3_Notes Underway]. This is a larger project than the LAMP update, and will take a few months. Steps |
** Do a blunt-force port to python3 on isfdb2.org. This will discover the porting patterns we need to worry about. | ** Do a blunt-force port to python3 on isfdb2.org. This will discover the porting patterns we need to worry about. | ||
** Integrate tab/spaces changes in small bundles. This should be invisible to isfdb.org. | ** Integrate tab/spaces changes in small bundles. This should be invisible to isfdb.org. |
Revision as of 06:27, 21 May 2023
Founder of the ISFDB.
Large Projects
- 2022: Update LAMP stack to latest version (except Python) and enable HTTPS. DONE
- 2023: Update site to Python3. User/Alvonruff/Python3_ConversionUnderway. This is a larger project than the LAMP update, and will take a few months. Steps
- Do a blunt-force port to python3 on isfdb2.org. This will discover the porting patterns we need to worry about.
- Integrate tab/spaces changes in small bundles. This should be invisible to isfdb.org.
- Integrate print changes with futurize imports in small bundles. This should be invisible to isfdb.org.
- Integrate string changes in small bundles. This should be invisible to isfdb.org.
- Integrate mysql connector class in small bundles. This should be invisible to isfdb.org.
- I reserve writing down the next steps until I get further along and can diff the python2 and python3 versions.
- 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:
- 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/