{"id":98,"date":"2023-07-29T08:20:30","date_gmt":"2023-07-29T08:20:30","guid":{"rendered":"https:\/\/blogs.scummvm.org\/phoenixflame101\/?p=98"},"modified":"2023-07-29T08:20:30","modified_gmt":"2023-07-29T08:20:30","slug":"week-8-9","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/phoenixflame101\/2023\/07\/29\/week-8-9\/","title":{"rendered":"Week 8 &amp; 9"},"content":{"rendered":"<p>This week&#8217;s blog post will contain work from both week 8 and week 9, since I had college during week 8 and I wasn&#8217;t able to get much work done.<\/p>\n<p>These two weeks were spent starting the final piece of the puzzle &#8211; handling user checksums, and adding some extra features to the website and CLI tool.<\/p>\n<h2>User Checksums<\/h2>\n<p>The entire point of this project is to allow users to validate their game files against those present in the db that we spent the first 2\/3rds of this project creating.<\/p>\n<p>The user checksums will be validated against whatever we have in the database, and there are two outcomes &#8211; the game variant in question has fully populated checksums, or it doesn&#8217;t. If it does, the process is pretty simple &#8211; just verify the integrity of the game files one-by-one, store the results in a JSON object, and send it back as a response.<\/p>\n<p>If the game variant doesn&#8217;t exist in the database, we can insert the submitted checksums in the database. Since the user can submit even incorrect files for verification, we will be adding these filesets to a queue where either a moderator can approve them manually.<\/p>\n<h2>Framework Improvements<\/h2>\n<p>This week introduced a whole bunch of improvements to the website, parser and CLI scanner.<\/p>\n<p>I&#8217;ve introduced a <code>megakey<\/code> column in filesets to uniquely identify non-detection filesets. This means we can skip insertion of all filesets that already exist.<\/p>\n<p>Game entries in\u00a0<code>games_list.php<\/code> now have clickable rows that point to their respective fileset pages. You can also sort by any column by clicking on the heading.<\/p>\n<p>In the fileset page, you can now view checksums of all types and sizes, thanks to a new &#8216;Expand table&#8217; button. I&#8217;ve also added the ability to calculate checksums of AppleDouble and .rsrc files with the scan utility.<\/p>\n<p>Log entries have also gotten an overhaul, now every upload gets its own &#8216;Transaction&#8217; id and every fileset inserted (or not inserted) is logged.<\/p>\n<p>That\u2019s all for now, hope you check in next week for more progress!<\/p>\n<p>Thanks for reading!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week&#8217;s blog post will contain work from both week 8 and week 9, since I had college during week 8 and I wasn&#8217;t able to get much work done. These two weeks were spent starting the final piece of the puzzle &#8211; handling user checksums, and adding some extra features to the website and [&hellip;]<\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-98","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/phoenixflame101\/wp-json\/wp\/v2\/posts\/98","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/phoenixflame101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/phoenixflame101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/phoenixflame101\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/phoenixflame101\/wp-json\/wp\/v2\/comments?post=98"}],"version-history":[{"count":7,"href":"https:\/\/blogs.scummvm.org\/phoenixflame101\/wp-json\/wp\/v2\/posts\/98\/revisions"}],"predecessor-version":[{"id":106,"href":"https:\/\/blogs.scummvm.org\/phoenixflame101\/wp-json\/wp\/v2\/posts\/98\/revisions\/106"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/phoenixflame101\/wp-json\/wp\/v2\/media?parent=98"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/phoenixflame101\/wp-json\/wp\/v2\/categories?post=98"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/phoenixflame101\/wp-json\/wp\/v2\/tags?post=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}