Un tema debe tener un archivo components.json ubicado en /NombreTema/components.json, que especifica los componentes utilizados en el tema.
Este archivo debe contener un JSON válido y como mínimo una matriz de JSON vacía [].
La sintaxis del archivo components.json incluye todos los componentes locales y admite totalmente la categorización de componentes. (Los componentes remotos se registran en el catálogo de componentes).
Independientemente de qué componentes se agreguen al archivo components.json del nivel de tema (incluido ninguno), Oracle Content Management rellena un juego de componentes por defecto disponibles para los usuarios. Este juego por defecto se define en el código de origen. En la lista siguiente se muestran los componentes y los componentes (iniciales) representados en marcos en línea. Además, todos los componentes remotos registrados en el nivel de servicio y puestos a disposición de los usuarios en su instancia estarán disponibles en el creador de sitios.
Los siguientes componentes locales están incluidos con Oracle Content Management.
| Nombre | Tipo | Identificador |
|---|---|---|
|
Título |
scs-title |
scs-title |
|
Párrafo |
scs-paragragh |
scs-paragragh |
|
Imagen |
scs-image |
scs-image |
|
Galería |
scs-gallery |
scs-gallery |
|
Cuadrícula de galería |
scs-gallerygrid |
scs-gallerygrid |
|
Documento |
scs-document |
scs-document |
|
Botón |
scs-button |
scs-button |
|
Mapa |
scs-map |
scs-map |
|
Divisor |
scs-divider |
scs-divider |
|
Espaciador |
scs-spacer |
scs-spacer |
|
YouTube |
scs-youtube |
scs-youtube |
|
Barra social |
scs-socialbar |
scs-socialbar |
|
Vídeo |
scs-video |
scs-video |
|
Artículo (componente personalizado) |
scs-component |
scs-comp-article |
|
Cabecera (componente personalizado) |
scs-component |
scs-comp-headline |
|
Imagen y texto (componente personalizado) |
scs-component |
scs-comp-image-text |
Estos componentes, representados en marcos en línea, se incluyen con Oracle Content Management. No incluyen los componentes remotos registrados.
| Nombre | Tipo | Identificador |
|---|---|---|
|
Conversación |
scs-app |
Conversación |
|
Gestor de documentos |
scs-app |
Gestor de documentos |
|
Lista de carpetas |
scs-app |
Lista de carpetas |
|
Lista de archivos |
scs-app |
Lista de archivos |
|
Me gusta de Facebook |
scs-app |
Me gusta de Facebook |
|
Recomendar en Facebook |
scs-app |
Recomendar en Facebook |
|
Seguir en Twitter |
scs-app |
Seguir en Twitter |
|
Compartir en Twitter |
scs-app |
Compartir en Twitter |
Formato general
A continuación se muestra el formato general del archivo components.json:
Las propiedades de los componentes se especifican en cada componente. Las propiedades "components" o "apps" de nivel superior están en desuso.
Cada componente tiene una propiedad "type". Los componentes solo pueden tener determinados valores (en la tabla se muestran todos los valores posibles para los componentes por defecto).
Cada componente tiene una propiedad "id", que debe ser única. Esta propiedad se utiliza para distinguir entre componentes con el mismo "type". Anteriormente, las aplicaciones tenían la propiedad "appName". Aunque la propiedad "appName" todavía funciona si no está disponible la propiedad "id", la propiedad "appName" está en desuso.
Cada componente tiene una propiedad "name" que es el nombre mostrado en la interfaz de usuario. Si no se han especificado valores de reserva, para los componentes, el valor es el nombre del componente por defecto correspondiente; y para los componentes remotos, el valor es el identificador.
A continuación se muestra un ejemplo de un archivo components.json:
[
{
"name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
"list": [
{
"type": "scs-title",
"id": "my-headline",
"name": "My Headline",
...
},
{
...
},...
]
},
{
"name": "My own category name",
"list": [ ... ]
}
]
La estructura general es una matriz de JSON de objetos de categoría. Cada objeto de categoría tiene una propiedad "name" y una propiedad "list". La propiedad "name" puede ser una clave que se asigna a una cadena localizada. Si estas categorías por defecto no son suficientes, puede proporcionar su propio nombre de categoría, el cual no se localizará. En la tabla siguiente se muestran las categorías por defecto disponibles y las claves correspondientes.
| Clave | Nombre de categoría (inglés) |
|---|---|
|
COMP_CONFIG_CONTENT_CATEGORY_NAME |
Contenido |
|
COMP_CONFIG_CUSTOM_CATEGORY_NAME |
Personalizado |
|
COMP_CONFIG_MEDIA_CATEGORY_NAME |
Medios |
|
COMP_CONFIG_SOCIAL_CATEGORY_NAME |
Social |
|
COMP_CONFIG_TEXT_CATEGORY_NAME |
Texto |
La propiedad "list" en cada objeto de categoría contiene una matriz de objetos de componente. Cada componente u objeto debe tener las propiedades "type" e "id". Las demás propiedades son opcionales.
La propiedad "type" debe ser igual a uno de los tipos encontrados en los componentes por defecto. Si "type" no existe aún, no se mostrará el componente.
La propiedad "id" debe ser única en todos los componentes. Si se detecta que "id" ya existe, no se mostrará el componente.
La propiedad "name" es el nombre mostrado del componente en la interfaz de usuario. Esta sustituye a la propiedad "appName" anterior para las aplicaciones (ahora, los componentes remotos).
Todas las demás propiedades se tratan del mismo modo que en las versiones anteriores.
Agregar nuevos componentes a components.json
No está permitido modificar los componentes por defecto. Sin embargo, puede crear un nuevo componente basado en un componente por defecto existente. Por ejemplo, puede crear un nuevo componente basado en el componente "scs-title", que define texto por defecto. El requisito mínimo para agregar un nuevo componente es especificar las propiedades "type" e "id".
"type" debe ser igual a uno de los tipos encontrados en los componentes por defecto. Si "type" no existe aún, no se mostrará el componente.
"id" debe ser único en todos los componentes. Si se detecta que "id" ya existe, no se mostrará el componente.
A continuación se muestra un ejemplo de cómo se agrega un nuevo componente de título: Este componente se mostrará junto con el componente de título por defecto.
[
{
"name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
"list": [
{
"type": "scs-title",
"id": "my-headline"
}
]
}
]
A continuación se muestra un ejemplo de código para agregar un nuevo componente de título con un nombre mostrado y un texto por defecto:
[
{
"name": "COMP_CONFIG_TEXT_CATEGORY_NAME",
"list": [
{
"type": "scs-title",
"id": "my-headline",
"name": "My Headline",
"initialData": {
"userText": "This is a second title component"
}
}
]
}
]
Tenga en cuenta que el componente de título toma todas las propiedades del componente de título por defecto como base y aplica modificaciones en el nivel de tema sobre ella para crear el nuevo componente.
Compatibilidad con versiones anteriores
Los archivos components.json del formato anterior se podrán seguir leyendo.
Archivos con propiedades "components" o "apps" de nivel superior.
Si el archivo contiene una propiedad "apps", se seguirán cargando componentes remotos definidos por el usuario en esta propiedad.
Si el archivo contiene una propiedad "apps" de nivel superior, debe asumir que todos los componentes remotos que se muestran debajo tienen el tipo "scs-app".
Si la propiedad "appName" está presente, defina el "id" en el valor "appName". El nombre mostrado será el mismo que "name", si se ha especificado, o recurrirá al valor "id".