Ir al contenido
getnextpdf.com

Enterprise edición

Publicación de versiones

NextPDF Enterprise modela una versión como objetos de valor tipados —un manifiesto de versión, manifiestos por artefacto, perfiles de compilación, canales de distribución y fronteras de acceso— y deriva un plan de publicación que encamina cada artefacto al canal y la frontera de acceso correctos.

Esta capacidad se incluye en NextPDF Enterprise (nextpdf/enterprise) y se activa con un envoltorio de licencia de nivel Enterprise. Una implementación sin esa titularidad no carga las clases de la capacidad. Comparar ediciones y obtener una licencia.

Ventana de terminal
composer require nextpdf/enterprise:^3

ReleaseManifest es el documento inmutable de nivel superior para una versión. Registra la versión semántica, el commit de origen, la marca de tiempo de compilación, la lista de manifiestos por artefacto y rutas opcionales de evidencia de cadena de suministro (SBOM, firma GPG, sumas de comprobación). Su versión de esquema sigue la regla de menor para lo aditivo y mayor para los cambios incompatibles.

ArtifactManifest registra un artefacto compilado: su nombre de archivo canónico, versión, commit de origen, edición de destino, modo de entrega, tecnología de codificación, canal de distribución, versión de PHP de destino, resumen SHA-256, caducidad de codificación opcional y marca de tiempo de compilación. EncodingTechnology distingue la herramienta utilizada para codificar un artefacto de si se codificó o no; un artefacto en texto claro siempre tiene None.

DistributionChannel separa dos asuntos de forma explícita: un origen de artefacto (almacenamiento binario) y una capa de consumo de paquetes (el registro que lee un composer require). AccessBoundary determina quién puede acceder a un artefacto —clientes de pago, evaluación con límite de tiempo o CI/QA/preproducción interno que nunca es de cara al cliente— y toda frontera requiere autenticación.

PublishingPlan se deriva de los perfiles de compilación y del manifiesto de versión. Cada perfil se resuelve en destinos de publicación: un destino de origen de artefacto y un destino de capa de consumo, con la frontera de acceso correcta aplicada para que los artefactos de pago y de evaluación se encaminen al lugar adecuado.

La decisión determinante es modelar una versión como objetos de valor tipados e inmutables, no como configuración suelta. El origen de artefacto y la capa de consumo son asuntos distintos tipados con enum, y las fronteras de acceso son explícitas. Así, un artefacto mal encaminado —una compilación interna colocada en un canal de cliente— aflora como un error de modelado, no como un fallo silencioso en producción. El plan permanece derivado en lugar de autoritativo: nombra los destinos previstos mientras su herramienta de versiones realiza el transporte. Los mismos objetos se resuelven a través del contrato de Core, de modo que un consumidor que actualiza de edición no cambia ningún código que realice llamadas. Esa continuidad es el sentido de una frontera de núcleo abierto: usted compra la superficie de Enterprise, no una reescritura. Contexto de diseño: Núcleo abierto, sin dependencia forzada.

ClaseResponsabilidad
ReleaseManifestDocumento de versión inmutable de nivel superior.
ArtifactManifestMetadatos por artefacto y campos de verificación.
BuildProfileUna configuración de compilación para publicar.
DistributionChannelEnum de canal de origen frente a capa de consumo.
AccessBoundaryEnum de acceso Paid / Evaluation / Internal.
EncodingTechnologyEnum de herramienta de codificación (p. ej. codificado / ninguno).
PublishingPlan / PublishingTargetPlan derivado y encaminamiento por destino.
use NextPDF\Enterprise\Release\PublishingPlan;
$plan = PublishingPlan::fromProfiles($profiles, '3.1.0');
use NextPDF\Enterprise\Release\PublishingPlan;
use NextPDF\Enterprise\Release\PublishingEnvironment;
$plan = PublishingPlan::fromProfiles(
$profiles,
'3.1.0',
PublishingEnvironment::Production,
);
foreach ($plan->targets as $target) {
$logger->info('release.target', [
'version' => $plan->version,
'channel' => $target->channel->value,
]);
}
  • El origen de artefacto y la capa de consumo son canales distintos. El origen almacena el binario; la capa de consumo sirve los metadatos que apuntan a él. No los confunda al razonar sobre dónde resuelve un composer require.
  • Un artefacto en texto claro siempre informa EncodingTechnology::None; el campo de tecnología de codificación responde a «qué herramienta», no a «¿se protegió?».
  • Los artefactos de frontera de acceso Internal nunca son de cara al cliente; encaminarlos a un canal de cliente es un error de configuración que este modelo está diseñado para hacer explícito.
  • El plan de publicación es derivado, no autoritativo para el transporte — describe los destinos previstos; la subida real la realiza su herramienta de versiones.

La derivación del plan es lineal en el número de perfiles de compilación y produce un número reducido de destinos por perfil. Los objetos de valor son inmutables y baratos de construir.

El manifiesto de versión transporta rutas de evidencia de cadena de suministro (SBOM, firma GPG, sumas de comprobación). Este módulo registra y encamina esas referencias; no produce por sí mismo firmas ni atestigua procedencia. Trate el manifiesto como metadatos que su pipeline de versiones debe verificar, no como prueba por sí solo.

Los manifiestos de versión contienen metadatos de compilación y de artefacto, no datos personales. Aplique sus controles habituales al almacenamiento de artefactos.

Telemetría segura y depuración de registros

Sección titulada «Telemetría segura y depuración de registros»

Los registros de versión deben registrar la versión y el canal, no material de claves de firma ni rutas internas de almacenamiento.

No se declara ninguna conformidad con estándares para este módulo; es una capa de modelado de versiones. La evidencia de cadena de suministro (SBOM, firmas, sumas de comprobación) la referencia el manifiesto y la produce y verifica su herramienta de versiones.

Este módulo no realiza ninguna operación criptográfica. La firma GPG y la generación de sumas de comprobación las realiza la herramienta de versiones externa y aquí solo se referencian.

Las entradas son perfiles de compilación y datos de manifiesto suministrados por el llamante. El modelo hace explícitas las distinciones de origen frente a consumo y de frontera de acceso, de modo que un encaminamiento erróneo (por ejemplo, exponer un artefacto interno) sea un error de modelado visible en lugar de uno silencioso.

  • ReleaseManifest es el documento inmutable de nivel superior para una versión; su versión de esquema sigue la regla de menor para lo aditivo y mayor para los cambios incompatibles.
  • DistributionChannel mantiene el origen de artefacto y la capa de consumo de paquetes como asuntos distintos; confundirlos es un error de modelado que este tipo hace explícito.
  • AccessBoundary distingue Paid / Evaluation / Internal, y toda frontera requiere autenticación; un artefacto Internal nunca es de cara al cliente.
  • PublishingPlan se deriva de los perfiles de compilación y del manifiesto de versión; describe los destinos previstos y no es autoritativo para el transporte.

Esta página documenta únicamente el comportamiento observable desde fuera y la superficie de API pública admitida. Las rutas internas de espacio de nombres, las clases auxiliares, las tablas de mecanismos, los nombres de archivo de runbook y los prefijos de ticket quedan fuera del alcance.

NextPDF Core no tiene ninguna capa de modelado de versiones. Un consumidor solo con Core que necesite manifiestos de versión, perfiles de compilación o un plan de publicación debe modelarlos por sí mismo.

NextPDF Pro no proporciona los manifiestos de versión tipados, los perfiles de compilación, las fronteras de acceso ni el plan de publicación derivado; se incluyen únicamente en el paquete nextpdf/enterprise. Una implementación solo con Pro no tiene ningún componente de Enterprise que satisfaga una solicitud de modelado de versiones. Consulte la descripción general de Enterprise para conocer la superficie de Enterprise.

El esquema del manifiesto, la distinción de origen frente a consumo y el encaminamiento por frontera de acceso se describen únicamente a nivel de comportamiento. Las tablas internas de resolución de canales y el cableado interno de los destinos de publicación quedan fuera del alcance de la superficie pública y no se reproducen aquí.

El plan de publicación son metadatos derivados, no el transporte: la subida real del artefacto la realiza su herramienta de versiones. La evidencia de cadena de suministro (SBOM, firma GPG, sumas de comprobación) la referencia el manifiesto y la produce y verifica su pipeline de versiones, no este módulo. El encaminamiento, las credenciales y el almacenamiento de cada canal son responsabilidad del operador.

Esta página describe una capa de modelado de versiones. Registra y encamina referencias de evidencia de cadena de suministro; no produce por sí misma firmas, ni atestigua procedencia, ni certifica una versión, ni constituye asesoramiento jurídico. Tratar el manifiesto como prueba por sí solo es incorrecto; la verificación la realiza su pipeline de versiones. Determinar si una versión cumple sus obligaciones contractuales o regulatorias es responsabilidad suya.