Controlla se sei su autore o pubblicazione

Problema

Come posso verificare se il codice è in esecuzione su un autore o un'istanza di pubblicazione?

Soluzione

Il modo migliore per verificare se il codice è in esecuzione nell'ambiente di authoring in CQ è il seguente.
DeliveryHttpServletRequest cqRequest = (DeliveryHttpServletRequest) request; // flag to indicate whether application is Author or Publish boolean isAdmin = !cqRequest.getCmsService().getDisplayControlSet(cqRequest).equals(DisplayControlSet.SHOW); // flag to indicate whether application is in preview/show mode boolean isShowMode = (cqRequest.getCmsService().getDisplayControlSet(cqRequest).equals(DisplayControlSet.SHOWMODE) || "ShowMode".equals(cqRequest.getParameter("Show")) );

Questo metodo è meglio che controllare l'URL, perché questo codice non si basa su un contesto specifico, che può cambiare. Inoltre, il server autore può essere commutato in modalità di pubblicazione impostando il parametro "Mostra" a 1 nella richiesta. Quindi, la richiesta a /author/somepage.html?Show=1 si trasforma in pubblicazione. Pertanto, affidarsi al contesto non è una soluzione affidabile.

 Adobe

Ottieni supporto in modo più facile e veloce

Nuovo utente?

Adobe MAX 2024

Adobe MAX
La conferenza sulla creatività

14-16 ottobre Miami Beach e online

Adobe MAX

La conferenza sulla creatività

14-16 ottobre Miami Beach e online

Adobe MAX 2024

Adobe MAX
La conferenza sulla creatività

14-16 ottobre Miami Beach e online

Adobe MAX

La conferenza sulla creatività

14-16 ottobre Miami Beach e online