Ir al contenido
Docxcelerate

Generación

El motor

Qué hace el motor, cómo se publica una plantilla en él y las dos ediciones.

El trabajo del framework termina en el paquete. Renderiza tu documento y lo empaqueta; el paquete es una plantilla a la que todavía le faltan los datos de quien lo recibe. El motor es adonde va ese paquete, y lo que lo convierte en documentos.

Los tres pasos

  1. Compilar. El framework renderiza el documento y lo empaqueta. Es el único paso que se ejecuta en tu máquina.
  2. Publicar. El paquete se envía a un motor, que lo almacena y le da una dirección.
  3. Escribir. Tu aplicación llama a la API con un conjunto de datos. El motor escribe el documento y lo devuelve.

La consecuencia importante es que publicar y escribir están separados. Publicas un paquete cuando cambia la redacción del documento — un suceso con forma de despliegue. Llamas a la API cada vez que alguien necesita un documento, lo que puede ser constantemente, y eso no implica ningún paso de compilación ni ningún workspace.

Por qué no está en el paquete

El motor es un servicio, no una biblioteca, y no forma parte del paquete de npm. Escribir, previsualizar y empaquetar son trabajo local sin nada detrás, así que instalar el framework no arrastra nada que quiera claves de API ni red, y los dos se versionan de forma independiente.

Apuntar un workspace hacia él

dxcl init my-documents --api-endpoint https://documents.example.com/api/letters

O configúralo sin ninguno y decide más tarde:

dxcl init my-documents --no-api-endpoint

upload.endpoint en docxcelerate.config.json se puede editar en cualquier momento, y los presets de configuración te permiten mantener motores locales, de staging y de producción en paralelo.

Lo que publicas

El artefacto document.json. Los nodos estáticos llegan con su texto ya resuelto, pero con los valores del momento de la petición aún como tokens, que es lo que hace que un único paquete almacenado sirva para todos los destinatarios:

{ "kind": "paragraph", "mode": "static", "id": "greeting",
  "text": "Dear {{data.applicantName}}," }

Los nodos dinámicos llegan con prompts en lugar de texto:

{ "kind": "paragraph", "mode": "dynamic", "id": "tutor-note",
  "prompts": [
    { "kind": "general", "text": "Write two warm, specific sentences…" },
    { "kind": "negative", "text": "Do not restate the offer…" },
    { "kind": "system", "text": "You are an admissions tutor…" }
  ] }

Dos ediciones

Autoalojada (gratuita). Un motor reducido que puedes ejecutar tú. Cubre el núcleo de la cadena — almacenar un paquete y escribir documentos a partir de él — con un conjunto de funciones menor.

Nube gestionada. El motor completo, alojado. Todavía no está abierto; cuando lo esté tendrá un plan gratuito que solo requiere registrarse, sin tarjeta y sin infraestructura que levantar.

Los dos no son la misma compilación, así que elige por funciones y no solo por preferencia de alojamiento.

Trabajar sin motor

Puedes llegar muy lejos antes de necesitar un motor. Escribir, previsualizar y empaquetar a .docx se ejecutan en local, así que un documento puede escribirse, revisarse y producirse en tu máquina sin publicar nada.

Un motor es lo que añades cuando los documentos tienen que producirlos algo distinto de una persona ante un teclado: de forma programada, desde una cola o como respuesta a algo que ocurre en tu propio sistema.


Editar esta página en GitHub ↗