Vexal Documentation by WileyLabs

Client Project Media Uploader

Stable

Shortcode: [vexal_project_uploader]

Requires: Project Workspace enabled, Vexal Media active

Updated: July 2026

The Client Project Media Uploader is a frontend intake wizard for clients and field teams. Users select or create a Project, optionally assign a Portfolio, choose an Asset Type and Asset Subtype, then upload Project Assets. Files are optimized by Vexal Media. Upload does not auto-publish Portfolios—admins build public displays from organized Assets.

Prerequisites

  1. Vexal Portfolio active with Project Workspace enabled in settings (default: off)
  2. Vexal Media active (1.6.025+ recommended for current Media Library labels)
  3. Processing configured in Vexal Media → Settings / Integrations
  4. Project Asset Types registry configured (defaults ship with 14+ types)

If the uploader shows as disabled, check workspace_enabled in Portfolio settings and confirm Vexal Media service status reports processing ready.

Shortcode setup

Add the parameterless shortcode to any page or builder block:

[vexal_project_uploader]

Assets load only when the shortcode is present on the page.

5-step wizard

StepLabelWhat the user does
1ProjectSelect an existing Project (vxp_portfolio) or create a new one
2PortfolioOptional: skip, select an existing Portfolio (vxp_project), or create a new Portfolio title
3Project AssetsChoose Asset Type, Asset Subtype, and Asset destination (pool)
4UploadSelect files (max 10 per submission by default)
5DoneConfirmation with asset batch ID; submission polls processing status via AJAX

Wire compatibility: request fields gallery_id and project_id are unchanged. Internally, gallery_id is the Project and project_id is the Portfolio.

Asset destinations

Phase 1 enabled destinations route files into _vxp_gallery_media JSON pools:

  • before, after — comparison pools (often shown in Gallery)
  • progress, detail — work-in-progress and detail shots
  • project_video, featured, reference — hero, video, and reference Assets

Visual destinations may feed the Project Gallery. Documents and other non-visual Assets remain Project Assets even when they are not Gallery items.

Processing bridge

On submit, intake stages files through Vexal Media. Each submission creates:

  • Submission CPT vxp_submission with status metadata
  • Asset batch ID and queue batch ID for traceability
  • Attachment linkage via _vxp_portfolio_item_id after processing

After upload (admin workflow)

  1. Filter Media Library: upload.php?vexal_gallery={project_id}
  2. Verify Vexal Project, Vexal Category, and Vexal Portfolios columns
  3. Review Asset pools: admin.php?page=vexal-portfolio-portfolios&edit={id}&view=media
  4. Run Media Linkage if relationships appear empty after bulk intake
  5. Assign Projects to Portfolios and publish with [vexal_portfolio id="slug"]

Common issues

  • Uploader disabled on page — enable Project Workspace; confirm Vexal Media is active
  • Files stuck processing — check Vexal Media queue and API credentials
  • Assets not on public page — expected until an admin assigns the Project to a Portfolio and publishes the shortcode
  • Empty Media Library columns — run Media Linkage

See Portfolio troubleshooting for detailed diagnostics.

See also