Articles Web Reports – Word Press Plugin



Articles Web Reports

Articles Web Reports

Articles Web Reports lets you publish selected reports from your Articles installation directly to your WordPress website. Visitors can view reports in their browser as PDF or HTML — no Articles client required. Reports open in a new browser tab, so users can view multiple reports side by side and use the browser's built-in print and save controls.

How It Works

When a visitor clicks View Report on your WordPress site, the following happens:

  1. WordPress sends the request to your Articles server (running on your local network or server).
  2. Articles runs the report with any parameters the user entered.
  3. Articles exports the report as PDF or HTML and sends it back to WordPress.
  4. WordPress opens the report in a new browser tab.

The connection between WordPress and Articles is secured with a shared secret key. Visitors never communicate directly with Articles — everything goes through WordPress, keeping your Articles server protected.

Requirements

  • Articles v1.x or later with the HTTP server enabled.
  • WordPress with the DataSoft Articles Reports plugin installed.
  • Your WordPress server must be able to reach your Articles server over the network (same LAN, VPN, or a publicly accessible IP/port).

Setting Up Articles

Articles includes a built-in HTTP server that handles report requests. Make sure it is enabled in Articles Settings and note the port number and webhook secret — you will need both when configuring the WordPress plugin.

The HTTP server listens on the port you configure (for example port 8765). If Articles is running behind a firewall or router, ensure that port is reachable from your WordPress server.

Installing the WordPress Plugin

  1. In your WordPress admin, go to Plugins → Add New → Upload Plugin.
  2. Choose the file datasoft-articles-reports.zip and click Install Now.
  3. Click Activate Plugin.
  4. Go to Settings → Permalinks and click Save Changes (no need to change anything — this flushes WordPress rewrite rules so report URLs work correctly). You only need to do this once after installation.

Configuring the Plugin

Go to Settings → Articles Reports in your WordPress admin and fill in:

  • Articles Server URL — the full URL to your Articles HTTP server, for example http://192.168.1.10:8765. No trailing slash.
  • Webhook Secret — must exactly match the webhook secret configured in Articles Settings, for example 32F81205-ED2A-4D4C-B719-12F5A2D61012.

Click Save Changes.

Setting Up reports.ini

Articles uses a file called reports.ini to control which reports are available on your website. Only reports explicitly listed in this file with WebAccess=1 are accessible — this gives you full control over what is published.

The reports.ini file is located in your Articles www folder (the same folder configured in Articles Settings as the Report Buttons ini file). You can edit it with any plain text editor such as Notepad.

Each report is a section in the file. The section name (in square brackets) is the report's internal key — it is never shown to users but must be unique.

A basic example:

[TodaysSales]
Caption=Today's Sales
ReportFileName=C:\ProgramData\Articles\Reports\TodaysSales.fr3
WebAccess=1
WebFormat=PDF
WebDisplayName=Today's Sales Report
WebCategory=Sales

A report with fixed (non-prompted) parameters:

[MonthlySummary]
Caption=Monthly Summary
ReportFileName=C:\ProgramData\Articles\Reports\MonthlySummary.fr3
WebAccess=1
WebFormat=HTML
WebDisplayName=Monthly Summary
WebCategory=Management
CompanyName=Acme Corp

Here CompanyName is passed to the report automatically every time it runs. The user never sees or changes it.

Reports with WebAccess=0 (or no WebAccess line) are not published to WordPress — they can still be used by webhook buttons and the run endpoint as normal.

reports.ini Key Reference

KeyRequiredDescription
CaptionNoLabel used for webhook buttons. Defaults to the section name.
ReportFileNameYesFull path to the .fr3 report file on the Articles server.
WebAccessYesSet to 1 to publish this report to WordPress. Set to 0 or omit to keep it private.
WebFormatYesPDF or HTML. Controls how the report is exported and displayed.
WebDisplayNameNoThe name shown to users on the WordPress report listing. Defaults to Caption.
WebCategoryNoGroups reports under a heading on the listing page. Leave blank for no grouping.
AnyOtherKeyNoAny other key (that does not start with Param_) is treated as a fixed report variable passed to FastReport every time the report runs.
Param_*NoDefines a user-promptable parameter. See the Parameters section below.

Adding the Report Listing to a Page

Use the shortcode

No reports available. Check that Articles is running and the server URL and secret are correct.

on any WordPress page or post to display the report listing.

To show all web-accessible reports:

No reports available. Check that Articles is running and the server URL and secret are correct.

To show only reports in a specific category:

No reports available. Check that Articles is running and the server URL and secret are correct.

The category must match the WebCategory value in reports.ini exactly (not case-sensitive). You can place multiple shortcodes on the same page with different categories to create a structured report directory.

Report Parameters

Parameters let users enter values before a report runs — such as a date range, a company name, or a status filter. When a report has parameters defined, clicking View Report opens a small form where the user fills in the values and then clicks Run Report.

Parameters are defined in reports.ini using keys that start with Param_. The part after Param_ must exactly match the FastReport variable name used in the report.

The format for each parameter line is:

Param_VariableName=Label|DefaultValue|DataType|Hint
  • Label — the field label shown to the user. If blank, the variable name is used.
  • DefaultValue — the value pre-filled in the field. Can be a fixed value or a dynamic date keyword (see below). If blank, the field starts empty.
  • DataType — controls what kind of input is shown. See the DataType table below.
  • Hint — small grey help text shown below the field. If blank, the variable name is used.

Parameters appear on the form in the same order they appear in reports.ini.

Parameter DataTypes

DataTypeInput shownValue sent to report
DateDate pickerYYYY-MM-DD
DateTimeDate and time pickerYYYY-MM-DD HH:MM:SS
Time12-hour time selector (hours, minutes, AM/PM)HH:MM AM/PM
TextPlain text inputThe text as entered
NumericNumber inputThe number as entered
ComboBoxDropdown listThe selected option
CheckBoxCheckboxTrue or False
PasswordMasked text inputThe text as entered

For ComboBox, list the options comma-separated in the DefaultValue field. The first option is selected by default:

Param_Status=Status|Open,Closed,All|ComboBox|Select invoice status

For CheckBox, set the DefaultValue to True or False:

Param_ShowDetails=Show Details|True|CheckBox|Include line item detail

Dynamic Date Defaults

Instead of a fixed date in the DefaultValue, you can use a keyword that resolves to the actual date when the user opens the parameter form. This means Today always means today — not the date the ini file was written.

KeywordResolves to
TodayCurrent date
Today+NN days from today (e.g. Today+7)
Today-NN days before today (e.g. Today-30)
NowCurrent date and time (or current time for Time fields)
ThisWeekStartMonday of the current week
ThisWeekEndSunday of the current week
ThisMonthStartFirst day of the current month
ThisMonthEndLast day of the current month
ThisMonthStart-1Last day of the previous month
ThisYearStartJanuary 1st of the current year
ThisYearEndDecember 31st of the current year

Dynamic date keywords work with Date, DateTime, and Time field types. For Time fields, use Now for the current time or a fixed value like 09:00 AM.

Full reports.ini Example

[MonthlySales]
Caption=Monthly Sales
ReportFileName=C:\ProgramData\Articles\Reports\MonthlySales.fr3
WebAccess=1
WebFormat=PDF
WebDisplayName=Monthly Sales Report
WebCategory=Sales
CompanyName=Acme Corp

Param_StartDate=Start Date|ThisMonthStart|Date|Enter the report start date
Param_EndDate=End Date|Today|Date|Enter the report end date
Param_Status=Status|Open,Closed,All|ComboBox|Select invoice status
Param_MinAmount=Minimum Amount|0|Numeric|Enter minimum invoice amount
Param_ShowDetails=Show Details|True|CheckBox|Include line item detail

[YearlySummary]
Caption=Yearly Summary
ReportFileName=C:\ProgramData\Articles\Reports\YearlySummary.fr3
WebAccess=1
WebFormat=PDF
WebDisplayName=Yearly Summary
WebCategory=Management
Param_Year=Year|ThisYearStart|Date|Select the start of the year to report on

[InternalAudit]
Caption=Internal Audit
ReportFileName=C:\ProgramData\Articles\Reports\Audit.fr3
WebAccess=0

In this example, Monthly Sales and Yearly Summary appear on the WordPress site. Internal Audit does not — it is available for webhook buttons only.

Reloading reports.ini

Articles reads reports.ini at startup and whenever you click Reload Report Buttons in Articles Settings. You do not need to restart Articles after editing the file — just reload.

WordPress caches the report list for 60 seconds. After reloading in Articles, wait up to a minute before the updated list appears on your site.

PDF vs HTML

Use WebFormat=PDF for most reports. PDF opens in the browser's built-in PDF viewer with full zoom, print, and save controls. It looks exactly like the printed report.

Use WebFormat=HTML for reports that users may want to copy text from, or for simpler tabular reports. HTML renders inline in the browser tab. Images are embedded directly in the HTML so no external files are needed.

Only normal report types are supported for web viewing. Page-by-page email reports, direct print reports, and kiosk reports cannot be run via the web interface.

Security

The webhook secret is stored in WordPress and sent from WordPress to Articles with every request. It is never exposed to the browser or to website visitors. Visitors only ever communicate with WordPress — Articles is never directly accessible to them.

Only reports with WebAccess=1 in reports.ini can be run via the web interface. The full path to the report file is never visible to website visitors — they only see the section key name.

If you change the webhook secret in Articles Settings, update it in Settings → Articles Reports in WordPress at the same time, otherwise reports will stop working.

Troubleshooting

No reports appear on the page
Check that Articles is running and the Server URL and Webhook Secret in the WordPress plugin settings are correct. Also confirm at least one report in reports.ini has WebAccess=1.

Report fails with an error message
The error message will describe what went wrong. Common causes are a missing or incorrect report file path in reports.ini, or a report that requires a database connection that is not available.

Report URL says "expired or not found"
The report token is valid for 5 minutes after generation. If the browser tab was left open for more than 5 minutes before loading, run the report again.

PDF shows admin-ajax.php as the filename in document properties
Make sure you visited Settings → Permalinks → Save Changes after installing the plugin. This enables the clean report URL that gives the PDF the correct filename.

Articles is on a different network from WordPress
The Articles server URL must be reachable from the WordPress server — not just from your browser. If Articles is on a local office network and WordPress is on a public hosting server, you will need port forwarding or a VPN between them.