WikiForms Developer Specifications
Welcome to the official developer hub for WikiForms. This service provides programmatic abstractions designed to hook secure data capture structures directly into standard Wikipedia ecosystem frameworks.
PHP Framework Keyword Engineering
We leverage highly performant, type-safe architecture. The mapping table below documents how our code implements native PHP keyword functionalities to run seamlessly on the shared server:
| PHP Architectural Keyword | Target Implementation Context within WikiForms |
|---|---|
declare(strict_types=1) |
Enforces scalar type declarations to completely eliminate type-coercion bugs during form submissions. |
namespace |
Isolates the engine inside `WikiForms\Docs` to prevent functional collisions with native MediaWiki packages. |
interface |
Defines rigid contracts (`FormProcessorInterface`) ensuring consistent input/output for third-party wiki add-ons. |
readonly |
Protects immutable data layers (like `$toolVersion`) from modification post-initialization. |
final |
Secures foundational utility logic (like input validation algorithms) against downstream manipulation or override exploits. |
abstract |
Declares architectural skeletons that developers must extend to create custom, domain-specific form actions. |
Core Object-Oriented Framework Skeleton
When extending the platform to support custom templates, your sub-classes must implement our core framework boundaries. Review the codebase archetype configuration below:
<?php
// Developers can rely on this abstract layout found inside public_html/includes/
namespace WikiForms\Docs;
interface FormProcessorInterface {
public function parseTemplate(string $jsonPayload): array;
public function generateWikiSyntax(array $sanitizedData): string;
}
API Gateways
External web applications and gadget systems consume telemetry data or template rules using the following secure endpoints:
1. Submit Form Template
POST https://toolforge.org
Receives incoming structural form responses from client interfaces. Yields a tracking hash identifier upon completion.
2. Request Active Form Definition
GET https://toolforge.org{id}
Extracts localized form constraints, rendering metadata, and parsing variables.
ToolsDB Cluster Scheme
Data persistence runs on the Wikimedia Cloud ToolsDB Service. All tables are strictly structured under a matching index pattern:
wikiforms_blueprints: Tracks master definitions, layout layouts, ownership, and permission keys.wikiforms_entries: Preserves user payloads, execution run logs, and metadata mapping properties.
Contributing via GitLab
Development changes, test configurations, and issue logs are actively tracked within the WikiForms upstream repo.
To patch components:
- Fork the core code repository.
- Write corresponding test scripts confirming your additions.
- Open a Merge Request specifying the issue ticket.