Home Page
F-Zero Central Home Page Championships General Forum Players Photo Album
F-Zero Climax
F-Zero GP Legend
F-Zero MV
F-Zero X
F-Zero GX
F-Zero SNES
F-Zero Climax F-Zero GP Legend F-Zero MV F-Zero X F-Zero GX F-Zero SNES
Twitter Facebook YouTube Twitch
Latest Times Your Latest Times Your Ranking Summary
   « View previous topic | View next topic »  
    Index » F-Zero General » Developer log
Locks
Amazing God
Posts: 46
View user's profile
Send private message
Developer log
Reply to this Post

 Hi everyone, 

After some time away due to lack of availability and my development machine being away for repair, I'm back to continue developing FZC.
This thread will serve to keep you informed about the changes I'm making and that sort of stuff.

To organize myself I am using a public Trello board, which you can see here: https://trello.com/b/odIz2458/website

Locks
Amazing God
Posts: 46
View user's profile
Send private message
Re: Developer log
Reply to this Post

# Front page

card: https://trello.com/c/Q6XvN9vM/1-rework-front-page

To kick things off, I will be changing the front page around a bit, based on some suggestions from TBK.
I'll edit the post when the changes are deployed.

# MuteCity.org

card: trello.com/c/kcX6bMzE/14-integrate-with-mutecity-org

Another idea I'm kicking off is reaching out to mutecity.org/wiki/F-Zero_Wiki and ask if they want to "partner up".
This would mean that some more cruft would be removed from FZC, and make it easier for anyone to update guides, strategies, and whatever resources one wants to make available.

Uchiha Madao
Staff Ghost
Posts: 1953
View user's profile
Send private message
Re: Developer log
Reply to this Post

that would be useful to have updated course strats since the current system makes it a pain to modify the old stuff and add new things.

oh btw, has there been any discussion over some of the upgrades people want for the ladders? it's been quiet for a while in that area since last year's changes to the site had more priority and everyone was more concerned about that and later, with everyone being busy with many things, tthere has been very little talk about updating the ladders.

"Patience is useful in any moment"
Locks
Amazing God
Posts: 46
View user's profile
Send private message
Re: Developer log
Reply to this Post
UchihaSasuke wrote:

oh btw, has there been any discussion over some of the upgrades people want for the ladders? it's been quiet for a while in that area since last year's changes to the site had more priority and everyone was more concerned about that and later, with everyone being busy with many things, tthere has been very little talk about updating the ladders.

Anything involving the ladders is a considerable amount of work, moreso because the old developers are no longer around to explain how anything works.
That's also why I'm starting with the more cosmetic aspects of the site, as I try to understand how everything is working together.

tl;dr That will take a while, sorry :/

Locks
Amazing God
Posts: 46
View user's profile
Send private message
Re: Developer log
Reply to this Post

 # Video library

card: https://trello.com/c/GlNDRFmx/19-video-library

I have started setting up a new video library where TBK will be publishing the collection he has amassed thus far.
They'll be available at https://fzerocentral.s3.amazonaws.com/videos/index.html for now.

# Front Page

Didn't manage to finish the front page changes this weekend because I got sick and all my plans turned south.
Work will proceed as intended.

# Misc

I did however endulged in some nerdiness, and made a little Polymer element to display rotating ships, using the spritesheets from F-Zero Climax.
You can see an example at https://dl.dropboxusercontent.com/u/491447/pages/fzc-animated-ship/index.html .
This together with the jet vermillion code generator element are great to start a library of building blocks to use in the site.

 

Locks
Amazing God
Posts: 46
View user's profile
Send private message
Re: Developer log
Reply to this Post

 # Downtime due to server upgrade

card: https://trello.com/c/WuVlS86R/22-check-codebase-for-php-5-4-compatibility

Hi everyone. Sorry for the downtime these last few days, I'll proceed to explain.


The source code for the site is really old, and was using unsafe functionality that was removed from newer PHP versions.
Last Sunday our hosting provider decided to upgrade the PHP version, and hell broke loose.
So far I've managed to bring the site back up, and fix some of the errors, but I'm sure some new ones where introduced so tread carefully.

If you find anything that looks wrong, please report it at https://docs.google.com/document/d/1vNrKAZjc0DXceS6FIheRjGvufc2vhR1McqpTIyrEmR4/edit

 

# Front Page

This whole kerfuffle prevented me from finishing up the front page change, expect news before the week ends.

 

[edit]

 

# Time submission bug

card: https://trello.com/c/s7udCsyl/23-submitting-a-time-changes-the-timestamp-for-all-the-courses-in-that-game

It seems that when a new time is submitted it wrongly updated the timestamps for all the other tracks in the game.
I'm looking into this.

Locks
Amazing God
Posts: 46
View user's profile
Send private message
Re: Developer log
Reply to this Post

 # Front page news

card: https://trello.com/c/Idkh5CfD/25-fix-news-sections-in-home-fzero-php

Managed to fix the news section, was rather easy too.
I noticed some JavaScript errors were popping up and after a bit of tracking and code reading it seemed like a JavaScript file was not being included.

Copernicus
Blood Hawk
Posts: 568
View user's profile
Send private message
Re: Developer log
Reply to this Post

Just to let everyone know, I'm going to be fixing some of the problems on this website leftover from the server upgrade last year.  This has to do with the timestamp bug.

This website was originally programmed in PHP 4, and then was upgraded to PHP 5.  The original programmers were lazy and instead of replacing all the PHP 4 code with PHP 5 code, simply programmed a workaround to keep the PHP 4 code.  Now that the server has been upgraded to PHP 5.3, the workaround will no longer work, which is why we have the timestamp bug.  Workarounds are no longer a solution so Locks and I will slowly but surely replacing all the PHP 4 code with modern code.  This could break many things.  Please be patient.  If there are any problems you can post here so we can keep them all in one location.  Thanks.

Visit my personal website: http://www.nicusprops.com
Copernicus
Blood Hawk
Posts: 568
View user's profile
Send private message
Re: Developer log
Reply to this Post

Testing a forum post error.

Edit:  testing another error.

At the moment there is an error with trying to make posts in the staff forum.

Edit:  Issue seems to be resolved.

Edit (Feb 7):  Got the error again.

Visit my personal website: http://www.nicusprops.com
Locks
Amazing God
Posts: 46
View user's profile
Send private message
Re: Developer log
Reply to this Post

 # Jet Vermillion code generator

Once again the generator that is up on the MV section broke down for third-party reasons — apparently, Chrome v34 is to blame this time, — but I have already updated it, so there should be no problems generating codes.

yoshifan
Fire Stingray
Posts: 167
View user's profile
Send private message
Re: Developer log
Reply to this Post

In 2017 July, FZC's web host Midphase started rolling out a plan to drop PHP versions older than 7. PHP 7 focuses on removing a lot of deprecated functionality, representing another very difficult transition for our old codebase.

In particular, our website code is too closely coupled with our old version of phpBB, with dozens of direct modifications of the phpBB code files. Upgrading to PHP 7 would mean reworking much of the large phpBB codebase as well as the MFO/FZC specific code. Upgrading our phpBB is equally daunting for the same reason, and also for the fact that we have some custom columns on the phpBB database tables.

For this and other reasons (other design decisions of a very old codebase, and wanting more sophisticated features for FZC), locks and I basically agree that the easiest future-proofing plan is to rewrite the site from the ground up. From what locks has started of it, "FZC Next" is currently a Node.js website powered by a Phoenix API. There are only a couple of pages and API calls implemented so far, so it will definitely take some months to implement all the functionality we want. Meanwhile, the current MFO-based website will have to survive on PHP 5.x until FZC Next is ready.

On 2017 August 22, locks changed FZC's web host from Midphase to DigitalOcean, which still supports PHP 5.x. The moving process was mostly reasonably smooth and done in a day, but a few problems lingered and locks couldn't find much time to fix them. He gave me access to the server around 2017 September 6, so I could try my hand at fixing stuff. (That's also why I'm posting here as a dev.)

Issues fixed since then:

  • (Recent) Server errors on viewcourse and viewladder, about domxml_xslt_stylesheet not being defined: Fixed by installing the PHP xsl extension (`apt-get install php5-xsl`).
  • (Recent) User-uploaded forum avatars not showing up: Fixed by changing the avatar folder's permissions so that the PHP process can write to it.
  • (Recent) F-Zero machine avatars not showing up: Fixed by installing the PHP GD extension (`apt-get install php5-gd`) and replicating an .htaccess rewrite in our nginx config. .htaccess is basically Apache-only.
  • (Recent) Posting with non-Western characters gets "General Error - Could not insert new word matches": Fixed by forcing our database tables, columns, and connections to be latin1 only. For some reason, simply keeping the encodings consistent like this allows non-Western (non-latin1) characters to work for the site's purposes. However, for FZC Next we'll want to port this stuff to UTF-8.
  • (Recent) Getting emails working with DigitalOcean: We set up postfix and Amazon SES for this.
  • (Recent) Climax ship statistics page lost most of its content: This seemed to be related to non-Western characters in the original post's markup. The post content has been restored using a backup from archive.org. Later, it would be good to scan an old database backup for other posts with non-Western characters, to check if other posts like that went missing.
  • F-Zero X "Change to PAL/NTSC" button doesn't actually change to PAL/NTSC: Fixed by adding type=button to the change button, thus preventing the button from submitting the main form (your times for each track).
  • "No posts exist for this topic" message when going to the last page of certain forum topics: This seemed to be caused by improperly-saved posts from the apostrophe-error era (early 2014). These posts still existed in the database, but didn't show on the forum, and didn't have a corresponding post-text object in the database. Fixed by deleting these zombie posts from the database.
  • Certain username links in the ladderhome pages got MySQL errors: Fixed by correcting the links that wrongly passed in username instead of user id to viewplayer.
  • viewlatest showed 3 decimal places on times for all games: Fixed by implementing a check on whether the game uses 2 or 3 decimal places.
  • "times" link under a username on a forum post goes to your times page instead: Fixed by correcting a bug on how viewplayer gets the username argument.

Layout related improvements:

  • Updated front page (home_fzero.php).
  • home_fzero is now what the site shows at the root URL, rather than the forum index. This is also what you'll see after logging in now.
  • The header gradients on the FZC logo, game select images, and header background no longer clash so badly. The game select images still clash faintly with the BG though.
  • viewcup no longer looks totally broken.
  • Player names are now properly aligned with the boxes on the ladderhome pages.
  • Fixed box styling issues in viewtopic.
  • Fixed diamond ? characters in viewforum and viewtopic (originally double angle quotation marks).
  • More GX ship icons added for times pages. These ship icons are also no longer case, space, or punctuation sensitive; Gallant Star-G4 matches gallantstarg4.
  • Added social media icons under the header's FZC logo.
  • Replaced IRC chat link with Discord chat link.
  • Updated and streamlined top menus, especially World Records and Help. Updated and simplified site footer.
  • Updated some button and menu wording, such as "Latest News" -> "Latest Times", and "Articles" -> "Resources" (can include external links to resources other than written articles).

Other improvements:

  • Added HTTPS.
  • After a user registers or resets password, phpBB no longer puts the password in the activation/confirmation email.
  • The main CSS file (fzero.css) is requested with a query arg based on the file-modified time, ensuring users always see the latest version.
  • The site header and footer code is more consistent (and less copy-pasted) among all site pages now.
  • Reduced reliance on HTML tables in some pages. A lot more CSS flexbox these days.
  • Reduced reliance on images for some pages' layouts. Using CSS gradients, borders, border radiuses and shadows instead.

Current server costs:

  • ? for the domain (owned by locks)
  • $5 per month for DigitalOcean hosting (owned by locks)
  • Less than a dollar per month for sending emails (owned by me)
Copernicus
Blood Hawk
Posts: 568
View user's profile
Send private message
Re: Developer log
Reply to this Post

I knew the PHP thing was going to be a problem eventually.  Any word from Locks when F-Zero next is ever going to get done, or at least be available for users?  In the future less hosts will be able to support our old code so we really need to move to a new system.

Visit my personal website: http://www.nicusprops.com
   Index » F-Zero General » Developer log
 
Display posts from previous: