Subskrypcje fanpage wracają do życia
Subskrypcje fanpage wracają do życia
Zaczęło się od drobiazgu. Twórca ustawia w panelu fanpage'a sposób rozliczania subskrypcji, panel mówi „zapisano", a po odświeżeniu ustawienie jest z powrotem takie jak było. Klasyczne zgłoszenie na dziesięć minut roboty.
Dziesięć minut zamieniło się w dzień, bo pod spodem siedziało coś większego.
Alias, który przetrwał przeprowadzkę
Fanpage'e przechodziły kiedyś dużą przebudowę. Wcześniej każdy rodzaj — komiks, książka,
album — miał własny komplet tabel i własną obsługę. Teraz jest jedna tabela fanpages,
a dzieło wisi na niej kluczem obcym. Żeby stary kod nie przestał działać z dnia na dzień,
zostawiono w modelach mostek: subject(). Kiedyś zwracał dzieło. Po przebudowie zwraca
fanpage.
Kod pisany przed przebudową dalej pyta ten mostek o rzeczy, które ma dzieło. I tu jest sedno: gdy pytasz model bazodanowy o kolumnę, której nie ma, nie dostajesz błędu. Dostajesz pustkę. Program idzie dalej, jakby wszystko było w porządku.
Efektem była cała seria awarii, z których żadna nie hałasowała.
Co się przez to nie działo
Proporcjonalne rozliczenie pierwszego miesiąca nie włączało się nigdy. Nie dla projektów animacji, nie dla profili — nawet dla komiksów i książek, które miały ustawienie zapisane poprawnie. Odczyt trafiał w niewłaściwy model i wracał z pustką, a pustka znaczy „wyłączone".
Autor nie dostawał wypłaty. Kod szukał właściciela, dopasowując rodzaj obiektu do listy: komiks, książka, album. Obiekt był zawsze fanpage'em, więc dopasowanie nie trafiało w żaden z przypadków i kończyło się odpowiedzią „nie ma właściciela". Pieniądze schodziły subskrybentowi z konta, prowizja platformy się naliczała, a druga strona przelewu nie istniała. To samo przy rozliczeniu współwłaścicielskich Studiów.
Odnowienie pobierało monety i nie płaciło nikomu. Przy pierwszej płatności wypłata autora była pisana osobno; przy odnowieniu zapomniano jej dopisać. Od drugiego miesiąca wzwyż subskrypcja była czystym transferem do platformy.
Odnowień w ogóle nie było. Funkcje odnawiające i sprawdzające stan subskrypcji istniały w kodzie, ale nie wołał ich nikt — ani żaden adres, ani harmonogram. Ponieważ dostęp do treści sprawdza się po statusie subskrypcji, a status nie zmieniał się nigdy, jedna płatność dawała dostęp bez końca.
A na zwykłym fanpage'u nie dało się w ogóle zasubskrybować. Podczas przebudowy stary zestaw adresów został wyłączony, a nowy powstał tylko dla profili muzycznych. Przycisk „Wesprzyj" na fanpage'u komiksu strzelał pod adres, którego nie ma.
I jeszcze zamknięte drzwi
Przy okazji wyszło coś, co bolało jeszcze bardziej, bo dotyczyło każdego odwiedzającego.
Fanpage sprawdzał uprawnienia do wyświetlenia przez dzieło. Reguła dla komiksów była napisana tak, że wymagała zalogowanego użytkownika — a wymagała tego w sposób, który odrzuca gościa, zanim reguła zdąży sprawdzić cokolwiek innego. Fanpage opublikowanego komiksu mówił niezalogowanemu „brak dostępu".
Reguła dla książek miała inny problem: wymagała statusu „opublikowana", a kolumna statusu przyjmuje tylko wartości opisujące postęp pisania — „w toku", „ukończona", „zawieszona", „porzucona". Warunku nie dało się spełnić żadną książką, jaka istnieje.
Obie reguły zostały poprawione. Fanpage'e są znowu publiczne dla ludzi z zewnątrz, czyli dla tych, dla których w ogóle powstały.
Co jest teraz
Ustawienia rozliczeń mieszkają na fanpage'u — jedynym miejscu wspólnym dla wszystkich rodzajów. Subskrypcja, rezygnacja, przejście na wyższy i niższy próg mają swoje adresy na każdym fanpage'u, nie tylko muzycznym. Płatność monetami przechodzi całą drogę: pobranie, wypłatę dla autora, udział współwłaścicielskich Studiów i jeden wpis w rejestrze zamiast dwóch. Płatność kartą wraca po zapłacie tam, skąd wyszła.
Obniżenie progu czeka na koniec opłaconego okresu, zamiast zabierać wykupiony poziom od razu. Godzinny proces w tle odnawia okresy opłacane monetami — płacąc autorowi — realizuje zaplanowane obniżenia i wygasza to, co przestało być opłacane.
Wniosek na przyszłość
Mostek zgodności wstecznej jest wygodny dokładnie do momentu, w którym zaczyna zwracać coś innego niż jego nazwa obiecuje. Wtedy przestaje być pomostem, a staje się cichym tłumaczem, który na każde pytanie odpowiada „nie wiem" tonem sugerującym „nie ma".
Najgorsze awarie to te, które nie wywalają aplikacji. Aplikacja stoi, strony się otwierają, przyciski się klikają — a pieniądze nie docierają tam, gdzie miały dotrzeć, i nikt nie dostaje o tym powiadomienia.