Desenvolvimento Back-end em AEM - Parte I
Tags: aem, adobe, backend, cms
Published: 2021-10-28 13:40:18

O nome original dessa aula é: [Back-end Development for Developer](https://solutionpartners.adobe.com/training/learning_program/learningProgram52530.html)

## Eclipse
**Installing and Configuring Eclipse**

Sobre o [Maven](https://dev.to/beatrizmaciel/maven-e-suas-funcionalidades-5hak): 

- Simplifica e disponibiliza processos uniformes 
- Faz uso do project object model (POM) 
    -- O pom.xml define a informação do projeto, constrói um ambiente de configurações e relacionamentos 
    -- O Maven Archetypes/Lazybones é um template de projeto

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jmjwv6ernf1dxgvlcjvi.png)

*Ferramentas AEM para o Eclipse*

O AEM Developer Tools para o Eclipse é um plug-in baseado no Apache Sling lançado pela licença 2 do Apache. Ele oferece várias features que podem fazer o desenvolvimento AEM mais simples: 

- Integração desacoplada com as instâncias AEM através do Eclipse Server Connector 
- Sincronização para ambos os conteúdos e OSGI bundles 
- Suporte de debbug com capacidade de código hot-swapping 
- Bootstrap simples de projetos AEM através de um Projeto Creation Wizard específico 
- Fácil edição de propriedades do Java Content Repository (JCR)

## Use Pacotes e Run Modes customizados

**Usando FileVault (VLT)**

- O FileVault tool (VLT) é uma ferramenta desenvolvida pela Adobe que mapeia o conteúdo de uma instância CRX/CQ para um arquivo de programa 
- O VLT tool tem funcionalidades similiares àquelas do source control system do cliente 
- O FileVault disponibiliza check-in normal, checkout e administração de operações, além de opções de configuração para representação flexível do conteúdo do projeto 
- FileVault está localizada no diretório ../crx-quickstart/opt/helpers 

**Usando Pacotes**

Um pacote (package) é um arquivo zip que guarda conteúdo de repositório no formato de uma serialização file-system (também conhecida como serialização vault). Isso possibilita uma utilização facilitada e a representação editável de arquivos e pastas. 
Packages incluem conteúdo, conteúdo de ambas as páginas e conteúdo relacionado ao projeto, selecionado usando filtros. 
Packages também contém meta informação vault, incluindo as definições de filtro e a importação de informações de configuração. As propriedades adicionais de conteúdo (que não são usadas para a extração do package) podem ser incluídas no package, como descrição, uma imagem visual ou um ícone. Essas propriedades são somente para o consumidor de conteúdos do pacote e têm apenas o objetivo de informar. 

Packages te permitem importar e exportar o conteúdo de um repositório. Por exemplo, você pode usar packages para instalar uma nova funcionalidade, transferir conteúdo entre as instâncias e fazer o backup de conteúdo do repositório. 

Você pode acessar ou mantem packages a partir das seguintes páginas: 

- Package Manager, o qual você usa para administrar os pacotes na sua instância AEM local 
- Package Share, um servidor centralizado que contém tanto pacotes de publicidade disponível quanto os pacotes privados da sua empresa – os pacotes públicos podem conter hotfixes, novas funcionalidades, documentação e outros 

Você pode transferir packages entre o Package Manager, Package Share e o seu sistema de arquivos

*Passo a passo:*

Tools > Deployment > Packages 
Create Package > nomear 
Edit > escolher os diretórios que esse package se aplica > clicar no link de download 
Upload package > Force upload (se for duplicado) > Install

**Use Custom Run Modes** 

- Run modes te permitem equalizar a instância AEM para um propósito específico. Você pode usar para autorar ou publicar, testar, desenvolver ou usar a intranet 
- Você pode: 
    -- Definir coleções de parâmetros de configuração para cada run mode (um set básico de parâmetros de configurações é aplicado para todos os run modes e você pode equalizar sets adicionais para alcançar o propósito do seu ambiente específico) 
    -- Definir bundles adicionais para serem instalados para um modo particular 
- Todas as configurações e definições são guardadas em um repositório e ativadas quando configuramos o run mode. 

=======

## Questões Finais

**Eclipse**

1 – Para importar o projeto lazubones para o servidor AEM você pode rodar Mavens diferentes do prompt de comando ou adicionar um novo servidos e performar o deploy do código. 
Verdadeiro

2 – O template lazybones te permite usar o bootstrap no projeto AEM com uma estrutura apropriada. 
Verdadeiro 

3 – Qual é a sequência correta para preparar o ambiente de desenvolvimento? 
AEM login > ir para a janela do terminal > entrar o comando > gerar os arquivos de projeto do Eclipse > Ir para File > Selecionar Import no menu > Procurar > Terminar

4 – Qual arquivo te permite iniciar o servidor AEM? 
.bat 

5 – Qual das opção são verdadeiras no que diz respeito ao Maven projects? 
Maven simplifica e fornece um processo de buid uniforme; 
Maven faz uso do Project Object Model (POM). 

6 – Qual a sequencia correta para criar um projeto Maven? 
File > New > Project > Select a project > next > select an archetype > generate a project using command line 


**Use Packages and Custom Run Modes**

1 – Qual é a função do filter.xml? 
Controlar o conteúdo upado para o servidor AEM pelo FileVault tool 

2 - Você pode acessar o Package Share somente através do menu Deployment na seção Tools na instância de AEM local. 
Falso 

3 - Você pode usar run modes customizados para diferenciar entre instâncias AEM.
Verdadeiro 

4 – Qual desses te ajuda a importar e exportar o conteúdo do repositório?
Package 

5 – Qual feature AEM te permite equalizar a instância AEM para um propósito específico? 
Run modes 

6 – O que os filtros no Packages map fazem? 
O content path em um repositório 

7 – As configurações e definições dos run modes estão guardadas em vários repositórios. 
Falso 

8 - Você pode fazer o download dos feature packs do Package Share e salver eles somente em uma instância local do AEM. 
Falso 

9 – Quantos tipoes de run modes você pode instanciar no AEM? 
Três 

10 – Onde o FileVault está localizado? 
No diretório CRX quickstart