Article Version Control / Saving | World Anvil

Remove these ads. Join the Worldbuilders Guild

Article Version Control / Saving

New Feature Addition · Articles & templates · Created by Aramec
closed

What functionality is missing? What is unsatisfying with the current situation?

  Version control / save history   WA lacks version control for articles which creates a number of potential editing hazards that cause loss of work. This means that for serious authors that work has to be maintained outside of WA to avoid loss of work.    

How does this feature request address the current situation?


Basic version control/save history would bring WA in line with other wiki-like services.  

What are other uses for this feature request?

  There are many potential applications of this feature including reducing the impact of multi-writer collision, saving errors and accidental destruction of work.

Follow up


Some people have expressed concern that keeping multiple versions of articles would represent an issue in terms of database storage. Assuming the use of 8 bit characters, you can store a million of them in a megabyte. I suspect that most worlds will exceed the memory cost of version controlling articles in just a few images worth of their image galleries.   As far as the possibility of the database not supporting version control, that is unlikely to be the case. It's the application layer that needs to support version control, not the database. The database itself is simply storing articles with a field which contains a variable defining the article version. It doesn't know the difference between the two things.

The Team's Response

Version control won't be implemented due to how the database is currently set up—doing so would require rebuilding the core of World Anvil from the ground up. However, we understand that this is very important to many users and we're looking at options to mitigate the issues you mentioned in a way that works with the system. If we find a good option, we will implement it in a future update.
Current score

61/300 Votes · +12907 points

Votes Cast

  • +300

    by Instabula
    on 2023-04-12 21:17
  • +300

    by Evil Atlas
    on 2023-04-12 18:14
    Implementation of full version control would be great, but even if that proves infeasible, it would be very valuable if it would at least save the most recently published version and not update or replace it until you hit the "save" button on the editing page. If something goes wrong in editing, being able to revert to that last "good" version is a good safety net, and it also means people visiting the page while you're working don't see half-finished sections or sentences.
  • +300

    by Dungeon_builder14
    on 2023-04-12 15:26
  • +100

    by DibbleDabble
    on 2023-04-12 14:54
  • +300

    by R.A. Vaught
    on 2023-04-08 21:44
  • +300

    by BCGR_Wurth
    on 2023-04-08 02:42
  • +1

    by A Fluffy Mimic
    on 2023-04-07 23:37
    You only need to mess up once...
  • +300

    by sanprofe
    on 2023-04-07 10:30
  • +100

    by _lastmohican_
    on 2023-04-06 15:54
  • +100

    by Darkeagle22
    on 2023-04-06 06:27
    Sounds like a super good idea , somebody like me is good at messing stuff up and losing work.
  • +300

    by Pete Nelson
    on 2023-04-05 20:09
    This would be a really good feature to have, but I recognize (having designed and developed authoring systems for technical content at large companies) that it is *really* hard to do right. There are myriad issues that need to be thought through to come to a good design (and some people will not be satisfied, no matter what), and the current database design/schema quite likely doesn't support it. Versioning is a foundational architectural factor for DB systems, so (granted, I know essentially nothing about WA's backend systems) implementing a versioning system might be *very* difficult.
  • +300

    by denversg1
    on 2023-04-05 19:55
  • +300

    by Youstolemytexture
    on 2023-04-05 14:07
  • +300

    by Damien Cross
    on 2023-04-05 02:24
  • +1

    by A Roaring Hobbit
    on 2023-04-04 21:34
  • +300

    by Awiin
    on 2023-04-03 20:37
  • +300

    by Melkcarton
    on 2023-04-02 23:50
  • +100

    by DarthMediocritus
    on 2023-04-02 16:42
  • +300

    by PeppermintScarf
    on 2023-04-02 04:04
  • +300

    by MoonWolf
    on 2023-04-01 17:18
  • +300

    by A Fluffy Kitten
    on 2023-04-01 10:54
  • +300

    by Chrysoula
    on 2023-03-31 22:13
  • +100

    by hhhhhaaaa
    on 2023-03-31 00:22
  • +300

    by sabinala
    on 2023-03-30 17:06
  • +100

    by Curin
    on 2023-03-30 00:31
  • +300

    by Rains Up Games
    on 2023-03-29 14:39
  • +300

    by Vivian Sayan
    on 2023-03-29 07:50
    I very much support this
  • +300

    by GilmoresGloriousWood
    on 2023-03-29 07:14
    I can also see this as a feature for dungeon masters who want to update their version of an article across different campaigns, or even at different times in a running campaign.
  • +100

    by Lunarity2013
    on 2023-03-29 02:11
  • +100

    by Mme88
    on 2023-03-28 23:41
  • +300

    by Gam1ngSk1ttle
    on 2023-03-28 22:54
  • +300

    by Kat221
    on 2023-03-28 16:57
  • +300

    by Logan Mountain
    on 2023-03-28 15:31
  • +100

    by Dreamer_076
    on 2023-03-28 06:46
  • +300

    by A Glamorous Mimic
    on 2023-03-28 03:20
  • +300

    by lordbladefist
    on 2023-03-27 18:30
  • +300

    by Tobus
    on 2023-03-27 14:23
  • +300

    by Dalf32
    on 2023-03-27 01:48
  • +100

    by crossesk
    on 2023-03-27 00:33
  • +300

    by mybigfriendjo
    on 2023-03-26 17:23
    would be an awesome feature if it was builtin. if the db load becomes a problem because storage need all of a sudden explodes -> i have seen other services allowing to connect external things like github where they synch changes as commits to the repository. i'm aware that implementing this would be a major feature to develop. i just wanted to point out that there are options that don't rely on the internal storage as well, with arguably different complexities to connect them to worldanvil.
  • +300

    by 1337spectra
    on 2023-03-26 16:46
  • +300

    by A Frightened Unicorn
    on 2023-03-26 13:32
  • +1

    by A Fluffy Dryad
    on 2023-03-26 12:52
    I'm sure database load can be reduced if its manual versioning and you can keep up to x number of versions. But then it would have to be either the last x, or it would need a page where you can choose and delete versions (you can see the date of each so you roughly know which version it is)
  • +1

    by MagicNateball
    on 2023-03-25 21:26
    Agreed
  • +300

    by Willow H.R. Harper
    on 2023-03-25 17:40
  • +100

    by A Thundering Dwarf
    on 2023-03-25 13:10
  • +300

    by A Goodhearted Mlem
    on 2023-03-25 09:54
  • +300

    by PrismCoalition
    on 2023-03-25 01:57
  • +300

    by illumiinae
    on 2023-03-25 01:11
  • +100

    by Pookas Kreations
    on 2023-03-25 00:39
  • +1

    by Mochimanoban
    on 2023-03-24 19:47
  • +300

    by Laria
    on 2023-03-24 18:29
  • +1

    by tjtrewin
    on 2023-03-24 13:55
  • +100

    by Adcheryl
    on 2023-03-24 11:06
  • +100

    by A Goodhearted T-Rex
    on 2023-03-24 07:32
  • -300

    by A Wild T-Rex
    on 2023-03-24 03:09
  • +100

    by storyauthor
    on 2023-03-24 02:15
  • +300

    by [email protected]
    on 2023-03-24 01:52
  • +1

    by Ratha
    on 2023-03-24 01:01
  • +300

    by Elyean Project - Mateusz Wypchlak
    on 2023-03-23 23:51
  • +300

    by eddielicious
    on 2023-03-23 23:25
    I have experienced data loss by overwrite and buggy UX, which this would mitigate.
  • +300

    by Aramec
    on 2023-03-23 23:18