No internet connection
  1. Home
  2. Issues

Ability to hold hosted forum on a stable branch to force it to not update with new, untested features?

By Christian Scheuer @chrscheuer2018-09-09 01:51:55.433Z

Given the big number of errors we've had in the Talkyard forum these last days, I'm wondering if it would be possible on a hosted talkyard forum to force it to stay on a stable branch/version and not receive any updates until they have been tested to be stable?
We are closing in on a launch date for our own software and it won't work well for us if our dependent components such as talkyard are not working reliably. In that case we'd have to either switch to a different solution or to manually host the forum so we have more control.
I was trying to not have to host the forum ourselves, not only because I thought it would give us less headaches but also because I wanted to support the subscription model once Talkyard starts billing.
If however we can't find a solution where the forum is more stable, we'll probably want to take it to our own servers. How would the migration process of the hosted data work in that case?

  • 4 replies
  1. KajMagnus @KajMagnus2018-09-09 04:57:46.287Z

    My first thoughts: (need to think more about this later)

    • There could be feature flags. New features like drafts, could be disabled by default, and I could ask some organizations to enable them, try them out, and give feedback, before enabling those features for all sites. Also, this'd make it possible to disable things like Drafts, when problems detected.

    • There could be different servers. New sites people create, can get created on an Alpha or Beta server. Whilst sites that's been running for a while, could be migrated to a stable server. I can let the server you're using be the Stabe server (and setup a new one, for new organizations). Then, mainly sites that aren't used by many people, gets affected by new feature bugs.

    And migrating a server, from Alpha/Beta, to Stable, or to self hosted:

    I have in mind doing this, by exporting one's site as a JSON file with all text contents (like topics, replies, users, categories, tags, list of links to uploaded files). Maybe one won't want all uploaded files included in the export file (because it could become impossibly large, like 100 MB or 1 GB, for large sites) — instead the new server, can download uploaded files one at a time, from the old server, via the API? One could configure the new server to "Download missing files from: ___(old server addess) ___ to this server"

    1. CChristian Scheuer @chrscheuer2018-09-09 05:07:17.895Z

      I think YES to all of the above.
      I don't think you'd have to choose between feature flags and different servers. I would invite you to do both, because it gives you the most flexibility to freely and quickly recall stuff that isn't working, or limiting it to certain types of users. We're using feature flags as well (but much more sparingly) on top of our alpha/beta/stable channels.
      But yes creating a separate new (vp) server for new dev/orgs and holding the one we're on now in a stable position would be something we're very very interested in. That would be a great first step (I think small steps are always the best way forward).

      I like your migration approach with a JSON base. Zipped files should work as well for the transfer, it might be preferable even - instead of maintaining sequences of API calls and maintaining state in that multi-download operation you'd just have to deal with a set of files and just one upload/download. But as long as Talkyard understands its own format of course, it's all good.
      From our perspective, a simple JSON export of all data manually from the Admin interface would be the first thing to help ease our minds in terms of having a backup of all the text content, that we can access/read/process ourselves should we ever need to.

    2. C
      In reply tochrscheuer:
      Christian Scheuer @chrscheuer2018-09-09 02:52:05.304Z

      Fwiw we're operating with alpha, beta and stable channels for our own software, which seems to work nicely cause testers can then choose themselves when they want to stay on the bleeding edge and when they need something to be rock steady. We update the alpha very often, sometimes daily, the beta only gets updated about every 14 days once the alpha team has thoroughly tested any new features have not introduced new bugs. When we make changes we know to go more deep or might break existing things we sometimes even keep it out of the alpha channel and only send private builds. So really we have 4 channels of pushing updates out private/alpha/beta/stable. I think we'll need to have something similar for the hosted talkyard if we are to rely on its stability (it already has so many great features so it's way more important to us to keep the current features stable than to get access to new unstable ones)

      Iterating on new features directly in all hosted forums (if that's what is currently happening) will only work as long as all (potential) talkyard customers are using the forums for something that's not important (by iterating directly you will be ruling out potential customers who are taking the forum seriously and using it facing their own customers - thus the actual companies who could become good long term talkyard customers in the future).

      1. Progress
        with doing this idea
      2. @KajMagnus marked this topic as Planned 2018-09-18 11:50:23.817Z.