Adresaci Szkolenia:

Szkolenie adresowane jest do programistów Java (backend), którzy chcą poznać podstawy umiejętności tworzenia aplikacji w systemie zarządzania treścią Adobe Communiqué.

Cel szkolenia:

Celem szkolenia jest zdobycie od podstaw umiejętności niezbędnych do tworzenia portali w oparciu o CQ. Wprowadza podstawową teorię i aspekty technologii, niezbędne do rozpoczęcia samodzielnego programowania. Po wstępnym zapoznaniu uczestników z uruchumionymi lokalnie instancjami omawiane zostają ogólne zagadnienia związane z głównymi osiami fundamentalnymi CQ jakimi są OSGi i jego implementacja w postaci Apache Felix, Java Content Repository na przykładzie Content Repository Extreme, ReST oraz webowy framework Apache Sling. Następnie przeprowadzony zostaje proces stworzenia aplikacji, a w niej szablonu strony wraz z komponentami do osadzenia na niej, zintegrowanymi z webowym interfejsem dostępnym później dla edytorów stron. Pojawiają się podstawowe pojęcia dialogu i parsysa, niezbędne do pracy autora. Przedstawione zostają również pewne często używane zagadnienia, między innymi podstawy zabezpieczania dostępu poprzez Closed User Group, mapowanie i skracanie ścieżek, wstęp do dispatchera. Główny jednak nacisk kładziony jest na zapoznanie uczestników z dostarczonym API i podstawowych metodach dostępu do obiektów i danych w wywołaniach renderowanych stron.

Wymagania:

W treści szkolenia zakłada się praktyczną umiejętność programowania w języku Java, podstawy HTML i znajomość technologii JSP.

Parametry szkolenia:

5*8 godzin (5*7 godzin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów). W trakcie warsztatów przeprowadzane będą ćwiczenia mające na celu zdobycie podstawowych umiejętności programistycznych i gruntownego poznania środowiska CQ.

Wielkość grupy: max. 8 osób.

Program szkolenia

  1. Wprowadzenie do CQ
    1. Uruchamianie - parametry linii poleceń
      1. Author mode
      2. Publish mode
    2. Interfejs systemu
    3. Zarządzanie treścią
      1. Aktywacja
      2. Strony
        1. Struktura
        2. Tworzenie nowej strony
          1. Tytuł vs nazwa
          2. Szablon
        3. Przejście do edycji
        4. Operacje
      3. Media (digital assets)
        1. Upload
        2. Rendycje (renderings)
        3. Edycja właściwości
        4. Operacje
      4. Tagi
        1. Operacje
        2. Właściwości
    4. Administracja
      1. Użytkownicy
        1. Operacje
        2. Grupy
        3. Właściwości
        4. Uprawnienia dostępu
      2. Narzędzia
        1. Struktura
        2. Designs
        3. ClientLibs
        4. Workflows
      3. Podstawowe zarządzanie pakietami - Package Manager
        1. Ogólne informacje
        2. Upload
        3. Instalacja
      4. Replikacja
        1. Ogólne informacje
        2. Agents
        3. Aktywacja drzewa
    5. Narzędzia związane z repozytorium CRX
      1. CRXDE Lite
        1. Interfejs
        2. Struktura drzewa
        3. Właściwości węzłów
        4. jcr:content
        5. Edycja i operacje na węzłach
        6. Typy węzłów
        7. Dziedziczenie
      2. Pakiety
        1. Tworzenie
        2. Właściwości
        3. Filtry
        4. Struktura pliku ZIP
          1. Konwencje
          2. jcr_root
          3. .content.xml
          4. Zawartość META-INF\vault
          5. Manualna edycja pakietu
            1. Na co trzeba uważać
            2. Struktura w podfolderach vs. struktura w xml
    6. Architektura systemu ogólnie
  2. Edycja strony
    1. Interfejs
    2. Content Finder
    3. Pominięcie #cf
    4. Sidekick
    5. Komponenty
      1. Grupowanie
      2. Parsys
      3. Dodawanie
      4. Dialog
    6. Menu operacji
    7. Właściwości strony
    8. Tryb podglądu
    9. Tryb projektowania
    10. Parametry w URL
      1. ?debug=layout
      2. ?wcmmode=(edit|preview|design|disabled)
      3. ?debugClientLibs=true
    11. Szybki podgląd struktury węzła dzięki rozszerzeniom
      1. .html
      2. .xml
      3. .json
    12. Dobre praktyki
  3. ReST
    1. Definicja
    2. HTTP
    3. Resource-oriented
    4. Addressable resources
    5. Uniform, constrained
    6. Representation oriented
    7. Stateless
  4. JCR + CRX
    1. Hierarchiczność
    2. Transakcyjność
    3. Spójność referencyjna
    4. Wersjonowanie
    5. Workspace
    6. Przestrzenie nazw
    7. Ścieżki
    8. Transformacja ścieżki do URL
    9. Globalne ID
    10. Full text search
    11. Węzły
      1. Atrybuty
        1. Typy wartości
          1. string
          2. uri
          3. boolean
          4. date
          5. long
          6. double
          7. decimal
          8. path
          9. name
          10. binary
          11. reference
          12. weakreference
        2. Wyróżnione atrybuty
          1. jcr:primaryType
          2. sling:resourceType
          3. sling:resourceSuperType
          4. jcr:mixinTypes
          5. jcr:title
          6. cq:template
          7. jcr:uuid
          8. cq:renderer
      2. Typy (jcr:primaryType)
        1. nt:unstructured
        2. nt:file
        3. nt:Folder
        4. nt:OrderedFolder
        5. dam:Asset
        6. cq:Page
        7. cq:PageContent
        8. nt:resource
        9. cq:Component
        10. cq:EditConfig
        11. cq:Dialog
        12. cq:Widget
        13. cq:WidgetCollection
        14. cq:Tag
      3. Dziedziczenie
    12. Jak to wygląda w praktyce
      1. Kopiowanie węzłów
      2. Na co trzeba uważać
  5. Apache Felix OSGi
    1. Modularność
    2. Przegląd /system/console
      1. Bundles
      2. Komponenty
      3. Konfiguracja
      4. Serwisy
      5. Sling Resource Resolver
    3. Bundle vs jar
      1. MANIFEST.MF
      2. Bundle-SymbolicName
      3. Import-Package
      4. Export-Package
      5. Require-Bundle
      6. Tworzenie bundle z pliku jar
    4. Cykl życia bundle
    5. Wybrane elementy API
      1. org.osgi.framework.BundleActivator
      2. org.apache.felix.scr.annotations.Service
      3. org.apache.felix.scr.annotations.Component
      4. org.apache.felix.scr.annotations.Properties
    6. Przykładowy serwis
      1. Implementacja
      2. jar -> bundle
      3. Instalacja
      4. Wykorzystanie
  6. Apache Sling
    1. ReST + JCR + OSGi
      1. Skrypty - języki
    2. Resources
    3. Dekompozycja URL
      1. Content path
      2. Selectors
      3. Extension
      4. Suffix
    4. Lokalizowanie skryptu na podstawie URL
      1. libs, apps
      2. GET, POST
      3. Priorytety
    5. Mappings for Resource Resolution
      1. sling:match
      2. sling:redirect
      3. sling:internalRedirect
      4. sling:alias
      5. sling:status
  7. Out of the Box
    1. /libs
      1. /libs/foundation/global.jsp
      2. komponenty
        1. parsys
        2. sitemap
        3. text
        4. image
        5. breadcrumb
    2. Geometrixx - wzorcowa aplikacja
      1. struktura aplikacji
      2. struktura content'u
      3. komponenty
      4. renderery
  8. Development
    1. Narzędzia
      1. CRXDE Lite based development
      2. FileVault
      3. Maven
      4. Eclipse
    2. Java API overview
      1. CQ taglib
        1. include
        2. includeClientLib
        3. defineObjects
        4. requestURL
      2. Obiekty JSP
        1. componentContext
        2. component
        3. currentDesign
        4. currentPage
        5. currentStyle
        6. designer
        7. editContext
        8. pageManager
        9. pageProperties
        10. properties
        11. resourceDesign
        12. resourcePage
        13. resource
        14. slingRequest
        15. resourceResolver
      3. Klasy, interfejsy
        1. org.apache.sling.api.adapter.Adaptable
        2. org.apache.sling.api.resource.Resource
        3. org.apache.sling.api.resource.ResourceResolver
        4. org.apache.sling.api.scripting.SlingScriptHelper
        5. org.apache.sling.api.request.RequestPathInfo
        6. com.day.cq.wcm.api.Page
        7. com.day.cq.wcm.api.PageManager
        8. com.day.cq.dam.api.Asset
    3. Tworzymy
      1. Aplikację
      2. Szablon
      3. Renderer
      4. Strukturę stron
      5. Podstawową zawartość strony
      6. Kilka skryptów renderujących
      7. Modularyzację
      8. Inicjalizujemy WCM
      9. Design
      10. Nawigację
      11. Tytuł
      12. Logo
      13. Używamy drag and drop
      14. Bundle
      15. Dialog
        1. panel
        2. textfield
        3. textarea
        4. selection
        5. options
        6. tabpanel
        7. multifield
        8. richtext
        9. image
        10. dialogfieldset
    4. Debugowanie
    5. Zabezpieczenia
      1. CUG
      2. Dispatcher

Pytania?

* Wymagane.
** Szczegóły promocji w Regulaminie.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email