API-eindpunten.

Learn DXPR BuilderReferenceConfiguratie en API

Deze pagina toont elke route die DXPR Builder registreert in dxpr_builder.routing.yml, met de HTTP-methoden, toegangsvereisten, requestparameters en responsevormen zoals geïmplementeerd in de controllers. De JavaScript van de editor is de bedoelde client voor de AJAX-eindpunten; niets op deze pagina is een stabiele publieke API, en parameternamen kunnen veranderen tussen releases.

Toegangsvereisten

Routes gebruiken drie soorten vereisten. Een route kan ze combineren.

Vereiste Betekenis
_permission De gebruiker heeft de genoemde Drupal-permissie nodig. DXPR Builder definieert administer dxpr builder configuration, edit with dxpr builder en administer dxpr_builder_profile in dxpr_builder.permissions.yml; view media en administer site configuration komen uit core.
_csrf_token Het verzoek moet een geldig CSRF-token dragen in de token-queryparameter. Voor de hoofd-AJAX-handler haalt de editor een URL met het token op van /dxpr_builder/csrf (of van de dxpr_builder_csrf-bewerking). Voor de andere routes zet de veldnotatie URL’s met een token in drupalSettings.dxprBuilder, bijvoorbeeld fileUploadUrl, entityLinkSuggestionsUrl, userSettingsUrl en aiAgent.endpointUrl.
_dxpr_builder_billable_user De gebruiker moet een factureerbare gebruiker zijn, zoals hieronder gedefinieerd.

Wat “factureerbare gebruiker” betekent

DxprBuilderBillableUserAccessCheck geeft toegang wanneer DxprBuilderLicenseService::isBillableUser() true teruggeeft voor het actuele account. Die methode geeft false terug voor geblokkeerde accounts en voor accounts waarvan het veld dxpr_user_is_disavowed is ingesteld (een beheerder sluit een gebruiker uit van bewerken op de pagina Gebruikerslicenties). Anders geeft hij true terug voor gebruiker 1 en voor elk account met de permissie edit with dxpr builder. Kortom: een factureerbare gebruiker is een actief, niet-uitgesloten account dat mag bewerken met DXPR Builder, en de licentieservice telt deze accounts tegen je productsleutel.

HTTP-methoden

Waar een route methods declareert, worden alleen die methoden gerouteerd. Waar hij dat niet doet, accepteert de route elke methode (Drupal’s MethodFilter filtert alleen routes die methoden declareren). De tabellen hieronder vermelden de methode die de JavaScript van de editor daadwerkelijk gebruikt wanneer dat zichtbaar is in de bron.

Editor-AJAX-eindpunten

CSRF-token-URL

Pad /dxpr_builder/csrf
Route dxpr_builder.csrf_refresh
Methoden Niet gedeclareerd (elke methode). De editor stuurt GET (backend-connect.js, fetchCsrfTokenUrl()).
Vereisten Factureerbare gebruiker
Controller AjaxController::ajaxRefresh()

Het verzoek moet de header X-Requested-With: XMLHttpRequest dragen; zonder hem geeft de controller HTTP 403 terug met de JSON-body {"error": "Invalid request"}.

Parameter Bron Vereist Opmerkingen
enterprise Querystring Optioneel Wanneer ingesteld op true en de module dxpr_builder_e is geïnstalleerd, wordt het token gegenereerd voor de route dxpr_builder_e.ajax_callback. Wanneer ingesteld op true zonder die module gooit de controller een exceptie.

Antwoord: een JSON-string met de URL van de hoofd-AJAX-handler en een token-queryparameter. De URL is een pad vanaf de siteroot (basispad inbegrepen, geen host). De JavaScript post elke builder-bewerking naar deze URL.

Hoofd-AJAX-handler

Pad /dxpr_builder/ajax
Route dxpr_builder.ajax_callback
Methoden Niet gedeclareerd (elke methode). De controller leest elke parameter uit de POST-body, en de editor stuurt POST.
Vereisten Factureerbare gebruiker, CSRF-token
Controller AjaxController::ajaxCallback()

Het POST-bodyveld action selecteert de bewerking. Elke bewerking en zijn parameters staan onder Bewerkingen van hoofd-AJAX-handler. Wanneer action ontbreekt of onbekend is, geeft de controller een lege Drupal-AjaxResponse terug zonder commando’s. De meeste bewerkingen die de status factureerbare gebruiker opnieuw controleren geven hetzelfde lege antwoord wanneer die controle faalt; de tabellen vermelden de twee uitzonderingen.

AI-chat

Pad /dxpr_builder/ajax/ai/chat
Route dxpr_builder.ai_chat
Methoden POST
Vereisten edit with dxpr builder, factureerbare gebruiker, CSRF-token
Controller AiChatController::chat()

De requestbody is JSON. De controller proxyt het verzoek naar de dxpr-provider van de Drupal-module ai, zodat geen API-sleutel de browser bereikt. Vóór de call voegt hij de domeinen uit de instelling ai_output_allowed_domains samen in het hostnaamfilter van de module ai, wanneer die service bestaat. Een waarde * zet het filter in plaats daarvan op volledig vertrouwen. Het filter wordt daarna hersteld.

Parameter Bron Vereist Opmerkingen
messages JSON-body Vereist Array van objecten met role en content.
stream JSON-body Optioneel Boolean, standaard true.
model JSON-body Optioneel Standaard kavya-m1.
prediction JSON-body Optioneel Doorgegeven aan de providerconfiguratie als array.
providers JSON-body Optioneel Doorgegeven aan de providerconfiguratie.
allowed_html_tags JSON-body Optioneel Doorgegeven aan de providerconfiguratie.
allowed_html_classes JSON-body Optioneel Doorgegeven aan de providerconfiguratie.
web_search JSON-body Optioneel Alleen de waarde false wordt doorgestuurd; elke andere waarde wordt genegeerd.
response_format JSON-body Optioneel Doorgegeven aan de providerconfiguratie als array.

Antwoorden:

Geval Status Body
Gestreamd (stream true en de provider streamt) 200, Content-Type: text/event-stream Server-sent events. Elk event is data: <JSON> waarbij de JSON choices[0].delta.content heeft en, wanneer de provider ze levert, id, object, created, model, original_model en usage. De stream eindigt met data: [DONE].
Niet-gestreamd 200, application/json {"choices": [{"message": {"role": "assistant", "content": "<text>"}}]}
Body is geen JSON, of messages ontbreekt of is leeg 400, platte tekst Invalid request: messages required
model niet in de allowed_models-lijst van ai_provider_dxpr.settings (alleen gecontroleerd wanneer de module ai_provider_dxpr is geïnstalleerd en de lijst is ingesteld) 403, application/json {"error": {"code": "model_not_allowed", "message": "The selected model is not allowed. Please refresh the page to update your model options."}}
Provider-exceptie 500, application/json {"error": {"message": "The request could not be completed."}}

AI-afbeeldingsgeneratie

Pad /dxpr_builder/ajax/ai/image
Route dxpr_builder.ai_image
Methoden POST
Vereisten edit with dxpr builder, factureerbare gebruiker, CSRF-token
Controller AiImageController::generate()
Parameter Bron Vereist Opmerkingen
prompt JSON-body Vereist Tekstprompt.
model JSON-body Optioneel Standaard kavya-image.
size JSON-body Optioneel Doorgestuurd naar de providerconfiguratie wanneer niet-leeg.
quality JSON-body Optioneel Doorgestuurd naar de providerconfiguratie wanneer niet-leeg.
background JSON-body Optioneel Doorgestuurd naar de providerconfiguratie wanneer niet-leeg.

Antwoorden:

Geval Status Body
Succes 200 {"data": [{"b64_json": "<base64 image>"}]} (alleen de eerste gegenereerde afbeelding wordt teruggegeven)
Body is geen JSON, of prompt ontbreekt 400 {"error": {"message": "Invalid request: prompt required"}}
Provider gaf geen afbeelding terug 500 {"error": {"message": "No image was generated"}}
Provider-exceptie 500 {"error": {"message": "Image generation failed. Please try again."}}

AI-afbeeldingsbewerking

Pad /dxpr_builder/ajax/ai/image/edit
Route dxpr_builder.ai_image_edit
Methoden POST
Vereisten edit with dxpr builder, factureerbare gebruiker, CSRF-token
Controller AiImageController::edit()
Parameter Bron Vereist Opmerkingen
prompt JSON-body Vereist Bewerkingsinstructie.
image JSON-body Vereist Base64-gecodeerde bronafbeelding (strikte decodering).
mimeType JSON-body Optioneel Standaard image/png; het subtype wordt de bestandsextensie doorgegeven aan de provider.
model JSON-body Optioneel Standaard kavya-image.
size, quality, background JSON-body Optioneel Doorgestuurd naar de providerconfiguratie wanneer niet-leeg.

Antwoorden:

Geval Status Body
Succes 200 {"data": [{"b64_json": "<base64 image>"}]}
Body is geen JSON, of prompt of image ontbreekt 400 {"error": {"message": "Invalid request: prompt and image required"}}
image is geen geldige base64 400 {"error": {"message": "Invalid image data: base64 decode failed"}}
Provider gaf geen afbeelding terug 500 {"error": {"message": "No image was generated"}}
Provider-exceptie 500 {"error": {"message": "Image editing failed. Please try again."}}

Bestandsupload

Pad /dxpr_builder/ajax/file_upload
Route dxpr_builder.ajax_file_upload_callback
Methoden POST, DELETE (gedeclareerd in routing; de controller heeft één uploadhandler en geen aparte delete-tak)
Vereisten Factureerbare gebruiker, CSRF-token
Controller UploadFileController::fileUpload()
Parameter Bron Vereist Opmerkingen
upload Multipart-formulierbestanden, verstuurd als upload[] Vereist Eén of meer geüploade bestanden.

De controller sorteert elk bestand op het eerste deel van zijn client-MIME-type naar <default scheme>://dxpr_builder_images, dxpr_builder_videos of dxpr_builder_files. Een afbeelding heeft een extensie van de MIME-typen image/gif, jpg, jpeg, png, webp, avif of svg nodig. Een video heeft een van video/webm, ogv, ogg, mp4 of quicktime nodig (bijvoorbeeld .mov). De groottelimiet is het uploadmaximum van PHP. Een bestand met dezelfde naam en identieke SHA-256-inhoud als een bestaand beheerd bestand dat de gebruiker kan bekijken wordt hergebruikt in plaats van opnieuw bewaard. Wanneer de module media is geïnstalleerd en een mediatype met de naam image, media_image, video of media_video bestaat, wordt een gepubliceerde media-entiteit aangemaakt (of hergebruikt) voor het bestand. Bestandsgebruik wordt geregistreerd onder de module dxpr_builder.

Antwoorden:

Geval Status Body
Succes 201 JSON-array, één object per bestand: url (absolute bestands-URL), uuid en id (van de media-entiteit wanneer die bestaat, anders van het bestand), fid (bestands-ID), entity_type (media of file).
Geen upload-bestanden 400 {"message": "No files were uploaded."}
Ongeldige upload, niet-schrijfbare bestemming of bewaarfout 500 {"message": "<reason>"}
Validatiefout (extensie of grootte) 422 {"message": "<violation messages>"}
Bestandsnaam al vergrendeld door een ander verzoek 503 {"message": "File \"<name>\" is already locked for writing."}

Mediabibliotheekdialoog

Pad /dxpr_builder/media-library
Route dxpr_builder.media_library
Methoden Niet gedeclareerd (elke methode). Parameters worden gelezen uit de querystring.
Vereisten view media; adminroute
Controller AjaxController::openImageMediaLibrary()
Parameter Bron Vereist Opmerkingen
media_type Querystring Optioneel image (standaard) of video.
remaining_slots Querystring Optioneel Aantal items dat de opener accepteert; standaard 1.
uuid Querystring Optioneel Doorgegeven aan de opener als opener_parameters.uuid.

Het aangeboden mediatype hangt af van de instelling media_browser: media_library gebruikt het mediatype image of video direct; media_library_acquia_dam gebruikt acquia_dam_image_asset of acquia_dam_video_asset wanneer dat mediatype bestaat.

Antwoorden:

Geval Resultaat
Succes Een renderarray gebouwd door MediaLibraryUiBuilder::buildUi() met de opener media_library.opener.dxpr_builder. Drupal rendert hem als HTML-pagina bedoeld voor een iframe.
media_library-module niet geïnstalleerd 403, plain text Media Library is not enabled. Please enable it to access this feature.
Niet-ondersteunde media_type 400, plain text Unsupported media type "<value>".
media_browser-instelling heeft geen bruikbaar mediatype 400, plain text The "<setting>" settings is not supported.
Pad /dxpr_builder/ajax/help_link_validator
Route dxpr_builder.ajax_help_link_validator
Methoden Niet gedeclareerd (elke methode). Het dev-script dxpr_builder_dev.js stuurt POST met een form-gecodeerde body.
Vereisten Factureerbare gebruiker
Controller AjaxController::validateHelpLink()
Parameter Bron Vereist Opmerkingen
help_link POST-body Vereist voor een zinvol antwoord Alleen http- of https-URL’s op host dxpr.com met een pad beginnend met /documentation/ worden gecontroleerd.

Antwoord: een JSON-array. [true] wanneer een HEAD-verzoek aan de link (zonder redirects te volgen) 200 teruggeeft; [false] wanneer de HTTP-client gooit; [] in elk ander geval, inclusief een ontbrekende parameter, een niet-matchende URL of een niet-200-status.

Pad /dxpr_builder/entity-link-suggestions
Route dxpr_builder.entity_link_suggestions
Methoden GET
Vereisten edit with dxpr builder, CSRF-token; no_cache-routeoptie
Controller EntityLinkSuggestionsController::suggestions()
Parameter Bron Vereist Opmerkingen
q Querystring Vereist voor resultaten Zoektekst, in kleine letters. Een waarde zoals /node/123 laadt die entiteit direct.
langcode Querystring Optioneel Taal van de hostentiteit; standaard de actuele taal. Alleen entiteiten beschikbaar in deze taal worden teruggegeven.

Bundels zijn die met ckeditor5_link_suggestions ingeschakeld in hun bundelinfo; wanneer geen zijn geconfigureerd, worden alle nodebundels doorzocht. Tot 100 entiteiten per entiteittype worden gematcht met een CONTAINS-zoekopdracht via de entity-reference-selectieplug-ins van core.

Antwoord: {"suggestions": [...]} met private-cacheerbaarheid en een max-age van 300 seconden. Elke suggestie heeft description, entity_type_id, entity_uuid, group, label en path. Wanneer q niets matcht, bevat de array één suggestie voor een handmatige link met description, label (de ingevoerde tekst in kleine letters) en path (de invoer wanneer het een geldige URL is, anders een lege string). Wanneer q leeg is, is suggestions een lege array.

Editorinstellingen van gebruiker

Pad /dxpr_builder/user-settings
Route dxpr_builder.user_settings
Methoden POST
Vereisten edit with dxpr builder, CSRF-token; no_cache-routeoptie
Controller UserSettingsController::save()

De editor stuurt dit verzoek wanneer een gebruiker zijn eigen editor-instellingen wijzigt, bijvoorbeeld onder Editorinstellingen. De waarden worden bewaard bij het gebruikersaccount in user.data, module dxpr_builder.

Parameter Bron Vereist Opmerkingen
controls_layout JSON-body Vereist (de enige instelling) element, breadcrumb of default. default verwijdert de keuze van de gebruiker, zodat de profiel- of site-instelling geldt.

Antwoorden:

Geval Status Body
Bewaard 200 {"settings": {"controls_layout": "<value>"}}: elke instelling na bewaren, default waar de gebruiker geen keuze bewaard heeft.
Body is geen niet-leeg JSON-object, of een naam of waarde is ongeldig 400 {"error": "Invalid setting or value."}. Niets wordt bewaard.

Bewerkingen van hoofd-AJAX-handler

Alle bewerkingen gaan naar /dxpr_builder/ajax met de token-query-parameter verkregen van /dxpr_builder/csrf. De bewerkingsnaam wordt verstuurd in het POST-bodyveld action; alle andere parameters zijn POST-bodyvelden tenzij anders vermeld. De kolom “Controleert opnieuw factureerbaar” markeert bewerkingen die isBillableUser() opnieuw aanroepen in de switch. Wanneer die controle faalt geven ze de lege AjaxResponse terug zoals hierboven beschreven, tenzij de rij anders zegt.

Sessie en toegang

Bewerking Parameters Controleert opnieuw factureerbaar Retourneert
dxpr_login Geen Nee JSON-boolean: of de actuele gebruiker factureerbaar is.
dxpr_builder_csrf Geen Ja JSON-string: de handler-URL met een token-queryparameter (zelfde als /dxpr_builder/csrf zonder de enterprise-optie).

Containers (velden gerenderd met de DXPR Builder-notatie)

Bewerking Parameters Controleert opnieuw factureerbaar Retourneert
dxpr_get_container_types Geen Ja JSON-object gesleuteld entity_type|bundle met waarde entity_type - bundle, één invoer per bundel waarvan de standaardweergave de notatie dxpr_builder_text op minstens één veld gebruikt.
dxpr_get_container_names container_type (vereist, entity_type|bundle) Ja (geeft een lege JSON-string terug in plaats van het lege antwoord) JSON-object gesleuteld entity_id|field_name (of entity_id|field_name|langcode voor vertaalbare entiteiten) met waarde entity label|field label. Wanneer container_type ontbreekt, of de factureerbaar-controle faalt, is het antwoord een lege JSON-string.
dxpr_save_container type (vereist, entity_type|bundle); name (vereist, entity_id|field_name of entity_id|revision_id|field_name); htmlContent (vereist, gecodeerde markup); lang (optioneel, standaard de standaardtaal van de site) Ja JSON lege string bij succes. HTTP 400 met een JSON-bericht wanneer htmlContent geen string is of de taal niet geldt voor een niet-vertaalbare entiteit; 404 wanneer de gevraagde vertaling niet bestaat; 500 wanneer de entiteit niet geladen kan worden.

dxpr_save_container doet het volgende:

  1. Decodeert htmlContent: XOR elke byte met 7, dan URL-decoderen.
  2. Schrijft het resultaat naar de eerste delta van het genoemde veld.
  3. Maakt een nieuwe standaardrevisie met het logbericht Saved with DXPR builder wanneer het entiteittype reviseerbaar is.
  4. Verwijdert elke inhoudsvergrendeling voor de entiteit.
  5. Werkt block_revision_id bij in Layout Builder-secties die het bewaarde inlineblok refereren.
  6. Verhoogt de statewaarde dxpr_builder.saves_count.

Het bewaren gebeurt alleen wanneer de gebruiker update-toegang heeft tot de entiteit. Zonder hem geeft de bewerking toch het lege-string-succesantwoord.

CMS-elementen (blokken en views)

Bewerking Parameters Controleert opnieuw factureerbaar Retourneert
dxpr_builder_get_cms_element_names Geen Ja JSON-object van DxprBuilderService::getCmsElementNames() met sleutels list, disallowed en blockCategories.
dxpr_get_cms_element_settings name (vereist): view-<view_id>-<display_id> of block-<plugin_id>; ajax_page_state[libraries] (optioneel, door komma’s gescheiden reeds geladen bibliotheken) Ja JSON-object met css, js, settings en data. Voor een view is data de gerenderde exposed-filterwidgets; voor een blok is data het configuratieformulier van het blok gewikkeld in <form>-tags, met de elementen provider, admin_label, label, label_display en context_mapping verwijderd en alle details-elementen geopend.
dxpr_builder_load_cms_element name (vereist, geparst door parseStringForCmsElementInfo()); settings (vereist); data (vereist, array); ajax_page_state[libraries] (optioneel) Nee JSON-object met css, js, settings en data, waarbij data de gerenderde blok- of viewweergave is.

In beide settings-teruggevende bewerkingen zijn css en js gerenderde assettags die nog niet op de pagina staan, en settings is het gedecodeerde drupalSettings-object, of een lege string wanneer die er niet zijn.

Paginasjablonen

Bewerking Parameters Controleert opnieuw factureerbaar Retourneert
dxpr_get_page_templates Geen Ja JSON-array van ingeschakelde paginasjablonen, elk met title, uuid, module (altijd null: de entiteit bewaart hem niet), category, date, weight (integer) en image (een data:-URL, of de not-found.png-URL van de module).
dxpr_load_page_template uuid (vereist) Ja HTML-antwoord met de sjabloonmarkup met vervangen basistokens; leeg wanneer geen ingeschakeld sjabloon matcht.

Gebruikerssjablonen

Bewerking Parameters Controleert opnieuw factureerbaar Retourneert
dxpr_get_templates Geen Ja JSON-array van sjablonen van de actuele gebruiker of gemarkeerd globaal; sjablonen waarvan het auteursaccount niet meer bestaat worden weggelaten. Elke invoer heeft id, uuid, name, global, current_user_is_author, author_id, author_name, type en, wanneer bewaard, image (een data:-URL).
dxpr_load_template uuid (vereist) Ja HTML-antwoord met de sjabloonmarkup met vervangen basistokens; leeg wanneer geen ingeschakeld sjabloon matcht.
dxpr_save_template name (vereist); template (vereist, markup); type (optioneel, standaard custom); global (optioneel, gecast naar boolean); image (optioneel: een base64-string of data:image-URL in de POST-body, of een multipart-bestandsveld met de naam image) Ja JSON-object met message en code. code 200 bij succes; code 409 (HTTP-status 200) wanneer een sjabloon met dezelfde machinenaam bestaat; code 400 met HTTP 400 wanneer de afbeelding geen geldige afbeeldingsdata is.
dxpr_delete_template name (vereist) Ja JSON lege string.

De machinenaam is afgeleid van name door hem in kleine letters te zetten en elke reeks tekens buiten a-z0-9_ te vervangen door een underscore. type valt terug op het data-azb-attribuut in de markup wanneer een bewaard sjabloon geen type heeft.

Afbeeldingen

Bewerking Parameters Controleert opnieuw factureerbaar Retourneert
dxpr_builder_get_image_urls entityIDs (vereist, array); imageStyle (vereist; original voor het ongestileerde bestand); entityType (vereist; media lost media-items op, elke andere waarde wordt gebruikt als het entiteittype van de ID’s) Ja Tekstbody: door komma’s gescheiden afbeeldings-URL’s. Bestanden geven een root-relatieve URL met een fid-queryparameter. Media-items van het type image of video lossen op naar hun bronbestand. acquia_dam_image_asset-items geven de DAM-URL met mid, acquiaDamAsset en imageStyle toegevoegd. Andere media-items worden overgeslagen. HTTP 204 zonder body wanneer entityIDs leeg is, of wanneer geen media-item opgelost kan worden.
dxpr_builder_get_image_style_url imageStyle (vereist); entityId (vereist); entityTypeId (vereist, file of media) Ja Tekstbody. Voor een bestand: zijn root-relatieve URL via de afbeeldingsstijl (SVG-bestanden en original slaan de stijl over), met een fid-queryparameter. Voor een acquia_dam_image_asset-media-item: de DAM-URL. HTTP 204 zonder body voor elke andere entiteit, of wanneer de entiteit niet gevonden is.
dxpr_builder_get_image_metadata entityId (vereist); entityType (vereist, file of media) Ja (geeft 403-JSON terug in plaats van het lege antwoord) {"data": {"alt": "...", "title": "..."}} uit het afbeeldingsbronveld van het media-item (een Acquia DAM-asset geeft zijn DAM-alt-tekst en een lege titel). Voor een bestand komen de waarden uit het eerste media-item waarvan field_media_image ernaar verwijst. data is een lege array wanneer de entiteit geen bestand noch media-item is, of wanneer geen media naar het bestand verwijst. Fouten: 400 {"error": "Missing required parameters"}, 404 {"error": "Entity not found"}, 500 {"error": "Failed to load entity"}, 403 {"error": "Access denied"}.

Inhoudsvergrendelingen

Bewerking Parameters Controleert opnieuw factureerbaar Retourneert
dxpr_content_lock_status entity_id, revision_id, entity_type, langcode (alle vereist) Nee JSON-object met status (boolean) en label (entiteitslabel); wanneer vergrendeld, ook entity_lock_author_id en entity_lock_author_name.
dxpr_toggle_content_lock entity_id, revision_id, entity_type, langcode, toggle_action (alle vereist; lock maakt de vergrendeling, elke andere waarde verwijdert hem) Nee JSON-object met label en status (true na vergrendelen, false na ontgrendelen). Een lege JSON-array ([]) wanneer de entiteit niet geladen kan worden of de gebruiker geen update-toegang heeft.

Adminpagina’s

Al deze routes accepteren elke methode (geen methods-sleutel). Paden met {...} nemen de configuratie-entiteits-ID, of de migratie-ID voor {migration_id}.

Pad Route Permissie Doel
/admin/dxpr_studio dxpr_builder.admin.studio administer dxpr builder configuration DXPR Studio-overzicht; adminmenublokpagina van core met kindpagina’s.
/admin/dxpr_studio/dxpr_builder dxpr_builder.admin.studio.builder administer dxpr builder configuration DXPR Builder-overzicht; adminmenublokpagina van core.
/admin/dxpr_studio/dxpr_builder/settings dxpr_builder.settings administer dxpr builder configuration DxprBuilderSettingsForm: het module-instellingenformulier.
/admin/dxpr_studio/dxpr_builder/ai_settings dxpr_builder.ai_settings administer dxpr builder configuration DxprBuilderAiSettingsForm: het AI-instellingenformulier.
/admin/dxpr_studio/dxpr_builder/user_templates entity.dxpr_builder_user_template.collection administer site configuration Lijst van dxpr_builder_user_template-configuratie-entiteiten.
/admin/dxpr_studio/dxpr_builder/user_templates/add entity.dxpr_builder_user_template.add_form administer site configuration Een gebruikerssjabloon toevoegen.
/admin/dxpr_studio/dxpr_builder/user_templates/{dxpr_builder_user_template} entity.dxpr_builder_user_template.edit_form administer site configuration Een gebruikerssjabloon bewerken.
/admin/dxpr_studio/dxpr_builder/user_templates/{dxpr_builder_user_template}/delete entity.dxpr_builder_user_template.delete_form administer site configuration Een gebruikerssjabloon verwijderen (bevestigingsformulier).
/admin/dxpr_studio/dxpr_builder/page_template entity.dxpr_builder_page_template.collection administer site configuration Lijst van dxpr_builder_page_template-configuratie-entiteiten.
/admin/dxpr_studio/dxpr_builder/page_template/add entity.dxpr_builder_page_template.add_form administer site configuration Een paginasjabloon toevoegen.
/admin/dxpr_studio/dxpr_builder/page_template/create dxpr_builder.create_page_template administer dxpr builder configuration PageController::createPageTemplate(): kopieert het ingeschakelde gebruikerssjabloon geïdentificeerd door de uuid-queryparameter naar een nieuw paginasjabloon met dezelfde ID en categorie DXPR. Hij zet een status- of foutbericht en leidt om naar de gebruikerssjabloonlijst.
/admin/dxpr_studio/dxpr_builder/page_template/{dxpr_builder_page_template} entity.dxpr_builder_page_template.edit_form administer site configuration Een paginasjabloon bewerken.
/admin/dxpr_studio/dxpr_builder/page_template/{dxpr_builder_page_template}/delete entity.dxpr_builder_page_template.delete_form administer site configuration Een paginasjabloon verwijderen (bevestigingsformulier).
/admin/dxpr_studio/dxpr_builder/profile entity.dxpr_builder_profile.collection administer dxpr_builder_profile Lijst van dxpr_builder_profile-configuratie-entiteiten.
/admin/dxpr_studio/dxpr_builder/profile/add entity.dxpr_builder_profile.add_form administer dxpr_builder_profile Een profiel toevoegen.
/admin/dxpr_studio/dxpr_builder/profile/{dxpr_builder_profile} entity.dxpr_builder_profile.edit_form administer dxpr_builder_profile Een profiel bewerken.
/admin/dxpr_studio/dxpr_builder/profile/{dxpr_builder_profile}/delete entity.dxpr_builder_profile.delete_form administer dxpr_builder_profile Een profiel verwijderen (bevestigingsformulier).
/admin/dxpr_studio/dxpr_builder/user_licenses dxpr_builder.user_licenses administer dxpr builder configuration PageController::userLicensesPage(): niet-gecachete tabel van gelicentieerde gebruikers (kolommen User, Roles, Sites, Assigned en Operations). Daarboven rendert de pagina zijn eigen licentieoverzichtskaart (dxpr-license-info) wanneer licentie-informatie beschikbaar is, en, terwijl een vrijgemaakte licentie zijn 30 dagen uitzit, een melding “Next license available on”. Op deze route rendert het blok Licentie-info niets, zodat het overzicht nooit twee keer toont.
/admin/dxpr_studio/dxpr_builder/user_licenses/sites dxpr_builder.user_licenses.sites administer dxpr builder configuration PageController::userLicensesSitesPage(): itemlijst van de domeinen geregistreerd voor de gebruiker gegeven in de mail-requestparameter; geopend in een modaal vanuit de licentietabel.
/admin/dxpr_studio/dxpr_builder/content dxpr_builder.licensed_content administer dxpr builder configuration PageController::licensedContentPage(): gepagineerde tabel (20 per pagina) van contentitems bewerkt met DXPR Builder, met het contentitems-licentieoverzicht. De queryparameter needs_migration=1 toont alleen items die een inhoudsmigratie nodig hebben. Leeg wanneer geen licentie-informatie beschikbaar is.
/admin/dxpr_studio/dxpr_builder/migration-status dxpr_builder.migration_status administer dxpr builder configuration MigrationStatusController::statusPage(): niet-gecachete tabel van geregistreerde inhoudsmigraties met hun openstaande items. Elke openstaande migratie heeft een link Nu uitvoeren, en een knop Alle openstaande migraties uitvoeren verschijnt wanneer er openstaan.
/admin/dxpr_studio/dxpr_builder/migration-run/{migration_id} dxpr_builder.migration_run_confirm administer dxpr builder configuration MigrationRunConfirmForm: bevestigt, voert dan één migratie uit als batch en keert terug naar de statuspagina.
/admin/dxpr_studio/dxpr_builder/migration-run-all dxpr_builder.migration_run_all_confirm administer dxpr builder configuration MigrationRunAllConfirmForm: bevestigt, voert dan elke geregistreerde migratie uit als één batch en keert terug naar de statuspagina.
/dxpr-builder/disavow-user dxpr_builder.disavow_user_confirm administer dxpr builder configuration DisavowUserConfirmForm: bevestigt het uitsluiten van de gebruiker gegeven in de uid-queryparameter van bewerken met DXPR Builder.
/dxpr-builder/delete-stale-user dxpr_builder.delete_stale_user_confirm administer dxpr builder configuration DeleteStaleUserConfirmForm: bevestigt het verwijderen van licentiegegevens voor het e-mailadres gegeven in de email-queryparameter.

Wat nu?

  • Configuratiereferentie voor de instellingen die de mediabrowser en het AI-gedrag van deze eindpunten regelen.
  • PHP API voor de services die de controllers aanroepen.
  • Hooks API voor de hooks waarmee andere modules buildergedrag wijzigen.