Igor MazurEN

Wszystkie projekty

Wspólne rozszerzenie nawigacji

Jedno menu intranetu oparte na danych, wdrożone raz i obsługiwane ze skonfigurowanych wpisów, które właściciele witryn utrzymują sami.

Rola
Główny programista od 2022 roku
Stack
SharePoint Framework, React, TypeScript, PnPjs
Projekt
10 z 17

Problem

Każda witryna intranetu chce menu odzwierciedlającego jej własną strukturę. Zwykle do wyboru jest menu utrzymywane ręcznie na każdej witrynie, które się rozjeżdża i którego nikt nie aktualizuje, albo osobny komponent dla każdej witryny, czyli osobny kod do łatania dla każdej z nich, gdy coś się zepsuje.

Co zrobiłem

Jeden application customizer, wdrożony raz, buduje w przeglądarce menu każdej witryny z jej własnej biblioteki stron: tytuł, strona nadrzędna, kolejność i ikona. Menu to dane, których właścicielem jest właściciel witryny. Dodanie strony do menu to wypełnienie dwóch kolumn, a zmiana kolejności to zmiana liczby. Bez wydania, bez zgłoszenia, bez programisty.

Zaczął je kolega w 2021 roku; od 2022 roku jestem jego głównym programistą. Zastąpiłem pierwszą, płaską wersję drzewem rekurencyjnym, podłączyłem kolejne witryny, w tym tę, od której zależy migracja prawniczej bazy wiedzy, i poprawiłem błędy renderowania, w tym jeden, który na nowo podłączonej witrynie zdublowałby 111 pozycji menu, wychwycony przed wdrożeniem. Dopasowanie odbywa się po najdłuższym prefiksie adresu URL, więc pozostałe skonfigurowane wpisy obsługują szerszy zestaw witryn działowych.

Podłączenie jednej witryny wymagało czterech zmian, z których trzy zostały wdrożone, zanim menu się pojawiło, a w żadnym momencie nie było komunikatu o błędzie. Rozszerzenie po prostu niczego nie wyświetlało. Kluczową poprawką okazał się zastępczy punkt osadzenia dla szablonów witryn, które nie mają preferowanego, więc brak punktu wstrzyknięcia daje teraz menu, a nie cichą pustkę.

Decyzja i jej koszt

Strony nadrzędne są dopasowywane po tytule, a nie po identyfikatorze, więc właściciel witryny wpisuje nazwę strony, którą widzi, zamiast szukać wewnętrznego ID. Kosztem jest to, że dwie strony o tym samym tytule są niejednoznaczne, a zmiana nazwy strony nadrzędnej osieraca jej strony podrzędne. To świadoma wymiana odporności na wygodę, dokonana z myślą o właścicielach witryn bez wiedzy technicznej, a zabezpieczeniem jest konwencja, a nie ograniczenie w kodzie.

  • Migracja prawniczej bazy wiedzy

    Przeniesienie 1029 artykułów działu prawnego, z załącznikami, obrazami, tematami i uprawnieniami do każdego artykułu, z wycofywanego systemu helpdesk do SharePointa.

    1029 z 1029 artykułów przeniesionych

    Autor

    Python 3.12 · Microsoft Graph · MSAL · SharePoint Online

  • Kreator firmowego newslettera

    Pozwala zespołom PR i HR składać i wysyłać firmowe newslettery z gotowych bloków, bez grafika i bez HTML. SharePoint Framework i React.

    77 wydań

    Główny programista

    SharePoint Framework · React · TypeScript · Fluent UI

  • Odpowiedzialność za platformę Microsoft 365

    Jeden z trzech administratorów tenanta SharePoint i Microsoft 365 dla ponad 7000 pracowników oraz osoba, która przenosi firmę z mapowanych dysków sieciowych.

    7000+ pracowników w tenancie

    Jeden z trzech administratorów tenanta

    SharePoint Online · PowerShell · PnP · Microsoft 365

Kontakt

Warszawa
W biurze, hybrydowo lub zdalnie
Okres wypowiedzenia: trzy miesiące

[email protected]