
Witajcie, pokażę tutaj krótko mój skrypt/rozszerzenie przeglądarki dodający automatyczne kopie pisanych przez nas wiadomości/postów na naszym forum. Automatyczne kopie generują się w trakcie pisania i same pobierają się na dysk w formacie plików tekstowych. Pliki tekstowe zawierają nazwę pisanego postu/tematu, prefix [PRIV] dla PW, [FORUM] dla postów z forum, oraz datę/godzinę kiedy kopia została wykonana. Skrypt napisałem jakiś czas temu, jeszcze przed erą ChatGPT, chociaż teraz pewnie ten wirtualny asystent bardzo by to ułatwił.
Motywacja projektu
Nasze forum niby posiada nawet jakiś prosty mechanizm "Przywróć zapisaną wiadomość", ale nie zawsze działa on rzetelnie oraz nie radzi sobie chyba z kilkoma pisanymi jednocześnie postami. Dodatkowo czasem mi się zdarzało (chociaż to pewnie tylko ja mam taki problem), że pisałem coś i zapominałem wysłać na skutek roztargnienia i wyłączałem komputer, albo, co gorsza, komputer dostawał BSOD (oczywiście z mojej winy) i treści mogły ulec bezpowrotnej utracie. Ten skrypt sprawia, że taka sytuacja już wręcz nie może mieć miejsca - kopii jest pełno, a nawet jeśli się coś utraci, to tylko co najwyżej kilka zdań a nie cały post.
Działanie skryptu
Skrypt cały czas chodzi w tle. Po napisaniu pewnej ilości znaków (lub po tym jak minie troszkę czasu i treść postu się zmieni), skrypt sam generuje kopię i zapisuje ją dysk. W trakcie pisania tego postu wygenerował już dwie kopie:

Kopie pobierają się same, nie trzeba nic klikać, chociaż też mam dodany przycisk "Pobierz kopię zapasową", który robi dokładnie to samo:

Potem na dysku mamy takie coś:

Trochę tych plików tekstowych jest, ale:
- tekst bardzo mało zajmuje miejsca
- tekst się bardzo wygodnie kompresuje (można zrobić zip)
- pliki mają prefixy [FORUM] bądź [PRIV] więc łatwo je oddzielić skryptem bądź ręcznie od innych pobranych
- zawsze można je usunąć...
Instalacja skryptu
Skrypt chodzi u mnie na Chrome, opiera się na rozszerzeniu TamperMonkey:

Widać go tutaj:

Niestety nie mogę go wkleić na forum, bo silnik go blokuje, więc jego treść dałem na mojego Githuba:
https://github.com/openshwprojects/ElektrodaF...BackupGenerator/blob/main/elektrodaBackups.js
Możecie go po prostu przekleić do "nowego skryptu" tampermonkey i zapisać.
Kilka uwag co do kodu:
- poniżej możecie zmienić częstość zapisów (ale jeśli nie ma zmian, to on i tak nie pobierze duplikatu kopii zapasowej)
var cfg_autoBackupInterval = 60 * 1000;
- skrypt był testowany na "Starym wyglądzie" forum, tylko i wyłącznie
- jeśli ktoś chce zrobić poprawkę to zapraszam na Githuba z Pull request, sam nawet nie starałem się by ten skrypt był napisany ładnie
- skrypt też porywa przycisk Submit i jego pierwsze kliknięcie nie działa, tylko zapisuje kopię (można by to naprawić, sztucznie go wciskać z opóźnieniem po pobraniu finalnej kopii)
- skrypt też dodaje wspomniany już przycisk "pobierz kopię zapasową", ale ja z tego nie korzystam, wszystko za mnie pobiera automat i mi to starcza
- skrypt dodaje też datę/czas zapisu do nazwy pliku
- skrypt dodaje też sufix, SND to kopia zrobiona w momencie wysyłania, a TMR to na skutek timera
Podsumowanie
Osobiście ze skryptu jestem bardzo zadowolony, już w dużym stopniu mi pomógł oraz nieco zwolnił mnie z obowiązku ciągłego pilnowania, czy wszystko zapisuję. Oczywiście i tak zapisuję normalnie pisane posty/tematy/szkice artykułów, ale świadomość, że coś mnie w tle "pilnuje" i "czuwa" nad kopiami mojej pracy naprawdę pozwala mi się skupić na konkretach i w pewnym stopniu mnie odciąża.
Nie wiem, czy ten temat kogoś zainteresuje i czy się komuś przyda, ale jeśli tak, to dajcie znać. Skrypt działa zarówno na skrzynce PW, jak i na forum, więc skutecznie ratuje przede sytuacją w stylu napisałem post a zapomniałem wcisnąć wyślij. A "zaśmiecony" kopiami zapasowymi folder "Pobrane" można raz-dwa posprzątać, chociażby odpowiednim skryptem wsadowym...
Cool? Ranking DIY