An independent media centre content management system
Oscailt 4.x Software Features
Doc version 1.19
Table of Contents
1. Introduction
Oscailt is a Content Management System written in PHP and uses MySQL database. It was originally written for use with Indymedia sites. Oscailt 3.x introduced a
range of new features to those already provided in Oscailt 2.x. The latest of release is now at Oscailt 4.3.1. See the releasenotes.txt file for
a list of all changes since 3.0.
The Oscailt home page www.indymedia.ie/oscailt/ lists some of the sites using the software, although
unfortunately that list has dwindled. It has been running the Indymedia Ireland website since cira 2003.
2. Feature List
The feature list is divided into three main groupings covering what the public sees, the configuration of the site setup and
administrative side functionality.
2.1 Public Feature List
- Publishing of stories by categories (e.g. news, press release, event), topic and region. Each story can
include (with optional captions)
- Images, audio, video and various attached file types (configurable) (e.g. jpg, png, mp4, pdf, .doc)
- Multiple embedded video (e.g. BitChute, Vimeo, YouTube, Rumble, Brighteon, BrandNewTube, Odysee)
- Multiple embedded audio (.mp3 only) and embedded audio player
- Publishing of comments to stories and these can include:
- Images, audio, video and various attached file types (e.g. jpg, png, mp4, pdf, .doc)
- Multiple embedded video (e.g. BitChute, Vimeo, YouTube, Rumble, Brighteon, BrandNewTube, Odysee)
- Multiple embedded audio (.mp3 only) and embedded audio player
- Common Publish options for stories and comments
- Use of custom HTML tags for stories & comment publishing. (since v3.6)
- Or use of a WYSIWYG HTML editor (Configurable. TinyMCE or OpenWYSIWYG editors)
- Users can opt to NOT display email address.
- Users can opt to NOT display other info such as address, phone number if supplied.
- Newswires and Headlines (for various categories) with automatic image thumbnail generation.
- Latest Comments page / module
- Export RSS and Atom Feeds and Javascript (non-standard) Feeds
- Event Calendar with Weekly, Bi-Weekly and Monthly display modes.
- Archives page with various modes including monthly features headline listing.
- Photo, Audio, Video, Embedded Video and Miscellaneous files Gallery page
- Search and Advanced Search pages with word highlighting by colour.
- Contact form and optional preview mode.
- Reported Posts / Abuse form
- IndyMedia Cities (IMC) Site listing
- User Preferences (Controlled by Cookies)
- Request consent to use cookies (since v3.7)
- Ability of user to set default language
- Control display of latest comments page (Editors only)
- Automatically NOT display embedded video cover image to avoid IP tracking by video hosting server. This
also includes ability to retrieve, cache and display static cover images for YouTube and Vimeo videos for large and small thumbnails.
- Control font size
- Control default calendar display mode (weekly, bi-weekly or monthly)
- Control comment display mode in article/story pages.
- Control display of bookmark icon.
- Help Pages (various and configurable by editors)
2.2 General Site Feature List
Oscailt provides much of the core functionality through various *modules* and these are generally configurable in
both their placement on the site and in the content. In most cases, the main text labels visible on the site can
be configured for different languages.
- Ability to featurize stories and make use of Oscailt image macro to control image size and position in feature or story article.
- Ability to schedule automatic unhiding of featured and regular stories. (latter since v3.8)
- Ability to schedule making stories sticky (since v3.6.2)
- Ability to featurize images, audio and files for inclusion in (banner) gallery with optional slide deck format.
- Ability to link translated stories together (by editor only)
- Ability to allow stories to be automatically editable by public either via session cookie of publisher or by password.
- Ability to allow comments to be automatically editable by public either via session cookie of publisher or by password.
- Ability to create editor messages visible only by user session that published a comment up to duration of the session.
- Ability to email out events X days before event and associated admininstration screen to manage this. The number of days X is configurable.
- Dynamically configurable multiple types of imported and exported RSS and ATOM feeds. Uses Magpie PHP library version 0.7
- In-built translation of months and days of week in calendar and archive module for multiple languages.
- Support for multiple languages.
- Via xml files for layout and configuration language support allowing translation of page titles, labels, links and other descriptive text.
- Translations allowed for: Topics, Regions and (story) Types.
- Supports character set ISO-8859-1 (only)
- Article (i.e. story) display module. Includes print page mode with and without comments.
- Includes photo essay mode using Javascript to generate a simplified slide show (using Javascript).
- Feature newswire display module. Includes option to generate deck of features in a basic slide panel (using Javascript).
- Newswire display module. Includes headlines and multi-column mode and many configurable options.
- Latest comments display module.
- Photo, audio, video & embedded video and miscellaneous files gallery display module.
- Archives calendar type module.
- Publish form module. Optional numeric text based captcha and inbuilt anti-spam measures.
- Contact form configuration. Includes anti spam measures.
- Search form is configurable.
- Configuration of the site layout through dynamically configurable pages and objects for:
- Article display.
- Option to display social bookmarks. ( for Digg, Del.icio.us, Furl, Reddit, Technorati, Facebook and Twitter.)
- Newswire display
- Headers, Footers, Menu bars and Links.
- Razorwire for announcements and promotions including scheduled displaying and hiding of these and option to display as slide panel
- Headlines box and Related stories box.
- Latest Comments box.
- Events and Archives calendar display.
- Publish and contact form ( partially configurable) display.
- Configurable Static documents (e.g. About page, guidelines, info) including ability to make public or private. -i.e. visible only internally
- RSS and Atom imported feeds / syndication.
- Export site content / newswires as RSS and Atom feeds.
- Daily importing of remote images and optional archiving of images including thumbnail generation.
- IMC Site Listing module including ability to filter out list of dead IMC sites.
- JavaScript scrolling Marque banner of stories.
- Defining links and listings of links.
- Use of templates. Any object can be saved as a template and re-used as a template to provide a basic building block.
- Feature template html file can be used when upgrading a story to a feature for basic layout.
- Configurable bargraph useful for fundraising drives.
- Code Box module. Allows inclusion of PHP code or scripts. Used for implementing razorwire announcements and can include embedded video and slide panels.
- Facility to list recently hidden stories and or comments on public site along with hide reason from editorial log.
- Admin tool to see all translation links. Primarily added for debugging
- Creation of simple rules to fix incoming RSS or Atom feeds that may have slightly incorrect feed formats.
2.3 Administrative Feature List
- Main Administration page with links to all administrative features.
- Dashboard display mode for adminstration page.
- Friendly URLs to enable nicer URLs to be defined and used.
- Website Style Sheet file(s) (CSS) viewing and editing page and (since v3.7) a feature to re-generate style sheets with changed colours
- Database caching for reducing database load.
- Basic html and exported (RSS & Atom) feeds caching for increased response and load reduction.
- Article archive mode to convert articles into static html files.
- Image cache for thumbnail images (including handle Orientation values 2,3,4,6 & 8) and embedded video cover images.
- Imported RSS/Atom feed caches
- Object layout and configuration screen.
- Object summary viewer listing objects that have been translated and other key parameters. Includes template listing and themed images listing.
- File Upload page for editors for uploading site related files. e.g. graphics, css files.
- File Upload page for public use by restricted user accounts including option to add text to a shared public file.
- General configuration of site settings including (not the full list)
- Site name and URL and HTML meta tag description field.
- Allowing and specifying maximum upload sizes for stories and comments separately for:
- Images, audio, video and or miscellaneous files (e.g. pdf)
- Specifying max number of attachments (of above) types for stories and comments separately.
- Specifying max content size for story summary and contents and comment content.
- Enable and control use of HTML tags in story summaries, content and or comments.
- Data storage directory locations
- Cache file storage locations
- Email enabled/disabled for Oscailt
- Email contact and notification addresses for contact form and editorial actions.
- Integration with Jabber/XMPP for sending publish notifications and Oscailt reminders to specified Jabber user and receiving remote editor commands.
- IP monitor cache size
- Comment publish delay (mins)
- The maximum time an editor can keep a story locked for editing.
- Email notification address for editor auditing of stories and comments.
- Enable newswire thumbnails
- Logging level (for debug)
- Set default date display format
- Site timezone offset.
- View admin page for basic system installation information for Oscailt, MySQL, Webserver and PHP.
- Story Languages configuration screen. -i.e. the list of site supported languages.
- Story Tags configuration screen. (One or more tags can be associated with any story. They are a form of category and complement the more fixed category of topics)
- Story Topics configuration screen. (topics are for story categories. e.g. war, peace, environment...)
- Option to translate all topics into the configure site languages
- Story Regions configuration screen. (regions are for story categories. e.g. national, international...)
- Option to translate all regions into the configure site languages
- Story Types configuration screen. (types article types. e.g. feature, news, press release, event....)
- Option to translate all types into the configure site languages
- Anti Spam measures.
- Publishing tokens to prevent rapid multiple posts.
- Configurable use of text based numerical captcha available for publish and contact form
- IP Monitoring
- IP Banning for publish
- Domain banning for publish
- IP Banning and automatic redirection.
- IP Blocking of entire site for identified spam bots.
- Auto banning of bots upon detection of SQL attacks.
- Spam wordlist configuration for spam detection on stories and or comments.
- Spam options including spam wordlist detection for contact form.
- Name Banning
- Story Locking
- Comment Delay. Configurable delay of 0 - 60 minutes before published comments appear
- Publish Story shutdown.
- Blocking bogus spam searches that use excessive amounts of webserver resources.
- Basic text analysis for stories to generate letter and word counts and word frequency usage.
- Fine control of site access and permission for editors through editorial roles for:
- Editorial actions like hide, delete, edit, featurize, unhide
- Administrative tasks
- Site layout and page configuration
- Editorial actions for: (auditing logging exists for most of these actions)
- Story and or comment hides, delete, edits, featurize, unhides, sticky, downgrades, clip, translate, enabling public editing
- Single action multiple hide (or unhide) of newswire stories and or of story comments.
- Swapping displayed image order in stories and comments.
- Moving attachment between either a story and comment.
- Editor user account creates, updates and deletes.
- Switch on of IP monitor and automatic switch off.
- IP and Name bans and ban extensions.
- Creates, updates and deletes of tags, topics, regions, types and languages.
- Layout edits and updates.
- Importing and exports of site definitions and objects via XML files. (Installation allows import).
- Reported posts facility that can report the URL of any story or comment with scrreen to view submitted reports.
- Multiple editorial user accounts.
- Roles and permmissions can be set per user account.
- Can optionally add basic info visible to other editorial users.
- Can enable two factor authentication for login (since v3.7)
- Can enable numeric captcha during login. This is a global setting for all editors, (since v4.2)
- Can enable automatic logout of expired sessions on next request (since v4.2)
- Set options for automatic email notification on story, comment publishes and or system reminders.
- Set options for admin dashboard mode.
- Editorial screen can handle multiple pages (size 25) in editor setup display.
- User logon recent history and basic intra user short message board and shared scratch pad system.
- Scheduled system message reminders (to message board system) including monthly and yearly recurring reminders.
- Administrative story and comment image managing facility to:
- List all attachment files for any selected month and year. Can sort by name or time. Display as thumbnails.
- Show image thumbnails, cached image(s) and full image.
- Rebuild image thumbnails.
- Retrieve image information on file sizes, width & height, type, date, parent story or comment link etc
- Display 'Exif' camera data (on Unix installations only)
- Automatically identify incorrect image file types.
- Convert .bmp files to .jpg files or rename to correct file type.
- Convert .webp files to .jpg files or rename to correct file type. (Ony for PHP 5.5 or higer )
- Rotate an image clockwise or counter-clockwise and flip horizontally or vertically.
- List orphaned files that are unattached to any story or comment.
- Attach orphaned files to any story or comment.
- Generate cover image for any mp4 video files if ffmpeg is installed. Done manually and or automatically.
- Read mp4 video file header information if ffmpeg is installed.
- Clip mp4 video files to shorter lengths if ffmpeg is installed.
- Resize cover images to a preconfigured set of reduced sizes.
- Administrative site logs viewing facility for site, editorial actions, security, spam and RSS error logs. This
includes extensive filtering options for editorial actions.
- Administrative screen to view last connection status for imported RSS and Atom feeds.
- Clear cache option for SQL (database), RSS, OML, HTML, image and object caches.
- Basic MySQL server statistics and sizes of key tables.
- Basic site statistics on numbers of stories and comments published by category and per day, month, year.
- Opcache statistics (if enabled). Available for PHP 7.4 or higher and Oscailt 4.2 onwards.
- Use of shared memory to gather page hits by page type (e.g. events, publish, newswire, article)
- Use of shared memory to calculate most popular story.
- Use of shared memory to monitor recent server memory usage.
- Bulk deletes of hidden stories and or comments and attachments.
- Basic administration screen dashboard of summary info.
- Logfile yearly / monthly rollover.
2.4 Installer
- Install covers the following:
- Creates all the Oscailt database MySQL tables
- Creates all log, attachment and system cache directories
- Inserts basic reference and configuration data
- Adds Oscailt administrator user
- Includes a set of reference sites for import for rapid site setup
- Handles upgrades from v3.0 to 3.6.2 to 3.7, 3.8, 3.9, 4.0, 4.1
- Detailed upgrade documentation for each upgrade from v3.1 onward
2.5 Documentation
- Features list -this file
- Readme file -contains basic installation instructions
- Release Notes -text file of changes for each Oscailt release
- Oscailt 3x Install & Configuration Guide
- Oscailt 4x User Guide
- Upgrade Guides for each version
- Design Document
3. Software Requirements
To install and run Oscailt, you need the following:
- Apache Web Server -Other server types may work, but ideally Apache should be used.
- MySQL Database -latest version of Oscailt works with v8.0.22. See table below for other version combinationss with earlier versions.
Database should have the character set to Latin1 as Oscailt does NOT support UTF8.
- PHP -latest version of Oscailt works with PHP 7.4. See table below for other combinations.
In PHP 5.5, the 'mysql_' API was dropped and it is recommended to use the 'mysqli_' API instead. Release v3.7 works with this version. See table below
for more details.
And optionally:
- Email server -If you will be making use of email and email notifications, ideally this should be setup on the host. It normally is.
- cURL -This is used for retrieving / importing RSS and or Atom feeds. Curl is free software widely available. It is used by the Magpie module in Oscailt. Since release 4.0, Oscailt will attempt to use the inbuilt PHP cURL library available in PHP 7.x onwards, negating the need for a separate binary.
- Jabber server -If you wish to integrate with Jabber to allow publish notifications. (v3.8)
- ffmpeg -If you install this freeware video utility on your server you can configure Oscailt to use it to generate cover images from video .mp4 files saved in the attachments directory (v4.0x)
3.1 Release Matrix
The PHP version listed below is the highest version supported for a given release of Oscailt. Likewise for MySQL
Oscailt Release | PHP version | MySQL version(s) |
< 3.6 | < 5.3 | MySQL 4.x |
3.6 | 5.3 | MySQL 4.x |
3.6.1 | 5.4 | < MySQL 5.5 |
3.6.2 | 5.4 | MySQL 5.5 |
3.7 | 7.x | MySQL 5.x |
3.8 | 7.1 | MySQL 5.x |
3.9 | 7.3 | MySQL 8.0.18 |
4.0 | 7.4 | MySQL 8.0.22 |
4.01 | 7.4 | MySQL 8.0.22 |
4.1 | 7.4 | MySQL 8.0.22 |
4.2 | 7.4 May work with PHP 8.0 but untested | MySQL 8.0.22 |
4.2.1 | 7.4 | MySQL 8.0.22 |
4.3 | 8.2.8 | MariaDb 10.11.4 |
4.3.1 Recommended | 8.3.3 Also works with PHP 7.4 | MariaDb 10.11.4 |
Note 1: The politube.org website appears to have shutdown circa 2011/2012 and therefore Politube embedded videos are no longer available.
Last update: Mar 2024