Publicering

Når kompilerede statiske sider er genereret og uploadet til sitets statiske mappe, skal du publicere eller genpublicere sitet for at gøre siderne aktive. På samme måde skal du publicere eller genpublicere, når du har fjernet de statiske filer fra sitet, for at vende tilbage til funktionsmåden for ikke-kompileret sitelevering.

Under publicering gøres de uploadede statiske sider tilgængelige for levering. Da disse filer kopieres under publiceringsprocessen, kan ydeevnen for publiceringsoperationen reduceres proportionalt med antallet af filer.

Publiceringsoperationen tager det aktuelle sæt statiske filer og gør dem tilgængelige for levering. Disse filer er muligvis eller muligvis ikke synkroniseret med eventuelle ændringer, der er foretaget på det dynamiske site, og de afspejler muligvis eller afspejler muligvis ikke det dynamiske site. Opdateringen af samlingen af statiske filer på de relevante tidspunkter er siteudviklerens ansvar.

Forrang ved levering af statiske filer til site

Når et site har tilknyttede statiske filer, leveres de pågældende filer til matchende URL'er, der kommer ind på serveren. Hvis en indgående URL ikke matcher en statisk fil, returneres sitets controller.html-fil for anmodningen. Dette følger den eksisterende dynamiske model for sitelevering.

Oracle Content Management-sites kan også definere 301- og 302-omdirigeringer gennem en tilknyttet JSON-fil. Når der er konfigureret omdirigeringer, har omdirigeringerne forrang i forhold til statiske filer. Hvis en URL matcher både en omdirigeringsregel og en statisk fil, leveres omdirigeringen fra serveren.

URL-evalueringen for sitelevering følger dette flow:

  1. Matcher URL'en en konfigureret omdirigering?

    I så fald skal du udstede et omdirigeringssvar.

  2. Svarer URL'en til en statisk fil?

    Hvis listen over statiske mobilbrugeragenter er konfigureret for sitet, og anmodningen kommer fra en browser, der matcher listen, skal du levere den statiske mobilfil.

  3. I modsat fald skal du levere den dynamiske sitefil controller.html.

Bemærk:

Hvis der er knyttet statiske mobilfiler til sitet, og kunden bruger en CDN til levering, skal CDN'en (normalt Akamai) være konfigureret til at cache mobilbrowseranmodninger adskilt fra standarddesktopanmodninger.

Hvis CDN'en ikke er konfigureret med separat mobil-/standardcaching, modtager mobilbrowsere muligvis standardsvar, og desktopbrowsere modtager muligvis svar, der er beregnet til mobilbrowsere.

Caching-headere

HTTP-headere i svar fra webservere hjælper med at bestemme, hvordan browsere cacher sider. Statiske sider leveres også med caching-headere for at gøre browser-caching nemmere.

Hvad angår sikre sites, sendes følgende headere sammen med svar:

  • Cache-Control: no-store
  • Pragma: no-cache

Hvad angår standardsites, sendes følgende headere:

  • Cache-Control: max-age=300
  • Edge-Control: !no-store,max-age=2592000,downstream-ttl=1800

    Headeren Edge-Control gør funktionsmåden for CDN-caching nemmere

Hvis du har tilpasset headerne i et af disse to områder, har svaret de tilpassede headere i stedet for de standardheadere, der er angivet her.

Du kan styre disse svar på lejerniveau eller siteniveau.

Detaljesider

Detaljesider på Oracle Content Management-sites gør det muligt for en enkelt side at vise oplysninger for flere indholdselementer.

Den samme detaljeside kan for eksempel bruges til at håndtere flere URL'er. Hver af disse URL'er ville vise den samme sidestruktur, men ville vise det indhold, der er relateret til de indholdselementer, hvis slug-værdier er henholdsvis item1.html, item2.html og item3.html. I denne situation kan cec-skabelon-compileren oprette fire filer:

  • /detail/item1.html
  • /detail/item2.html
  • /detail/item3.html
  • /detail.html

Den endelige fil gør det muligt at vise nypubliceret materiale på websitet, uden at sitet skal kompileres og publiceres igen. I dette eksempel publiceres et indholdselement med slug-værdien item4.html, efter at sitet er online. Den statiske side /detail.html gør det muligt at vise dette nye element dynamisk på sitet. URL'en /detail/item4.html ville levere siden detail.html, men vise indhold, der er relateret til indholdselementet item4.html.

cec-compileren genererer siden detail.html for at vise indholdselementer. Derfor har relative URL'er på den kompilerede detail.html-side ekstra overordnede segmenter (../). Det betyder, at hvis der refereres direkte til siden, vil selve siden detail.html ikke blive vist korrekt. Derfor skal der ikke refereres til selve siden detail.html, og den skal ikke føjes til sidenavigation.