Customizing OJS

From PKP Wiki
Jump to: navigation, search


As the global OJS community increases, the need to customize individual journals using our open source software has become increasingly important. You can see some examples here. This document provides a brief overview of a few customizations to your OJS 2.x journal, including:

  • Changing the Header
  • Changing the Background Colour and Fonts
  • Adding a Unique Image for Each Issue
  • Adding Navigation Links
  • Providing News and Updates
  • Integrating Blogs, Wikis, Forums and More
  • Adding a Multilingual Interface
  • Adding a Splash Screen
  • Adding MP3 Support

First Things First: The Look

The Journal Manager can manipulate various aspects of the look of an OJS journal, without knowing very much in the way of css or HTML. There is a page devoted specifically to changing a journal's look, found under User Home --> Journal Manager --> Setup --> Step 5: The Look. The following instructions in this section all relate to this page.

Modifying the Journal Homepage Header

Under Step 5.1: Journal Homepage Header, you can upload header images and logos, or otherwise edit the header text, for the journal's home page.

You have to choose between using a text title or an image at the top of your homepage by toggling the radio button between each. Any text you enter under the Text Title will appear at the top of your home page; if you choose to use a title image instead, any banner image you upload here will appear in its place.

You can also upload a logo, which will appear to the left of the title text or image.


Keep in mind that the default header width is 820px, which would include both a logo and a title image, if uploaded; uploaded images should be sized to fit reasonably well within these constraints.


Adding Homepage Content

Under step 5.2: Adding Journal Homepage Content, you'll find you can add various different static and dynamic features to your journal's home page.

Firstly, in the Journal Description text box, you can add a brief, 20-25 word description of your journal.

You can then upload an image to be displayed on your home page. This can be anything, but common uses would be for issue covers.

Then follows a checkbox for adding the journal's current table of contents to the main page. This will include links to the abstracts and articles.

Finally, a larger input field will allow you to add more information. This is a good place to add general information that is not updated often. You can use limited HTML in this text box.

Modifying the Journal Page Header

Section 5.3: Journal Page Header can be customized in the same fashion as Section 5.1 as explained previously; but in addition, there is the option of uploading an HTML version of the header. Whatever HTML you enter here will appear in the header block at the top of every journal page after the home page. This is handy if your journal has a secondary header image that you would like to use, for example.

The Journal Page Footer

You can enter text/HTML information into the text box under Step 5.4: Journal Page Footer, which will appear at the bottom of every page. It may be useful to enter simple journal contact and copyright information here, or possibly the journal's ISSN number(s).

Adding a New Navigation Bar Item

Under Section 5.5: Navigation Bar, you can add a Navigation Bar link to the current set at the top of every journal page. This can be an in-site link (for example, linking directly to a Submission page), or an external link (linking to a journal sponsor's website).

An interesting use of additional navigation links is to add a blog or wiki for your journal, allowing for more interaction with your readers, and the development of an online community.

For example, if your OJS site is at and you have an associated blog at, you can add a link to that blog from the navigation bar.


Adding new Custom Blocks to the Sidebar

OJS includes a powerful Custom Block Manager plugin that will allow you to create your own custom sidebar blocks, with whatever HTML code you like .

  • First, enable the Custom Block Manager plugin by going to Journal Management -> System Plugins -> Generic Plugins -> Custom Block Manager Plugin -> Enable.
  • Then, create the custom block (or blocks) you want, by going to Journal Management -> System Plugins -> Generic Plugins -> Custom Block Manager Plugin -> Settings, and adding/saving a block name.
  • Then, look up the block in Journal Management -> System Plugins -> Block Plugins -> [Custom Block Name], and Edit the block. You can use the TinyMCE buttons to make text bold, italic and so on; or use the HTML button to edit the raw HTML.
  • Finally, you can place your custom block exactly where you want it in the sidebar in Journal Setup Step 5.6.

Adding a new Static Page

You can add a new static page to your site using the Static Pages plugin. Any static page that you create can then be linked to from other parts of OJS, such as from a custom block, or from the navigation bar (see Journal Setup Step 5.5).

  • Enable the Static Pages Plugin from Journal Management -> System Plugins -> Generic Plugins -> Static Pages Plugin -> Enable.
  • Click the Static Pages plugin's Edit/Add Content button, then click Add New Page.
  • Add the information you would like included in your new static page, using the TinyMCE fields to style the information as you like. You can use TinyMCE's "HTML" button to edit the raw HTML.
  • Copy the page's path, and add that as a link to wherever you would like the page to be available from.

Packaged Themes and Layout

Under Step 5.6: Journal Layout, you have the option of switching between provided themes, uploading your own stylesheet, and moving journal blocks around. Uploading your own stylesheet will be dealt with later, as it this function can become a little bit more complex.

Changing Themes

OJS 2.2 comes with a number of themes that you can use. These themes will change the site colours, but will not affect layout. Follow these steps to switch your theme:

  • Log in as Journal Manager, and navigate to User Home --> Journal Manager --> Setup --> Step 5: The Look.
  • Scroll down to step 5.6 Journal Layout.
  • Choose your new theme from the drop-down menu beside Journal Theme.
  • Scroll to the bottom of the page and click Save and Continue; your new theme should now be set.


You can find a list of themes, complete with images and download links, from [1].

Enabling the Left Sidebar and Moving Blocks

A new OJS install has a typical default structure: it has a header space, a central content area, and a right sidebar. Sidebar content is organized into structural 'blocks', and these blocks can be moved from left to right sidebars, or even disabled.

You'll notice that under step 5.6 Journal Layout, there are fields for both the left and right sidebar, and one for unselected items. There are also a number of blocks, including a "Developed by" block, a help block, etc. These blocks start in the right sidebar field by default, but can be moved to the left by highlighting the block to be moved and clicking the left-and-right arrows until the block is where you want it. Blocks can also be organized vertically within the sidebars, by highlighting the block to be moved and clicking either of the up and down arrows.

In the following two images, you can see blocks being moved from the right to left sidebars:

... and the ensuing results on the journal home page:


If you assign a block to the middle 'unselected' field, it will not appear on your site.

You can highlight more than one block to move at a time; and you can use the 'big arrow' buttons at the bottom of the 'unselected' field to move items directly from one sidebar to another.

If a sidebar is empty, it disappears and the resulting free space is taken by the middle content block.

You have to scroll to the bottom of the page and click "Save and Continue" for your changes to be recorded.

Information for Librarians, Readers and Authors

By default, OJS displays very open and general information for librarians, authors and readers on the right sidebar. You can edit this information under Step 5.7: Information.


By default, OJS limits the maximum number of items per page to 25, and the number of page links to 10. You can edit this default under Step 5.8: Lists.


Although you can't see all 25 items in the following list example, you can see how the number of pages has been limited to 10, event though this journal has published more than 250 articles. If a user clicks on the 10th page link, the pages 5 thru 14 will be linked to from the bottom of the resulting page, while the 25 results for that page will be displayed.


Stylesheet Modifications

A newly installed version of OJS comes with a default style sheet, with an attractive choice of colours and fonts. In addition, themes can be enabled to modify colours site-wide. If you want to make further changes, however, you will have to create and upload your own stylesheet.

Notice the extensive colour changes made for Critical Studies in Improvisation ([2]):


This journal accomplished most of the changes you see by uploading a new stylesheet.

Stylesheet Locations

OJS links to many different stylesheets at any one time. This is the typical order in which stylesheets are called, if they are all enabled:

  • common.css: every journal uses this stylesheet, and it can be found in the styles/ directory.
  • sidebar.css, leftSidebar.css, rightSidebar.css, and bothSidebars.css: these can be found within the styles/ directory as well; they apply structural rules to the sidebars, if being used.
  • (themeName).css: if you have enabled a theme from Setup: Step 5.6, the theme's stylesheet will be called next. The stylesheet for any particular theme comes from the theme title: the stylesheet for Classic Blue is classicBlue.css, for example. These theme stylesheets can be found in plugins/themes/(themeName)/.
  • journalStyleSheet.css: if you upload your own stylesheet, OJS renames it to journalStyleSheet.css and places it in your journal file directory (for example, in public/journals/1/journalStyleSheet.css for the first journal created with that particular OJS install).
  • fontSize stylesheets: there are three user-switchable stylesheets that control site-wide font size -- fontSmall.css, fontMedium.css, and fontLarge.css. They can be found in within the styles/ directory.

There are also location-specific stylesheets. These can be found in the styles/ directory:

  • articleView.css: called when an HTML article, abstract, or interstitial page is being viewed.
  • comments.css: called when comments are enabled and displayed.
  • help.css: used to style context-sensitive help pages that are displayed when a user clicks on "Journal Help".
  • rt.css: used to style the Research Tools sidebar, if enabled.

Changes made to one stylesheet can be overridden by another stylesheet. For example, since the fontSize css files are last in the listed order, they are processed last by your browser, and their rules are applied last, overriding every other stylesheet before it. This is good to keep in mind when it comes to troubleshooting. So long as you don't edit the already-existing stylesheets, and keep to uploading your own modifications, this shouldn't be a problem.

Making Style Changes

If you take a look at common.css, you'll notice that is has been broken down into the following sections:

  • Common HTML elements
  • Main layout elements
  • Navigation bar
  • Breadcrumbs
  • Additional text styles
  • Table styles
  • Form-specific elements
  • Other organizational elements

For basic changes, you'll want to find the element you want to change in common.css, examine the properties and values that have been defined, and then make a stylesheet that reflects the property and value changes you want to make.

For example, to change the body background colour and font, find the body entry (it is the very first one in common.css):

body {
    margin: 0;
    padding: 0;
    background-color: #FBFBF3;
    color: #111;
    font-family: Verdana,Arial,Helvetica,sans-serif;

To change your site's background colour and default text, enter and save the following text as a new file, and then upload it in Step 5.6 as a journal stylesheet:

body {
    background-color: white;
    font-family: "Times New Roman", serif;

This will override the first example's background-color and font-family values.

With just a few simple stylesheet changes, you can begin to make your OJS site your own. A complete custom stylesheet might look like the following:

body {
    background-color: white;
    font-family: "Times New Roman",serif;

#header {
    background-color: #554b1a;
    border-bottom: 1px solid black;

When you combine a journal header, the reorganization of some sidebar blocks, and a customized stylesheet, the results can be quite noticeable:


If you have some experience working with style sheets, you will be able to make extensive customizations to the "look and feel" of your new journal.


Adding a Unique Image for Each Issue

Another interesting enhancement is to add a unique cover image to each issue of your journal. This, of course, requires a sustainable source of artwork!

The journal Postcolonial Text ([3]) makes good use of this feature in their version of OJS:


These images are added when each issue is created by the Editor. There is also the option at the time of issue creation to upload an issue-specific stylesheet, as well as an image caption.



The front page of a journal can be used as a communication space with your readers, announcing new information about your journal by using the included Announcements module. This module can be enabled by the Journal Manager in Step 4.4: Journal Announcements, and will appear as a link in the Navigation Bar, and optionally on the home page.

Only Journal Managers can add announcements. You can control how many announcements appear on the home page, if any.


Adding a Multilingual Interface

OJS supports several languages, such as English, French, Spanish, and Portuguese. Translations are also underway for more languages in the near future. This allows your readers to have all of the links, text, and help files in their own language.

You can make your journal unilingual in any of the languages supported by OJS, or you can make your journal multilingual, by activating a drop-down language selector.

To do this, your Site Administrator will need to install Languages from the Site Management menu. From here, the Site Administrator must install any available languages to use with the journal, check them off as supported by the journal.

Second, the Journal Manager must activate the all of the languages you wish to support, under User Home --> Journal Management --> Languages.

If more than one language is enabled, users will be able to use a drop-down menu on the sidebar to choose a preferred journal-wide display language. There will also be the option of entering text in different languages where appropriate, such as throughout the Journal Setup process, and when authors submit an article for consideration.

Adding a Splash Screen

Another way to add some artistic appeal to your journal is by adding a splash screen, which appears before users are taken to the journal. Cosmos and History ([4]) provides a very nice example of this:


Which leads, in turn, to their main page:


This is done by simply creating an index.html file for the splash screen, and adding a link to the journal home page. In this case, the link is labelled "enter site".

Comment: If you are using RESTFULL urls, you will need to modify your .htaccess with something like:

RewriteRule ^myMagazine$ myMagazine/

RewriteRule ^myMagazine/$ myMagazine/index.html

Adding MP3 Support

An innovative customization from The International Review of Research in Open and Distance Learning ([5]) is the addition of audio versions of their articles, using MP3 files:


The audio files were recorded outside of the OJS system, but were uploaded as supplementary files, associated with each article. This was done by the Section Editor, in the Submissions Summary section. Other types of files can be added, including video.

These could also be added by the author, as part of their submission process.

Adding social media icons to a custom block

Directing users to your various social media accounts can help to connect you further with your journal’s readers, potential authors, reviewers, and other audiences. For more information on deciding which social media platforms to use with your journal and how to use social media effectively to promote your journal, please visit the social media section of the PKP school. [6]

In OJS, the easiest way of drawing attention to your journal’s social media presence is through designing a custom block that can display links to your social media sites. In order to do this do the following:

  1. Login into OJS and select the Journal Manager role.
  2. From your list of options under “Management pages” select “System plugins”
  3. In the list of Plugins select “Block Plugins” —> “Generic Plugins” —> “Custom Block Manager” —> “Settings”
  4. In the field enter the name of your custom block. For demonstration purposes, this one is simply named “social media block”
  5. Click “Add Block” and “Save”


Your custom block should now be created and ready for you to edit.

You can navigate back to your in the Journal Manager role go to “User home,” —> “Plugin Management” —> “Block Plugins”. You will now see your new custom block among the list of block options:


Next, select “edit.” to edit your block. Once you are in editing mode, you can now start to design your custom social media block using the TinyMCE Editor.

Social Media Icons

Depending on how you would like your custom block to appear, you may wish to acquire some social media icons to best refer visitors to your social media sites.

There are a number of ways to do this, by searching “Social Media icons” on Google or another search engine, or by going to different websites that offer individual or packages of social media icons in a variety of styles. A few websites that offer free social media icons include:

Some tips for choosing and editing social media icons:

  • Some sites offer free and paid options for icons, but there are a number of free icons available
  • You may have to resize the images to get them to a suitable size to display properly in an OJS custom block (For this demonstration the icons are 64 pixels by 64 pixels)
  • Some of the sites mentioned above allow you to select the size of the icons that you are downloading, which may be preferable to editing them in an image editor such as Adobe Photoshop or GIMP

Adding your social media icons

Once you have decided what icons you wish to use, next you can add them to your custom block. It might be advisable to put a caption on top such as “Follow us on Social Media” or “Connect with Us” before placing the images into the custom block.

Next, insert each social media icon you wish to use. Since this custom block will display vertically, it is best to position each social media icon on top of one another. If you wish to display them horizontally you may wish to position them in the footer or header section (see below on how to position your custom block in a different position).

To add a social media icon you use the TinyMCE editor image upload feature to upload the icon:

Once uploaded the icon you can now associate a link with the social media icon that will direct users to your social media page by selecting the icon in your editor and clicking the link icon to enter in the link to your social media page. After placing your first social media icon you can place another icon beneath or beside your first one and repeat the steps.

You can customize the placement of the custom block by in step five of the Journal setup process[10], by specifying where you would like the social media block to appear. 4-FinishedSocialMediaBlock.png