| Termin | Definicja |
|---|---|
| brak obsługi statusów kontaktu | Brak obsługi statusów kontaktu to usterka uniemożliwiająca odzwierciedlenie bieżącego etapu relacji odbiorcy z systemem. Rola statusu kontaktu w systemieBrak obsługi statusów kontaktu oznacza, że system nie przechowuje albo nie wykorzystuje informacji opisującej aktualny etap relacji z odbiorcą. Kontakt może wtedy istnieć w bazie jako rekord z adresem e-mail, numerem telefonu lub nazwą firmy, lecz bez jednoznacznego określenia, czy jest nowy, oczekuje na odpowiedź, został zweryfikowany, jest aktywny, został zamknięty albo wymaga ponownego kontaktu. Taki problem dotyczy przede wszystkim warstwy modelu danych i logiki aplikacji, a nie samego wyświetlania informacji na ekranie. Status kontaktu jest zwykle wartością przechowywaną w polu rekordu, osobnej tabeli słownikowej albo strukturze używanej przez moduł obsługi zgłoszeń. Prawidłowa implementacja powinna określać dopuszczalne wartości, wartość początkową oraz reguły zmiany. Jeżeli pole nie istnieje, przyjmuje wyłącznie wartość pustą lub jest ignorowane przez kod, kolejne operacje nie mogą wiarygodnie ustalić, na jakim etapie znajduje się dana relacja. W efekcie raporty, filtry i widoki robocze pokazują niepełny obraz danych. Jak powstaje niespójny przepływ informacjiProblem może pojawić się już podczas tworzenia kontaktu. Formularz może zapisać podstawowe dane osoby, ale nie przekazać do warstwy aplikacyjnej informacji o statusie. Innym wariantem jest przyjęcie rekordu przez interfejs programistyczny, który nie waliduje pola statusu albo odrzuca je podczas mapowania danych wejściowych na obiekt modelu. W systemach korzystających z relacyjnej bazy danych podobny skutek występuje wtedy, gdy kolumna statusu nie została dodana do schematu, ma nieprawidłową nazwę albo kod odczytuje inną kolumnę niż kod zapisu. Niespójność może także powstać podczas aktualizacji. Użytkownik zmienia status w interfejsie, lecz żądanie nie jest wysyłane, zapis kończy się błędem albo odpowiedź serwera nie powoduje odświeżenia lokalnego widoku. W takiej sytuacji ekran może przez pewien czas prezentować nową wartość, podczas gdy po ponownym otwarciu rekordu pojawia się wartość poprzednia lub pusta. Szczególnej uwagi wymagają importy i synchronizacje, ponieważ zewnętrzne źródło może używać innych nazw, na przykład „open”, „pending” i „closed”, a aplikacja oczekiwać odpowiedników zapisanych po polsku. Skutki braku walidacji i przejść statusówBez zdefiniowanego słownika statusów aplikacja może dopuścić dowolne ciągi znaków. Prowadzi to do powstawania wartości różniących się wielkością liter, pisownią lub językiem, takich jak „nowy”, „Nowy”, „NEW” i „new”. Dla człowieka mogą oznaczać to samo, lecz dla filtrowania i grupowania są odrębnymi wartościami. Raport z liczbą aktywnych kontaktów może więc pomijać część rekordów, jeżeli zapytanie uwzględnia tylko jedną wersję tekstu. Brak reguł przejścia między statusami utrudnia również kontrolę kolejności działań. Rekord może zostać oznaczony jako zamknięty przed wykonaniem wymaganej czynności albo wrócić do statusu nowego bez zachowania informacji o przyczynie. Jeżeli system nie zapisuje czasu zmiany i identyfikatora operacji, trudno odtworzyć przebieg zdarzeń na podstawie samego bieżącego rekordu. Diagnostyka powinna dlatego obejmować schemat bazy danych, walidatory formularzy, endpointy odpowiedzialne za zapis, logikę aktualizacji oraz zapytania używane przez listy i raporty. Warto też sprawdzić przypadki brzegowe: brak statusu w starych rekordach, nieznaną wartość po imporcie, równoczesną edycję oraz usunięcie statusu używanego przez istniejące kontakty. Postępowanie przy przywracaniu obsługi kontaktówNaprawę należy rozpocząć od ustalenia oczekiwanego modelu: listy statusów, wartości domyślnej, dozwolonych przejść i zachowania dla danych historycznych. Następnie sprawdza się, czy każda ścieżka zapisu przekazuje status w tym samym formacie oraz czy baza danych przechowuje go bez niejawnej konwersji. Wskazane jest użycie walidacji po stronie interfejsu i serwera, aby nieznane wartości nie trafiały do trwałego magazynu. Dla istniejących rekordów można przygotować kontrolowaną migrację, ale tylko po ustaleniu, które puste lub niejednoznaczne statusy da się bezpiecznie przypisać. Testy powinny obejmować utworzenie kontaktu, zmianę statusu, odświeżenie strony, ponowne odczytanie rekordu, filtrowanie, sortowanie, eksport oraz import danych. Należy sprawdzić także reakcję na błędną wartość i przerwę połączenia w trakcie zapisu, aby interfejs nie sygnalizował sukcesu bez potwierdzenia z serwera. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i ich podzespołów, dlatego przy problemach z aplikacją używaną na takim sprzęcie można rozpocząć od sprawdzenia systemu, połączenia, konfiguracji oraz poprawności działania urządzenia. |