لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش مبانی Adobe Experience Manager (AEM)
- آخرین آپدیت
دانلود Adobe Experience Manager (AEM) Basics
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
راهنمای جامع و کامل برای مبتدیان در مورد Adobe Experience Manager (نسخههای AEM 6.5 LTS و AEMaaCS)
درک مفهوم Adobe Experience Manager (AEM)، تاریخچه و روند تکامل این محصول.
انجام نصب محلی برای هر دو نسخه AEM 6.5 LTS و AEM as a Cloud Service (AEMaaCS)، یادگیری تفاوتهای کلیدی بین آنها و بررسی پوشه CRX Quickstart.
یادگیری نحوه ایجاد پروژههای جدید AEM با استفاده از AEM Project Archetype و درک جریان توسعه محلی (Local Development Flow).
آشنایی با ایجاد و مدیریت صفحات با استفاده از ابزارهای نویسندگی (Authoring Tools) در AEM، شامل پیکربندی ویژگیهای صفحه و درک ساختار صفحات.
یادگیری نحوه استفاده از CRXDE Lite برای مدیریت محتوا و کد، بررسی مخزن AEM و یادگیری نحوه استفاده از Package Manager.
درک مفهوم تمپلیتها (Templates) و انواع آنها، نحوه ایجاد، پیکربندی و مدیریت آنها در کدبیس و نحوه محدود کردن تمپلیتها برای بخشهای خاصی از صفحه.
یادگیری مفهوم پالیسیها (Policies) و نحوه ایجاد و مدیریت آنها در کدبیس.
یادگیری مفهوم کامپوننتها، نحوه ایجاد cq:dialog و cq:design_dialog، استفاده از Expression Language، پیادهسازی قابلیت نمایش/مخفیسازی و موارد دیگر.
یادگیری زبان HTL (HTML Template Language)، نحو (Syntax)، اشیاء HTL، دستورات Block و موارد مشابه.
یادگیری نحوه ایجاد و مدیریت کتابخانههای سمت کلاینت (Client-Side Libraries) در AEM و نحوه افزودن اعتبارسنجی (Validation) به cq:dialog.
درک هدف ماژول ui.frontend و نحوه فعالسازی جریانهای کاری و ابزارهای مدرن فرانتاند در پروژه AEM.
یادگیری نحوه فعالسازی، پیکربندی و توسعه سیستم استایل (Style System) برای ارائه گزینههای استایلدهی منعطف برای کامپوننتها.
درک مفهوم Apache Sling، نحوه تجزیه URL، پردازش درخواستها و حل Render Script.
یادگیری Sling Models، نحوه ایجاد آنها، تزریق دادهها، استفاده از Annotationها و موارد دیگر.
بررسی various AEM و Sling APIها و کاربردهای عملی آنها در توسعه.
یادگیری چارچوب OSGi، آشنایی با OSGi bundles، کامپوننتها و سرویسهای OSGi و نحوه پیکربندی آنها با استفاده از OSGi configurations.
آشنایی با محیطهای مختلف و نحوه سفارشیسازی رفتار و تنظیمات نمونه AEM بر اساس محیط اجرا.
یادگیری Sling Servlets و نحوه ایجاد و ثبت آنها بر اساس مسیر (Path) و نوع منبع (Resource Type).
یادگیری نحوه تست کدبیس AEM، شامل Sling Models، سرویسهای OSGi، Sling Adapters و سایر ویژگیها با استفاده از AEM Mocks.
یادگیری مفهوم Experience Fragments، نحوه ایجاد و استفاده مجدد از آنها و آشنایی با APIهای مربوطه.
یادگیری نحوه مدیریت داراییها (Assets) در AEM و بررسی Asset APIها.
درک مفهوم Content Fragments و مدلهای آنها (Content Fragment Models) و یادگیری APIهای مربوطه.
یادگیری نحوه استفاده از تگها برای سازماندهی، طبقهبندی و مدیریت محتوا در AEM، نحوه Resolve کردن تگها و کار با APIهای آنها.
پیش نیازها: دانش مقدماتی زبان Java توصیه میشود، هیچ پیشنیاز دیگری مورد نیاز نیست.
سلام، به این دوره خوش آمدید! نام من Andrii Bortnikov است و مهندس نرمافزار متخصص در Adobe Experience Manager هستم.
این اولین دوره از یک مجموعه دو قسمتی اختصاص یافته به Adobe Experience Manager است. در این دوره، یادگیری AEM را از صفر آغاز خواهیم کرد.
ما با بخش مقدمه شروع میکنیم که در آن با AEM، تاریخچه، نسخههای مختلف و موارد دیگر آشنا میشویم.
سپس، فرآیند نصب را پوشش میدهیم، در مورد جریان توسعه محلی بحث میکنیم و کدبیس یک پروژه AEM را بررسی میکنیم.
پس از آن، مفاهیم و ویژگیهای بنیادی مختلفی مانند صفحات، مخزن (Repository)، مدیریت پکیجها، تمپلیتها و انواع آنها، پالیسیها، کامپوننتها و غیره را خواهیم آموخت.
سپس، عمیقتر وارد مباحث کدنویسی شده و درباره زبان HTL، کتابخانههای سمت کلاینت، ماژول ui.frontend، سیستم استایل و موارد مشابه یاد میگیریم.
در ادامه، گامی فراتر نهاده و درباره چارچوب Apache Sling، مدلهای Sling، بررسی APIهای مختلف AEM، چارچوب OSGi، محیطهای مختلف، Run Modeها، Sling Servlets، Sling Filters و موارد دیگر خواهیم آموخت.
همچنین یک بخش اختصاصی برای تست کدهای AEM خواهیم داشت که در آن یاد میگیریم چگونه هر آنچه در بخشهای قبلی آموختیم را تست کنیم.
در نهایت، ویژگیهای پیشرفتهتری از AEM مانند Experience Fragments، Assets، Content Fragments و Tags را یاد خواهیم گرفت.
بسیار عالی! همانطور که مشاهده کردید، این یک دوره بسیار جامع است. به همین دلیل، اجازه دهید در مورد نحوه بهرهمندی حداکثری از آن صحبت کنیم:
اول از همه، موضوعات این دوره به صورت منطقی ساختار یافتهاند؛ از مبانی شروع شده و به مفاهیم پیشرفتهتر میرسیم. بنابراین، نیازی به دانش قبلی از AEM ندارید؛ ما همه چیز را گام به گام یاد میگیریم. به همین دلیل، شدیداً توصیه میکنم دوره را به ترتیب و بدون پرش از دروس دنبال کنید.
دوم، شما را تشویق میکنم که یادداشتبرداری کنید یا حتی همزمان با من کدنویسی کنید.
همچنین برای تقریباً هر بخش، تمرینهای خانگی وجود دارد (گاهی بیش از یک مورد). توصیه میکنم این تمرینها را انجام داده و سپس راهکارهای من را بررسی کنید. به این ترتیب، نهتنها تئوری را میآموزید، بلکه تجربه عملی نیز کسب میکنید.
بسیار عالی! امیدوارم اکنون با ساختار این دوره آشنا شده باشید.
برای پشتیبانی از ویدیوهای دوره، یک مخزن گیتهاب ایجاد کردهام که شامل تمام کدهایی است که در طول دوره مینویسیم. برای هر بخش، یک شاخه (Branch) شروع وجود دارد که شامل کدها قبل از شروع آن بخش است و یک شاخه نهایی که شامل کدهای تکمیل شده است. به این ترتیب، همیشه میتوانید کل کدبیس را مرور کرده یا در صورت داشتن سوال، کد خود را با کد من مقایسه کنید. لینک مخزن گیتهاب را در فایل پیوست شده به ویدیوی مقدمه خواهید یافت.
همچنین، اگر مایل به ارتباط با من هستید، لینک پروفایل لینکدین من در فایل پیوست شده به ویدیوی مقدمه موجود است.
من یک جامعه دیسکورد نیز ایجاد کردهام که در آن میتوانیم درباره AEM بحث کنیم و من آپدیتهای مربوط به این دوره را در آنجا قرار میدهم. لینک جامعه دیسکورد را نیز در همان فایل پیدا خواهید کرد.
بسیار عالی!
تقریباً همه چیز آماده است. بیایید یادگیری AEM را شروع کنیم!
سرفصل ها و درس ها
مقدمه
Introduction
مقدمه
Introduction
AEM چیست؟
What is AEM?
تاریخچه AEM
AEM History
نصب
Installation
مقایسه AEM 6.5 LTS و AEMaaCS
AEM 6.5 LTS vs AEMaaCS
نصب AEMaaCS
Installation of AEMaaCS
بررسی CRX Quickstart
Exploring CRX Quickstart
آرکیتایپ
Archetype
جریان توسعه محلی
Local Development Flow
آرکیتایپ پروژه AEM
AEM Project Archetype
بررسی کلی صفحات
Pages Overview
بررسی کلی صفحات
Pages Overview
بررسی کلی CRXDE Lite و مخزن
CRXDE Lite / Repository Overview
بررسی کلی CRXDE Lite و مخزن
CRXDE Lite / Repository Overview
مدیریت پکیجها
Package Manager
تمپلیتها و انواع تمپلیت
Templates & Template Types
بررسی کلی تمپلیتها
Templates Overview
جنبههای تمپلیت
Template Aspects
حالت Layout و ویژگیهای اولیه صفحه
Layout Mode & Initial Page Properties
ایجاد تمپلیت
Template Creation
تمپلیتها در مخزن
Templates in the Repository
خروجی گرفتن به Maven
Exporting to Maven
ایجاد انواع تمپلیت
Template Types Creation
مجاز کردن تمپلیتها
Allowing Templates
پالیسیها
Policies
پالیسیها
Policies
کامپوننتها
Components
بررسی کلی کامپوننتها
Components Overview
ایجاد کامپوننتها
Components Creation
دیالوگ cq:dialog
cq:dialog
ویژگیهای رایج
Common Attributes
قابلیت نمایش و مخفیسازی
Show/Hide Functionality
دیالوگ cq:design_dialog
cq:design_dialog
زبان Expression Language
Expression Language
متغیر cqDesign
cqDesign Variable
شرایط مخفیسازی
Hide Conditions
آیکونها
Icons
زبان HTL
HTL
زبان HTL
HTL
اشیاء HTL
HTL Objects
نحو (Syntax)
Syntax
دستورات Block
Block Statements
حالت WCMMode
WCMMode
کتابخانههای سمت کلاینت
Client-Side Libraries
کتابخانههای سمت کلاینت
Client-Side Libraries
اعتبارسنجی
Validation
تمرین خانگی
Homework
ماژول ui.frontend
ui.frontend
ماژول ui.frontend
ui.frontend
سایر ویژگیهای کتابخانه سمت کلاینت
More Client-Side Library Properties
سیستم استایل
Style System
سیستم استایل
Style System
توسعه سیستم استایل
Extending the Style System
آپاچی اسلینگ
Apache Sling
آپاچی اسلینگ
Apache Sling
تجزیه URL
URL Decomposition
حل Render Script
Render Script Resolution
مدلهای اسلینگ
Sling Models
الگوی MVVM
MVVM
مدلهای اسلینگ
Sling Models
استفاده از API در AEM
Use-API in AEM
استفاده از ValueMapValue@
@ValueMapValue
جایگاه نگهدارنده HTL
HTL Placeholder
مقدار پیشفرض Default@
@Default
دیباگر
Debugger
متد PostConstruct@
@PostConstruct
ویژگی RequestAttribute@
@RequestAttribute
استفاده از Self@ و SlingHttpServletRequest
@Self & SlingHttpServletRequest
متغیرهای ScriptVariables@ و Resource و ValueMapValue
@ScriptVariables & Resource & ValueMapValue
جریان درخواست HTTP در مدل اسلینگ
Sling Model Http Request Flow
ایپیآیهای AEM
AEM APIs
مدیریت منابع (ResourceResolver)
ResourceResolver
ایپیآیهای صفحه
Page APIs
آداپتورهای اسلینگ
Sling Adapters
ایپیآیهای تمپلیت
Template APIs
ایپیآیهای پالیسی
Policies APIs
ایپیآیهای کامپوننت
Component APIs
کدام API ترجیح داده شود؟
Which API to prefer?
ارثبری در ValueMap
InheritanceValueMap
استفاده از ModifiableValueMap
ModifiableValueMap
حالت WCMMode
WCMMode
استفاده از SlingObject@
@SlingObject
ثبت وقایع (Logging)
Logging
چارچوب OSGi
OSGi
چارچوب OSGi
OSGi
باندلهای OSGi
OSGi Bundles
کامپوننتهای OSGi
OSGi Components
سرویسهای OSGi
OSGi Services
استفاده از OSGiService@
@OSGiService
پیکربندیهای OSGi
OSGi Configurations
حالتهای اجرا (Run Modes)
Run Modes
بررسی کلی محیطها
Environments Overview
حالتهای اجرا (Run Modes)
Run Modes
اسلینگ سروولتها
Sling Servlets
سروولتهای اسلینگ بر اساس مسیر
Sling Servlets by Path
سروولتهای اسلینگ بر اساس نوع منبع
Sling Servlets by Resource Type
اسلینگ فیلترها
Sling Filters
فیلترهای اسلینگ
Sling Filters
تست و بررسی
Testing
تست و بررسی
Testing
کانتکست AEM و صفحات
AEM Context & Pages
شبیهسازی مخزن JCR
Mocking JCR Repository
تست تمپلیتها
Templates
تست مدلهای اسلینگ
Sling Models
تست استایل
Style
تست سرویسهای OSGi
OSGi Services
تست آداپتورهای اسلینگ
Sling Adapters
تست سروولتها و فیلترهای اسلینگ
Sling Servlets & Filters
نمایش نظرات