lestodante wrote:Anderas wrote:This Forum is just outdated. Don't ask for features... drathe would have to move everything...
But what kind of direction you would like to move? Just to update the forum platform or something else?
My notion of what to do with it would be to take a subset of the data (both because it's easier to test and because it avoids drathe handing all the inn's stuff to some rando who only appeared this year from what he can see) and setting up a copy of the same stuff the Inn is running now in a container to test and make sure that yes, gallery images work (as well as they do here), the dice roller rolls dice (never used the feature so I'd need to learn how), etc. Test test test.
That's step 1, baseline.
Step 2 starts with a copy of the baseline container and would be what it takes to port the main phpBB database to the new version. MOSTLY that should "work". There are tools to upgrade from older versions of phpBB to newer ones. It might be a multi-step process depending on how old the Inn's software is. (I'm not sure.) Test test test.
Step 3 is the gallery. We don't have a direct upgrade path for that, but there are galleries available. I'd have to find one with the same features we use or close to it and write a tool to dump the contents of the old gallery and import into the new one. That's purely a write-the-tool thing, because it won't already exist. More test.
Step 4 is the dice roller. Because dice need rolling! This doesn't exist for the current version of phpBB as of when drathe tried to do this last. If that's still the case, or if it doesn't support combat dice, I'll have to write a tool. Like this one, but in php, and interfacing with phpBB:
- Code: Select all
#! /usr/bin/python3
import random
DICE_WHITE = ["skull", "skull", "skull", "shield", "shield", "b.shield"]
def roll_red(num):
result = 0
for i in range(num):
result += random.randint(1, 6)
print(f"\nThe total is {result}")
def roll_white(num):
rolls = []
skulls = 0
shields = 0
bshields = 0
for i in range(num):
rolls.append(random.choice(DICE_WHITE))
for s in rolls:
if s == 'skull':
skulls += 1
elif s == 'shield':
shields += 1
else:
bshields += 1
print(f"\nRolled: {skulls} skulls, {shields} white shields, "
f"{bshields} black shields")
print("HeroQuest dice roll")
while True:
print("\n(W)hite dice")
print("(R)ed dice")
print("Anything else quits")
dice_type = input("\nWhat shall I roll? ").upper()[0]
if dice_type not in [ "R", "W" ]:
break
num = int(input("How many? "))
if dice_type == "R":
roll_red(num)
elif dice_type == "W":
roll_white(num)
else:
break
print("\nThanks for playing!")
(Point being that the above was a seven minute job because I had to look up the precise details of the random module… I'd have to do similar for phpBB plus learn how to glue it in to phpBB's infrastructure, so it'd take longer but it can't be
THAT complex.)
Step four would be working in our BBcode additions, the Inn's themes, etc. It's all right if those don't render "properly" until everything else is more or less done. I think current versions of phpBB prefer to use standard emoji characters when possible, so we'd want to make some vector versions of the stuff we've added most likely. I've already done this for myself for accessibility reasons and just use SVG versions of the HeroScribe quest book icons. It works, but maybe someone with a little more skill would like to make some that match twemoji? Or we could just keep the ones we've got…it wouldn't be the first forum in history whose BBcode resulted in mixed styles. I'd say that approximately … all of them do that.
Step five would be to transplant it back to the Inn, final test, and put it up live.
Aside from people being invited to basically connect to my machine directly during the testing to put garbage data in and try to break things that should not be breakable … the finished product will probably be most visitors first notion anything had been done at all. Should mostly look the same as it always did (maybe a little cleaner, more modern, and dark-mode-friendly if phpBB can be smart enough to do that.
So … just a few minor things here and there. Largely taking advantage of the fact that I can do a ton of testing offline since this site runs on a UNIX machine of some sort, and I happen to be typing this post with one of those.
<InSpectreRetro> All hail Zargon!!! Morcar only has 1BP.