A modern file uploader for REDAXO with chunk upload and seamless media pool integration.
Alternative: uppy
-
Chunk upload as a core feature:
- Reliable upload of large files in small parts (chunks)
- Configurable chunk size (default: 5 MB)
- Progress display for individual chunks and the full file
- Automatic merging of chunks after upload
-
Delayed upload mode:
- Select and arrange files before uploading
- Separates file selection from the upload process
- User-friendly upload button appears automatically
- Remove unwanted files before upload
- Ideal for editors working with many files
-
Modern interface:
- Drag and drop for easy uploads
- Live preview of images during upload
- Responsive design for all screen sizes
-
Automatic image optimization:
- Client-side resizing of large images before upload (optional, disabled by default)
- Faster upload through reduced file size
- Lower server load - ideal for shared hosting
- Automatic EXIF orientation correction (important for smartphone photos)
- Configurable compression quality for JPEG/PNG/WebP
- Preserve original dimensions for GIF files
- Optional: Additional server-side image processing
- Important: If both options are disabled, original files are uploaded (recommended for professional photography)
-
Accessibility and legal safety:
- ALT text requirement for images is configurable (enabled by default)
- Automatically creates meta fields if they do not exist
- Optional prompt for copyright and description metadata
-
YForm integration:
- Dedicated YForm value field with automatic cleanup of unused media
- Multi-upload support with dynamic preview
- Easy configuration through familiar YForm interfaces
-
Multilingual support:
- Available in German (DE) and English (EN)
- Easily extendable for additional languages
-
Secure API:
- Token-based authentication for external access
- Support for YCOM user authentication
- Validation of file types and file sizes
-
Info Center integration:
- Upload widget directly in the REDAXO Info Center dashboard
- Quick access without opening the media pool
- Category selection via rex_media_category_select
- Automatic positioning after the TimeTracker widget
- Respects all FilePond configuration and user permissions
-
Media widget integration:
- Seamless integration with REX_MEDIA and REX_MEDIALIST widgets
- Direct upload into form fields
- Thumbnail preview for better overview
- Bulk insert for media lists
- Multilingual user interface
-
Maintenance tools:
- Easy cleanup of temporary files and chunks
- Logging of all upload operations
- Admin interface for system maintenance
-
Alt Text Checker for accessibility:
- Finds all images without alt text in the media pool
- Statistics dashboard with completion percentage
- Accordion preview with larger image view for better descriptions
- Inline editing directly in the table
- Supports multilingual alt texts (metainfo_lang_fields)
- Mark decorative images (negative list for images without mandatory alt text)
- AI alt text generation for automatic descriptions at the click of a button
- Supports Google Gemini and Cloudflare Workers AI providers
- Configurable prompt profiles: Accessibility (default), Short/neutral, SEO-focused
- Optional AI result cache with configurable TTL to reduce repeated requests
- Multilingual generation in one request with fallback language and optional blocked-language list
- Fast keyboard navigation with the Tab key
- Bulk save of all changes
- Filter by filename and category
- Integrated as a media pool subpage
- Dedicated permission:
filepond_uploader[alt_checker]
- Install the addon: Install the addon filepond_uploader via the REDAXO installer.
- Activate the addon: Activate the addon in the backend under AddOns.
- Configure: Adjust settings under FilePond Uploader > Settings.
- Done: The uploader is now ready to use.
The FilePond addon provides a practical upload widget in the REDAXO backend Info Center. It allows quick uploads directly from the dashboard without switching to the media pool.
Quick access:
- Upload functionality directly in Info Center
- No switch to media pool required
- Compact display without leaving the dashboard
Full FilePond integration:
- Uses all configured FilePond settings
- Drag and drop uploads in Info Center
- Chunk upload for large files
- Image optimization and metadata input
Category selection:
- Dropdown for target category
- Uses standard rex_media_category_select
- Respects category permissions
Intelligent positioning:
- Automatically appears after the TimeTracker widget
- Visible only for logged-in users
- Robust detection of available addons
The Info Center widget is enabled automatically if these conditions are met:
- Info Center addon installed: The REDAXO Info Center addon must be active
- FilePond Uploader active: This addon must be active
- User logged in: Widget is only shown for logged-in backend users
Note: The widget is automatically positioned between TimeTracker and other widgets (priority 0.5). No additional configuration is required.
Upload form:
- Same structure as the media pool upload page
- Category selection with all available media pool categories
- Automatic refresh when category changes
- Respects all FilePond settings (types, size limits, etc.)
Metadata input:
- Full integration of metadata dialogs
- Supports multilingual fields (MetaInfo Lang Fields)
- Validation according to configured rules
- Alt text and copyright prompts as usual
Usability:
- Drag and drop directly in the widget
- Live preview of uploaded files
- Progress indicator and chunk upload
- Seamless integration into REDAXO UI
If the widget is not desired, it can be removed by disabling the Info Center addon or by customizing boot.php.
The FilePond addon provides seamless integration with REDAXO's standard media widgets (REX_MEDIA and REX_MEDIALIST). After upload, files can be inserted directly into form fields.
- Open a media widget: Click the open icon next to a REX_MEDIA or REX_MEDIALIST field
- Upload mode detected: FilePond detects widget context and shows an info banner
- Upload files: Use drag and drop or file selection
- Direct insert: After successful upload, insert buttons are shown
For REX_MEDIA (single media):
- Upload -> insert -> window closes automatically
- Image preview with 80x80 thumbnails
- File type icons for non-image files
For REX_MEDIALIST (media lists):
- Upload -> window stays open for more uploads
- Per-file insert
- Add all button for multiple files
- Duplicate protection prevents duplicate entries
- Visual feedback with Added status
The addon shows automatic previews for uploaded content:
Images (jpg, png, gif, webp, etc.):
- 80x80 thumbnail preview
- Proportional scaling with object-fit
- Fallback to file type icon if preview fails
Other file types:
- Color-coded icons by type
- PDF (red), Word (blue), Excel (green), etc.
- File extension label under icon
The media widget integration supports full multilingual UI:
German:
- Upload-Auswahl
- Die ausgewählten Elemente können in die Liste übernommen werden.
English:
- Upload Selection
- The selected items can be added to the list.
Note: This feature works automatically with all existing REX_MEDIA and REX_MEDIALIST fields and requires no additional setup.
$yform->setValueField('filepond', [
'name' => 'bilder',
'label' => 'Bildergalerie',
'category' => 1,
'allowed_types' => 'image/*,application/pdf',
'allowed_filesize' => 10,
'allowed_max_files' => 5,
'required' => 0,
'notice' => 'Please upload your files here.',
'empty_value' => 'Please select at least one file.',
'skip_meta' => 0,
'chunk_enabled' => 1,
'chunk_size' => 5,
'delayed_upload' => 0,
'title_required' => 1,
'alt_required' => 1,
'max_pixel' => 2100,
'image_quality' => 90,
'client_resize' => 0,
'ai_enabled' => 0,
'ai_target_field' => 'med_alt',
]);Supported YForm value options: name, label, category, allowed_types, allowed_filesize, allowed_max_files, required, notice, empty_value, skip_meta, chunk_enabled, chunk_size, delayed_upload, title_required, alt_required, max_pixel, image_quality, client_resize, ai_enabled, ai_target_field.
The delayed_upload option controls when files are actually uploaded and linked to the form:
| Value | Behavior | Typical use case |
|---|---|---|
0 |
Files are uploaded immediately after selection. | Default behavior, e.g. image galleries |
1 |
Files are uploaded only when the user clicks the upload button. | Collect and upload multiple files together |
2 |
After upload, the YForm is submitted automatically. | Quick-upload forms; ensure client-side required checks for other fields |
Note: The filepond value field is a convenient way to use the uploader in YForm. Alternatively, a regular input field with required data attributes can be used. In that case, automatic cleanup of unused media is not available.
<input
type="hidden"
name="REX_INPUT_VALUE[1]"
value="REX_VALUE[1]"
data-widget="filepond"
data-filepond-cat="1"
data-filepond-maxfiles="5"
data-filepond-types="image/*"
data-filepond-maxsize="10"
data-filepond-lang="de_de"
data-filepond-chunk-enabled="true"
data-filepond-chunk-size="5242880"
data-filepond-title-required="true"
data-filepond-ai-enabled="true"
data-filepond-ai-target-field="med_alt"
>Complete frontend form example that also works for guests (without login).
<?php
// 1. Start session
rex_login::startSession();
// 2. Optional token fallback for guests (if no backend/ycom login is available)
$apiToken = (string) rex_config::get('filepond_uploader', 'api_token', '');
if ('' !== trim($apiToken)) {
rex_set_session('filepond_token', trim($apiToken));
}
// 3. Include FilePond assets
if (rex::isFrontend()) {
echo filepond_helper::getStyles();
echo filepond_helper::getScripts();
}
// 4. Configure YForm instance
$yform = new rex_yform();
$yform->setObjectparams('form_name', 'upload-form');
$yform->setObjectparams('form_action', rex_getUrl(rex_article::getCurrentId()));
$yform->setObjectparams('form_ytemplate', 'bootstrap');
$yform->setObjectparams('form_showformafterupdate', 0);
$yform->setObjectparams('real_field_names', true);
// 5. Add FilePond field (named options)
$yform->setValueField('filepond', [
'name' => 'attachment',
'label' => 'Datei-Upload',
'category' => 0,
'allowed_types' => 'image/*,application/pdf',
'allowed_filesize' => 50,
'allowed_max_files' => 5,
'required' => 0,
'notice' => 'Bitte laden Sie Ihre Dateien hier hoch.',
'empty_value' => 'Bitte wählen Sie mindestens eine Datei aus.',
'skip_meta' => 0,
'chunk_enabled' => 1,
'chunk_size' => 5,
'delayed_upload' => 0,
'title_required' => 1,
'alt_required' => 1,
'max_pixel' => 2100,
'image_quality' => 90,
'client_resize' => 0,
'ai_enabled' => 0,
'ai_target_field' => 'med_alt',
]);
// 6. Save to DB
$yform->setActionField('db', ['rex_my_yform_table']);
// 7. Success message
$yform->setActionField('html', ['<div class="alert alert-success">Vielen Dank! Der Upload war erfolgreich.</div>']);
echo $yform->getForm();
?>Notes:
- FilePond initializes automatically after DOM ready. No manual init script is required.
- If you inject form HTML dynamically (AJAX/PJAX), trigger re-init via
document.dispatchEvent(new Event('filepond:init'));. - The metadata field mapping is handled automatically via backend API; no
data-filepond-metainfo-langattribute is required.
Notes on data-filepond-types:
- MIME types are preferred: image/, video/, application/pdf
- File extensions are converted automatically: .pdf, .doc, .docx
- Both formats can be mixed: image/*, .pdf, .doc
<?php
$files = explode(',', 'REX_VALUE[1]');
foreach($files as $file) {
if($media = rex_media::get($file)) {
echo '<img
src="'.$media->getUrl().'"
alt="'.$media->getValue('med_alt').'"
title="'.$media->getValue('title').'"
>';
if (class_exists('\\FriendsOfRedaxo\\MetaInfoLangFields\\MetainfoLangHelper')) {
$titles = \\FriendsOfRedaxo\\MetaInfoLangFields\\MetainfoLangHelper::getFieldValues(
$media,
'med_title_lang'
);
$currentTitle = $titles[rex_clang::getCurrentId()] ?? '';
echo '<p>Title: ' . rex_escape($currentTitle) . '</p>';
$descriptions = \\FriendsOfRedaxo\\MetaInfoLangFields\\MetainfoLangHelper::getFieldValues(
$media,
'med_description_lang'
);
$currentDescription = $descriptions[rex_clang::getCurrentId()] ?? '';
echo '<p>Description: ' . rex_escape($currentDescription) . '</p>';
}
}
}
?>To include uploads in emails via YForm forms, an action is available.
Pipe notation:
action|filepond2email|label_filepondPHP notation:
$yform->setActionField('filepond2email',['label_filepond']);Replace label_filepond with the field name of your filepond field, for example uploads.
Chunk upload is the core of the FilePond uploader and enables reliable uploads of large files even on slow internet connections.
- File splitting: Large files are split into small chunks client-side.
- Chunked upload: Each chunk is uploaded individually with progress display.
- Server merge: After upload completion, chunks are merged server-side into one file.
- Automatic cleanup: Temporary files are removed after successful upload.
- Improved reliability: On network errors, only failed chunks need retrying.
- Large files: Helps overcome server upload limits.
- Better performance: More efficient use of server resources.
- User-friendly: Clear progress display for chunk and total upload.
In the backend you can configure:
- Enable/disable chunk upload: Global setting for all upload fields.
- Chunk size: Size of each chunk in MB (default: 5 MB).
- Cleanup temporary files: Manual cleanup of old temporary files.
The addon includes a helper class for easy inclusion of CSS and JavaScript files.
<?php
echo filepond_helper::getScripts();
echo filepond_helper::getStyles();
?>The following data attributes can be used for configuration:
| Attribute | Description | Default |
|---|---|---|
data-filepond-cat |
Media pool category ID | 0 |
data-filepond-types |
Allowed file types (MIME or extensions, comma-separated) | image/* |
data-filepond-maxfiles |
Maximum number of files | 30 |
data-filepond-maxsize |
Maximum file size in MB | 10 |
data-filepond-lang |
Language (de_de / en_gb) |
de_de |
data-filepond-skip-meta |
Disable metadata input | false |
data-filepond-chunk-enabled |
Enable chunk upload | true |
data-filepond-chunk-size |
Chunk size in MB | 5 |
data-filepond-delayed-upload |
Delayed upload mode | false |
data-filepond-delayed-type |
Upload mode type (1=button, 2=submit) | 1 when delayed-upload is active |
data-filepond-title-required |
Title required | false |
data-filepond-alt-required |
Alt text required for images | true |
data-filepond-max-pixel |
Max image size in pixels for client resize | 2100 |
data-filepond-image-quality |
JPEG/WebP compression quality (10-100) | 90 |
data-filepond-client-resize |
Enable client-side image resize (true/false) |
false |
data-filepond-ai-enabled |
Enable AI suggestion button in upload metadata dialog | false |
data-filepond-ai-target-field |
Metadata field used as AI target (for example med_alt) |
med_alt |
data-filepond-opener-field |
Opener input field for media widget integration | - |
data-filepond-title-required Controls whether the simple title field is required:
<input data-filepond-title-required="true" data-widget="filepond" ...>
<input data-filepond-title-required="false" data-widget="filepond" ...>data-filepond-alt-required
Controls whether med_alt is required for image uploads:
<input data-filepond-alt-required="true" data-widget="filepond" ...>
<input data-filepond-alt-required="false" data-widget="filepond" ...>data-filepond-ai-enabled Enables the AI suggestion button in the upload metadata dialog:
<input data-filepond-ai-enabled="true" data-widget="filepond" ...>
<input data-filepond-ai-enabled="false" data-widget="filepond" ...>data-filepond-ai-target-field Defines the metadata field that receives the AI suggestion:
<input data-filepond-ai-target-field="med_alt" data-widget="filepond" ...>Practical AI example for image uploads:
<input
type="hidden"
name="REX_INPUT_VALUE[1]"
value="REX_VALUE[1]"
data-widget="filepond"
data-filepond-types="image/*"
data-filepond-title-required="true"
data-filepond-alt-required="true"
data-filepond-ai-enabled="true"
data-filepond-ai-target-field="med_alt"
>Note:
data-filepond-title-lang-requiredanddata-filepond-metainfo-langare legacy documentation attributes and are no longer required for current frontend integration.
The addon supports both MIME types and file extensions. MIME types are preferred because they are safer and less ambiguous.
Recommended:
data-filepond-types="mime/type"
Alternative:
data-filepond-types=".extension"
Both formats can be mixed.
- Images:
image/*orimage/jpeg, image/png, image/gif, image/webp - Videos:
video/*orvideo/mp4, video/webm, video/quicktime - Audio:
audio/*oraudio/mpeg, audio/wav, audio/ogg - PDFs:
application/pdf - Microsoft Word:
application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document - Microsoft Excel:
application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - Microsoft PowerPoint:
application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation
data-filepond-types="image/*"
data-filepond-types="image/*, application/pdf"
data-filepond-types="image/*, .pdf"
data-filepond-types="image/*, video/*, application/pdf"
data-filepond-types="image/*, video/*, .pdf"
data-filepond-types="application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, text/plain"
data-filepond-types=".pdf, .doc, .docx, .txt"
data-filepond-types="application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation"
data-filepond-types="image/*, video/*, application/pdf, .doc, .docx, .txt"Automatically mapped extensions include:
- Images:
.jpg, .jpeg, .png, .gif, .webp, .avif, .svg, .bmp, .tiff, .tif, .ico - Videos:
.mp4, .webm, .ogg, .ogv, .avi, .mov, .wmv, .flv, .mkv - Audio:
.mp3, .wav, .ogg, .oga, .flac, .m4a, .aac - Documents:
.pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .odt, .ods, .odp - Text:
.txt, .csv, .rtf, .html, .htm, .xml, .json - Archives:
.zip, .rar, .7z, .tar, .gz, .bz2
Note: If you use YForm/YOrm, call rex_login::startSession() before YForm/YOrm initialization.
Start session in frontend:
rex_login::startSession();rex_set_session('filepond_token', rex_config::get('filepond_uploader', 'api_token'));rex_set_session('filepond_no_meta', true);rex_set_session('filepond_title_required', true);<?php
rex_login::startSession();
rex_set_session('filepond_token', rex_config::get('filepond_uploader', 'api_token'));
rex_set_session('filepond_no_meta', true);
rex_set_session('filepond_title_required', true);
if (rex::isFrontend()) {
echo filepond_helper::getStyles();
echo filepond_helper::getScripts();
}
?>
<form class="uploadform" method="post" enctype="multipart/form-data">
<input
type="hidden"
name="REX_INPUT_MEDIALIST[1]"
value="REX_MEDIALIST[1]"
data-widget="filepond"
data-filepond-cat="1"
data-filepond-types="image/*,video/*,application/pdf"
data-filepond-maxfiles="3"
data-filepond-maxsize="10"
data-filepond-lang="de_de"
data-filepond-skip-meta="<?= rex_session('filepond_no_meta', 'boolean', false) ? 'true' : 'false' ?>"
data-filepond-title-required="<?= rex_session('filepond_title_required', 'boolean', false) ? 'true' : 'false' ?>"
data-filepond-chunk-enabled="true"
data-filepond-chunk-size="5242880"
>
</form>// Usually not needed: filepond_widget.js initializes automatically.
// Only for dynamically injected markup:
document.dispatchEvent(new Event('filepond:init'));// Optional in jQuery/PJAX contexts
jQuery(document).trigger('rex:ready');The addon provides customizable styles for different parts of the FilePond interface.
:root {
--filepond-upload-btn-color: #4285f4;
--filepond-upload-btn-hover-color: #3367d6;
--filepond-upload-btn-text-color: #fff;
--filepond-upload-btn-border-radius: 4px;
--filepond-upload-btn-padding: 10px 16px;
--filepond-upload-btn-font-size: 14px;
--filepond-upload-btn-font-weight: 500;
--filepond-upload-btn-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
--filepond-upload-btn-shadow-hover: 0 4px 8px rgba(0, 0, 0, 0.2);
}Examples for different button styles:
:root {
--filepond-upload-btn-color: #dc3545;
--filepond-upload-btn-hover-color: #c82333;
}
:root {
--filepond-upload-btn-color: #28a745;
--filepond-upload-btn-hover-color: #218838;
}
:root {
--filepond-upload-btn-color: transparent;
--filepond-upload-btn-hover-color: rgba(0, 0, 0, 0.05);
--filepond-upload-btn-text-color: #007bff;
--filepond-upload-btn-shadow: none;
--filepond-upload-btn-shadow-hover: none;
}
.filepond-upload-btn {
border: 2px solid currentColor !important;
}[data-filepond-item-state='processing-complete'] {
border: 3px solid #28a745 !important;
box-shadow: 0 0 8px rgba(40, 167, 69, 0.3) !important;
border-radius: 0.5em !important;
}
[data-filepond-item-state*='error'],
[data-filepond-item-state*='invalid'] {
border: 3px solid #dc3545 !important;
box-shadow: 0 0 8px rgba(220, 53, 69, 0.3) !important;
border-radius: 0.5em !important;
}Disable glow animation:
[data-filepond-item-state='processing-complete'],
[data-filepond-item-state*='error'],
[data-filepond-item-state*='invalid'] {
animation: none !important;
}.dark-theme .filepond-upload-btn {
--filepond-upload-btn-color: #3d4852;
--filepond-upload-btn-hover-color: #2d3748;
--filepond-upload-btn-text-color: #f7fafc;
}
.minimal-theme .filepond-upload-btn {
--filepond-upload-btn-color: transparent;
--filepond-upload-btn-hover-color: rgba(0, 0, 0, 0.05);
--filepond-upload-btn-text-color: #2196F3;
--filepond-upload-btn-shadow: none;
--filepond-upload-btn-shadow-hover: none;
border: 1px solid currentColor;
}<link rel="stylesheet" href="path/to/filepond-custom-styles.css">
<link rel="stylesheet" href="path/to/my-overrides.css"><?php
echo filepond_helper::getStyles();
rex_view::addCssFile($this->getAssetsUrl('css/my-filepond-overrides.css'));
?>Images can be optimized automatically - client-side in the browser, server-side after upload, or both. Both options are independent.
Client-side processing uses FilePond plugins to optimize images directly in the browser.
Benefits:
- Faster upload due to smaller files
- Lower server load
- Ideal for shared hosting
- Immediate preview of optimized images
Server-side processing optimizes images after upload on the server.
Benefits:
- Works with older browsers
- Additional validation layer
- Consistent processing independent of client
| Client-side | Server-side | Use case |
|---|---|---|
| yes | no | Default, ideal for shared hosting |
| no | yes | Strong server resources, older browsers |
| yes | yes | Cascading optimization |
| no | no | Keep original files |
Client-side EXIF correction runs automatically via FilePond EXIF Orientation plugin when client-side processing is enabled.
The addon supports multilingual metadata through integration with MetaInfo Lang Fields.
- MetaInfo addon
- MetaInfo Lang Fields addon
Single-language fields:
- title
- med_alt
- med_copyright
Multilingual fields:
- med_title_lang
- med_description_lang
- med_keywords_lang
- med_title_lang: always required
- med_alt: required for images by default, can be disabled in settings, and can be marked decorative
- title: optional unless configured as required
Each uploaded file can include:
Standard metadata:
- title
- med_alt
- med_copyright
- med_description
Multilingual metadata:
- med_title_lang
- med_description_lang
- med_keywords_lang
Configurable required fields:
- title: optional by default, configurable as required
- med_title_lang: always required
- med_alt: required for images by default (setting: Alt text for images as required field)
The Alt Text Checker helps improve accessibility by listing images without alt text and enabling quick editing.
Available under Media Pool -> Alt Text Checker for:
- Admins
- Users with permission filepond_uploader[alt_checker]
The addon supports automatic AI alt text generation. Two providers are supported:
You can enable or disable AI buttons separately in settings:
- AI button in upload metadata dialog
- AI button on media detail page
Path: FilePond Uploader -> Settings -> AI Alt Text Generation
Both area toggles are in addition to the global toggle Enable AI generation.
Google Gemini provides excellent image analysis with strong multilingual quality.
Cloudflare provides an alternative with a generous free quota.
After setup, the checker shows:
- Magic wand button per image
- AI generate all button for bulk generation
- Multilingual generation for multilingual fields
Not supported: SVG files
- The magic button appears in each enabled area at the configured target field.
- Configure target via Target field for AI suggestion (default: med_alt).
- Multilingual target fields such as med_alt_en are detected automatically.
Delayed upload separates file selection from upload execution. Upload starts only after clicking the upload button.
- KLXM Crossmedia GmbH: klxm.de - Advertising agency from the Lower Rhine region
- Developer: Thomas Skerbis
- Vendor: FilePond - pqina.nl/filepond
- License: MIT
We believe in giving back to the community and actively contribute to the REDAXO ecosystem.
- GitHub Issues: For bug reports and feature requests
- REDAXO Slack: For community support and discussions
- www.redaxo.org: Official REDAXO website
- Addon homepage: Current information and updates
