Bibliotecas de terceros con Composer

Prev Next

De Totara 13 a 19 muchas bibliotecas de terceros se distribuyeron a través del libraries/required directorio. Desde Totara 20 este directorio ya no se incluye automáticamente. En su lugar, las bibliotecas de terceros deben instalarse antes de la instalación/actualización del sitio utilizando composer.

Totara descargará automáticamente una copia del compositor durante el proceso de instalación o actualización de la CLI y ejecutará los comandos correctos para resolver las bibliotecas de terceros faltantes, que se encontrarán en el vendor directorio. Sin embargo, esto no es ideal para todos los escenarios (por ejemplo, si al momento de la instalación no hay acceso a Internet abierto) y algunos sitios pueden querer descargar las bibliotecas con anticipación.

Nota: El script de instalación/actualización basado en navegador no manejará automáticamente las instalaciones de la biblioteca. Debes resolverlos manualmente en la línea de comandos con anticipación.

Estructura de archivo del compositor Totara

Archivo

Descripción

Editable

composer.json

Archivo compositor principal utilizado por Totara y sus partners para instalar plugins y bibliotecas.

Sí - Se pueden añadir nuevos plugins y bibliotecas aquí

composer.lock

Archivo de bloqueo del compositor principal que define las versiones explícitas de las bibliotecas instaladas.

server/composer.json

Totara Core define las bibliotecas de las que depende Totara.

No - solo fue cambiado por Totara durante una liberación.

server/composer.lock

Las bibliotecas explícitas utilizadas por Totara core.

No - solo fue cambiado por Totara durante una liberación.

test/phpunit/composer.json

Bibliotecas utilizadas para ejecutar pruebas PHPUnit

No se recomienda.

test/phpunit/composer.lock

Bibliotecas utilizadas para ejecutar pruebas PHPUnit

No se recomienda.

test/behat/composer.json

Bibliotecas utilizadas para ejecutar pruebas de Behat

No se recomienda.

test/behat/composer.lock

Bibliotecas utilizadas para ejecutar pruebas de Behat

No se recomienda.

Si deseas instalar tus propias bibliotecas o plugins en Totara, ejecuta el comando composer requiere del directorio raíz y asegúrate de que solo el compositor raíz JSON y los archivos de bloqueo estén actualizados.

Comportamiento por defecto: Totara instala automáticamente los archivos de la biblioteca

Para que este paso funcione, el usuario que ejecuta el script de instalación debe tener acceso de escritura a los directorios actual y de proveedores. Si Totara no tiene acceso de escritura, se imprimirá un error con anticipación. Si permites que se ejecute este paso, recomendamos encarecidamente permitir temporalmente el acceso de escritura a los directorios raíz y de proveedores a tu usuario, y luego eliminar el acceso de escritura.

De forma predeterminada, Totara descargará una copia de y la composer.phar instalará en el directorio raíz.

Definición de su propia instancia de compositor

Para evitar que Totara descargue automáticamente una instancia de compositor, puedes configurar uno tú mismo y decirle a Totara la ubicación en la TOTARA_COMPOSER constante.

// Inside your config.php
define('TOTARA_COMPOSER', '/path/to/composer');

Si se define, Totara omitirá el paso en el que descarga el compositor directamente y pasará directamente a la instalación de la biblioteca.

Opcional: Manejar manualmente los archivos de la biblioteca

Es posible que no desees que Totara descargue el compositor o ejecute el comando de instalación del compositor automáticamente, y prefieres ocuparte de él tú mismo con anticipación.

Si ese es el caso, asegúrate de ejecutar en el directorio dirroot (no composer install --no-dev -o en el directorio del servidor) antes de ejecutar los comandos de instalación o actualización de Totara.

Idealmente, el flujo se ve así para las actualizaciones:

  1. Siga los pasos normales documentados hasta el momento.

  2. Habilitar modo de mantenimiento

  3. Desproteger el nuevo código.

  4. Ejecute el composer install --no-dev -o comando manualmente.

  5. Continúe con los pasos de actualización regulares.

  6. Cuando sea el momento de ejecutar el comando de instalación o actualización, pasa la --no-composer bandera para decirle a Totara que omita ese paso.

Para una instalación, harías lo siguiente:

  1. Verifica el código.

  2. Ejecute el composer install --no-dev -o comando manualmente.

  3. Sigue con los pasos de instalación regulares, pero pasa a la --no-composer instalación cuando sea el momento de ejecutarla.

Evitar que Totara instale/actualice los comandos del compositor

Cualquiera de estas opciones hará, elige lo que es mejor para tu situación. Si utilizas cualquiera de estos comandos, debes ejecutar el comando de instalación del compositor como se definió anteriormente antes de cualquier instalación o actualización; de lo contrario, los resultados no estarán definidos.

  1. Definir una variable de entorno visible para PHP llamada TOTARA_SKIP_COMPOSER

  2. Definir una constante en tu config.php archivo define('TOTARA_SKIP_COMPOSER', true);

  3. Pasar la --no-composer bandera a la secuencia de comandos de instalación o actualización.

Manejo de conflictos en actualizaciones

Si estás instalando tus propias bibliotecas en el directorio raíz, tu vendor, composer.json y los composer.lock archivos entrarán en conflicto. Manejar esto con anticipación es fundamental para garantizar una actualización segura.

  1. Toma nota de tus personalizaciones: ¿qué bibliotecas/plugins instaló?

  2. Deshacer cualquier personalización. Restablecer los archivos composer.json y composer.lock a lo que Totara distribuyó con la nueva versión.

  3. Ejecute el --no-dev -o comando estándar de instalación del compositor.

  4. Ahora vuelve a ejecutar los composer require vendor/package comandos para volver a agregar tus plugins.

Nota: Deberás verificar que tus personalizaciones sean compatibles con la versión más reciente de Totara. Con las principales versiones, los requisitos de servidores y bibliotecas principales pueden aumentar y las bibliotecas o plugins de terceros pueden necesitar actualización.

Instalación de Totara cuando no tienes acceso directo a Internet

A veces, es posible que estés ejecutando Totara en un servidor que no está directamente conectado al servidor. En este caso (20.0.0 o superior) que desee instalar, debe preinstalar los archivos de la biblioteca en un servidor con acceso a Internet antes de transferirlos al servidor.

  1. En un servidor con acceso a Internet, descargue la versión de Totara (20.0.0 o superior) que desea instalar

  2. Descargar una copia del compositor de Composer

  3. Asegúrate de ejecutar la misma versión PHP que tu servidor Totara

  4. Ejecutar el comando de instalación del compositor en el directorio raíz de Totara composer install --no-dev -o o tal vez php composer.phar install --no-dev -o

  5. Copiar todo el proyecto, incluido el directorio de proveedores, al nuevo servidor

  6. Al ejecutar la instalación, asegúrate de configurar el --no-composer indicador o una de las otras opciones descritas en la sección “Evitar que Totara instale/actualice los comandos del compositor”.

Join the Totara Community for more resources to help you get the most out of Totara. 


© Copyright 2026 Totara Learning Solutions. All rights reserved.