Diego, If I have your suggestion correct, you are sill talking about a server implementation and in this case a core change?
Regards Tony On Friday, February 1, 2019 at 6:39:08 AM UTC+11, Diego Mesa wrote: > > Ive always thought something like this could work: > > https://github.com/nodegit/nodegit > > where saving a tiddler could trigger a commit object. That way, conflicts, > merges, etc could be handled the way it is usually handled in version > controlled systems. > > On Thursday, January 31, 2019 at 10:14:34 AM UTC-6, joearms wrote: >> >> An alternative might be some form of transaction memory. >> >> When a tiddler is served over a network it has last-modified time (this >> is the time when the server >> last stored a modification) >> >> If a user edits a tiddler and sends it back it should include this time. >> Call this Told. >> >> When the server receives an updated tiddler it checks to see if Told >> is identical to the current last modified time of the tiddler if so the >> update >> succeeds. >> >> If the two are not identical the update fails - and the user is told that >> their new tiddler value is not an update to the latest value of the >> tiddler. >> >> They should then get the latest version and resolve any conflicts. >> >> This works pretty well if we make a couple of assumptions >> >> 1) people do not edit the same tiddlers at the same time >> 2) edits are relatively quick >> >> This way nothing gets locked and there are no checkins/outs. >> >> Actually, each tiddler could be (internally) a write-append-only log of >> diffs >> this way no data gets lost and we can back up to any old value. >> >> Cheers >> >> /Joe >> >> >> >> On Wednesday, 23 January 2019 01:50:01 UTC+1, TonyM wrote: >>> >>> Folks, >>> >>> I have raised this a number of times in a number of contexts but *NOW I'm >>> Serious - We need Check in and Check Out* >>> >>> TWC had a method to allow serial editors and a lock file (that all can >>> see). We need this as an option to TW5 as well. >>> >>> Why? >>> >>> 1. TiddlyWikis can be used as smart documents served from a file or >>> network location without fear of contention and overwrite (Single File >>> or >>> Network served) >>> 2. Its a "poor mans" multi-user wiki - Serial multi-user update >>> access NOT Multi-user multi-access >>> 3. TW-Receiver could provide read/update access to any number of >>> users knowing simultaneously is not available. >>> 4. The lack of such a facility is driving some of the complexity we >>> face trying to simplify the saving process, if we could check in out >>> documents reliably we secure the the wiki from corruption/overwrite. >>> 5. It could help users protect them from themselves opening the same >>> wiki from more than one tab/or browser without needing a server solution. >>> 6. Perhaps TiddlyDesktop and the other servers could also honour >>> this allowing free transfer between platforms. >>> >>> How >>> >>> I am confident we have the technology and avenues by which to achieve >>> this, I do not believe their is a technical barrier any more. An example in >>> point is some of the local save tools, we know they are writing information >>> such as backups, so we have the ability to read and write a switch/lock and >>> we can include an informational user name in that switch. >>> >>> We could provide a checked out to current user with a save and check in >>> button. We could provide a NO check out user with a reload and check in >>> button (if not locked) >>> >>> I can provide more technical possibilities if requested, but some of you >>> I expect already know how to do this. >>> >>> Feedback please! >>> >>> Thanks tony >>> >> -- You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group. To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikidev+unsubscr...@googlegroups.com. To post to this group, send email to tiddlywikidev@googlegroups.com. Visit this group at https://groups.google.com/group/tiddlywikidev. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywikidev/f059fa5d-a130-42f4-bb8a-2c1e30b25849%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.