ProcessWire Documentation

repository·master·Indexed 22 days ago

https://github.com/processwire/processwire

ProcessWire is an open-source Content Management System (CMS) and Content Management Framework (CMF) designed for flexibility and scalability via a powerful API. Documentation covers installation, upgrading (including 2.x to 3.x migration), debug mode configuration, and admin theme customization for AdminThemeUikit and Admin Theme Reno. It also includes details on Pro module compatibility and CKEditor 4 Export to PDF plugin integration.

Tokens
10.6K
Snippets
34
Records
66
Agent score
78%

What's inside ProcessWire

  1. Use jQuery UI Layout for page management

    master

    The jQuery UI Layout plugin is a layout manager inspired by extJS border-layout. It allows you to create complex UI structures including headers, sidebars, toolbars, menus, and status bars. It supports up to 5 regions per layout with unlimited nesting capabilities.

    Key features include:

    • Resizable & Collapsible: Panes can be resized within limits or collapsed using jQuery UI animations.
    • Hidable & Slidable: Panes can be completely hidden or 'slid open' for temporary access.
    • Customizable Regions: Each region can have unlimited headers or footers.
    • Flexible Content: You can use div elements, iframes, or any other HTML elements as panes.
    • Extensibility: Supports callbacks, custom methods, and integration with other jQuery UI widgets.
    • Demo Mode: Setting the applyDefaultStyles option enables a fully functional layout for testing.
  2. Features of the CKEditor 4 Export to PDF plugin

    master

    The plugin provides several capabilities for controlling PDF output:

    • One-click Export: Converts HTML content to PDF directly from the editor.
    • Custom File Naming: Set dynamic names for the generated PDF files.
    • Image Path Handling: Manages relative vs. absolute URLs for images.
    • Custom Styling: Use custom CSS rules to change page size, margins, text styling, and add custom headers and footers.
    • Content Pre-processing: Execute synchronous or asynchronous code to modify HTML content before the PDF is generated.
  3. Use Complexify for client-side password strength validation

    master

    Complexify is a client-side plugin designed to measure password complexity. It can be used to provide visual feedback to users (such as strength bars) or to casually enforce minimum complexity requirements.

    Important Security Note: This plugin provides client-side validation only. To ensure security, you must combine its use with server-side sanity checking. If you require a full server-side implementation, look for ports of the Complexify algorithm in other languages (e.g., PHP, Node.js).

  4. SCAYT plugin features and limitations

    master

    The SCAYT plugin underlines spelling and grammar errors as users type, allowing corrections via a right-click context menu.

    Free vs. Paid Services:

    • Free Version: Uses WebSpellChecker's free services. It includes a banner advertisement and has specific usage limitations.
    • Commercial License: To remove the banner and lift service limitations, you must obtain a license. You can choose between a Cloud-based or a Server (self-hosted) solution.

    Supported Languages (Free Version): American English, British English, Canadian English, Canadian French, Danish, Dutch, Finnish, French, German, Greek, Italian, Norwegian Bokmal, Spanish, and Swedish. Additional languages and specialized dictionaries require a commercial license.

  5. Choose between CKEditor Inline Mode and Regular Mode

    master

    CKEditor offers two modes with different performance and visual characteristics. Choosing the right one depends on your page layout:

    Inline Mode

    Editors are not initialized until hovered, which improves initial page load speed. The editor area expands with content, and the interface is only visible upon focus. Use Inline Mode when:

    • You have multi-language textarea fields.
    • You are using textarea fields within Repeaters.
    • You have three or more CKEditor instances on a single page.

    Regular Mode

    Editors run in a separate frame (iframe), providing better isolation from other CSS/JS and higher reliability. The interface and buttons are always visible. Use Regular Mode when:

    • You only have 1-2 CKEditor instances on a page (e.g., body and sidebar).
    • You want to limit vertical space consumption.
    • You need maximum compatibility with CKEditor plugins.
  6. Protect the /wire/ directory

    master
    The /wire/ directory contains the ProcessWire core files. You should not modify any files within this directory, as it is typically replaced entirely during core upgrades. Any custom logic or modifications should be implemented via modules or site-specific directories to ensure they are not lost during an update.
  7. Install the SCAYT plugin for CKEditor 4

    master

    The SpellCheckAsYouType (SCAYT) plugin provides real-time spelling and grammar underlining in CKEditor 4. If your CKEditor installation does not include it by default, follow these steps to add it manually:

    1. Copy the contents of the plugin repository into a new folder named plugins/scayt within your CKEditor installation directory.
    2. Enable the plugin by adding scayt to the extraPlugins configuration in your config.js file.

    Once enabled, the plugin will appear on the CKEditor toolbar under the ABC button.

    config.extraPlugins = 'scayt';