Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 Re: Chyba v programu » LibreOffice 6.4.7.2 - zámek souboru při sdílení » 27. 11. 2020 17:30:58

neutr napsal(a)

Možná existuje řešení v "Expertním nastavení". Cesta : MOŽNOSTI > LIBRE OFFICE > POKROČILÉ. Díval jsem se na heslo SHARE. Je tam pro Calc několik volitelných položek, ale není k nim nápověda. Musíte dovodit funkci jen z adresy. Ne všechny položky je možné editovat, ale nějaké tam jsou ve sloupci "Hodnota".

Toto je zaujímavá možnosť a je tam toho pomerne dosť. Preliezol som to celkom dôkladne, no žiaľ, nenašiel som nič, čo by sa týkalo ukladania zdieľaných súborov.

#2 Re: Chyba v programu » LibreOffice 6.4.7.2 - zámek souboru při sdílení » 27. 11. 2020 16:47:17

Možno info ako to nasimulovať:

Užívateľ A: vytvorí zdieľaný zošit [Nástroje -> Zdieľať zošit -> OK] a uloží ho. Od tohto momentu je možné súbor otvoriť pre zápis súčasne aj pre iných užívateľov (napr po sieti). Užívateľ A súbor nezatvorí, nechá ho otvorený.

Užívateľ B: otvorí súbor, vloží do bunky B1 hodnotu "X" (zatiaľ neukladá).

Užívateľ A: vloží do bunky A1 hodnotu "Y" a súbor uloží.

Užívateľ B: uloží súbor. Súbor sa najprv zamkne, následne prebehne hľadanie konfliktov - žiadny konflikt sa nenájde, pretože užívatelia needitovali rovnakú bunku a súbor sa úspešne uloží. Program užívateľa B informuje dialógom, že súbor sa uložil a že od jeho posledného uloženia vykonali zmeny aj iní užívatelia. Program bunku A1 orámuje červenou, čím vizuálne zvýrazní oblasť, ktorú od posledného uloženia zmenil niekto iný. Užívateľ B tento dialóg NEZATVORÍ.

Užívateľ A: skúsi v tomto momente uloženie súboru - pri pokuse o uloženie súboru program vypíše, že súbor je stále zamknutý užívateľom B.

Užívateľ B: po kliknutí na OK zatvorí dialóg a až vtedy sa súbor odomkne a môže ho uložiť aj užívateľ A.

#3 Re: Chyba v programu » LibreOffice 6.4.7.2 - zámek souboru při sdílení » 27. 11. 2020 16:01:13

neutr napsal(a)

Chápu. Jde Vám o to, že dialog by měl zmizet u všech uživatelů současně ať už ho potvrdí jeden kterýkoliv z nich? Já jsem se s touto funkcí prakticky nesetkal - testoval jsem ji ze dvou počítačů a na nic takového jsem nenarazil.

Dialóg sa zobrazí len užívateľovi, ktorý:
- súbor práve úspešne uložil
A ZÁROVEŇ
- od jeho posledného uloženia nastali zmeny v dokumente - súbor uložil aj niekto iný a vykonal v ňom zmeny
A ZÁROVEŇ
- pri tomto uložení nedošlo ku konfliktu (neobjavil sa dialóg riešenia konfliktu).

Pri tomto uložení Calc otvorí dialóg s textom: "Váš zošit bol aktualizovaný zmenami uloženými inými užívateľmi." s jedinou možnosťou: "OK button". Pokiaľ užívateľ tento dialóg neukončí, súbor ostane zamknutý pre všetkých užívateľov, a to napriek tomu, že bol práve úspešne uložený. Otvorený dialóg (ktorý má len informačný účel) drží zámok až do odkliknutia OK. Nemyslím, si že to je bug, je to myslím len drobný nedostatok návrhu resp. nápad na vylepšenie fungovania zámku tak, aby zbytočne neobmedzoval.

#4 Re: Chyba v programu » LibreOffice 6.4.7.2 - zámek souboru při sdílení » 27. 11. 2020 12:43:49

Skúsim to trochu objasniť.


Áno ide o zdieľanie v LO Calc cez štandardný sieťový prístup (SMB), či už cez LAN alebo VPN - ale prakticky to môže byť aj "zdieľanie" na rovnakom PC rôznymi užívateľmi, ktorí pracujú cez terminálové služby. Princíp je rovnaký ako lokálne, tak aj po sieti.


Funkciu používam roky ako v LO tak aj s MS Office, viem presne ako to funguje a čo od nej môžem očakávať. Úplne bežne funguje otvorenie pre zápis a súčasná editácia viacerými užívateľmi s tým obmedzením, že počas ukladania nemôže nikto iný uložiť súbor - a na to presne slúži zámok súboru. Počas ukladania jedným užívateľom je súbor zamknutý a nie je možné aby počas ukladania inicioval proces ukladania aj iný užívateľ. Samotný zámok rieši typicky len moment uloženia, čo sú rádovo sekundy. Zámok teda rieši práve a len atomicitu ukladania. Za týmto účelom vytvára LO súbor v tvare .~lock.FILENAME.ods# v rovnakm adresári ako ukldaný súbor.


Vznik kolízií a sledovanie zmien s týmto problémom nesúvisí. Calc samozrejme perfektne rieši aj kolízie - ak u mňa nastane požiadavka na zápis zmien v bunke, ktorú od môjho posledného uloženia zmenil aj iný užívateľ, Calc oznámi konflikt a umožní mi vybrať či sa uložia zmeny MOJE alebo iného užívateľa. Toto všetko je OK a funguje to správne a bezproblémovo.


V tomto vlákne mi ide čisto o problém s trvaním zamknutia pri samotnom ukladaní. V prípade zdieľaného súboru totiž odomknutie zbytočne zdržuje dialóg, ktorý nemá žiadny dopad a vplyv na atomicitu - je to čisto a len odkliknutie informácie, že uloženie prebehlo OK, zmeny vykonali aj iní užívatelia a nenastal žiadny konflikt - proste všetko je OK. Lenže zámok trvá, dokiaľ nie je tento dialóg ukončený a to je ten problém, pretože interakcia užívateľa môže trvať desiatky sekúnd alebo nekonečno a po túto dobu je držaný zámok na súbore úplne zbytočne. Ak užívateľ zabudne zatvoriť dialóg, kde je v podstate len informácia, že "všetko je OK", tak tým znemožní ukladanie pre celú sieť a pritom fakt úplne zbytočne. Preto si myslím, že je to minimálne zle navrhnuté ak nie priamo chyba a určite by menej agresívne držanie zámku zlepšilo použiteľnosť tohto SW.


Chápem, že zámok nemôže byť uvoľnený v prípade konfliktu až do doby, kým nie je konflikt vyriešený a uloženie úplne dokončené. No pokiaľ pri uložení konflikt nenastane, nie je IMHO žiadny dôvod držať súbor zamknutý len pre čakanie na interakciu užívateľa, kde ho dialóg aj tak len informuje, že je všetko OK a žiadny konflikt nenastal. Calc drží súbor zamknutý zbytočne, user len berie na vedomie, že uloženie prebehlo bez konfliktov.

#5 Chyba v programu » LibreOffice 6.4.7.2 - zámek souboru při sdílení » 26. 11. 2020 15:33:13

patrik_
Odpovědí: 7

Ahojte. Našiel som jednu nepríjemnú vlastnosť pri zamykaní zdieľaného súboru - a myslím, že je to chyba. Ak od môjho posledného uloženia niekto zmení dokument, pri uložení vyskočí modálny dialóg - "Váš zošit bol aktualizovaný zmenami uloženými inými užívateľmi". Jediná možnosť OK.

Problém je v tom, že zámok pri ukladaní sa neuvoľní okamžite po uložení súboru, ale až po odkliknutí tohto dialógu. Testované na: Verzia: 6.4.7.2 (x64), ID zostavenia: 639b8ac485750d5696d7590a72ef1b496725cfb5

Dá sa nejako tento dialóg vypnúť? Ako workaround by to stačilo. Často sa mi stáva, že niekto z užívateľov po uložení (hlavne ak ukladanie trvá dlhšie) nečaká a odíde od PC. Ak tento dialóg vyskočí, súbor ostane zamknutý.

Moja predstava je taká, že zámok by sa mal uvoľniť hneď po uložení ešte pred týmto dialógom.

V prípade ak nenastane konflikt (prepis rovnakej bunky viacerými užívateľmi), zámok sa uvoľní ešte pred modálnym dialógom "Váš zošit bol aktualizovaný zmenami uloženými inými užívateľmi".

Ak nastane konflikt, objaví sa modálny dialóg s riešením konfliktu, po jeho vyriešení (prijatie zmien cudzie vs moje) Office pokračuje na dialóg "Váš zošit bol aktualizovaný zmenami uloženými inými užívateľmi".

Z tohto IMHO vyplýva, že prípadné riešenie konfliktov v dialógu nasleduje dialógom "Váš zošit bol aktualizovaný zmenami uloženými inými užívateľmi" a teda zámok by sa mohol uvoľniť ešte pred týmto dialógom. Prípadné konflikty, ktoré neumožnia uvoľnenie zámku, neovplyvní to, či bude zámok uvoľnený pred alebo po dialógu. Odstránenie zámku pred dialógom by teda nemalo ovplyvniť funkčnosť.

Zápatí

Používáme FluxBB