advpl-web

Implement server-rendered ADVPL web pages with APWEBEX threading.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/JoniPraia/plugadvpl --skill advpl-web
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: advpl-web
Source: https://github.com/JoniPraia/plugadvpl/tree/main/skills/advpl-web
Command: npx skills add https://github.com/JoniPraia/plugadvpl --skill advpl-web

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you implement server-rendered web UIs inside Protheus (ADVPL ASP) without a separate web app stack, so you can respond to HTTP requests by generating HTML from Protheus logic.

Core Features & Use Cases

  • Server-rendered ADVPL Web pages (.APH): Mix HTML with ADVPL blocks (<% ... %>) and inline output (<%= ... %>) to generate dynamic content.
  • HTTP input handling: Read GET/POST parameters, manage session state, access cookies, and control response headers/content type.
  • AppServer Webex threading setup: Configure HTTPSERVER + JOB_WEBEX in appserver.ini to serve requests with a pooled worker model.
  • Upload/Download support: Handle multipart uploads and stream files securely for user workflows.
  • Security guidance: Prevent common issues like XSS (escape user input) and path traversal (validate file paths before sending).
  • Scope boundary: Use this for server-rendered UI; for REST/JSON use the related REST-oriented skill advpl-webservice.

Quick Start

Tell the skill to show how to create a simple .APH page that includes apwebex.ch, reads a querystring with HTTPGet("cod"), and outputs an HTML response setting an explicit content-type.

Frequently Asked Questions about advpl-web

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create server-rendered web pages in Protheus using ADVPL?

Server-rendered web pages in Protheus are created using ADVPL ASP files (.APH/.APW) that mix HTML with ADVPL blocks like `<% ... %>` to generate dynamic content directly from Protheus AppServer logic.

How do I configure Protheus AppServer to handle HTTP requests?

HTTP requests in Protheus AppServer are handled by configuring the APWEBEX threading model, which requires setting up `HTTPSERVER` and `JOB_WEBEX` entries in the `appserver.ini` file to serve requests with a pooled worker model.

How do I read form data and manage user sessions in an ADVPL web page?

Form data and user sessions in an ADVPL web page are read using `HTTPGet` and `HTTPPost` functions for parameters, while `HTTPSession` and `HTTPCookie` manage state across requests.

Can I handle file uploads and downloads through a Protheus web portal?

File uploads and downloads are supported in a Protheus web portal through multipart upload handling and secure file streaming, with guidance to validate file paths to prevent path traversal vulnerabilities.

Should I use server-rendered ADVPL ASP pages or a REST API for my Protheus application?

Server-rendered ADVPL ASP pages are designed for generating HTML web UIs directly, whereas a related REST-oriented approach should be used for REST/JSON API integrations, distinguishing the two based on your output requirements.

How do I prevent XSS in Protheus server-rendered web pages?

XSS in Protheus server-rendered web pages is prevented by escaping user input before rendering it into the HTML response, applying security guidance to protect against common web vulnerabilities.