Show Menu
TEMAS×

Desarrollo con CRXDE Lite

En esta sección se describe cómo desarrollar la aplicación AEM con CRXDE Lite.
Consulte la documentación general para obtener más información sobre los diferentes entornos de desarrollo disponibles.
CRXDE Lite está integrado en AEM y le permite realizar tareas de desarrollo estándar en el navegador. Con CRXDE Lite, puede crear un proyecto, crear y editar archivos (como .jsp y .java), carpetas, plantillas, componentes, cuadros de diálogo, nodos, propiedades y paquetes mientras registra e integra con SVN. CRXDE Lite se recomienda cuando no tenga acceso directo al servidor AEM, cuando desarrolle una aplicación ampliando o modificando los componentes integrados y los paquetes de Java o cuando no necesite un depurador dedicado, la finalización del código y el resaltado de sintaxis.
De forma predeterminada, todos los usuarios de AEM pueden acceder a CRXDE Lite. Si lo desea, configure las ACL para el nodo siguiente para que solo los desarrolladores puedan acceder a CRX DE Lite:
/libs/granite/crxde
Se recomienda utilizar las herramientas de desarrollador de AEM para Eclipse y la extensión de los corchetes HTML de AEM durante el desarrollo del proyecto.

Introducción a CRXDE Lite

Para comenzar con CRXDE Lite, siga estos pasos:
  1. Instale AEM.
  2. En el explorador, introduzca https://<host>:<port>/crx/de . De forma predeterminada, lo es https://localhost:4502/crx/de .
  3. Introduzca su nombre de usuario y contraseña . De forma predeterminada es admin y admin .
  4. Haga clic en Aceptar .
La interfaz de usuario de CRXDE Lite tiene el siguiente aspecto en el navegador:
Ahora puede utilizar CRXDE Lite para desarrollar su aplicación.

Información general sobre la interfaz de usuario

CRXDE Lite oferta las siguientes funciones:
Barra de conmutación superior Permite cambiar rápidamente entre CRXDE Lite, Package Manager y Package Share.
Widget de ruta de nodo
Muestra la ruta al nodo seleccionado actualmente.
También puede utilizarla para saltar a un nodo, introduciendo la ruta a mano o pegándola desde otro lugar y pulsando Intro.
También proporciona soporte para buscar nodos con un nombre de nodo específico. Escriba el nombre del nodo que desee encontrar y espere (o pulse el símbolo de búsqueda en el lado derecho). Puede intentar introducir, por ejemplo, el roble de cadena en la utilidad para ver cómo funciona. Si un nodo o nodos determinados se cargan en el panel del explorador, se mostrará la lista y podrá seleccionar la ruta y pulsar Intro para desplazarse hasta ella. Tenga en cuenta que solo funciona con los nodos cargados actualmente en la aplicación cliente CRXDE en el navegador. Si desea buscar en todo el repositorio, utilice Herramientas y luego Consulta.
Panel Explorador
Muestra un árbol de todos los nodos del repositorio.
Haga clic en un nodo para mostrar sus propiedades en la ficha Propiedades . Después de hacer clic en un nodo, puede seleccionar una acción en la barra de herramientas. Vuelva a hacer clic en el nodo para cambiarle el nombre.
Filtro de navegación de árbol (icono binocular): permite filtrar los nodos del repositorio para los que el nombre contiene el texto de entrada. Solo se aplica a los nodos que se han cargado localmente.
Panel Editar
Ficha Inicio : le permite buscar contenido y/o documentación y acceder a los recursos del desarrollador (documentación, blog del desarrollador, base de conocimiento) y a la asistencia técnica (página principal y centro de asistencia de Adobe).
Haga clic con el botón Doble en un archivo del panel Explorador para mostrar su contenido; como, por ejemplo, un archivo .jsp o .java. A continuación, puede modificarlo y guardar los cambios.
Una vez que se edita un archivo en el panel Editar , las siguientes herramientas están disponibles en la barra de herramientas:
- Mostrar en árbol: muestra el archivo en el árbol del repositorio. - Buscar/Reemplazar ... : realice búsquedas o reemplace. Al hacer clic con el Doble en la línea de estado del panel Editar , se abre el cuadro de diálogo Ir a la línea para que pueda introducir un número de línea específico al que ir.
Ficha Propiedades Muestra las propiedades del nodo seleccionado. Puede agregar nuevas propiedades o eliminar las existentes.
Ficha Control de acceso
Mostrar permisos basados en la ruta actual, nivel de repositorio o principal.
Los permisos se desglosan en
- Política de Control de acceso aplicable: Políticas que se pueden aplicar a la selección actual.
- Políticas de Control de acceso local: Políticas actuales aplicadas localmente a la selección actual.
- Políticas eficaces de Control de acceso : Las políticas actuales aplicadas a la selección actual pueden establecerse localmente o heredarse de los nodos principales.
Nota. Para poder ver la información del Control de acceso, el usuario que haya iniciado sesión en CRXDE Lite debe tener derechos para leer entradas ACL. El usuario anónimo no puede ver esta información de forma predeterminada: inicie sesión como, por ejemplo, administrador para ver la información.
Ficha Replicación
Muestra el estado de replicación del nodo actual. Puede replicar y replicar la eliminación del nodo actual.
Ficha Consola
Registros de servidor :
Muestra mensajes de registros. Puede configurar el nivel de registro, borrar la consola, fijar en la posición de desplazamiento seleccionada y habilitar/deshabilitar la visualización de mensajes.
Control de versión :
Muestra mensajes de control de versiones.
Ficha Información de compilación Muestra información cuando se está generando un paquete.
Actualizar Actualiza la selección actual. Los cambios de otros usuarios se actualizan en la vista del repositorio. Los cambios realizados no se verán afectados.
Guardar todos
Guardar todos :
Guarda todos los cambios realizados. Hasta que haga clic en Guardar, los cambios serán temporales y se perderán al salir de la consola.
Revertir :
Desecha todos los cambios realizados en el nodo seleccionado desde la última acción de guardar y, a continuación, vuelve a cargar el estado actual del repositorio para el nodo seleccionado.
Revertir todos :
Desecha todos los cambios que ha realizado en todo el repositorio desde la última acción de guardar y, a continuación, vuelve a cargar el estado actual del repositorio.
Crear ...
Menú desplegable para crear lo siguiente en el nodo seleccionado:
- Nodo : un nodo con un tipo de nodo arbitrario
- Archivo : nt:file node y su nt:resource subnode
- Carpeta : nt:nodo de carpeta
- Plantilla : Plantilla de AEM
- Componente : Componente AEM
- Diálogo : Cuadro de diálogo AEM
Eliminar Elimina el nodo seleccionado.
Copiar Copia el nodo seleccionado.
Pegar Pega el nodo copiado debajo del nodo seleccionado.
Mover ... Mueve el nodo seleccionado al nodo definido a través del cuadro de diálogo.
Cambiar nombre ... Cambia el nombre del nodo seleccionado.
Clases... Permite agregar tipos de mezcla al tipo de nodo. Los tipos de mezclas se utilizan principalmente para añadir funciones avanzadas como versiones, controles de acceso, referencias y bloqueo al nodo.
Equipo
Menú desplegable para realizar tareas de control de versiones estándar:
- Actualizar repositorio desde el servidor SVN
- Confirmar cambios locales en el servidor SVN
- Estado de Vista del nodo actual
- Estado recursivo de Vista del subárbol del nodo actual
- Cierre de compra una copia de trabajo del servidor SVN
- Exportar un proyecto desde el servidor SVN (sin crear una copia de trabajo)
- Importar un proyecto del repositorio al servidor SVN
Tenga en cuenta que debe iniciar sesión como usuario con permisos suficientes para poder ejecutar algunas de las tareas (especialmente las que escriben en el repositorio local).
Herramientas
Menú desplegable con las siguientes herramientas:
- Configuración del servidor... : para acceder a la consola Felix.
- Consulta ... : para consulta del repositorio.
- Privilegios ... : para abrir la administración de privilegios, donde puede vista y agregar privilegios.
- Control de acceso de prueba ... : un lugar donde puede probar el permiso para una ruta determinada o principal.
- Exportar tipo de nodo: para exportar tipos de nodos en el sistema como notación de código.
- Importar tipo de nodo... : para importar tipos de nodos mediante notación cnd.
- Instalar el depurador de SiteCatalyst... : instrucciones sobre cómo instalar Analytics Debugger.
Utilidad de inicio de sesión
Muestra los usuarios que han iniciado sesión en ese momento y el espacio de trabajo en el que han iniciado sesión, por ejemplo: admin@crx.default.
Haga clic en él para iniciar sesión o volver a iniciarla como un usuario específico. Si no especifica un espacio de trabajo en el que iniciar sesión, iniciará sesión en el espacio de trabajo predeterminado, crx.default.
Si desea examinar el repositorio como usuario anónimo, utilice anónimo como nombre de inicio de sesión y cualquier contraseña (por ejemplo, un espacio o un punto).
Si su autorización ya no es válida (por ejemplo, ha caducado), la utilidad de inicio de sesión muestra " No autorizado - Inicio de sesión... ". Haga clic en él para volver a iniciar sesión.

Creación de un proyecto

Con CRXDE Lite puede crear un proyecto de trabajo con tres clics. El asistente para proyectos crea un nuevo proyecto en /apps , contenido debajo de /conten t y un paquete que envuelve todo el proyecto en el que se encuentra el contenido /etc/packages . El proyecto se puede utilizar de inmediato para procesar una página de muestra con Hello World , basada en una secuencia de comandos jsp que procesa una propiedad del repositorio y llama a una clase Java para procesar texto.
Para crear un proyecto con CRXDE Lite:
  1. Abra CRXDE Lite en el navegador
  2. En el panel Navegación, haga clic con el botón derecho en un nodo, seleccione Crear... y, a continuación, Crear proyecto... . Nota: puede hacer clic con el botón secundario en cualquier nodo de la navegación de árbol, ya que los nuevos nodos de proyecto se crean, por diseño, debajo /apps, y /content /etc/packages .
  3. Definir:
    • Nombre del proyecto: el nombre del proyecto se utiliza para crear los nuevos nodos y el paquete, por ejemplo myproject .
    • Paquete Java: el prefijo del nombre del paquete Java, por ejemplo: com.mycompany .
  4. Haga clic en Crear .
  5. Haga clic en Guardar todo para guardar los cambios en el servidor.
Para acceder a la página de muestra que muestra Hola Mundo , dirija el explorador a:
https://localhost:4502/content/<project-name>.html
La página Hello World se basa en un nodo de contenido que llama a una secuencia de comandos jsp a través de la sling:resourceType propiedad. La secuencia de comandos lee la propiedad del jcr:title repositorio y obtiene el contenido del cuerpo llamando a un método de la clase SampleUtil, que está disponible en el paquete de proyectos.
Se crean los siguientes nodos:
  • /apps/<project-name> :: el contenedor de la aplicación.
  • /apps/<project-name>/components :: el contenedor de componentes, que contiene el archivo html.jsp de muestra, utilizado para procesar una página.
  • /apps/<project-name>/src :: el contenedor de paquetes, que contiene un paquete de proyectos de muestra.
  • /apps/<project-name>/install :: el contenedor compilado de paquetes, que contiene el paquete de proyectos de muestra compilado.
  • /content/<project-name> :: el contenedor de contenido.
  • /etc/packages/<java-suffix>/<project-name>.zip, un paquete que envuelve toda la aplicación y el contenido del proyecto. Puede utilizarla para volver a compilar el proyecto para una mayor implementación (por ejemplo, en otros entornos) o para compartirlo mediante Package Share.
La estructura tiene el siguiente aspecto en CRXDE Lite con un proyecto llamado myproject y un sufijo de paquete java llamado mycompany :

Creating a Folder

Para crear una carpeta con CRXDE Lite:
  1. Abra CRXDE Lite en el navegador
  2. En el panel Navegación, haga clic con el botón derecho en la carpeta en la que desea crear la nueva carpeta, seleccione Crear... y, a continuación, Crear carpeta... .
  3. Introduzca el nombre de la carpeta y haga clic en Aceptar .
  4. Haga clic en Guardar todo para guardar los cambios en el servidor.

Creating a Template

Para crear una plantilla con CRXDE Lite:
  1. Abra CRXDE Lite en el navegador
  2. En el panel Navegación, haga clic con el botón derecho en la carpeta en la que desee crear la plantilla, seleccione Crear... y, a continuación, Crear plantilla... .
  3. Introduzca la etiqueta , el título , la descripción , el tipo de recurso y la clasificación de la plantilla. Haga clic en Siguiente .
  4. Este paso es opcional: establezca las Rutas permitidas . Haga clic en Siguiente
  5. Este paso es opcional: establezca los Padres ​permitidos. Haga clic en Siguiente .
  6. Este paso es opcional: establezca los elementos secundarios permitidos . Haga clic en Aceptar .
  7. Haga clic en Guardar todo para guardar los cambios en el servidor.
Crea:
  • Un nodo de tipo cq:Template con propiedades Template
  • Un nodo secundario de tipo cq:PageContent con propiedades de contenido de página
Puede agregar propiedades a la plantilla: consulte la sección Creación de una propiedad .

Creación de un componente

La función que se describe aquí solo está disponible si CQ5 está instalado, es decir, si el tipo de nodo cq:Component está disponible en el repositorio.
Para crear un componente con CRXDE Lite:
  1. Abra CRXDE Lite en el navegador
  2. En el panel Navegación, haga clic con el botón derecho en la carpeta en la que desea crear el componente, seleccione Crear... y, a continuación, Crear componente... .
  3. Introduzca la etiqueta , el título , la descripción , el tipo ​de recurso superior y el grupo del componente. Haga clic en Siguiente .
  4. Este paso es opcional: defina las propiedades del componente Es Contenedor, Sin decoración , Nombre de celda y Ruta de cuadro de diálogo . Haga clic en Siguiente .
  5. Este paso es opcional: establezca la propiedad del componente Padres permitidos. Haga clic en Siguiente .
  6. Este paso es opcional: establezca la propiedad del componente Permitidos elementos secundarios . Haga clic en Aceptar .
  7. Haga clic en Guardar todo para guardar los cambios en el servidor.
Crea:
  • Un nodo de tipo cq:Component
  • Propiedades del componente
  • Un script .jsp de componente

Creación de un cuadro de diálogo

Para crear un cuadro de diálogo con CRXDE Lite:
  1. Abra CRXDE Lite en el navegador
  2. En el panel Navegación, haga clic con el botón derecho en el componente en el que desea crear el cuadro de diálogo, seleccione Crear... y, a continuación, Crear cuadro de diálogo... .
  3. Introduzca la etiqueta y el título . Haga clic en Aceptar .
  4. Haga clic en Guardar todo para guardar los cambios en el servidor.
Crea un cuadro de diálogo con la siguiente estructura:
dialog[cq:Dialog]/items[cq:Widget]/items[cq:WidgetCollection]/tab1[cq:Panel]
Ahora puede adaptar el cuadro de diálogo a sus necesidades modificando propiedades o creando nuevos nodos.
También puede utilizar el Editor de cuadros de diálogo para editar un cuadro de diálogo. Al hacer clic en el nodo de cuadro de diálogo en CRXDE Lite, aparecerá el editor. Puede encontrar más información sobre el Editor de cuadros de diálogo aquí .

Creación de un nodo

Para crear un nodo con CRXDE Lite:
  1. Abra CRXDE Lite en el navegador
  2. En el panel Navegación, haga clic con el botón derecho en el nodo en el que desea crear el nuevo nodo, seleccione Crear... y, a continuación, Crear nodo... .
  3. Introduzca el Nombre y el Tipo . Haga clic en Aceptar .
  4. Haga clic en Guardar todo para guardar los cambios en el servidor.
Ahora puede adaptar el nodo a sus necesidades modificando propiedades o creando nuevos nodos.
La mayoría de las operaciones de edición, incluido Crear nodo, mantienen todos los cambios en la memoria y solo los almacena en el repositorio al guardarlos (mediante el botón "Guardar todo"). Sin embargo, algunas operaciones como mover se mantienen automáticamente.
La validación con respecto a si el nuevo nodo creado está permitido por el tipo de nodo del nodo principal también la realiza el repositorio JCR primero al guardar los cambios. Si recibe un mensaje de error al guardar un nodo, compruebe si la estructura de contenido es válida (por ejemplo, no puede crear un nt:unstructured nodo como secundario de nt:folder nodo).

Creación de una propiedad

Para crear una propiedad con CRXDE Lite:
  1. Abra CRXDE Lite en el navegador
  2. En el panel Navegación, seleccione el nodo en el que desea agregar la nueva propiedad.
  3. En la ficha Propiedades del panel inferior, introduzca el Nombre , el Tipo y el Valor . Haga clic en Agregar .
  4. Haga clic en Guardar todo para guardar los cambios en el servidor.

Creación de una secuencia de comandos

Para crear una nueva secuencia de comandos:
  1. Abra CRXDE Lite en el navegador
  2. En el panel Navegación, haga clic con el botón derecho en el componente en el que desea crear la secuencia de comandos, seleccione Crear ... y, a continuación, Crear archivo ... .
  3. Introduzca el nombre del archivo, incluida su extensión. Haga clic en Aceptar .
  4. El nuevo archivo se abre como una ficha en el panel Editar.
  5. Edite el archivo.
  6. Click Save All to save the changes.

Administración de un paquete

Con CRXDE Lite, es sencillo crear un paquete OSGI, agregarle clases Java y compilarlo. El paquete se instala automáticamente y se inicia en el contenedor OSGI.
En esta sección se describe cómo crear un Test paquete con una clase HelloWorld Java que muestra Hello World! en el explorador cuando se solicita el recurso.

Creación de un paquete

Para crear el paquete de prueba con CRXDE Lite:
  1. En CRXDE Lite, cree myapp un proyecto con el asistente del proyecto. Entre otros, se crean los siguientes nodos:
    • /apps/myapp/src
    • /apps/myapp/install
  2. Haga clic con el botón derecho en la carpeta /apps/myapp/src que contendrá el Test paquete, seleccione Crear... y, a continuación, Crear paquete... .
  3. Configure las propiedades del paquete de la siguiente manera:
    • Nombre simbólico del paquete: com.mycompany.test.TestBundle
    • Nombre de paquete: Test Bundle
    • Descripción del paquete:
      This is my Test Bundle
      
      
    • Paquete:
      com.mycompany.test
      
      
    Haga clic en Aceptar .
  4. Haga clic en Guardar todo para guardar los cambios en el servidor.
El asistente crea los siguientes elementos:
  • El nodo com.mycompany.test.TestBundle de tipo nt:folder. Es el nodo de contenedor del paquete.
  • El archivo com.mycompany.test.TestBundle.bnd . Actúa como descriptor de implementación para el paquete y consta de un conjunto de encabezados.
  • Estructuras de carpetas:
    • src/main/java/com/mycompany/test . Contendrá los paquetes y las clases de Java.
    • src/main/resources . Contendrá los recursos utilizados dentro del paquete.
  • El Activator.java archivo. Es la clase de oyente opcional a la que se notificará el inicio del paquete y los eventos de parada.
La tabla siguiente lista todas las propiedades del archivo .bnd, sus valores y descripciones:
Propiedad Valor (en la creación del paquete) Descripción
Export-Package:
*
Nota: este valor debe adaptarse para reflejar la especificidad del paquete.
El encabezado Export-Package define los paquetes exportados del paquete (lista de paquetes separados por comas). Los paquetes exportados constituyen la vista pública del paquete.
Import-Package:
*
Nota: este valor debe adaptarse para reflejar la especificidad del paquete.
El encabezado Import-Package define los paquetes importados para el paquete (lista de paquetes separados por comas)
Paquete privado:
*
Nota: este valor debe adaptarse para reflejar la especificidad del paquete.
El encabezado Private-Package define los paquetes privados para el paquete (lista de paquetes separados por comas). Los paquetes privados constituyen la implementación interna.
Nombre del paquete: Paquete de prueba Define un nombre corto y legible para el paquete
Descripción del paquete: Este es mi paquete de prueba Define una descripción breve y legible para el paquete
Nombre simbólico del paquete: com.mycompany.test.TestBundle Especifica un nombre único y no localizable para el paquete
Versión del paquete: 1.0.0-SNAPSHOT Especifica la versión del paquete
Bundle-Activator: com.mycompany.test.Activator Especifica el nombre de la clase de oyente opcional a la que se notificará el inicio del paquete y los eventos de detención
Para obtener más información sobre el formato de la oferta, consulte la utilidad de la oferta utilizada por CRXDE para crear paquetes OSGI.

Creación de una clase Java

Para crear la clase HelloWorld Java dentro del paquete de prueba:
  1. Abra CRXDE Lite en el navegador
  2. En el panel Navegación, haga clic con el botón derecho en el nodo que contiene el Activator.java archivo ( /apps/myapp/src/com.mycompany.test.TestBundle/src/main/java ), seleccione Crear ... y, a continuación, Crear archivo ... .
  3. Asigne un nombre al archivo HelloWorld.java . Haga clic en Aceptar .
  4. El HelloWorld.java archivo se abre en el panel Editar.
  5. Añada las líneas siguientes en HelloWorld.java :
      package com.mycompany.test;
    
      public class HelloWorld {
      public String getString(){
      return "Hello World!";
      }
      }
    
    
  6. Haga clic en Guardar todo para guardar los cambios en el servidor.

Creación de un paquete

Para crear el paquete de prueba:
  1. Abra CRXDE Lite en el navegador
  2. En el panel Navegación, haga clic con el botón derecho en el archivo .bnd, seleccione Herramientas y, a continuación , Paquete .
Asistente de compilación de paquetes:
  • Compila las clases de Java.
  • Crea el archivo .jar que contiene las clases Java compiladas y los recursos y lo coloca en la myapp/install carpeta.
  • Instala y inicio el paquete en el contenedor OSGI.
Para ver el efecto del paquete de prueba, cree un componente que utilice el método Java HelloWorld.getString() y un recurso que este componente procese:
  1. Cree el componente mycomp en myapp/components .
  2. Edite mycomp.jsp y reemplace el código con las siguientes líneas:
      <%@ page import="com.mycompany.test.HelloWorld"%><%
      %><%@ include file="/libs/foundation/global.jsp"%><%
      %><% HelloWorld hello = new HelloWorld();%><%
      %>
      <html>
      <body>
      <b><%= hello.getString() %></b><br>
      </body>
      </html>
    
    
  3. Cree el recurso test_node de tipo nt:unstructured en /content .
  4. Para test_node , cree la siguiente propiedad: Nombre = sling:resourceType , Tipo = String , Valor = myapp/components/mycomp .
  5. Haga clic en Guardar todo para guardar los cambios en el servidor.
  6. En el explorador, solicite test_node : https://<hostname>:<port>/content/test_node.html .
  7. Se muestra una página con el Hola Mundo! message.

Exportación e importación de tipos de nodos

Con CRXDE Lite puede importar y/o exportar definiciones de tipo de nodo en la notación node-type-notation.htmlCND (Área de nombres compacta y definición de tipo de nodo).
Para exportar una definición de tipo de nodo:
  1. Abra CRXDE Lite en el navegador
  2. Seleccione el nodo requerido.
  3. Seleccione Herramientas y luego Exportar tipo de nodo.
  4. La definición, en notación de código, se mostrará en el explorador. Guarde la información si es necesario.
Para importar una definición de tipo de nodo:
  1. Abra CRXDE Lite en el navegador
  2. Seleccione Herramientas y luego Importar tipo de nodo... .
  3. Introduzca la notación CND para la definición en el cuadro de texto.
  4. Marque Permitir actualización si está actualizando una definición existente.
  5. Haga clic en Importar .

Registro

Con CRXDE Lite puede mostrar el archivo error.log que se encuentra en el sistema de archivos <crx-install-dir>/crx-quickstart/server/logs y filtrarlo con el nivel de registro adecuado. Proceda de la siguiente manera:
  1. Abra CRXDE Lite en el navegador
  2. En la ficha Consola de la parte inferior de la ventana, en el menú desplegable de la derecha, seleccione Registros del servidor .
  3. Haga clic en el icono Detener para mostrar los mensajes.
Puede hacer lo siguiente:
  • Ajuste los parámetros de registro en la consola Félix haciendo clic en el icono Configuración de registro.
  • Para borrar los mensajes, haga clic en el icono Pincel .
  • Anclar el mensaje en la selección actual haciendo clic en el icono Anclar .
  • Para activar o desactivar la visualización de mensajes, haga clic en el icono Detener .

Control de acceso

Consulte Administración de usuarios, grupos y derechos de acceso para obtener más información.