Dziennik wersji
Co wdrożyliśmy i kiedy
Datowany dziennik per moduł, wzięty z samych repozytoriów.
Najbardziej użyteczną rzeczą, jaką mniejszy dostawca może pokazać, nie jest lista funkcji — tylko to, że lista wciąż rośnie. Ta strona istnieje po to, żeby mogli to Państwo sprawdzić sami, łącznie z kwartałami, w których zwalnia.
Jak prowadzimy tę listę
Wpisy pisane są z historii commitów i not wydawniczych, a nie z kalendarza treści. Tam, gdzie data istnieje, jest to data, w której praca wylądowała. Tam, gdzie nie istnieje — wtyczka WordPressa wychodzi jako wersja, nie jako dzień — jej miejsce zajmuje numer wersji, bo data wymyślona, żeby było schludniej, wciąż jest datą wymyśloną.
Lista nie jest wyczerpująca. Poprawki błędów, refaktoryzacje i wewnętrzne narzędzia są pomijane, o ile nie zmieniają czegoś, co dałoby się zauważyć. To, co tu jest, to to, co klient rozpoznałby jako nowe.
Handel
Sklep internetowy, jego katalog, magazyn i wszystko, co wychodzi za drzwi.
-
VAT wewnątrzwspólnotowy: odwrotne obciążenie, OSS i VIES
Transgraniczna sprzedaż B2B stosuje odwrotne obciążenie, progi OSS są śledzone per kraj, a numer VAT sprawdzany jest w VIES przed wystawieniem faktury, a nie po tym, jak zauważy to księgowa.
-
Przyjęcie towaru, ze średnią ważoną ceną nabycia
Stan magazynowy niesie teraz koszt, nie tylko liczbę. Raporty marży przestają być szacunkiem w chwili, gdy ten sam produkt przychodzi dwa razy w dwóch cenach.
-
Płatność w ratach i wysyłka w ratach
Płatność częściowa i częściowa wysyłka na tym samym zamówieniu, każda z własnym dokumentem, bo w B2B rzadko dzieją się tego samego dnia.
-
Dostawa do automatu paczkowego i punktu odbioru
Easybox i punkty odbioru wybierane w koszyku z bieżącej listy przewoźnika, a wybrany punkt jedzie dalej aż na etykietę.
-
eMAG Marketplace
Katalog, stany i zamówienia synchronizowane z marketplace’em z tych samych rekordów produktowych, które zasilają sklep — a nie drugi katalog do utrzymywania w zgodzie.
-
Karty podarunkowe, pytania o produkt, porównywarka i edycja zamówienia po złożeniu
Cztery rzeczy, o które kupujący pytają bez przerwy, i jedna — edycja po złożeniu — o którą jeszcze częściej proszą zespoły obsługi.
-
RODO dla kupujących: kopia danych albo anonimizacja
Żądanie kupującego obsługuje się z panelu sklepu, przez człowieka, który nie potrzebuje programisty i nie musi dotykać bazy danych.
-
Kilka magazynów i ceny per grupa klientów
Stan per lokalizacja i ceny grupowe B2B na tym samym katalogu, więc dystrybutor i klient z ulicy widzą inne liczby na tej samej stronie.
-
Operatorzy płatności i zwroty przez bramkę
PayU i Twispay, powiadomienia o płatności weryfikowane u operatora i zwroty wykonywane przez bramkę zamiast przelewem i notatką w arkuszu.
-
Przewoźnicy: Sameday i Cargus
Etykiety, śledzenie i status z powrotem do zamówienia, z systemów, którymi rumuńskie sklepy naprawdę wysyłają.
-
Opinie, listy życzeń i powiadomienia o dostępności
Opinie o produktach z kanałem opinii dla Google plus dwie najmniejsze funkcje, które odzyskują najwięcej porzuconej intencji.
-
Pliki produktowe: Google Merchant, Meta, Compari.ro i Price.ro
Cztery kanały generowane z tego samego wiersza produktu, więc zmiany ceny nie trzeba powtarzać w czterech miejscach.
-
Strony docelowe generowane z filtrów
Kombinacja filtrów, której ludzie naprawdę szukają, staje się stroną do zaindeksowania, z własnymi regułami, co może być indeksowane, a co nie.
-
Import katalogu z CSV i XLSX, przez kolejkę
Z podglądem, zanim cokolwiek zostanie zapisane, i z kolejką, żeby plik na dziesięć tysięcy wierszy nie zależał od otwartej karty przeglądarki.
Treści i strony
CMS, kreator stron i wszystko, co dociera na stronę publiczną.
-
Automatyzacje: kiedy X, zrób Y
Reguły budowane w panelu — gdy strona zostanie opublikowana, gdy przyjdzie formularz, gdy skończy się skan — bez programisty piszącego zadanie do każdej z nich.
-
Asystent konwersacyjny w panelu
Działa na tych samych narzędziach MCP, których użyłby agent zewnętrzny, i dlatego nie może zrobić niczego, czego człowiek nie mógłby zrobić przez interfejs.
-
Tłumaczenie na skalę
Zaległości per język, to, co się zdezaktualizowało po zmianie źródła, i tłumaczenie zbiorcze — trzy rzeczy, które decydują, czy drugi język przeżyje pierwszy miesiąc.
-
Wydania: kilka stron publikowanych naraz
Kampania ląduje jako jeden akt i wycofuje się jako jeden akt, zamiast jedenastu stron opublikowanych w kolejności, na którą nikt się nie umówił.
-
Pola i typy bloków definiowane per serwis
Państwa model treści może różnić się od wszystkich innych, nie stając się odgałęzieniem, którego nikt nie zaktualizuje.
-
Restrykcyjne CSP z nonce i GraphQL obok REST
Nagłówek bezpieczeństwa, który naprawdę zatrzymuje wstrzyknięte skrypty, i drugie API do odczytu z ograniczonym kosztem zapytania, sprawdzane kontraktowo wobec REST.
-
Testy A/B na bloku, z werdyktem
Dwie wersje tej samej sekcji, mierzone na stronie publicznej, i wynik, który mówi, która wygrała, zamiast zostawiać to gustowi.
-
Statystyki bez plików cookie, z Web Vitals
Tyle, żeby zobaczyć, co ludzie czytają i jak szybka była dla nich strona, bez ściany zgody przed pomiarem.
-
Kopie zapasowe poza serwerem, do dowolnego magazynu zgodnego z S3
Kopia, która żyje na tej samej maszynie co serwis, jest kopią na niewłaściwy rodzaj wypadku.
-
Klonowanie serwisu i import z WordPressa
Drugi klient w minuty, a nie od zera; oraz WXR, media i przekierowania przeniesione z WordPressa jednym przebiegiem.
-
Edycja wizualna, obok prawdziwej strony
Bloki edytowane obok strony, którą tworzą, a nie w formularzu, który tylko ją przypomina.
-
Serwer MCP: CMS jako narzędzie dla agenta
Agent zewnętrzny może pisać szkice, tłumaczyć i przygotowywać treść przez te same strzeżone operacje, które ma człowiek. Publikować nie może.
-
Obieg akceptacji, blokada edycji, kosz, przywracanie
Cztery rzeczy, których zespół większy niż dwie osoby potrzebuje przed pierwszym wypadkiem, a nie po nim.
-
llms.txt i lustra Markdown każdej strony
Żeby model cytujący Państwa serwis cytował to, co strona mówi, a nie to, co udało mu się wyciągnąć z układu.
CRM i sprzedaż
Od pierwszego kontaktu do podpisanej umowy.
-
Ekran „Dziś" handlowca i rytmy prospectingu
Jeden ekran z tym, co zaległe, co zaplanowane i do kogo nie zadzwoniono — oraz rytmy, które pilnują, żeby dotknięta szansa zawsze miała następny krok, zamiast przypomnienia, którego ktoś nie ustawił.
-
Karta szansy: cała historia firmy na jednym ekranie
Telefony, maile, oferty, umowy i notatki w jednym miejscu, żeby nikt nie otwierał czterech kart, by odpowiedzieć na jedno pytanie.
-
Cztery stany szansy i lejek, który liczy tylko oferty
Lejek napompowany nadziejami to lejek, któremu nikt nie ufa. Za lejek liczy się tylko to, co ma na sobie ofertę.
-
Historia komunikacji: każdy wysłany mail zostaje przy firmie
Łącznie z tym, co faktycznie dostarczono, i z pełną treścią, a nie tylko linijką mówiącą, że coś wysłano.
-
Import, wykrywanie duplikatów i pola własne
Dużą bazę prospektów da się wciągnąć bez importowania tej samej firmy trzy razy w trzech pisowniach.
-
Przypisanie źródła, przechwytywanie przez API i ROI per klient
Który kanał wyprodukował klienta i ile ten klient był potem wart — dwie połowy tego samego pytania, wreszcie w jednym systemie.
Fakturowanie i finanse
Dokumenty, płatności i to, co znaczą dla miesiąca.
-
Oblio: wystawione dokumenty odbite w wewnętrznej księdze
Tylko do odczytu, celowo: platforma nigdy nie pisze do konta księgowego, więc import nigdy nie może uszkodzić ksiąg, które czyta.
-
Płatności zapisane w Oblio aktualizują status faktury tutaj
Pytanie „czy zapłacone?" przestaje mieć dwie odpowiedzi zależnie od tego, na który ekran się patrzy.
-
Dzienne zestawienie tego, co staje się wymagalne
Zaplanowane, żeby pierwszą osobą dowiadującą się o przeterminowanej fakturze nie był klient.
-
VAT, koszty rzeczywiste i rentowność per klient
Przychód per klient był widoczny zawsze. Koszt per klient był tą połową, która nadawała liczbie znaczenie.
-
Alerty wygaśnięcia umów i hostingu, na progach
Na trzydzieści dni, na siedem i w sam dzień — dla dwóch rzeczy, które wygasają po cichu, a zauważa się je głośno.
Sama platforma
Bezpieczeństwo, języki i części, na których stoi każdy moduł.
-
Dziennik audytowy i uprawnienia per zdolność
Kto co zmienił, i model uprawnień, w którym dostęp przyznaje się do możliwości, a nie do nazwy stanowiska.
-
Logowanie dwuskładnikowe, API integracyjne i ćwiczone kopie zapasowe
Kopie są weryfikowane i cyklicznie odtwarzane na osobnej bazie, bo większość organizacji odkrywa, że jej kopie się nie odtwarzają, w dniu, w którym są potrzebne.
-
Dokumenty zachowują język, w którym zostały wystawione
Oferta wysłana po niemiecku jest po niemiecku także wtedy, gdy drukuje się ją rok później, niezależnie od tego, na jaki język ustawiony jest panel tego dnia.
-
Statusy stały się kluczami technicznymi, pokazywanymi w tłumaczeniu
Status zapisany jako przetłumaczone słowo psuje się w chwili, gdy ktoś przełączy język. Zapisany jako klucz — przeżywa.
-
Rumuński nomenklator geograficzny, z podpowiadaniem adresów
Okręg, miasto i ulica uzupełniane z prawdziwej listy, żeby adresy przychodziły w kształcie, który akceptują przewoźnicy.
Valenys Accessibility
Skaner, widżet, portal klienta i dokumenty zgodności.
-
Puściliśmy skaner na samych siebie i naprawiliśmy to, co znalazł
Platforma dostępności miała własne problemy z WCAG. Zostały naprawione, a dokumentacja i pulpity stały się w tym samym przebiegu wielojęzyczne — skaner, który sam nie jest dostępny, trudno sprzedać, a jeszcze trudniej obronić.
-
Publiczna dokumentacja, porządne 404 i poprawka domeny partnera
Dokumentacja czytelna bez konta i błąd, przez który domena partnera trafiała do niewłaściwego najemcy.
-
Punkt wyjścia: silnik audytu, widżet, portal klienta, panel partnera
Sześć etapów dostarczonych razem: skanowanie z axe-core i prawdziwą przeglądarką, widżet dla odwiedzających, portal klienta z raportami i odznaką oraz panel w białej etykiecie dla agencji.
Valenys Chatbot
Wtyczka WordPressa i serwer licencji za nią. Wersje, nie daty — wtyczka wychodzi jako numer.
-
Licencja egzekwowana na zapleczu, nie tylko w interfejsie
Instalacja bez licencji przestaje odpowiadać na poziomie API, a nie tylko na ekranie panelu — łącznie ze ścieżką natychmiastowego powitania, która była jedynym obejściem.
-
Indeksowanie bez limitu stron, w każdym planie
Kolejka przetwarza partiami z ponawianiem i wychodzi z zablokowanych rygli, więc duży serwis na skromnym hostingu kończy indeksowanie, zamiast urwać się w połowie.
-
55 języków interfejsu, w tym od prawej do lewej
Interfejs widżetu tłumaczony jest raz na język i potem buforowany, a bot odpowiada w języku wybranym przez odwiedzającego. Arabski, hebrajski, perski i urdu przełączają widżet na kierunek od prawej do lewej.
-
WPML i Polylang: widżet podąża za językiem strony
Treść indeksowana jest osobno dla każdego języka, a wyszukiwanie kierowane per język, więc angielska strona nie odpowiada z rumuńskiej treści.
-
Głos premium i webhooki dla zebranych leadów
Synteza mowy przez ElevenLabs albo Google Cloud, z awaryjnym rozwiązaniem w przeglądarce; oraz zebrane kontakty wysyłane do Zapiera, Make albo punktu CRM bezpośrednio.
-
Licencjonowanie niezwiązane z WordPressem
Każda aktywowana domena zapisuje swoją platformę — WordPress, OpenCart, PrestaShop, Magento, Shopify albo wdrożenie autorskie — więc moduły, które przyjdą później, nie potrzebują drugiego serwera licencji.
-
Limity zapytań na punktach publicznych i brak ujawniania błędów
Punkty leadów i opinii mają limit per adres IP, a produkcja przestaje drukować ostrzeżenia PHP w publicznych odpowiedziach.
Jeśli coś tutaj jest tym, czego Państwo potrzebują, proszę powiedzieć
Połowa tej listy istnieje, bo klient o coś poprosił, a prośba okazała się ogólna.