Een aangepaste Cloud Service maken creating-a-custom-cloud-service

CAUTION
AEM 6.4 heeft het einde van de uitgebreide ondersteuning bereikt en deze documentatie wordt niet meer bijgewerkt. Raadpleeg voor meer informatie onze technische ondersteuningsperioden. Ondersteunde versies zoeken hier.

De standaardset Cloud Services kan worden uitgebreid met aangepaste Cloud Servicen. Hierdoor kunt u aangepaste opmaakcodes op gestructureerde wijze in de pagina injecteren. Dit is in de eerste plaats handig voor andere leveranciers van analysemogelijkheden, zoals Google Analytics, Chartbone, enz. Cloud Services worden overgeërfd van bovenliggende pagina's naar onderliggende pagina's, waarbij de overerving op elk niveau kan worden verbroken.

NOTE
Deze stapsgewijze handleiding voor het maken van een nieuwe Cloud Service is een voorbeeld van het gebruik van Google Analytics. Alles is mogelijk niet van toepassing op het gebruik.
  1. Maak in CRXDE Lite een nieuw knooppunt onder /apps:

    • Naam: acs
    • Type: nt:folder
  2. Een nieuw knooppunt maken onder /apps/acs:

    • Naam: analytics
    • Type: sling:Folder
  3. Twee nieuwe knooppunten maken onder /apps/acs/analytics:

    • Naam: componenten
    • Type: sling:Folder

    en

    • Naam: sjablonen
    • Type: sling:Folder
  4. Rechtsklik ingeschakeld /apps/acs/analytics/components. Selecteren Maken… gevolgd door Component maken… In het dialoogvenster dat wordt geopend, kunt u het volgende opgeven:

    • Label: googleanalyticspage
    • Titel: Google Analytics Page
    • Supertype: cq/cloudserviceconfigs/components/configpage
    • Groep: .hidden
  5. Klikken Volgende tweemaal en vermeld:

    • Toegestane bovenliggende elementen: acs/analytics/templates/googleanalytics

    Klikken Volgende twee keer en klik OK.

  6. Een eigenschap toevoegen aan googleanalyticspage:

    • Naam: cq:defaultView
    • Waarde: html
  7. Een nieuw bestand maken met de naam content.jsp krachtens /apps/acs/analytics/components/googleanalyticspage, met de volgende inhoud:

    code language-xml
    <%@page contentType="text/html"
                pageEncoding="utf-8"%><%
    %><%@include file="/libs/foundation/global.jsp"%><div>
    
    <div>
        <h3>Google Analytics Settings</h3>
        <ul>
            <li><div class="li-bullet"><strong>accountID: </strong><br><%= xssAPI.encodeForHTML(properties.get("accountID", "")) %></div></li>
        </ul>
    </div>
    
  8. Een nieuw knooppunt maken onder /apps/acs/analytics/components/googleanalyticspage/:

    • Naam: dialog

    • Type: cq:Dialog

    • Eigenschappen:

      • Naam: title
      • Type: String
      • Waarde: Google Analytics Config
      • Naam: xtype
      • Type: String
      • Waarde: dialog
  9. Een nieuw knooppunt maken onder /apps/acs/analytics/components/googleanalyticspage/dialog:

    • Naam: items

    • Type: cq:Widget

    • Eigenschappen:

      • Naam: xtype
      • Type: String
      • Waarde: tabpanel
  10. Een nieuw knooppunt maken onder /apps/acs/analytics/components/googleanalyticspage/dialog/items:

    • Naam: items
    • Type: cq:WidgetCollection
  11. Een nieuw knooppunt maken onder /apps/acs/analytics/components/googleanalyticspage/dialog/items/items:

    • Naam: tab1

    • Type: cq:Panel

    • Eigenschappen:

      • Naam: title
      • Type: String
      • Waarde: Config
  12. Een nieuw knooppunt maken onder /apps/acs/analytics/components/googleanalyticspage/dialog/items/items/tab1:

    • Naam: items

    • Type: nt:unstructured

    • Eigenschappen:

      • Naam: fieldLabel

      • Type: String

      • Waarde: Account-id

      • Naam: fieldDescription

      • Type: String

      • Waarde: The account ID assigned by Google. Usually in the form UA-NNNNNN-N

      • Naam: name

      • Type: String

      • Waarde: ./accountID

      • Naam: validateOnBlur

      • Type: String

      • Waarde: true

      • Naam: xtype

      • Type: String

      • Waarde: textfield

  13. Kopiëren /libs/cq/cloudserviceconfigs/components/configpage/body.jsp tot /apps/acs/analytics/components/googleanalyticspage/body.jsp en wijzigen libs tot apps op regel 34 en maak van de scriptverwijzing op regel 79 een volledig gekwalificeerd pad.

  14. Een nieuwe sjabloon maken onder /apps/acs/analytics/templates/:

    • with Type bron = acs/analytics/components/googleanalyticspage
    • with Label = googleanalytics
    • with Titel= Google Analytics Configuration
    • with allowedPath = /etc/cloudservices/googleanalytics(/.*)?
    • with allowedChildren = /apps/acs/analytics/templates/googleanalytics
    • with sling:resourceSuperType = cq/cloudserviceconfigs/templates/configpage (op sjabloonknooppunt, niet het knooppunt jcr:content)
    • with cq:designPath = /etc/designs/cloudservices/googleanalytics (op jcr:content)
  15. Nieuwe component maken: /apps/acs/analytics/components/googleanalytics.

    Voeg de volgende inhoud toe aan googleanalytics.jsp:

    code language-xml
    <%@page import="org.apache.sling.api.resource.Resource,
                    org.apache.sling.api.resource.ValueMap,
                    org.apache.sling.api.resource.ResourceUtil,
                    com.day.cq.wcm.webservicesupport.Configuration,
                    com.day.cq.wcm.webservicesupport.ConfigurationManager" %>
    <%@include file="/libs/foundation/global.jsp" %><%
    
    String[] services = pageProperties.getInherited("cq:cloudserviceconfigs", new String[]{});
    ConfigurationManager cfgMgr = resource.getResourceResolver().adaptTo(ConfigurationManager.class);
    if(cfgMgr != null) {
        String accountID = null;
        Configuration cfg = cfgMgr.getConfiguration("googleanalytics", services);
        if(cfg != null) {
            accountID = cfg.get("accountID", null);
        }
    
        if(accountID != null) {
        %>
    <script type="text/javascript">
    
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', '<%= accountID %>']);
      _gaq.push(['_trackPageview']);
    
      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'https://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();
    
    </script><%
        }
    }
    %>
    

    Dit zou de douanemarkering moeten uitvoeren die op de configuratieeigenschappen wordt gebaseerd.

  16. Navigeren naar http://localhost:4502/miscadmin#/etc/cloudservices en maak een nieuwe pagina:

    • Titel: Google Analytics
    • Naam: googleanalytics

    Ga terug in CRXDE Lite en onder /etc/cloudservices/googleanalytics, voegt u de volgende eigenschap toe aan jcr:content:

    • Naam: componentReference
    • Type: String
    • Waarde: acs/analytics/components/googleanalytics
  17. Navigeer aan de pas gecreëerde pagina van de Dienst ( http://localhost:4502/etc/cloudservices/googleanalytics.html) en klik op de knop + om een nieuwe config tot stand te brengen:

    • Bovenliggende configuratie: /etc/cloudservices/googleanalytics
    • Titel: My First GA Config

    Kies Configuratie Google Analytics en klik op Maken.

  18. Voer een Account-id bijvoorbeeld AA-11111111-1. Klikken OK.

  19. Navigeer naar een pagina en voeg de nieuw gemaakte configuratie toe in de pagina-eigenschappen, onder de Cloud Services tab.

  20. Aan de pagina wordt de aangepaste markering toegevoegd.

recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e