1 jest lowkhand tuff
Raport z prac
- Bolesław Kirianóo von Hohenburg
- Mały Król

- Posty: 2974
- Rejestracja: 05 gru 2021, 13:05
- Sheldon Anszlus Lovelace
- Profesjonalista
- Posty: 216
- Rejestracja: 15 sty 2022, 17:50
Re: Raport z prac
Zmiana forum sprawi, że będziemy musieli zmienić sposób logowania na stronie głównej. Obecnie logowanie na stronie głównej odbywa się przez autoryzację na forum. Po przejściu na phpBB, ten mechanizm przestanie działać.
Mamy 2 wyjścia:
1. Współdzielić sesję forum z sesją na stronie głównej. Logujesz się na forum => jesteś zalogowany na stronie głównej, i vice versa. Formularz logowania/rejestracji na stronie głównej będzie ALBO: A) odpytywać bazę danych forum - czyli loginy i hasła będą identyczne, ALBO: B) przekierowywać do formularza logowania/rejestracji na forum.
2. Zrobić autoryzację przez Stempel. Obawiam się, że to by mogło odstraszyć noffych oraz osoby niekorzystające z dobrodziejstw rządu światowego.
Imo najlepiej zrobić 1. a logowanie stemplem dodać jako opcjonalną metodę logowania - ale nie jedyną.
Zdecydowanie opcja numer jeden, pamiętaj że nie każdy użytkownik musi mieć konto w stemplu.
- Kamiljan de Harlin
- Mistrzunio
- Posty: 1602
- Rejestracja: 30 cze 2022, 13:37
Re: Raport z prac
Dzięki uprzejmości @Sheldon Anszlus Lovelace mamy fajne pluginy na nowym forum. Dziękujemy.
- Naprawiłem konwersję cytatów i wzmianek.
- Wgrałem 2 style: elegance i zeina. Więcej propozycji nie było, więc będą tylko te 2 do wyboru.
- Zrobiłem konwersję ikon działów. Zmodyfikowałem te 2 style w taki sposób, żeby wyświetlały ikony działów tak samo, jak mamy na obecnym forum.
- Embedy postów w poście są teraz konwertowane na linki do posta, który był embedowany na invision.
Przykład: https://forum.nordata.org/topic/3435-otwieranie-aralcrux-w-lrm/#findComment-33966 => https://phpbb.nordata.org/viewtopic.php?p=33966#p33966
Wiem, że dalej załączniki plików (nie obrazków) nie działają. Zapraszam do testowania nowego forum i szukania miejsc na poprawki.

Arcydemon wojny, Khorne, wybuchł tak wielkim gniewem na moje proroctwa, że sama jego aura wściekłości wgniotła mnie z impetem w ziemię. Siła uderzenia była tak potężna, że przebiłem się na samo dno lądolodu, na którym stoi stolica Imperium Chaosu. Odnalazłem się wówczas w lochach Khorna, gdzie orędownicy pokoju, spokoju i przyjaźni byli doprowadzani do obłędu niewyobrażalnymi torturami. Widziałem cele więzienne zbudowane z czystej energii nienawiści, w których wszystkie kąty miały więcej niż 180 stopni, a i tak tworzyły jakimś cudem zamkniętą przestrzeń. Samo patrzenie na te oszalałe struktury wywoływało we mnie niewyobrażalne cierpienie, nie wspominając o rzeczach, którym poddawani byli osadzeni - na samo ich wspomnienie skręcam się z bólu.

- Kamiljan de Harlin
- Mistrzunio
- Posty: 1602
- Rejestracja: 30 cze 2022, 13:37
Re: Raport z prac
Also widzę, że ikony działów są niewidoczne na urządzeniach mobilnych, ale to kwestia jednej linijki w CSS chyba, żeby to naprawić.
Nieważne - ikony działów widać na telefonie, ale dopiero po zalogowaniu. Nie wiem, czemu.

Arcydemon wojny, Khorne, wybuchł tak wielkim gniewem na moje proroctwa, że sama jego aura wściekłości wgniotła mnie z impetem w ziemię. Siła uderzenia była tak potężna, że przebiłem się na samo dno lądolodu, na którym stoi stolica Imperium Chaosu. Odnalazłem się wówczas w lochach Khorna, gdzie orędownicy pokoju, spokoju i przyjaźni byli doprowadzani do obłędu niewyobrażalnymi torturami. Widziałem cele więzienne zbudowane z czystej energii nienawiści, w których wszystkie kąty miały więcej niż 180 stopni, a i tak tworzyły jakimś cudem zamkniętą przestrzeń. Samo patrzenie na te oszalałe struktury wywoływało we mnie niewyobrażalne cierpienie, nie wspominając o rzeczach, którym poddawani byli osadzeni - na samo ich wspomnienie skręcam się z bólu.

- Bolesław Kirianóo von Hohenburg
- Mały Król

- Posty: 2974
- Rejestracja: 05 gru 2021, 13:05
Re: Raport z prac
jak coś to listy punktowe po konwersji zostawiają na końcu [/list], ale na początku nie (parity issue between Invision Edition i PhpBB Edition?)
- Kamiljan de Harlin
- Mistrzunio
- Posty: 1602
- Rejestracja: 30 cze 2022, 13:37
Re: Raport z prac
Przeprowadzam audyt wszystkich baz danych. Wnioski nasuwają się same.

Mamy za dużo baz danych ogółem. Ich istnienie nie jest uzasadnione - poszczególne moduły, które obsługują, nie są odrębnymi systemami, tylko podmodułami tej samej aplikacji.
Wiele informacji jest powielonych w wielu bazach danych. Ta sama informacja o imieniu użytkownika jest przechowywana w czterech różnych bazach danych! Brak jednego źródła prawdy - informacje z jednej bazy danych bywają sprzeczne z danymi z drugiej. Nie wiadomo, komu ufać. Spaghetti relacji pomiędzy bazami.
Plan jest wdrażany:
- Nadmiarowe bazy danych idą do odstrzału. Nie bierzemy żadnych jeńców.
- Centralizacja danych do 3 baz danych: zostaje tylko baza forum, baza główna i baza systemu do głosowania.
- Przebudowa struktury tabel. Prawie każda tabela zostanie zaktualizowana.
- Zmiana struktury tabel bazy danych będzie wymagać refaktoryzacji wszystkich skryptów PHP odpytujących bazę danych. To idealny moment na to, skoro i tak robię refaktoryzację całego kodu Nordaty.
Aha, i chyba jeszcze nie poinformowałem, że refaktoryzuję cały kod wszystkich systemów. Zastosuję wzorzec architektoniczny Model-View-Controller, aby oddzielić od siebie poszczególne moduły, ułatwić technikom edytowanie kodu lokalnie, ograniczyć powtarzanie tych samych linijek kodów, tych samych include'ów, etc. Cały kod będzie napisany obiektowo, dotychczasowe proceduralne implementacje idą do kosza.

Arcydemon wojny, Khorne, wybuchł tak wielkim gniewem na moje proroctwa, że sama jego aura wściekłości wgniotła mnie z impetem w ziemię. Siła uderzenia była tak potężna, że przebiłem się na samo dno lądolodu, na którym stoi stolica Imperium Chaosu. Odnalazłem się wówczas w lochach Khorna, gdzie orędownicy pokoju, spokoju i przyjaźni byli doprowadzani do obłędu niewyobrażalnymi torturami. Widziałem cele więzienne zbudowane z czystej energii nienawiści, w których wszystkie kąty miały więcej niż 180 stopni, a i tak tworzyły jakimś cudem zamkniętą przestrzeń. Samo patrzenie na te oszalałe struktury wywoływało we mnie niewyobrażalne cierpienie, nie wspominając o rzeczach, którym poddawani byli osadzeni - na samo ich wspomnienie skręcam się z bólu.

- Bolesław Kirianóo von Hohenburg
- Mały Król

- Posty: 2974
- Rejestracja: 05 gru 2021, 13:05
Re: Raport z prac
- Kamiljan de Harlin
- Mistrzunio
- Posty: 1602
- Rejestracja: 30 cze 2022, 13:37
Re: Raport z prac
Prace postępują.
Baza danych już w większości została przebudowana.
1. Podział na konta i postacie
Rozbiłem Konta od Postaci - każdy mirek ma tylko 1 konto, ale może publikować treści (akty prawne, artykuły, netoperki) pod różnymi personaliami.
- Przez to, że 1 mirek = 1 konto, możesz polubić każdy netoperek, komentarz, artykuł, etc. tylko raz.
- Przez to, że 1 mirek => 1+ postaci, możesz publikować akty prawne, artykuły i netoperki pod aliasem - z innym imieniem, nazwiskiem i avatarem.
- Właścicielem treści dalej jest konto. Treści dalej są przypisane do konta. Postacie to tylko element kosmetyczny. Nie stracisz możliwości edytowania artykułu, który napisałeś pod personaliami postaci, która umarła.
- Uprawnienia dalej są przypisane do kont. Panel Admina Dziennika Prawnego nie rozróżnia, pod jakimi personaliami dany mirek pełni daną funkcję - jego konto ma przypisane uprawnienia do kategorii DP, nie jego postać. Tak samo jest z każdym innym modułem.
Ergo: konto robi wszystko, postać to element kosmetyczny.
2. Posprzątanie chaosu i zdublowanych tabel.
Przykład reprezentatywny. Mamy mieliśmy 3 dziwne tabele (instytucje.pracownicy, main.zatrudnienie, main.pracownicy). Jedna tabela w ogóle w innej bazie danych, inna na przestarzałym silniku MyISAM z miejscem pracy wpisywanym z palca, zamiast odniesieniem do id instytucji, w której pracujesz. Tworzę jedną tabelę instytucje_zatrudnienie z rozsądną strukturą, bez wad wszystkich trzech tabel, z odpowiednimi kluczami obcymi i typami kolumn. Migruję dane z wszystkich trzech tabel do jednej tabeli. Usuwam tamte stare tabele. Po drodze ręcznie dodaję brakujące instytucje, aby constrainty kluczy obcych nie krzyczały, że odwołuję się do nieistniejącej instytucji albo usuwam zatrudnienia, które nie mają sensu.
Informacje o tym samym były przechowywane w trzech różnych tabelach na 3 różne sposoby. Żadna tabela nie była kompletna - w każdej brakowało wpisów z reszty tabel. Nie dało się ustalić jednego źródła prawdy dla prostej informacji o tym, kto gdzie pracuje. Teraz problem rozwiązany.
3. Unowocześnienie systemu uprawnień
Wcześniej trzeba było robić 2137 joinów różnych tabel z różnych baz danych. Do tego dochodziło rozbijanie ciągów liczb rozdzielonych przecinkami. Wszystko po to, żeby pozyskać prostą informację: czy użytkownik o id X może wyedytować artykuł o id Y. Teraz wystarczy do tego jedno błyskawiczne zapytanie do bazy danych.
4. Poszczególne modele, widoki i kontrolery są rozdzielone w uporządkowany sposób.
Edytując kod headera nie muszę się bać, że rozpierdolę Dziennik Prawny (tak, to autentyczny przypadek).
Pozbyłem się osobnych baz danych: dziennika prawnego, instytucji, endobanku i efederacji. Do odstrzału jest jeszcze baza kongresu. Systemu gospodarczego nie ruszam, bo tam jest tyle do zmiany, że refaktoryzacja nie ma sensu - lepiej w przyszłości napisać nowy system gospodarczy.
Po lewej stronie produkcyjna wersja strony (siedzi cały czas na hostingu), a po prawej testowa (zapisana lokalnie na moim komputerze, łączy się z lokalnie zapisaną u mnie bazą danych).

Największy sukces, to że się w ogóle wyświetlają rzeczy. Żeby się wyświetlały ładnie, to kolejna część. Chcę się w końcu pozbyć Tailwind CSS z naszej witryny, żeby nie wchodził w konflikty z Semantic UI - jestem w trakcie, dlatego strona po prawej nie wygląda ładnie.
Mam zapisane polecenia SQL, które wrzucę na produkcję, jak tylko na swoim komputerze skończę już wszystko. Wtedy na jeden dzień wyłączymy nordatę i momentalnie cały stary kod zastąpię nowym - nie będzie żadnych okresów przejściowych ani podmiany modułów krok po kroku. Na jeden dzień ffyłączymy ffszystko i następnego dnia będzie ffszystko brand new noffe.

Arcydemon wojny, Khorne, wybuchł tak wielkim gniewem na moje proroctwa, że sama jego aura wściekłości wgniotła mnie z impetem w ziemię. Siła uderzenia była tak potężna, że przebiłem się na samo dno lądolodu, na którym stoi stolica Imperium Chaosu. Odnalazłem się wówczas w lochach Khorna, gdzie orędownicy pokoju, spokoju i przyjaźni byli doprowadzani do obłędu niewyobrażalnymi torturami. Widziałem cele więzienne zbudowane z czystej energii nienawiści, w których wszystkie kąty miały więcej niż 180 stopni, a i tak tworzyły jakimś cudem zamkniętą przestrzeń. Samo patrzenie na te oszalałe struktury wywoływało we mnie niewyobrażalne cierpienie, nie wspominając o rzeczach, którym poddawani byli osadzeni - na samo ich wspomnienie skręcam się z bólu.






