🧪 killBottleneck je ve veřejné betě — cloud i self-host.🧪 killBottleneck je v betě.Beta na GitHubu →
Skip to content

Spolupráce a konflikty

Sdílenou mapu může mít otevřenou víc lidí naráz — a občas se stane, že dva upravují tu samou. killBottleneck v takové chvíli drží jedno pravidlo: nic se nikdy tiše nepřepíše. Každé uložení s sebou nese verzi mapy, ze které vycházelo; když mezitím mapa na serveru pokročila, server uložení odmítne a rozhodnutí nechá na vás.

Nenásilný pruh: „Mapu mezitím změnil někdo jiný"

Aplikace se na pozadí čas od času zeptá serveru, jestli se mapa nezměnila — ptá se jen na čas poslední změny, nic nestahuje ani nepřepisuje. Když cizí změnu zjistí, ukáže nad mapou nenásilný pruh „Mapu mezitím změnil někdo jiný." s tlačítkem Načíst aktuální verzi. Nic se nepřenačítá samo — rozepsaná práce zůstává vaše, dokud se nerozhodnete.

Pruh jen upozorní — nic nepřenačítá a rozepsanou práci nechává na pokoji.

Poctivý dovětek: kontrola běží jednou za necelou minutu a jen když je okno s mapou viditelné — pruh se tedy nemusí ukázat okamžitě. Na tom ale nic nestojí: i kdyby nepřišel vůbec, tiché přepsání zastaví server při ukládání.

Změny stavů se slijí tiše

Jedna cizí změna konflikt nezaslouží: přepnutí stavu cílů. Typicky doběhne automatizace a označí cíl za hotový — mapa se posune „pod rukama" zrovna ve chvíli, kvůli které se automatizace zavádějí. Když je cizí změna jen posun stavů (žádné přejmenování, přesun ani přidaný či smazaný uzel), aplikace ji tiše vezme za svou a ohlásí „Automatizace mezitím dokončila cíl — mapa je aktuální." Pokud jste tentýž cíl mezitím přepnuli sami, vaše volba má přednost. Cokoli jiného než stav je skutečná kolize a patří před člověka — do dialogu níž.

Dialog konfliktu: tři možnosti

Když se sejdou neslučitelné úpravy, otevře se dialog „Mapa byla mezitím změněna". Bez vaší volby se nic nezahodí:

  • Stáhnout zálohu (JSON) — vaše rozpracovaná verze se uloží do souboru. Nic tím nerozhodujete; je to pojistka, se kterou se zbylé dvě volby mačkají s klidem.
  • Ponechat moje změny — uloží se vaše verze. Vědomě tím přepíšete úpravy toho druhého — proto to dialog říká natvrdo, žádné drobné písmo.
  • Načíst aktuální verzi — zahodí úpravy rozepsané v tomto okně a mapa se načte tak, jak je na serveru.
Dialog konfliktu — bez vaší volby se nic nezahodí ani nepřepíše.

Konflikt mimochodem nemusí způsobit kolega: stačí mít tutéž mapu otevřenou ve dvou oknech nebo na počítači a v telefonu zároveň. Řešení je stejné.

Dál

fair-code — self-hosting a interní použití zdarma, přeprodej jako hostovaná služba ne.