cfirma.pl logo guide icon Przewodnik użytkownika

Nawigacja





Szukaj...
»

PoweredBy

Dezaktualizacja widoków/potencjalne błędy/przeładowywanie

RSS

Dezaktualizacja widoków

Podczas pracy z cfirma mogą zaistnieć sytuacje, podczas których, w danym momencie dane oglądane przez jednego użytkownika mogą być niezgodne z tym, co aktualnie widzi inny użytkownik w wyniku chociażby tego, iż ten drugi dokonał ich modyfikacji po tym, jak pierwszy zdążył je załadować. Jest to jeden z wielu przypadków dezaktualizacji widoków.

Najbardziej oczywistym przypadkiem jest wymieniony, czyli sytuacja, w której wielu użytkowników modyfikuje te same dane. Możliwe jest jednak aby dane, do których dostęp posiada tylko jeden użytkownik zostały mu również wyświetlone w sposób niespójny. Efekt taki można uzyskać przykładowo poprzez edycję komentarzy z edytora bytu jednocześnie oglądając je z panelu komentarzy w panelu szczegółów, gdyż oba te panele nie są ze sobą synchronizowane. Wykonując zupełnie niezależne operacje w obu widokach bardzo łatwo uzyskać niespójny rezultat.

Przeładowywanie (odświeżanie)

Z uwagi na możliwość zaistnienia podobnych przypadków, we wszystkich oknach oraz widokach istnieje możliwość przeładowania (odświeżenia) ich zawartości.
W przypadku dokonywania operacji na powiązanych widokach, jak np. dodawania/edytowania bytu za sprawą edytora z panelu modułu, system dba o to, by panel widoku aktualizował każdą dokonaną zmianę, jednak w mniej przewidywalnych przypadkach automatyczne aktualizacje nie są możliwe.

Potencjalne błędy

Bardziej skomplikowanym przypadkiem (nawiązując do poprzedniego przykładu) jest sytuacja, w której dany użytkownik usunie dany komentarz z jednego widoku i zapragnie wykonać na nim jakąś operację w drugim, w którym usunięty komentarz wciąż widnieje... W efekcie pojawi się komunikat błędu oznajmiający brak uprawnień do wykonania zadanej operacji, co jest naturalnym zjawiskiem w kontekście systemu w przypadku próby dokonania operacji na nieistniejącym obiekcie. Tego typu błąd pojawiać się będzie zarówno w sytuacjach, w których użytkownik zapragnie wykonać operację do, której rzeczywiście jest nieupoważniony, jak również do bytów/obiektów, które nie istnieją. Jednym remedium w takiej sytuacji może być przeładowanie danego widoku w celu upewnienia się o poprawności wykonywanej operacji.

Istnieją sytuacje, w których przeładowanie widoku/okna może nie odnieść pożądanego skutku. Rozpatrzmy następujący przypadek:
  1. Użytkownik A tworzy byt w publicznym folderze, do którego posiada uprawnienie zarządzania zaś użytkownik B przynajmniej uprawnienie zapisu.
  2. Użytkownik B próbuje edytować stworzony przez użytkownika A byt posługując się edytorem bytu.
  3. Po tym, jak użytkownik B załadował edytor i interesujący go, zawarty w edytorze panel, lecz przed zapisaniem jakichkolwiek zmian, użytkownik A zmienił uprawnienie użytkownika B wobec folderu, w którym znajduje się omawiany byt na odczyt.
  4. Użytkownik B próbuje zapisać dokonane przez siebie zmiany w omawianym bycie...

W efekcie użytkownik B dostaje błąd odnośnie braku uprawnień. Jakakolwiek próba przeładowania edytora oraz ponownej zmiany i próby zapisu nie odnosi jednak rezultatu ponieważ edytor wciąż pracuje w trybie edycji, który w kontekście rozważań jest nieaktualny. Sytuacja mogłaby być jeszcze bardziej skomplikowana, gdyby użytkownik A zdecydował się usunąć felerny byt, lub też całkowicie odebrał uprawnienia użytkownikowi B. Wówczas przeładowanie edytora przez użytkownika B nie byłoby nawet możliwe.

Podsumowując, użytkownik pracujący z systemem cfirma, w szczególności operujący na danych współdzielonych z innymi partycypantami aplikacji powinien być świadomy podobnych potencjalnych konfliktów oraz przygotowany na nieoczekiwane komunikaty błędów.

Zobacz również:

ScrewTurn Wiki version 3.0.5.600. Some of the icons created by FamFamFam.