Kompilowanie serwisu — omówienie

Składające się na stronę serwisu pliki metadanych są łączone podczas kompilacji; w ten sposób unika się żądań do serwera, które normalnie są wymagane w trybie wykonawczym. Koszt renderowania stron widoku zmienia się w jednorazowy koszt kompilacji.

Przez zmniejszenie liczby żądań w trybie wykonawczym uzyskuje się poprawę wydajności. Między innymi można uniknąć wszystkich zapytań dotyczących zawartości, ponieważ wyniki tych zapytań można skompilować bezpośrednio w stronie.

Uzyskuje się poprawę funkcjonowania, ponieważ strona jest od razu renderowana. Można w ten sposób uniknąć różnych problemów, takich jak chwilowe wyświetlenie zawartości bez zastosowanych stylów (FOUC — flash of unstyled content) lub pojawianie się składników na stronie w przypadkowej kolejności (na przykład najpierw pojawia się stopka, która następnie — w miarę renderowania składników — przesuwa się w dół strony).

Aby skompilować strony serwisu Oracle Content Management, trzeba wyeksportować serwis jako szablon, a następnie — używając narzędzi z zestawu OCE Toolkit — skompilować szablon i wysłać uzyskane strony statyczne do pierwotnego serwisu. W kolejnych podrozdziałach jest omówiony proces kompilacji oraz sposób użycia tego modelu do kompilowania swojego serwisu.

Interakcja z prerenderem

Zadaniem prerendera jest zwrócenie wyników nadających się dla wyszukiwarek. Od stron wytworzonych przez prerenderer nie oczekuje się, aby działały jak strony oryginalne. Nie jest także wykonywany żaden kod JavaScript. Zwracany jest jedynie wstępnie renderowany kod HTML dla przeglądarek, obsługujący funkcje SEO wyszukiwania tekstów.

Oczekuje się, że strony statyczne, utworzone wskutek kompilacji serwisu, będą działały i zachowywały się w przeglądarce tak samo jak oryginalne strony dynamiczne serwisu. Obejmuje to także dynamiczne uruchamianie nieskompilowanych składników oraz wykonywanie zapytań w trybie wykonawczym, kiedy to użytkownik chce otrzymywać w wynikach dane aktualne, a nie ustalone podczas kompilacji.

Jeśli prerenderer zostanie włączony przez administratora dzierżawy, strony statyczne także mogą być dostarczane przez serwer prerendera. Dzięki temu indeksery i procesy przeszukujące mogą uwzględniać części stron statycznych, które nadal mogą być renderowane dynamicznie (na przykład listy zawartości).

Zapytania dotyczące zawartości zwracają elementy zawierające wartości pól z formatowaniem, a zatem — gdy dla list zawartości są używane układy zawartości — nie trzeba pobierać osobno wartości.

Renderowanie stron serwisu z użyciem kontrolera

Polecenie cec compile-template umożliwia renderowanie stron serwisu bezpośrednio w przeglądarce, bez przechodzenia przez kontroler stron serwisu udostępniany przez Oracle Content Management.

Jeśli nie został użyty kompilator do utworzenia stron statycznych HTML, serwis Oracle Content Management do renderowania stron używa modelu kontrolera. Wiąże się to — zanim strona zostanie wyświetlona w przeglądarce — z pewną liczbą zapytań mających na celu uzyskanie informacji o serwisie, o stronie w serwisie oraz o szablonach używanych do renderowania strony.

Uwaga:

Dodatkowo są kierowane inne żądania, takie jak zlecające uzyskanie pliku controller.js.

Renderowanie skompilowanych stron serwisu

Korzystając z polecenia cec compile-template można skompilować wszystkie te etapy w jeden statyczny plik HTML, co poprawia wydajność serwisu w trybie wykonawczym przez ograniczenie lub wyeliminowanie tych żądań kierowanych do serwera. Ponadto można dalej zredukować żądania dotyczące zasobów, które nie zmieniają się w trybie wykonawczym, kompilując je w strony statyczne.

Domyślny proces kompilacji wykonuje pracę istniejącego kompilatora w trybie wykonawczym, tworząc fizyczną stronę HTML dla każdego z plików page.json w serwisie. Stronę taką można następnie wdrożyć w serwisie — zostanie opublikowana i użyta, gdy zostanie wywołany odpowiadający jej adres URL.