Sztuka budowania samoobsługowych obszarów administracyjnych

Opublikowany: 2022-03-11

Po uruchomieniu witryny o dochodach pasywnych powinieneś świętować, prawda?

Niestety, życie nie zawsze jest takie, jak powinno i zazwyczaj będziesz musiał odłożyć uroczystości, aby zaspokoić potrzeby swoich klientów – chyba że masz odpowiednie systemy.

Zarządzam stroną pasywnego dochodu od ponad sześciu lat. Dla mnie zawsze kładziono nacisk na „pasywność”. Dlatego od dawna moim priorytetem jest usprawnienie mojego biznesu tak bardzo, jak to możliwe.

Skuteczne usprawnienie biznesu online sprowadza się do posiadania odpowiednich funkcji i możliwości w panelu administracyjnym.

W tym artykule opiszę najczęstsze problemy z pulpitami administracyjnymi i zaproponuję rozwiązania każdego z nich. Pod koniec tego posta odejdziesz z solidnym podręcznikiem sprawdzonych metod opracowywania wydajnego panelu administracyjnego dla zautomatyzowanej firmy.

Rozliczanie błędów użytkownika

Użytkownicy popełniają błędy, co oznacza, że ​​potrzebujemy panelu administracyjnego, który naprawi te błędy. Oto kilka przykładów.

Jeden z Twoich dostawców przypadkowo wysyła niewłaściwy produkt do klienta.
Klient zamawia niewłaściwy produkt lub dwukrotnie zamawia ten sam produkt.
Muzyk na Twojej stronie z listami tabulatur muzycznych tworzy niemal identyczne taksonomie, które już istnieją w Twojej bazie danych. Na przykład użytkownicy Twojej witryny, traktowani jako zbiorowisko, rozpowszechniają tabulatury dotyczące gitary elektrycznej w trzech kategoriach: „Gitary elektryczne”, „Gitary elektryczne” i „Gitary elektryczne”. Powinny to być naprawdę jedno, w przeciwnym razie naruszona zostanie nawigacja i użyteczność frontonu.

Zoptymalizuj swój panel administracyjny, aby uwzględnić błędy użytkowników:

Pozwól użytkownikom końcowym na naprawienie ich błędów. Na przykład Amazon ma formularze na pulpitach swoich użytkowników, które pozwalają klientom zmieniać zamówienia w dowolnym momencie, zanim zamówienie zostanie przetworzone w ich magazynie. Ta funkcja umożliwia klientom Amazon naprawienie ich błędów bez sięgania do obsługi klienta.
Awansuj podzbiór użytkowników do statusu moderatora. Fora, takie jak Reddit i StackOverflow, mają specjalną klasę użytkownika, znaną jako moderatorzy. Moderatorzy usuwają spam, edytują literówki, usuwają z witryny obraźliwe lub autopromocyjne wiadomości oraz prawidłowo kategoryzują treści. W wielu przypadkach moderatorami są wolontariusze, którzy po prostu czują się lojalni wobec społeczności.

Rachunkowość za niedoświadczenie użytkownika

Nie oczekuj, że Twoi użytkownicy będą dobrze zorientowani w Twojej firmie. Oto kilka przykładów tego, co przez to rozumiem.

Na przykład przeciętny użytkownik jest kiepskim fotografem, a mimo to pragniesz ciekawych zdjęć obiektów do wynajęcia na wakacje tego samego użytkownika wymienionych na Twojej platformie.

Być może przeciętny użytkownik jest słabym sprzedawcą, ale chcesz kuszących, zoptymalizowanych pod kątem SEO opisów bibelotów, które użytkownicy sprzedają za pośrednictwem Twojej platformy.

A może prowadzisz sklep eCommerce sprzedający buty online, ale przeciętny użytkownik witryny nie wie, jak zmierzyć stopy, co prowadzi do przewagi klientów, którzy zamawiają niewłaściwy rozmiar, a następnie chcą zwrócić buty później.

Obszary administracyjne, które odpowiadają za brak doświadczenia użytkowników:

Twórz dokumentację inline. Doradzaj użytkownikom, jak najlepiej wykorzystać ich doświadczenia z Twoją witryną. Na przykład możesz napisać post taki jak „5 wskazówek dotyczących copywritingu, które zwiększą sprzedaż”. Dostarczając użytkownikom solidny materiał referencyjny, drastycznie zmniejszysz ich potrzebę ludzkiej pomocy.
Pomoc półautomatyczna. Łącząc zewnętrzne interfejsy API oprogramowania, Twoja witryna może robić takie rzeczy, jak automatyczne sugerowanie najlepszych słów kluczowych dla opisów meta i zachęcać użytkowników do włączenia określonych słów kluczowych do swojej kopii.
Zrób to sam. Wyślij własne zdjęcia lub napisz własne opisy produktów. To oczywiście wymaga, aby użytkownik końcowy w jakiś sposób zasygnalizował gotowość do skorzystania z tej usługi właściwej osobie w Twojej organizacji. Tutaj Twój system administracyjny musi usprawnić tę komunikację i późniejsze dostarczanie pracy przez eksperta.

Rozliczanie oczekujących decyzji biznesowych

Niestety wszystkiego nie da się zautomatyzować. Jeśli chodzi o wezwania do sądu, zazwyczaj potrzebny jest człowiek.

Na przykład, co się dzieje, gdy musisz zweryfikować tożsamość swojego ostatniego kandydata na opiekunkę do dziecka na platformie o wysokim zaufaniu?

Albo co się stanie, gdy tylko Ty możesz wycenić najnowsze produkty cyfrowe przesłane przez autora platformy?

Przykłady oszczędności czasu dla administratora wynikających z oczekujących decyzji biznesowych:

Wykorzystaj istniejące grupy użytkowników. Plenty Of Fish, serwis randkowy, zleca moderowanie potencjalnie obraźliwych zdjęć profilowych grupom użytkowników-wolontariuszy, którzy spędzają niezliczone godziny na sprawdzaniu tych zdjęć, nie płacąc za to żadnymi opłatami. W przeciwieństwie do tradycyjnych moderatorów forum nie moderują treści po jej opublikowaniu. Zamiast tego sprawdzają zdjęcia przesłane przez użytkowników przed publikacją, dzięki czemu nieodpowiednie zdjęcia profilowe nigdy nie zostaną opublikowane.
Połącz się z interfejsami API typu „ludzie jako usługa”. Na przykład Facebook łączy swoje panele administracyjne z chmurowymi API, takimi jak Amazon Turk (lub ich wewnętrzne odpowiedniki) i masowo zleca moderację tańszym pracownikom. W przypadku Facebooka profesjonalni moderatorzy stanowią jedną trzecią jego pracowników. Rzeczywiście, to obecność umiaru pomaga zapewnić, że komentarze na Facebooku są stosunkowo łagodne w porównaniu z potwornymi uwagami pojawiającymi się na stosunkowo niemoderowanych stronach internetowych.

Księgowość dla użytkownika musi komunikować się z zarządzaniem witryną

Kiedy prowadzisz firmę, oczekuje się pytań. Dzięki efektywnemu planowaniu z wyprzedzeniem możesz radykalnie skrócić czas odpowiedzi na nie i prawdopodobnie zmniejszyć liczbę otrzymywanych od klientów żądań.

Obszary administracyjne, które uwzględniają potrzeby komunikacyjne użytkowników:

Planować naprzód. Analizując wcześniejsze pytania dotyczące obsługi klienta, możesz dostrzec wspólne tematy i odpowiedzieć na nie z wyprzedzeniem. Doskonałym przykładem może być zaprojektowanie strony FAQ z listą tych pytań i odpowiedzi.
Szybko zwracaj pieniądze klientom. Zaoferowanie szybkiego zwrotu pieniędzy w odpowiedzi na reklamację klienta to dość skuteczny sposób na usatysfakcjonowanie rozczarowanych klientów. Nie martw się — nie spowoduje to mniejszych zysków; w rzeczywistości może to nawet prowadzić do większej liczby.
Twórz fora dla zdezorientowanych gości. Google słynie z praktycznie nieistniejącej obsługi klienta. Zamiast ludzi, Google stworzył fora produktowe, na których zdezorientowani użytkownicy mogą uzyskać pomoc od innych użytkowników. W rzadkich przypadkach, gdy pracownik Google odpowiada na pytanie na jednym z tych forów, jego odpowiedź jest zapisywana, łatwo indeksowana przez Google i udostępniana przyszłym użytkownikom z tym samym problemem. Chociaż może się to wydawać okrutne dla użytkowników końcowych, jest to całkiem uzasadnione, biorąc pod uwagę, że większość nieobsługiwanych ofert Google jest bezpłatna.
Wykorzystaj gotowe odpowiedzi i wirtualnych asystentów (VA). Przejrzyj swoje zgłoszenia do obsługi klienta z ostatniego roku i wyodrębnij stale zadawane pytania. Tworząc odpowiedzi z szablonu dla każdej z nich, zaoszczędzisz sobie mnóstwo czasu. Napisz swoje odpowiedzi w łatwo dostępnym dokumencie Google lub jeszcze lepiej, użyj wtyczki e-mail, takiej jak Gotowe odpowiedzi. Następnie zatrudnij VA, aby przekazał te szablony klientom, gdy pojawią się pytania.

Księgowość dla użytkowników zmieniających zdanie

Pewien mądry człowiek powiedział kiedyś: „Zmiana jest jedyną stałą w życiu”. On miał rację. Rzeczy się zmieniają.

Może użytkownik bierze ślub i nie ma już tego samego nazwiska.

A może klient, który zasubskrybował usługę skrzynki na dostawy, przeniósł się i musi zaktualizować swój adres.

To tylko dwa przykłady nieuniknionych zmian, które musisz zaplanować z wyprzedzeniem.

Przykłady oszczędności czasu dla administratora wynikających ze zmiany okoliczności/umysłu użytkownika:

Twoi użytkownicy potrzebują możliwości edycji. Jeśli nie udostępniasz funkcji edycji w swoich pulpitach nawigacyjnych, prędzej czy później zespół obsługi klienta i programiści baz danych będą musieli ręcznie wprowadzić zmiany, takie jak te wymienione powyżej.
Nie zamrażaj możliwości edycji. W przypadku forum lub strony z komentarzami należy wziąć pod uwagę swoją politykę zamrażania postów do usunięcia lub zamiast tego umieścić przycisk z prośbą o wyjątek od normalnej polityki. To rozwiązanie oszczędza czas, zmniejszając liczbę wiadomości przesyłanych w tę i z powrotem między zespołem pomocy technicznej a użytkownikiem końcowym.

Rozliczanie działań, które można przypisać zmartwieniom użytkownika

W przeciwieństwie do sklepów stacjonarnych, firmom internetowym brakuje pewności co do kupowania od prawdziwej osoby, osobiście.

Pomyśl o tym. Jak się czujesz, kupując coś w Best Buy? Prawdopodobnie pewny siebie, ponieważ wiesz, że jutro rano Best Buy nadal będzie dostępny, jeśli i kiedy wrócisz z reklamacjami lub po zwrot pieniędzy.

To poczucie pewności zanika w sieci z oczywistych powodów. Ludzie mogą łatwo zignorować komunikację online, co sprawia, że ​​potencjalni klienci zastanawiają się, czy ktoś kiedykolwiek do nich wróci. To poczucie podejrzliwości rośnie tylko wtedy, gdy witryna jest nieznanym startupem bez wartości marki.

Przykład oszczędzania czasu dla administratora, który można przypisać zmartwieniom użytkowników:

Zapobiegawczo rozwiązywać problemy. Wyślij e-mail lub dwa, gdy ktoś kupi od Ciebie, aby zwiększyć zaufanie. Na przykład Amazon i prawie każda firma eCommerce wysyła wiadomość e-mail zaraz po wysłaniu zamówienia. Inni dostarczają również serię e-maili, które aktualizują użytkownika do momentu dostarczenia produktu.

Rozwiąż potencjalne niejasności

Minął rok od uruchomienia, a dzięki dobrym przychodom teraz przekazujesz administrowanie swoją witryną dedykowanemu członkowi zespołu.

Jednak pewnego dnia ten administrator niespodziewanie zachoruje i teraz musisz wznowić jego pracę administracyjną, bez żadnej informacji o tym, co ten administrator robił w zeszłym tygodniu.

Bazując na informacjach w panelu administracyjnym, musisz wiedzieć, gdzie Twój administrator przerwał – jakie zadania przetworzył, a które pozostawił niewykonane.

Nie zawsze jest to możliwe z powodu źle zaprojektowanych maszyn stanu, które nie rozróżniają niewidocznych (lub nieprzetworzonych ) i rozważanych (lub przetworzonych ). Na przykład wyobraź sobie maszynę stanu administratora w następujący sposób:

Co się dzieje Zmiany stanu
Artysta składa wniosek o sprzedaż swojej sztuki na Twojej platformie do sprzedaży dzieł sztuki Wpis wykonawcy pojawia się w panelu administracyjnym ze stanem początkowym „zastosowano”
Ktoś z Twojego zespołu administracyjnego akceptuje tego artystę, pozwalając mu sprzedawać jego dzieła Administrator zmienia stan na „zaakceptowany”
Twój zespół odrzuca tego artystę, ponieważ wie na pewno, że nigdy nie będzie chciał tego artysty Administrator zmienia stan na „odrzucony”
Twój zespół zastanawia się nad tym artystą i chce odroczyć decyzję Nic nie robić


Problem z tym przepływem administracyjnym, z perspektywy administratora systemu, polega na tym, że panel administracyjny mówi „zaakceptowano” zarówno dla niewidzianych nowych artystów, jak i dla artystów, którzy byli już widziani/rozważani, ale zostali przesunięci bez natychmiastowego odrzucenia.

Fakt rozważenia (lub przetworzenia ), że artysta istnieje tylko w umyśle nieobecnego administratora i bez możliwości oznaczenia leada jako „przełożonego”, ta informacja jest tracona, więc osoba przejmująca pracę musi powtórzyć pracę Zakończone.

Dobry kanał aktywności rozwiązuje ten rodzaj niejednoznaczności.

Maksymalizuj przejrzystość

Wiele działań panelu administracyjnego wykonuje szereg kroków zakulisowych.

Na przykład po naciśnięciu przycisku „zaakceptuj kandydata” dany kandydat otrzymuje wiadomość e-mail z akceptacją, na jego konto zostanie zasilony bonus rejestracyjny w wysokości 100 USD, a jego status w Twojej bazie danych zmieni się z „zaakceptowany” na „zaakceptowany”. W kategoriach inżynierii oprogramowania są to skutki uboczne .

Biorąc pod uwagę, że Ty – programista – opracowałeś te funkcje, prawdopodobnie zdajesz sobie sprawę z konsekwencji uderzenia „zaakceptuj kandydata”.

Przynajmniej możesz otworzyć edytor kodu źródłowego lub swoje ulubione IDE i zapoznać się z kodem, aby uzyskać odpowiedź.

Twoi przedstawiciele obsługi klienta nie mają jednak tego luksusu. Więc prawdopodobnie nie będą pewni, co się stanie, gdy nacisną przycisk. Ponadto prawdopodobnie będą się zastanawiać, czy wnioskodawca zostanie powiadomiony, że został przyjęty, czy też powinien wysłać ręczną wiadomość e-mail z powiadomieniem wnioskodawcy po naciśnięciu przycisku.

Ta niepewność spowalnia cały proces, ponieważ teraz administrator musi zadawać pytania kierownictwu i/lub inżynierom i czekać na ich odpowiedzi. Nie wspominając o tym, że może to łatwo prowadzić do powielania pracy i wprowadzać błędy do sprawnie prowadzonego biznesu.

Idealnie, w tym przykładzie, strona administracyjna z przyciskiem „zaakceptuj kandydata” miałaby wbudowany, opisowy akapit, wyjaśniający dokładnie, co się dzieje po naciśnięciu przycisku.

Alternatywnie lub dodatkowo po naciśnięciu przycisku może pojawić się komunikat wyjaśniający, co dzieje się dalej.

Do tej pory przyjrzeliśmy się szczęśliwemu przypadkowi, czyli działaniom w tle, które występują, gdy wszystko działa tak, jak powinno. Trudniejsza sytuacja to radzenie sobie z nieprzejrzystością, gdy coś pójdzie nie tak . Które efekty uboczne zostały zakończone, a które nie dokończone? W doskonale zaprojektowanym systemie, w przypadku niepowodzenia przycisk „zaakceptuj kandydata” informowałby administratora (i zespół techniczny wykonujący sprzątanie), że e-mail z akceptacją został dostarczony, ale premia za rejestrację w wysokości 100 USD nie została wysłana na konto Paypal tego użytkownika. Informacje te umożliwiają spółce naprawienie częściowej transakcji. Jeśli chodzi o szczegóły implementacji, ta informacja zwrotna może być wykonana albo za pomocą szczegółowych automatów stanów, które śledzą każdy najmniejszy krok, albo, alternatywnie, otaczając akcje administracyjne w obiektach usług, których wartości zwracane zawierają zarówno polecenia, które zostały pomyślnie uruchomione, jak i te, które nie zostały uruchomione.

Z mojego doświadczenia wynika, że ​​przepaść między sposobem, w jaki informacje pojawiają się administratorowi, a tym, jak wyglądają one dla użytkowników końcowych, może być frustrująco nieprzejrzysta.

Czasami odpowiedź na wiadomość e-mail klienta lub raport o błędzie wymaga od zespołu administracyjnego, aby wiedział, jak wygląda pulpit nawigacyjny logowania klienta, co mówi konkretna automatyczna wiadomość e-mail lub jakie tantiemy jest winien użytkownikowi pulpitu nawigacyjnego.

Dostęp do tych informacji pomaga Twojemu zespołowi zrozumieć problemy w miarę ich doświadczania przez użytkowników.

Jednym ze sposobów na zaimplementowanie tej funkcjonalności jest zbudowanie funkcji administratora „Wyświetl jako użytkownik”.

Zastąpiłoby to tworzenie oddzielnych ekranów administracyjnych, które ponownie implementują funkcje już dostępne dla zwykłych użytkowników, zapewniając w ten sposób dodatkową premię w postaci ponownego wykorzystania wielu istniejących kodów.

Jeśli chodzi o automatyczne wiadomości e-mail, rozważ zbudowanie lekkiego renderera wiadomości e-mail w obszarze administracyjnym, aby Twoi pracownicy mogli czytać wiadomości, które zostaną lub zostały wysłane do użytkowników.

Zdarzenia poza systemem to odpowiedzialność

Zarządzalna administracja jest samowystarczalna.

Jest zapakowany w jeden zamknięty system zamiast w rozproszonych skrawkach.

Na przykład, jeśli informacje o zwrotach, które przyznałeś, są rozproszone w arkuszu kalkulacyjnym Excela, żółtych karteczkach na stole i w wiadomościach e-mail do księgowego, masz bałagan na rękach.

Właściwym rozwiązaniem jest posiadanie wyczerpującej listy zwrotów w tabeli bazy danych w panelu administratora. Kiedy masz jedną wyrocznię prawdy, możesz być spokojny, wiedząc, że wszelkie przedstawione przez ciebie raporty są ostateczne i godne zaufania.

Choć wydaje się to oczywiste, często jest zaniedbywane w zamieszaniu związanym z zarządzaniem firmą.

Wiedziałbym, bo mi się to przydarzyło.

Kiedy początkowo projektowałem swój panel administracyjny systemu zamówień eCommerce, przygotowałem go tylko do rejestracji sprzedaży i tylko sprzedaży.

Kilka miesięcy po uruchomieniu zdałem sobie sprawę ze wszystkich dodatkowych transakcji, których nie uwzględniłem, takich jak zwroty, obciążenia zwrotne, gratisy, rabaty i korekty płatności.

Ponieważ nie przewidziałem tych transakcji w moim początkowym projekcie, w moim panelu administracyjnym nie było kodu do ich wypełniania lub raportowania.

Ilekroć musiałem dokonać zwrotu pieniędzy, zwykle byłem tak ograniczony czasowo, że robiłem to w sposób, który był wówczas najłatwiejszy – zwykle przez interfejs sieciowy Paypal (pomijając bazę danych zamówień mojej witryny) – ale czasami przez iPhone'a innej firmy aplikacja, która komunikowała się z API Paypal.

Z powodu moich rozproszonych działań, a co za tym idzie danych, cała moja księgowość była przypadkowo raportowana w różnych zewnętrznych źródłach. Co gorsza, moje rekordy produkcyjnej bazy danych nie pasowały do ​​​​pełnej historii zamówień.

Nieuchronnie pojawiały się problemy. Raporty administracyjne o przychodach i prowizjach nie odzwierciedlały rzeczywistości gospodarczej. Niektórzy z moich autorów otrzymali raporty finansowe z nieprawidłowymi raportami finansowymi. A co najgorsze, przeszacowałem swoje rozliczenia podatkowe, co doprowadziło do płacenia nadmiernych podatków.

Wszystko to dlatego, że nie zdyskontowałem wszystkich moich zwrotów.

Przechowując informacje o zamówieniach i księgowości częściowo wewnątrz, a częściowo poza moim głównym systemem oprogramowania, pozbawiłem się przede wszystkim wielu zalet oprogramowania – jego dokładności i precyzji. Nie mogłem już temu ufać, co oznaczało, że nie mogłem już tego zautomatyzować.

W odpowiedzi na te problemy rozwinąłem niechęć do trzymania jakichkolwiek danych firmy poza moim podstawowym systemem oprogramowania.

Nawet jeśli początkowo zintegrowanie wszystkich niezbędnych informacji z rdzeniem jest drogie, na dłuższą metę korzyści znacznie przewyższają koszty hacków do połowy dupy.

To powiedziawszy, pomimo moich najlepszych intencji, aby zautomatyzować, czasami to po prostu nie może się zdarzyć.

Wiele firm zajmujących się oprogramowaniem ma automatyczne wiadomości e-mail sprzedażowe, które przekierowują użytkowników krok po kroku do momentu, w którym aktywują swoje konto lub dokonają zakupu – a wszystko to idealnie bez pomocy człowieka.

Komplikacje pojawiają się, gdy potencjalny klient wysyła specjalne prośby do Twojego personelu w połowie jednej z tych kampanii kroplowych.

Załóżmy, że potencjalny klient odpowie, mówiąc, że będzie na wakacjach przez dwa tygodnie, ale skontaktuj się z nim później, aby przypieczętować transakcję.

Jeśli nasz system został zaprogramowany na wysyłanie automatycznego e-maila z przypomnieniem po zaledwie pięciu dniach, to zignorowaliśmy życzenia potencjalnego klienta i być może psuliśmy relacje, sprawiając wrażenie nachalnych, nieuważnych i zautomatyzowanych.

Co więc zrobić w tej sytuacji?

Jedna odpowiedź jest półautomatyczna.

Interfejs administratora może zapytać, które e-maile powinny zostać wysłane, i możesz zaznaczyć pole, aby anulować ich harmonogram w razie potrzeby.

Trzeba przyznać, że może to być przesadą inżynieryjną, więc czasami jedyną realistyczną opcją jest zaakceptowanie, że automatyczne wiadomości e-mail mogą czasami powodować błędy.

Pokaż najistotniejsze informacje i działania administratora

Kiedy klient kontaktuje się z Twoją firmą, często ma to związek z zamówieniem, kontem lub ofertą.

Dzięki przechowywanym danym, plikom cookie logowania i danym pochodzącym z warstw śledzenia Twoja aplikacja prawdopodobnie dużo wie o swoich klientach i historiach ich interakcji.

Możesz zaoszczędzić dużo czasu na odpowiadaniu na żądania obsługi klienta, algorytmicznie pobierając te źródła informacji i wyodrębniając odpowiednie fragmenty danych, aby ułatwić odpowiedzi administratorów.

Na przykład wiadomości z formularza kontaktowego, zanim zostaną przekonwertowane na wiadomości e-mail wysłane do Twojej skrzynki odbiorczej, mogą automatycznie mieć dołączone pole informacyjne, które zawiera stan płatności zamówienia, stan wysyłki, pozycje i inne.

Ponadto te wzmocnione wiadomości e-mail mogą również zawierać wygodne łącza do najczęściej używanych (i istotnych) części obszaru administracyjnego, takich jak pulpit zwrotów lub narzędzie do śledzenia wysyłki.

Przewidywanie, łagodzenie i usuwanie błędu administratora

Jak wszyscy inni administratorzy są ludźmi i czasami popełniają błędy.

Biorąc pod uwagę kontrolę, jaką mają nad Twoimi danymi, ich błędy mogą potencjalnie spowodować nieodwracalne szkody.

Oto kilka środków, które należy zastosować, aby zapobiec katastrofie:

Automatycznie planuj spójne kopie zapasowe: jest to najprymitywniejszy, najbardziej trywialny, a jednocześnie najistotniejszy ze wszystkich możliwych środków należytej staranności. Ale nawet jeśli masz dobre kopie zapasowe, już jesteś w świecie bólu, jeśli musisz majstrować przy zrzutach SQL. Dlatego zaplanowane kopie zapasowe nie powinny być jedynym źródłem przywracania.
Przyciski mające na celu przerażenie użytkowników: w przypadku działań o potencjalnie nieodwracalnych konsekwencjach pokoloruj je na jaskrawoczerwony kolor, umieść na nich ikonę radioaktywności i oznacz je tytułami, np. „OSTRZEŻENIE: TWARDE USUWANIE TO OPCJA JĄDROWA: NIE UŻYWAJ, JEŚLI JEJ NIE PEWNO KONSEKWENCJE." (Oczywiście powinieneś wyświetlić, jakie te konsekwencje są tuż obok tego przycisku.)
Używaj wyskakujących okienek z potwierdzeniem JavaScript: Czasami palce administratorów ślizgają się i zamiast naciskać przycisk „wstecz”, przypadkowo naciskają przycisk „trwale usuń wszystko” umieszczony dwa piksele poniżej. Nieszczęsny administrator może być całkowicie bez winy za to nieszczęście, a ostateczną winę ponosi niezdarny projekt interfejsu użytkownika lub paskudne dziwactwa przeglądarki podczas renderowania CSS. Jeśli uważasz, że to absurdalny i zbyt dramatyczny przykład, to się mylisz. Branża usług finansowych straciła miliony przez to, co nazywają błędami grubych palców. W rezultacie projektują oprogramowanie, które zapobiega tego typu błędom. Jedna bardzo prosta poprawka to „Czy na pewno chcesz usunąć całą historię zamówień?” Wyskakujące okienko JavaScript. Zwróć uwagę, jak umieściłem dane dotyczące jednostki – „całą historię zamówień” – w potwierdzeniu JavaScript? To lepsze niż tylko pytanie „Czy na pewno?” Jeśli administrator zamierzał usunąć pojedynczy wpis w historii zamówień, ale przypadkowo nacisnął przycisk usuwania całej historii zamówień, wyraźne zaznaczenie tego w wyskakującym okienku z potwierdzeniem JavaScript pomaga uniknąć momentu „OMG”, gdy administrator zdaje sobie sprawę, co on zrobił błędnie.
Skorzystaj z wersjonowania danych i kontroli wersji: W standardowych technologiach baz danych SQL edycje danych zastępują stare wartości. Jest to problematyczne, gdy edycje zostały wprowadzone niewłaściwie, a podwójnie, gdy oryginalne dane są trudne do odnalezienia lub ponownego utworzenia – np. długie pola opisu, których napisanie zajmuje wiele godzin, lub informacje o kliencie, o które prosiłoby się ponownie. Biblioteki kontroli wersji, takie jak w Wikipedii, są najlepszym rozwiązaniem w takich sytuacjach. Umożliwiają łatwe przechowywanie i przywracanie starych wersji danych w razie potrzeby. Te biblioteki zazwyczaj działają poprzez śledzenie zmian w bazie danych i zachowywanie wersji poprzednich wartości ze znacznikami czasu. Niestety, biblioteki kontroli wersji zazwyczaj nie obsługują dużych plików binarnych, takich jak zdjęcia i pliki PDF. Tak więc dla tych typów danych możesz zachować stare wersje, używając czegoś takiego jak wersjonowanie S3 firmy Amazon.
Rozważ wdrożenie zasady zakazu usuwania: chodzi o zapobieganie usuwaniu rekordów w niektórych tabelach. Oto uzasadnienie tego: biorąc pod uwagę nowoczesne ceny przechowywania danych, niewiele można zyskać, usuwając stare rekordy, a wiele można stracić, jeśli chodzi o naruszenie integralności danych, niekompletne raportowanie lub niezgodność z prowadzeniem dokumentacji. Zasada nieusuwania jest wdrażana przez umieszczenie kolumny daty „deleted_at” w każdej głównej tabeli. Gdziekolwiek wcześniej miałeś kod do usunięcia rekordu, zastąp go kodem, który ustawia kolumnę „deleted_at” dla tego rekordu na bieżący czas. W innym miejscu kodu selektywnie wyświetlasz lub ukrywasz „usunięty” rekord w zależności od potrzeb biznesowych. Na przykład „usunięte” cyfrowe pliki do pobrania będą nadal pojawiać się w obszarze administracyjnym dla byłych klientów, którzy kupili tę konkretną rzecz przed datą „usunięte_w” oraz w raportach sprzedaży „cały czas”. Jednak sklep front-endowy nie powinien już pokazywać tego cyfrowego produktu jako dostępnego dla potencjalnych klientów.

Oczekuj nieoczekiwanego

Chociaż zaproponowałem wiele rozwiązań dla szeregu problemów powyżej, nie są to w żadnym wypadku twarde zasady, ale raczej solidny podręcznik, z którego można się uczyć i do którego można się odnieść.

Pamiętaj, że ostatecznym celem jest optymalizacja panelu administracyjnego w celu usprawnienia Twojego biznesu. Poświęcenie trochę czasu na dostosowanie obszarów administracyjnych powinno w dłuższej perspektywie zwiększyć rentowność, co sprawi, że będzie to opłacalna inwestycja.

Jak ze wszystkim w życiu, zawsze będą wyjątki od zasad, więc upewnij się, że optymalizujesz panele administracyjne, kierując się rozsądkiem. A potem możesz wreszcie świętować.