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.
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.
Powiązane
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