An independent media centre content management system
Oscailt Installation and Configuration Guide
Install and Configuration Guide Version 1.4
For use with Oscailt 4.3.1 onwards
1. Introduction
This Installation and Configuration Guide has been created to help make the process easier and to indicate the various options that
are available and to explain the many numerous configuration parameters and settings. The installation instructions just cover how to install
the files and setup the database and how to import one of the template sites. From that point on is considered configuration and this ranges from
the default install configuration to the setting of various parameters to the site configuration which is really more related to the layout and
design and much of this is covered in the User Guide.
Some of the information here is repeated in the User Guide where it was first documented and where this document does not provide
the information then the User Guide should be consulted as it may well be found there.
1.1 Oscailt Overview
Oscailt is an GPL licensed software system primarily designed for running Indymedia publishing websites. However
it can be used by anyone wishing to setup a publishing system whether that be using an 'open publishing' model or not.
One of the main advantages of Oscailt is that it can be setup fairly rapidly especially if one of the templates sites is used.
There are quite a number of features in Oscailt but the most important are that it allows stories and comments to
be published which are stored in a database. Additionaly stories and comments may also attach images, audio, video, various
miscellaneous files like pdfs and embedded video and audio. It can import and export RSS & Atom feeds of stories too.
Different story types can be defined and for story types of 'events', there is an event calendar which can list
events in a monthly or weekly format or just a plain listing. For accessing older stories, there is a basic archives page.
Oscailt has the ability to customise the layout and setup different page layouts for different types of pages. This
allows for different types of newswires and article view pages and headline boxes. Oscailt also has reasonable multiple language support.
For a full listing of Oscailt features, see Oscailt Feature List.
1.2 Oscailt System Requirements
It is assumed here that Oscailt 3.8 or a later version, is being installed as most web hosting services will only be offering either
PHP 7.x or PHP 8.x because versions of Oscailt earlier than v3.7, did not work with PHP 7. The latest version of Oscailt 4.3 works with PHP 8.2.8
although the latest version will still work with PHP 7.x
In all cases below the software required to be pre-installed is freeware and is usually under the GPL license.
To install and run Oscailt, you need to have the following:
- Apache webserver.
- MySQL 5.5 database server or later versions.
- PHP 7.x or later installed.
This is often known as a LAMP installation where the acronym stands for: Linux, Apache, MySQL and PHP.
For a table of compatible PHP and MySQL versions for the most recent Oscailt release see:
Features List: Section 3. Software Requirements
Note: In the case of MySQL you may use the fork of MySQL, the Maria Db but so far Oscailt has not been tested with it,
but it should work in theory.
Most web hosting sites offering an Apache webserver will generally come with MySQL and PHP already installed.
To make use of additional options in Oscailt you may need any number of the following:
- An Email Server -to allow Oscailt to send email notifications.
- A Jabber Server -to allow Oscailt to send and receive XMPP chat messages.
- A Domain Name -i.e. the web address of your site. For example: www.my-news-site.com .
- A Domain Name to IP Address Mapping -the domain name provider may provide a service to map your domain name, when looked up, to the IP address of your server.
- ffmmpg - to allow Oscailt to extract cover images from videos files and other tasks.
If you are just installing Oscailt on your laptop, initially to test it out, then you probably do not need an email server nor need to setup a domain name.
There are many options to load a LAMP installation on your own laptop or to use a Windows version of the more or less the same thing. One
such example but not the only one is Bitnami
1.3 Oscailt Download Page
The software can be downloaded from http://sourceforge.net/projects/oscailt/
1.4 Oscailt Support
For issues related to Oscailt and contact the email list oscailt at lists.indymedia.org
You can also raise bugs and feature requests through SourceForge at the Oscailt project page at
www.sourceforge.net/oscailt/
1.5 License
Oscailt is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by
the Free Software Foundation. See the GNU General Public License for more details.
It also includes the MagpieRSS and PHP XMPP Libraries GNU software.
2. Oscailt Installation
There are two parts to the installation. The first is getting the actual files onto the server and the second is running the PHP install script to
do the automated part of the install.
Transferring the downloadable release gzip/tar file onto the server can present problems depending on whether you have direct terminal and or ftp access to the
server or you are forced to use an web interface like myPhpAdmin. If it is on your own laptop then that process is trivial.
Once the file is on the server you need to extract all the Oscailt php files into the appropriate directory.
Therefore these two steps are split out and if the first is second nature to you then skip to the subsequent section.
To install, you must create an empty database and load the Oscailt php files onto your webspace and run the
install script. See the README file for more details that comes with Oscailt downloadable zip file.
The software can be downloaded from http://sourceforge.net/projects/oscailt/ and a list of the
features at Oscailt 4.x features and functionality
2.1 Transferring the Download File to the Server and Extracting the Files
If this is done on a laptop it is quite trivial and you can skip to the next section. Otherwise the steps depend on whether you have direct ftp and terminal
access to the server where you will host Oscailt and the webserver.
For direct access follow these general steps
- Transfer via ftp or sftp the Oscailt download file onto the server. In nearly all cases you will be automatically placed in the home directory of the userid that you used to login with.
- Locate where the root of your webserver is. This is usually to a directory like:
/var/www/html/ or possibly /var/www/html/htdocs/
- Assuming the download file is named like: oscailt43.tar.gz uncompress the file with this command:
gunzip oscailt43.tar.gz
- The tar file now needs to be un-tarred to the webserver root. Howwever this directory may be owned by the 'Apache' user
which means you may not have permission to move it there and you might require either root permissions or 'sudo' permissions if you have been given them.
Alternatively you may have to ask the server administrator (if it is not you) to do it for you. Therefore just untar the file into your home directory
and request that the files be moved later to the root of the webserver. The command to extract the file from the tar file is simply.
tar -xf oscailt43.tar
This should generate a set of directories with this structure relative to that point. Some of the sub-directories from the imports, exports and graphics
directory have been removed for clarity.
The area highlighted below in purple-bold is what needs to be copied or moved to be under the Apache webserver htdocs area
-i.e. under /var/www/html/htdocs/
+---documentation
¦ +---images
¦ +---userguide
¦ +---images
+---html
¦ +---attachments
¦ ¦ +---xspf_player
¦ +---config
¦ +---graphics
¦ +---javascript
¦ +---objects
¦ ¦ +---feedexport
¦ ¦ +---indyobjects
¦ ¦ ¦ +---indydataclasses
¦ ¦ +---indyruntime
¦ ¦ +---magpie
¦ +---openwysiwyg
¦ +---tinymce
¦ +---xmldata
¦ ¦ +---imports
¦ ¦ ¦ +---A_Small_Generic_NewsSite_Red
¦ ¦ ¦ +---A_Small_Generic_NewsSite_Yellow
¦ ¦ ¦ +---Basic Generic Site
¦ ¦ ¦ +---Basic Generic Site (Blue)
¦ ¦ ¦ +---Basic IMC
¦ ¦ ¦ +---Basic NewsSite
¦ ¦ ¦ +---Basic_News_Site_Blue_Theme
¦ ¦ ¦ +---Basic_News_Site_Red_Theme
¦ ¦ ¦ +---Beginner_Generic_news_Yellow
¦ ¦ ¦ +---full indymedia template
¦ ¦ ¦ +---Simple Indymedia
¦ ¦ ¦ +---Simple Site 2
¦ ¦ +---indydatatypes
¦ ¦ +---itemcache
¦ ¦ +---templates
¦ ¦ +---site_section_templates
¦ +---XMPPHP
+---tools
+---upgrades
+---upgrade-3-01
+---upgrade-3-02
+---upgrade-3-03
+---upgrade-3-04
+---upgrade-3-05
+---upgrade-3-06
+---upgrade-3-06-01
+---upgrade-3-06-02
+---upgrade-3-07
+---upgrade-3-07-01
+---upgrade-3-07-02
+---upgrade-3-08
+---upgrade-3-09
+---upgrade-4-0
+---upgrade-4-0-01
+---upgrade-4-01
+---upgrade-4-02
+---upgrade-4-02-01
+---upgrade-4-03
+---upgrade-4-03-01
Note: If this is an upgrade you are doing, then you will want to transfer the relevant upgrade files temporarily to the webserver root directory but it is
very important that they are removed once the upgrade is complete.
- Transfer the files to the Apache webserver htdocs target directory. As described above you may need root permissions because
depending on the setup, you will need to also change the ownership of the files. In the example here it is assumed Apache webserver runs under the
username 'apache'. The steps to take are then:
- Change the write permissions on the files
Example using the Linux find command:
find . -type f -exec chmod 644 {} \;
The dot '.' after find refers to the current directory so MAKE sure you are located at the head of the Oscailt files just loaded onto server
- Change the ownership of the files and directories.
Example command:
sudo find . -type f -exec chown apache:apache {} \;
and for directories.
sudo find . -type d -exec chown apache:apache {} \;
- Transfer the files and directories to the Apache webserver directory. Since ownership is changed, this will require the 'sudo' command again.
In this example the path to the home directory where Oscailt files have been placed and the head of the Apache htdocs directory are shown:
Home Directory: /home/user1/oscailt43/html/
Web Directory: /var/www/htocs/
Example:
cd /home/user1/oscailt42/
sudo mv html/ /var/www/htdocs/.
You would then specify this directory path as the base path in the httpd.conf apache webserver configuration file as the location of your website
If you are doing an install with bitnami virtual VM on debian, the apache server may run as user 'daemon' and you could end up with
a mixture of file ownerships. The reason is that during the install any directories and cache files created will be under the apache user. So this
woul need to be resolved. It is possible the files are initially given ownership as "root" but that would need to be changed.
2.2 Creating the Empty Database Schema
When the Oscailt installer runs it creates all the database tables. It therefore must have a database user account setup first and an
empty database created so that the installer can logon to it and create the tables. If you are using a web host provider, the setup may be that
only your host provider can create the database user and empty database for you or they will give you the necessary access to do it.
Important: You must set the database default character set to latin1 and NOT to UTF-8 which will be the
default in some installations.
When these steps are complete the oscailt database configuration file needs to be updated with the details.
There are four steps really which are:
- Create the Oscailt database user account
- Create the Oscailt empty database under the user account just created
- Define and grant database priviliges to the database user(s). -see below.
- Edit Oscailt file: config/dbconfig.php with the database server, user, password and database name
You will need database root access or equivalent to logon the database and run the commands. Some services may provide a web interface to do this.
Examples of the commands are:
2.2.1 Granting Privileges To the Database Username
To use the database, Oscailt must login with a MySQL database username and password as described above. This username then needs to be granted permissions or
privileges so that it can access the database and make changes to it. Do NOT use the database root user for normal Oscailt operation. This is why a separate
database user for it, is created.
Note: You may need to GRANT the correct permission to the database user with a command like:
GRANT ALL PRIVILEGES ON oscailt_db.* TO 'oscailt_user1'@'localhost' IDENTIFIED BY 'password';
or this might be sufficient
GRANT ALL PRIVILEGES ON oscailt_db.* TO 'oscailt_user1'@'localhost';
You may also after the install want to limit the permissions because once the install is done, the database user will not need the permissions any more
for creating, modifying or deleting tables since it will only be dealing with records from that point on. Thus it is a security risk from that point onwards
to allow it to have too many permissions. An ideal solution is to create two separate users one with the higher level permissions and to start off with the
higher level one for the install and then update the config/dbconfig.php after with the lower level permission user.
You can check the privileges for the user with this command:
SHOW GRANTS FOR 'oscailt_user1'@'localhost';
2.3 Running the Oscailt Install.php Script
2.3.1 Setting up Access to the Install Script
The Oscailt installer is a PHP file which you run from the web-browser. On the Apache web server side you need to grant temporary external access
to this file for the duration of the install. To do this, if you are using a .htaccess file, then this needs to be edited with the following
line added:
RewriteCond %{REQUEST_URI} !^((.*)install.php)$
You must remove this after the install for security reasons and preferably either move the install.php file back out
of that directory or delete it.
2.3.2 Starting the Install
Assuming everything is in place the you should enter the URL to your web-server followed by install.php. For example:
http://www.my-new-oscailt-site.net/install.php
You will now see the start page of the install.php and it guides you through a number of pages to:
- Create directories and files,
- Check the database connection is valid, create tables, add some default configuration entries
- Ask you to import a sample or starter site
- And finally instructs you to go to the admin page where you can login and start setting up the site.
Note: The installer will create an oscailt_install.log file for reference.
There are two main options to choose from with the installer and they are:
- Import an existing site template.
- Do not import any site template -and consequently build your own site layout from scratch
Your choice depends on what you want to do. In recent releases more template sites with different colour schemes were added than the limited
set available previously. If you want to get a site up and running very quickly it is probably better to import one of the simpler template site.
Alternatively if you have your own design / layout in mind, then it may make sense to build a site from scratch. However this requires more
effort to learn how the object layout of Oscailt works and which is reasonably well documented in the User Guide or you could install the
simplest template site and then modify it and built out from it.
Therefore it is recommended to import a simple site and get it running, then through the admin pages see how the site is put together in terms
of the object building blocks and that can be a good base to design your new site. Most of the template or starter sites are fairly basic and the idea
is to keep them single so it is relatively easy to figure out how they are put together. They can be made a lot more complex by building up side menus, headers,
footers and sets of links and static pages. You can even create RSS or Atom objects for importing things like favourite blogs etc.
2.3.3 Post Installation Tasks
When the install is complete then you need to
- Be sure to remove the file install.php or remove its entry from .htaccess file.
- Go to admin.php and login as admin with default password post install
- Go to the admin configuration page (editconfiguration.php) and configure the site URL and site name.
- If you have imported a site then go to the Edit Friendly URLs page (editredirects.php) and click on the Auto Generate button.
- Go to admin.php to do other admin stuff like setting up other users and permissions via Edit Editors and Edit Roles. See configuration sections below.
- If using RSS feeds, Oscailt expects curl to be installed at /usr/local/bin/ -this path is in the file snoopy.inc
- To view the site go to: index.php -although what appears depends on what was installed in terms of template sites.
2.4 TroubleShooting the Install
2.4.1 Install Page Displays Nothing
There can be many reasons for this but a frequent once is due to the default PHP settings. If you have access to the webserver error logs then there may be
some information in that to indicate the problem. This should be found at /var/log/httpd/error_log
The PHP settings are controlled by the
php.ini file. The location of this tends to be server dependent but the first place to look is to look for where PHP itself
is installed on the server. Then to check this file and look for the setting for short tags. If it is off or disabled then you must enable them. This
may or may not require a restart of the server.
If after that the problem persists then one should check the permissions for read access on the PHP files and the read access of directories too.
2.4.2 Installer Cannot Create Directories
This is always a permissions problem and the first thing is to determine the username that the web server is running as and the user owner of the
underlying Oscailt files and directories. If they are different this can lead to problems. You should ensure at least that both users are in the
same Unix group. One solution is to change ownership (if you have permission) of the files and directories to that of the webserver user. See steps on
how to do this in sec 2.1 above.
You should never use the setting 0777 (see above) on the directories as it is a major security risk but if it is used in order to get the initial directories
created then you should use the chmod command to restrict permissions on all files and directories. Again see examples of how to use the
command above as with the combination of the find and chmod command
2.4.3 Cannot Connect to the Database
Check the settings for the database name, host (i.e. server), username and password and ensure these match with the user name setup in the database AND
that the database privileges have been granted. The host will in most cases be set to localhost but if the database is running on another server then
you will have to enter the ip address for it.
2.5 TroubleShooting Post Install
2.5.1 Tasks To Do Post Install
Whenever the installation is complete, the installer will lead you to login into the new site and one of the first tasks should be to follow the step below.
- Login via the admin.php page using the default user: admin / admin
- Go to the EditConfiguration.php page and update the site URL to the site address of your (test) server and pay attention to the hints
2.5.2 Tasks To Do When Using an Imported Template Site
If you have carried out the install and imported one of the template sites then there are a few basic steps you need to do and these are listed below. Not
doing them may cause problems.
- Go to the Edit Friendly URLs and this will display the list of imported friendly URLs. If there are none present OR the Auto Generate button
is showing then click on it to generate the friendly URL mappings. If this is not done or not present then there may be problem viewing the site.
3. Configuration Overview
3.1 Configuration Areas Overview
There are many levels to the configuration of Oscailt varying from values hard coded into a number of php configuration files to values configured
through the admin web-interface in the admin configuration field to the setup of the layout objects which may or may not be considered configuration
to the CSS style sheet files for defining text fonts and colours to the graphics files used and create for site images and banners.
Not all these things need to be configured in advance. For example if you import one of the template sites during the install then you will have default
settings for all of the above. Therefore this section is more a guide of where to find things and how to change the configuration.
In summary the different configuration areas are:
Parameter | Description |
1. Hard coded configuration in php files. | The general idea is the less tdkely to be changed the less accessible. |
2. Admin Configuration page settings. | These are stored in the database. |
3. Site related configuration. | e.g. languages, story types, topics, regions, notification levels etc. |
4. Site layout object configuration. | e.g. the buidtdng blocks defining the site pages. |
5. Oscailt editors and permissions configuration. | e.g. additional oscailt users. |
6. Cascading Style Sheets | for controltdng, font sizes, weights, colours etc |
7. Site graphics and banners | used for the public face of the site |
8. Language Related Configuration | for controlling how many languages can be used in publishing and language specifc layout objects |
Each of these areas are described briefly in the following sections and in some cases they will refer to sections in the User Guide
to save duplication here.
3.2 Hardcoded General Configuration
There are a further set of configuration parameters which are hardcoded into a number of files which are:
- Database credentials
- Hardcoded rarely changed parameters.
- Site related parameters.
- Allowed html tags configuration.
And the corresponding files are:
- config/dbconfig.php
- config/systemconfig.php
- objects/systemconfig.inc
- config/markupconfig.php
Normally they do not change, but they control some key parameters which probably do not have to change for most sites.
The 5.2 Edit Configuration screen allows you to change a subset of these and the
5.2.1 Installation Info screen accessible from the same page shows most of the hardcoded configuration.
3.2.1 Database Credentials Configuration
This is stored in the file config/dbconfig.php and should only need to be setup once and that is before the Oscailt install.php
is run. It is important to lower the read permissions on this file for security purposes so that is only readable by the Apache process.
The corresponding Linux permission should be set with the command:
chmod 600 dbconfig.php
3.2.2 Hardcoded Rarely Changed Configuration Parameters
This information is stored in the file config/systemconfig.php and most of the values will not need to be changed
but if they do, then it is likely to be only once. The parameters of note in this file are:
- request_consent default = true -this controls whether or not to ask consent to use cookies. Oscailt does not use many and only for publishing and
for editors for logging in. They are also used for saving browsing perferences.
- use_cookie_only default = true -this controls whether publishing of stories & comments only makes use of cookies or cookies and sessions. The
default is the former so as to reduce the use of sessions.
- event_type_id default = 5 -this is value of type id for a story type of Event. It is the Db Id displayed in the Edit Types admin page.
- feature_type_id default = 1 -this is value of type id for a story type of Feature. It is the Db Id displayed in the Edit Types admin page.
- photo_type_id default = 1 -this is value of type id for a story type of Photo Essay. It is the Db Id displayed in the Edit Types admin page.
- send_event_emails default = 0 -set this to say 3 to send out events as emails 3 days before the event. And 2 for 2 days.
- send_event_addr default = dummy value -set this to email address of the email list you are using to send your Oscailt events to.
- default_language_code default = en
- max_unshortened_tag_length default = 154 -when URLs are published in stories the text part gets shortened to 154 characters. May wish to increase.
- show_page_translations_box default = true -For multi language site, Oscailt will show a translation box or link to the same object in another language.
- rss_fetch_timeout default = 5 -how long to wait for RSS feeds.
- status_monitor_size_limit default = 40 -Size of the buffer for storing Oscailt messages and login and logout entries.
- monitor_size_limit default = 20 -The maximum number of entries in the IP monitor when it is switched on. Oldest entries will be flushed.
- publish_comment_delay default = 0 -Appearence of comments on the site can be delay by the number of seconds specified here.
- captcha_digits default = 3 -Number of captcha digits in the numerical captcha which can be enabled in the publish form.
- enable_wysiwyg_editor default = empty -Allowed values are: TinyMCE or OpenWYSIWYG and turns on these editors in publish page to allow users
to use HTML. When these are not used the simpler Custom Tags are used instead
- quota_colour default = "#CCFFCC" -The background colour to use for quoted text during publish.
- non_zero_date_insert_null default = true -Some MySQL databases are configured to allow NULL entries for Date fields. Check your sql_mode setting.
- site_twitter_username default = dummy -The username of your site twitter account. It will be used for the Twitter link if Social Media icoms are
enabled in the Article object.
- xmpphp_jabber_installed default = false -Oscailt v3.8 integrates with Jabber chat messaging and set this to true if you want to use this feature
- random_range default = 1000 -Random number generated between 1 and 1000 and controls how often scheduled tasks get processed. The busier the
traffic levels on your site, the higher value this can be. Scheduled tasks are used for sending event emails, sending and receiving jabber messages and
sending out Oscailt reminders (if used).
3.2.3 Site Related Configuration Parameters
There are a lot of values in this file objects/systemconfig.inc but most of them are configurable through the web-interface
via the Edit Configuration page. See section 3.3 below.
However there is a small subset which are hard coded and the ones of note are:
- use_mysqli_api default = true -whether to use the MySQLi interface (true) or the older one (false). This has to be set true for PHP 5.5 onwards.
- server_email_enabled default = true -if installing on a server / laptop with no email server set this to false. Assumption is most public sites will have email setup and one wants to make use of Oscailt email notifications.
3.2.4 Allowed HTML Tags Configuration
On any website whenever the public are allowed publish they are rarely allowed wish the full set of HTML tags because invariably one of them is not closed
properly and it would end up breaking the page display. This is why many sites offer alternative sets of tags which they can parse and control better and
therefore detect improper matching. This constraint is implemented in Oscailt by defining in config/markupconfig.php
sets of public tags that the public is allowed use in the publish (object) form and then an extended set called basic tags that editors
can use in the form. There are also a set of evil tags which are largely JavaScript types of tags that are not allowed at all an these are designed
to prevent people inserting JavaScript to carry out hacking.
The type of configuration change here is to either add or remove tags between the public and basic tags arrays to increase or decrease the set of
allowed tags during publish. For example all the HTML tags that can be added by any of the Custom Tags in the publish object/page have to be in the
basic set and the custom tags available to the public -i.e. non logged-in users has to match in the public set.
If either the TinyMCE or OpenWYSIWYG options instead of Custom Tags are configured for publish forms, then this HTML tag may need to be revisited.
3.2.5 Jabber Related Configuration
This section only applies if the Jabber integration is enabled. The information for this is storied in config/systemconfig.php
file within the XmpPhpConfig class near the end of the file.
As a pre-requiste you should have pre-installed a Jabber server such as ejabberd from
http://www.process-one.net/en/ejabberd and to configured at least two users with passwords. One is
the user from which Oscailt will send chat messages and the second user is the one that receives the messages.
These users and passwords then need to be set in the xmp_sender_user and xmp_recipient and related parameters. The host of the site needs
to be set. The comments in the file should explain the exact details. The Jabber server will need SSL certs. You can use your own in which case
it is important to set the correct value in the peer_name parameter.
Finally when Oscailt is setup there is a special Jabber page where tests can be carried out at sending and receiving chat messages to these users. The
link to this test Jabber page can be found in the admin User Status set of pages.
3.2.6 FFmpeg Related Configuration
This feature is available in Oscalt v4.1 onwards
This section only applies if the ffmpeg integration is enabled. ffmpeg is a command line tool for use with video files. As part of the integration with
Oscailt, it is necessary to configure the path to the ffmpeg binary by setting the value of the variable
$oscailt_basic_config['ffmpeg_path']
in the file. config/systemconfig.php and it is also required to check that from the main configuration page the
Installed ffmpeg checkbox is ticked.
3.3 Admin Configuration Page
The first task to do when the Oscailt installer has completed is to setup the site URL along with a number of other settings. To do this login to the
admin.php page and from there click on the Edit Configuration link. Details in the User Guide in section
5.2 Edit Configuration
3.4 Site Related Configuration
This refers to the first steps on building a working site and if a template site was imported then some of this configuration will already be done.
To configure these they are all accessible from the main admin page and the details are already covered in the User Guide
A summary of the items to configure would be:
3.5 Site Layout Configuration
Site layout deserves it's own section and is extensively covered in the User Guide and section
4. Designing an Oscailt Website below provides pointers to the relevant sections in the User Guide
3.6 Oscailt Editors and Permissions Configuration
Oscailt can have multiple users with varying levels of access to the site ranging from full administration rights to much more limited actions.
If there will be multiple people either running the site or need access either for administration purposes or writing articles then it is worth
planning out to some degree a set of roles and defining these first. The installer defines a set of some basic roles to get one started.
Then the next step is to create new users. Details of both of these processes are already described in the User Guide in sections
5.6 Edit Editors and 5.7 Edit Roles
with some further background in 8. Editor Roles and Permissions
3.7 Cascading Style Sheet Configuration
Creating a set of CSS style sheets for a site tends to be a creative and artistic process and can involve a lot of work to get it right. Oscailt
has a set of three CSS files with pre-defined classes and styles. There are two main parts to this process. The first is identifying the style classes
in existence and the second is determining when and where they are used in Oscailt.
Oscailt uses three style sheet files and they can be edited from within the Admin area as described in the User Guide in section
5.4 Edit Style Sheets.
There is some previous coverage of what and where the style classes are in section
11. Use of Cascading Style Sheets (CSS) in Oscailt of the User Guide
In Oscailt v3.7 a new admin feature was introduced that allow an editor to select new foreground and background colours for most of the style classes
and to re-generate the css files. This is accessible through the style sheet admin pages and is documented in the User Guide in
5.4.1 Generate New Style Sheets. And in the latest release, version 4.0, there is a new sub-page
from this section that displays multiple colours and allows one to play around with various combinations to help settle on selecting a colour which
is probably a useful aid when redesigning style sheets.
3.8 Oscailt Site Graphics and Banners
The site graphics and banners are the public face of your site and most of the basic graphics can be found in the directory:
html
|
+---graphics
The install comes with a default set of graphics but one is likely to either modify the existing ones or create new ones.
Many of the Oscailt object building blocks for the designing the pages have options to include images / graphics but there is one object called
the pictureBox object which is designed specifically for displaying images because if you define several
language versions, it can display the correct one for the current browser language setting. For example you can have a set of banner images named as
follows: en_banner.jpg, es_banner.jpg, fr_banner.jpg and de_banner.jpg which would display for English, Spanish, French
and German language settings respectively. You could also have regional or even topic versions. The allowed formats of the file naming convention are
listed below. And it searchs for fileypes in order of: gif, jpg and png.
region_topic_code_banner where code is the two letter language code.
topic_region_code_banner
region_topic_banner
topic_region_banner
region_code_banner
region_banner
topic_code_banner
topic_banner
code_banner
banner
There is a useful feature in the admin page under the View Objects page and the
5.12.2 View Theme Images tab which will list all the images / graphics that are currently being
used by the different site objects and this greatly helps to pin down which images are in use and where.
To change images, one can edit the layout object and simply point to a different image. However if you do not have a lot of access to the server,
the problem becomes how and where to upload images. This solved by providing an Uploads File option in the Admin Layout area and the
files / images uploaded will be stored in the directory
html
+---attachements
+---sites
+---site_1
where site_1 is site with Id = 1. If you create multiple sites you will get other ids, so the files will go to the relevant directory
for which admin layout page you are viewing. Then when you want to add an image into an object like PictureBox you
provide a relative path to it. For example if the image is called image1.jpg then in the example above for uploads you would
enter
attachments/sites/site_1/image1.jpg
3.9 Switch to new Date Format System in Oscailt 4.2
In the Oscailt 4.2 release, the code has been updated to no longer use the strftime function to format the display of dates and now uses the date() function
instead, because sttrfime is deprecated in PHP 8.1.0. The old style date format is described here whilst the new format is described here. Oscailt allows the
date format to be configured in any of these object types: newswire, article, feature, headlinebox, feedimport, imageimport. However to make this easy the
viewobjects.php admin page has been updated and under the View Obj Date Formats subage, it will scan all the objects and display
all the instances of the date format where configured and automatically suggests conversion strings in the new format. Additionally when the object types shown
in filtered mode, there is an otion to automatically update the date formats to the new format.
Once all the objects are convered then the objects should be rebuilt by going to the ClearCache admin page and selecting the Rebuild Objects option.
A final check should be made on the main configuration admin page to ensure the system default date format is also updated. This should also have an automatic suggested conversion.
4. Designing an Oscailt Website
This task could be viewed as configuration but it is really a separate task in it's own right and it is has already been reasonably well covered in the
User Guide. Therefore the purpose here is simply to provide pointers to the relevant sections.
Before starting to design a site it is worth reviewing section 3. Display Overview of the
User Guide to understand how the basic layout operates in Oscailt and then to read section
2.4. Configuration of Site Layout
Then you are ready to read sections 2.6 Overview for Creating an Oscailt Site and
6. Instructions for Configuration of Site Layout
Then section 10. General How To Section should cover most of
the specific scenarios one is likely to encounter when adding more complex options and features into a site layout.
It would also be instructive to do a few initial installs of one of the template sites and examine how each site is built out of the various objects
and are linked together before perparing to build your own site.
A useful tool for examing the overall set of objects one has built already is to use the Admin View Objects which is briefly described
in section 5.12 View Object Usage
5. Language Translation
Language configuration is already extensively covered in the User Guide in section
7. Language Translation but to summarize there are several different
areas that can be configured for language specifics. A list of these are:
- Setting the default language for the Oscailt site.
- Set in the main admin edit configuration page.
- Defining languages in Oscailt used for publishing.
- Set in the admin edit languages page.
- Translation of Topics, Regions and Story Types into different languages.
- Set in the admin edit topics, regions and types pages.
- Creating languages specific versions of each layout object.
- Achieved by creating a language specific instance of each layout object.
- Defining language versions of Administration Layout Pages.
- Achievd by creating language specific versions of each of the admin and object layout XML files.
Since the character set used in the database is Latin1 this means it can only store character sets for European languages and the PHP code itself
uses the ISO-8859-1 character set. See Wikipedia for details on the character set itself.
While using the UTF-8 character set would allow all languages to be supported, traditionally the PHP string handling did not handle this very well
and the code would need a very large amount of effort to re-work it to use UTF-8 and given there has been no demand for non Latin languages, it does not
make sense to devote effort into this task.
For a multi-language site, all of the above are likely to be carried out except the translation of administration layout pages since only a very small
set of editors would have access to these and would require them to be in another language.
6. Appendix A
This section very briefly covers installing other software.
6.1 Installing Apache
Unless you are starting from scratch it is very likely your server already has Apache Web Server installed. There are lots of websites
already covering how to download and install an Apache webserver. This section simply lists some items that you may forget configure.
Firstly the Apache configuration files on your server are generally under the directory: /etc/httpd/
6.2 Installing PHP
In most cases where you are using a webserver from a hosting firm, PHP will be pre-installed. For details of installation of PHP itself there are
many resources for this on the Internet. However this section is present here so as to highlight some key configuration parameters that may arise if
you are encountering problems.
Configuration in PHP is controlled through a file called: php.ini which has many values, most of which
are defaulted. The short_open_tag may arise if the code is not executing or generating syntax errors and controls the classic opening / closing PHP tags.
The next two parameters display_errors and html_errors should be possibly switched off on a
production system and switched on in a development or testing system.
If your system is not communicating with the database then next parameter mysqli.default_port may have an incorrect value.
You will need to find out what the setting is on MySQL itself.
If you are using for example the Bitnami LAMP/WAMP install for development, it is useful to disable the operations cache by setting it to
zero in parameter opcache.enable.
short_open_tag = on
display_errors = on
html_errors = on
mysqli.default_port = <port>
When you have installed Oscailt, then from the Edit Configuration page under the option System Installation Info tab
or link, many of the other PHP settings important to Oscailt are displayed.
6.3 Installing Jabber
Generally Jabber will NOT be pre-installed and is only needed if you want to use that feature. It is only useable from Oscailt v3.8 onwards.
Therefore you must find a Jabber server, download it and install it. The difficult part is configuring it and the list below gives a few tips since
there are already numerous sites covering jabber installation.
- The configuration file is likely to be called something like: ejabberd.yml
- The host name needs to be set. You might use: servername.example.com
- If you are using a SSL cert file different to the standard one, then specify the path to it with the certfile parameter
- Create two user accounts with passwords. One is for sending from and the other will be for receiving jabber messages. Examples are: admin and spammonitor. These should match the users specified in the XmpPhpConfig config section of the Oscailt config/systemconfig.php file
- In the jabber configuration file you will probably need to specify the admin user as the admin account
- For the second jabber user you can use a command like: ejabberd register_user username and there is another command to set the password
- In the Oscailt config/systemconfig.php file xmp_enabled=true
- In the Oscailt admin page Users Status see the sub-page Jabber Page which has options to check the configuration and do send a test message
- On the server where jabber is installed you may need to open the default jabber port 5222 using possibly iptables so it is open. See the commands on how to do that elsewhere.
- On the client side (e.g. Mobile phone) download a jabber client such as yaxim and then create in it the account you wish to communicate to
which is the admin user and set the client user as the second user -e.g. spammonitor. Then set the resource to /pub and hostname and password
When complete and the Jabber server has been started then from the Jabber tab in Oscailt Admin Users Logged In & Msgs page,
there is an option to send a test message to ensure it is all working.
6.4 Installing ffmpeg
This command line tool can be used for extracting cover images from video files (e.g. mp4 files) or can be used for reducing the size of the video for
example from 1280x720 to 640x360. It has numerous other features. Within Oscailt the Admin image manager makes use of the tool.
You will need access to the server to install this tool. If you are using a hosting service they may not permit it. There are many websites explaining how to
install ffmpeg on the various different flavours of Linux.
For information and documentation about ffmpeg itself, visit it's website at: https://ffmpeg.org/
6.5 Installing curl
On many Linux servers this command line tool will be already installed. It is a tool for sending http requests and receiving the response. It is a highly
versatile tool. There are many resources found online describing how to install it. In the case of Oscailt it can be used for retrieving imported RSS feeds.
However PHP has an inbuilt curl API library which was not available in earlier versions, so this negates the need to install it these days.
6.6 Oscailt Support
For issues related to Oscailt, you can raise bugs and feature requests through SourceForge at the Oscailt project page at
http://sourceforge.net/projects/oscailt/
Unfortunately the former Oscailt list oscailt at lists.indymedia.org is no longer operating.
Back to Table of Contents
Last updated: Mar 2024