Import jest procesem, nie przyciskiem wyboru pliku

Plik CSV może wyglądać prosto, ale kryje wiele założeń: separator, kodowanie, format dat, sposób zapisu telefonu i znaczenie pustej komórki. To, co arkusz pokazuje czytelnie, nie zawsze odpowiada danym odczytywanym przez program. Pierwszym krokiem powinien być podgląd interpretacji, a nie natychmiastowy zapis wszystkich wierszy do bazy.

W przykładowej firmie handlowej kolumna „opiekun” zawiera nazwiska pracowników, których część nie ma już kont. System musi wiedzieć, czy przypisać sprawy zastępcy, pozostawić je do decyzji czy odrzucić wiersz. Automatyczne utworzenie nowych kont z tekstu w arkuszu byłoby błędną interpretacją. Znaczenie danych trzeba uzgodnić przed projektowaniem importera.

Odczytuj strukturę bez domysłów

Zaproponuj mapowanie kolumn i pokaż próbkę kilku rekordów. Użytkownik powinien potwierdzić, że „firma” trafia do organizacji, a „kontakt” oznacza osobę, nie dowolną notatkę. Gdy nagłówek jest nieznany, lepiej go jawnie pominąć niż zgadywać zastosowanie. Puste wartości muszą mieć określony skutek: pozostawienie starej informacji, wyczyszczenie pola lub błąd.

Ustal formaty identyfikatorów i numerów. Telefon nie jest zwykłą liczbą przeznaczoną do działań matematycznych; istotny może być znak plus i początkowe zera. Data zapisana jako kilka liczb rozdzielonych ukośnikiem może być niejednoznaczna. Wymagaj ustalonego formatu lub pozwól go wybrać w podglądzie, zamiast milcząco przyjąć lokalne ustawienia serwera.

Rozdziel walidację od zapisu

Próba na sucho powinna przeczytać plik, sprawdzić dane i przygotować plan zmian bez modyfikowania produkcyjnych rekordów. Raport pokaże, co zostanie dodane, co zaktualizowane i które wiersze wymagają poprawy. Walidacja obejmuje zarówno format, jak i zgodność z regułami biznesowymi; OWASP zwraca uwagę na obie warstwy także dla danych pochodzących z systemów partnerskich.

Nie zatrzymuj raportu na pierwszym błędzie, jeżeli możesz bezpiecznie zebrać więcej informacji. Operator powinien otrzymać numer wiersza, nazwę pola i zrozumiały powód odrzucenia. Nie musi to oznaczać pozwolenia na częściowy import. Decyzję, czy zapisać tylko poprawne rekordy, czy wymagać kompletnego pliku, trzeba określić dla danego procesu.

Zapisuj partiami z możliwością wznowienia

Duży plik może przekroczyć czas pojedynczego żądania WWW. Rozważ zadanie w tle i przetwarzanie ograniczonych partii, z trwałym zapisem postępu. Każda partia powinna mieć kontrolowany wynik. Sam procent na ekranie nie wystarczy, jeśli po odświeżeniu nie wiadomo, które wiersze zostały już zapisane i czy można bezpiecznie ponowić operację.

MyTworzymy.pl obsługuje firmy z całej Polski również przy planowaniu własnych programów do obsługi klientów. Przed przeniesieniem arkuszy warto omówić reguły importu na małej, zanonimizowanej próbce. Właśnie przypadki niejednoznaczne, a nie idealne wiersze demonstracyjne, pokazują, jakiego narzędzia naprawdę potrzebuje zespół.

Nie myl aktualizacji z tworzeniem kopii

Wybierz klucz dopasowania do istniejącego rekordu i zapisz zasady konfliktu. Ponowny import tego samego pliku nie powinien za każdym razem dodawać całej bazy od nowa. Identyfikator zadania i rozpoznawanie przetworzonych pozycji pozwalają kontrolować wznowienie. Ograniczenia unikalności w bazie stanowią dodatkową ochronę, ale muszą odpowiadać rzeczywistej definicji tożsamości rekordu.

Dla zmiany istniejących danych pokaż różnicę przed i po. Szczególnie ostrożnie traktuj pola, których aktualność potwierdzono ręcznie po przygotowaniu arkusza. Stary eksport nie powinien bez ostrzeżenia zastąpić nowszego numeru telefonu. Można użyć wersji rekordu, daty ostatniej zmiany albo odrębnego etapu rozstrzygania konfliktów.

Zabezpiecz także eksport raportu

Niebezpieczna zawartość może pojawić się nie podczas odczytu, lecz przy ponownym otwarciu raportu błędów w arkuszu. Programy arkuszowe potrafią interpretować niektóre wartości jako formuły. OWASP opisuje CSV Injection oraz ograniczenia popularnych sposobów zabezpieczenia; nie istnieje jedna metoda bezpieczna dla wszystkich odbiorców i późniejszych zastosowań pliku.

Dlatego raport powinien być przygotowany dla jasno określonego sposobu użycia. Nie uruchamiaj formuł z importowanych danych. Przy rozmowie z MyTworzymy.pl warto objąć zakresem także pliki zwrotne i eksport, zamiast sprawdzać wyłącznie ekran importu. Zespół obsługujący klientów w różnych częściach Polski może otwierać pliki w odmiennych narzędziach, co powinno znaleźć się w scenariuszach odbioru.

Zostaw ślad zmian i plan wycofania

Przed zapisem utwórz kopię lub przygotuj inną uzgodnioną metodę odtworzenia danych. Zapisz autora importu, źródło, zakres oraz rezultat. Możliwość cofnięcia musi uwzględniać zmiany wykonane później przez pracowników. Nie wolno po tygodniu przywrócić całej dawnej bazy bez sprawdzenia, czy nie znikną nowe sprawy i informacje dodane już po imporcie.

Odbiór przeprowadź na pliku z polskimi znakami, separatorami wewnątrz tekstu, pustym wierszem, duplikatem i niepoprawną datą. Przerwij zadanie w połowie i spróbuj je wznowić. Poprawny wynik to nie tylko liczba zapisanych rekordów, ale możliwość wyjaśnienia losu każdej pozycji. Dzięki temu import staje się kontrolowaną zmianą danych, a nie ryzykowną operacją wykonywaną z nadzieją, że wszystko zadziała.

Określ także termin usunięcia przesłanego pliku i ogranicz dostęp do katalogu roboczego. Arkusz źródłowy nie powinien pozostać w publicznym folderze po zakończeniu operacji. Do późniejszego sprawdzenia często wystarczy bezpieczny rejestr importu i raport zakresu, zamiast nieograniczonego przechowywania kolejnych pełnych kopii kontaktów.

Czytaj dalej