Tools Behind Maintaining The SwiftKit Project
It’s been awhile since the last Dev Blog post so I’ve decided to write up another. This time however it won’t be about an upcoming update or software release. Instead we’ll have a look at the tools behind maintaining the SwiftKit project. The two main tools that will be shown are the Control Panel and the new Database Editor.
This is a new tool that has been developed to allow SwiftKit staff members to access, modify, add and delete data within the SwiftKit00x.skd files. The SwiftKitData00x.skd files are used for the calculators, quest center, atlas, achievement diary center etc. The tool was written in .NET and connects to a MySQL database on the SwiftKit server. Currently the changes made are not live, in order for the changes to take effect the data needs to be exported, packed and then uploaded. The main benefit of the tool is that it allows other staff members to manage the data instead of just myself.
SwiftKit Control Panel
This is a tool that I wrote for myself back when I was initially developing SwiftKit. The main purpose of this tool is to allow me to manage updates for SwiftKit (including SwiftKit MS). While the tool doesn’t actually do the uploading it more or less does everything else. Including packaging, compressing, signing integrity, version control and placing all the update files in a holding directory ready for upload.
The first screenshot is where I grab the world info for all the RuneScape servers and pack it into a single file. The second screenshot is where I come after I have compiled a new version of SwiftKit. Clicking one of the update buttons increments the version number, compresses the executable and signs its integrity. The last screenshot is where I package and compress all the SwiftKit000x.skd data files into a single .skd file. The SwiftKitData001.skd file has over 670 calculator images compressed into it. This is why you see an unpacking images progress bar in the Calculators utility.
So there’s a quick look the two main tools used for managing the SwiftKit project. Not an ordinary Dev Blog post but hopefully still informative for those who had been wondering – or had asked me about them in the past.