Another month had passed, here are the updates that happened in the month: Wikijump updates: This month we have a new contributor Syxles joining us on the project! They have been very productive and submitted a lot of pull requests regarding Wikijump backend features. Thanks Syxles! That’s about it, and have a happy new year!
As promised last post, here is a short recap for the Wikijump progress updates that happened by month. Since this post is the first one for the short recap series, we will also include the progress updates from October, where smaller features and improvements are made. Wikijump updates: FTML updates: These two months we have been working on the legacy HTML layout, mostly to ensure compatibility with existing Wikidot HTML and CSS, as mentioned last post. And that’s about it!
Well, it’s been a long while since our last blog posts, and we do have some big updates for the project that we think should be communicated. Read-only Platform This time around, we are adjusting our plans to prioritize having a read-only platform ready as soon as possible, such that we can import data from Wikidot with minimal changes, and have the pages be mostly readable. The reason this was determined is that we find Wikidot becoming more broken over time, the most recent example is the PageByTag module becoming non-functional for SCP sites (although the writing was on the…
As you may remember, recently we announced the new project plan (more detailed reading) for Wikijump development, dividing the work into a series of stages. Each one would be governed by an overall state that the project should be at at each stage, which allows us to focus on producing an MVP (minimum viable product) more effectively. This blog post is commemorating the fact that Release Stage 0 is complete! As you can see, all the items in the epic are finished, and I thought I’d take the time to reflect on what has been achieved so far. As noted…
Hello all! I thought I’d make a quick blog post to talk about one of the design decisions within Wikijump to maintain compatibility with existing Wikidot data: IDs. Like many other pieces of software, both Wikidot and Wikijump use numerical IDs to uniquely identify various data objects. To name a few, all users have an ID, as do all sites, all pages, all revisions within those pages, etc. The most common way to uniquely assign such IDs is to do so sequentially. You start with say 1, and then every time a new user is created you take the current…
The scope of work to be done as part of this project is rather extensive. While the needed work has been tracked in Jira, for instance using epics for groups of related changes that are part of an overall feature, previous attempts at an overarching prioritization have been difficult to effectively execute on. This has caused disparities within the project, where some areas are very thoroughly-developed, and others have little to nothing added. The mere existence of such disparities is expected, for instance, in the presence of advanced features, but because some of these gaps extend to some basic areas…
A quick announcement, we recently moved to a new environment for dev! For brief background, we note three environments for where Wikijump can be deployed, local, which is any developer-run instance run off that computer, dev, which is like a staging environment, and prod, which will be the real production environment where actual data and users exist. Before this change, we provisionally deployed our dev environment in a permanent virtual machine with Dokku installed on it. Then, on merge to develop, a GitHub action would push the code and a new Dokku build would run. This worked, but had some…
Over the course of Wikijump development, both analyzing Wikidot code and implementing new Wikijump code, we’ve come across a fair number of table schemas. And there’s something we noticed, which is that there are a lot of database tables which essentially just link one thing to another, potentially tagging on some data. Now this is actually kind of a problem. Because, for each table, we need to have boilerplate for CRUD operations, as well as checks for sanity and permissions. This is a place where Wikidot definitely comes up short; user blocks only affect private messages, some systems for inputting…
It’s been a bit since the last development blog post, and as you can see from the post’s title, I meant to write this sooner. That said, things have generally proceeding gradually and smoothly. In this blog post I wanted to highlight one particular improvement made to DEEPWELL, our backend / internal API service. To first provide some context, within the current architecture, DEEPWELL is what stands in front of the various datastores (PostgreSQL, Redis, S3) to provide logical Wikijump operations. This means that it provides operations we think of when it comes to wikis, such as “edit this page”…
This was also mentioned in chat, but this post is to inform the community that as of October 25, 2023, I (aismallard) am now the official Project Lead for Wikijump, after a discussion with bluesoul. Apologies for the belated notification. This should not affect anything day-to-day within the project, and is simply intended to reflect the current reality of development. I highly appreciate bluesoul’s past and ongoing support of the project, particularly his expertise with AWS and his past work rigging up the ancient Wikidot code which sparked this project to start. His influence and assistance has been and continues…