OJS Customization Guide
OJS is a highly configurable platform. Customisation ranges from simple visual changes (logo, colours) that any Journal Manager can make without technical knowledge, to full custom theme development requiring PHP and frontend skills. This guide covers the full spectrum.
User Interface Designโ
Logo and Visual Identityโ
The quickest way to brand your journal:
- Go to Settings โ Website โ Appearance.
- Upload your Journal Logo (recommended size: 200ร80 px at 2x for Retina displays).
- Upload a Journal Favicon (32ร32 px .ico or .png).
- Optionally upload a Journal Thumbnail (used in multi-journal site listings).
- Upload a Homepage Image for the journal's front page.
- Save.
Colour Scheme and Typographyโ
Many OJS themes support configurable colour schemes without writing CSS:
- Go to Settings โ Website โ Appearance.
- If your active theme offers colour options, they appear in the Appearance settings.
- Select your preferred accent colour, header colour, or theme variant.
- Save and review on the live site.
Custom CSSโ
For changes beyond what the theme settings offer, upload a Custom Stylesheet:
- Go to Settings โ Website โ Appearance.
- Upload a
.cssfile in the Custom Stylesheet field. - Use CSS to override colours, typography, layout, and spacing without editing theme files.
Example CSS overrides:
/* Change the primary link colour */
a { color: #1a5276; }
/* Increase article title font size */
.pkp_structure_head h1 { font-size: 2rem; }
/* Add a footer background */
.pkp_structure_footer { background-color: #f4f6f7; }
CSS overrides survive OJS upgrades โ edits to theme files do not. Always use a custom stylesheet rather than modifying theme PHP or CSS files directly.
Choosing and Installing a Themeโ
- Go to Settings โ Website โ Appearance โ Theme.
- Select a theme from the dropdown (only installed themes appear).
- Save and review the site.
To install additional themes:
- The Site Administrator installs themes via Administration โ Plugin Gallery or by uploading a theme plugin file.
- Community themes are available on the PKP Plugin Gallery.
Popular themes:
- Default theme โ clean, accessible, responsive
- Bootstrap3 โ Bootstrap-based flexible layout
- Health Sciences theme โ clinical journal focused
- Immersion โ image-forward design for humanities
Navigation Menusโ
Customise your journal's navigation:
- Go to Settings โ Website โ Navigation Menus.
- Edit the Primary Navigation menu to add, remove, or reorder items.
- Add custom links to external pages (e.g., your institution's website, submission guidelines PDF).
Setting Up Editorial Flowsโ
OJS's workflow is configurable at the journal level. Key configuration points:
Submission Requirementsโ
Define what authors must confirm before submitting:
Settings โ Workflow โ Submission โ Checklist
Add checklist items for formatting requirements, originality declarations, ethical approvals, data availability statements, and conflict of interest disclosures.
Review Configurationโ
Settings โ Workflow โ Review
- Set default review type per section (double-blind, single-blind, open).
- Define response deadlines (how long reviewers have to accept/decline) and review deadlines.
- Configure automatic reminder emails.
- Create custom review forms for structured reviewer questionnaires.
Copyediting and Productionโ
OJS does not impose a specific copyediting or production workflow โ editors can skip stages or add participants as their journal requires. For a lean operation:
- Editor can double as Copyeditor.
- Journal Manager can produce galleys directly.
- Author proofing can be skipped for speed.
Document your journal's actual workflow in the editorial policies and ensure all team members understand their responsibilities.
Performance Optimizationโ
A slow OJS site frustrates readers and hurts SEO rankings. Key performance settings:
Enable Cachingโ
In config.inc.php (Site Administrator task):
[caching]
; Enable object caching
object_cache = apc
; Enable template caching
enable_cache = On
Journal Managers can clear caches when needed via Administration โ Clear Template Cache and Clear Data Cache.
Image Optimisationโ
Before uploading journal logos and images:
- Compress images using tools like Squoosh or TinyPNG.
- Use WebP format where supported.
- Size images to their display dimensions โ do not upload a 4000ร3000 px image to display at 200ร80 px.
CDN for Static Assetsโ
For high-traffic journals, the Site Administrator can configure a CDN (Content Delivery Network) to serve static files (CSS, JS, images) from globally distributed servers, reducing load times for international readers.
PHP OpCacheโ
Ensure the server has PHP OPcache enabled (Site Administrator task) โ this caches compiled PHP bytecode and significantly reduces page generation time.
Plugin Configurationโ
Plugins are the primary way to extend OJS functionality. See the Journal Manager Plugins guide for a full overview. For customisation purposes, key plugins include:
| Plugin | Customisation Use |
|---|---|
| Custom Block Manager | Add HTML sidebar blocks (announcements, sponsor logos) |
| Custom Header | Add custom HTML to every page header (e.g., cookie consent banner) |
| Custom Locale | Override any text string in the OJS interface |
| Citation Style Language | Offer readers multiple formatted citation styles |
| Social Media / Open Graph | Control how articles look when shared on social platforms |
Workflow Customisationโ
Multiple Sections with Different Workflowsโ
Different sections can use different review forms, review types, and editorial policies:
- Create sections with distinct settings in Settings โ Journal โ Sections.
- Assign a dedicated Section Editor per section if volume warrants it.
- Use section-specific review forms under Settings โ Workflow โ Review โ Review Forms.
Disabling Unused Stagesโ
For journals that skip copyediting or use an external production process:
- Assign your own staff with the Copyeditor role to handle it internally.
- Or skip by selecting files for production without a formal copyediting assignment.
OJS cannot fully "disable" a stage, but stages remain empty and inactive if no participants are assigned.
Ongoing Support and Maintenanceโ
Customisations require ongoing care:
- After OJS upgrades: Test CSS overrides and plugin settings โ some upgrades introduce theme changes that interact with custom CSS.
- Plugin updates: Regularly check the Plugin Gallery for updates to installed plugins.
- Theme updates: If using a third-party theme, monitor the theme developer's release notes.
- Backup before changes: Always create a backup before making significant configuration changes.
For journals without in-house technical support, consider a managed hosting provider that handles upgrades, security patches, and maintenance.
Custom Theme Developmentโ
For full control over your journal's design, develop a custom theme plugin:
- OJS themes are PHP plugins that extend the
ThemePluginclass. - Templates use Smarty syntax.
- CSS uses standard CSS (or Sass/LESS with a build process).
- JavaScript can be added via the theme's
scriptsregistration.
Full documentation: Designing Your Journal and PKP Theming Guide.
Further Readingโ
- Designing Your Journal โ Official design and customisation guide
- PKP Theming Guide โ Custom theme development documentation
- PKP Plugin Inventory โ Catalogue of available plugins
- PKP Community Forum โ Customisation community support and examples