3.1.0 tar NOT production ready

I was asked to install OJS for testing purposes and give my opinion of OJS being a viable solution.

Taking the lazy way, I just uploaded the .tar, decompressed to a /ojs/ directory and ran the installer. (Note disconcerting to see all the warnings outputting to the screen. Warnings and deprecated, no fatals but still a user shouldn’t see them.)

  • Scrolled down and installed.
  • Install went ok
  • Login ok
  • Try to create a Journal - The element is there, but…
<a href="myfqdn/ojs/index.php/index/$$$call$$$/grid/admin/journal/journal-grid/create-context"
id="component-grid-admin-journal-journalgrid-createContext-button-5a1667c555de1" title="Create a
New Journal" class="pkp_controllers_linkAction pkp_linkaction_createContext 
kp_linkaction_icon_add_item"></a>

n_add_item"></a> see the issue? Missing Create Journal between opening and closing <a> tags. Mouse pointer is showing the tool tip. Clicking in thin air, nothing happens.

image

TL;DR

So I dropped back to 3.0.2 running on php 5.6. It seemed to work fine, up’d to 7.0, things start to break again. Same issue with creating a Journal. Hidden link for Create as above. Dropped back to 5.6 and was able to create a Journal. Testing upgrade to 3.1.0. Upgraded to 3.1.0 from 3.0.2, running php 5.6. Ok, seems to look ok. Cleared caches, Journal menu disappeared, logged out, logged in. Menu back.

User issue

image

Yep, JS error

pkp.min.js:117 Uncaught Error: Constructor for object "$.pkp.controllers.tab.settings.managementSettings.UsersAndRolesTabHandler" not found!
    at Function.a.pkp.classes.Helper.resolveObjectName (pkp.min.js:117)
    at Function.a.pkp.classes.Helper.objectFactory (pkp.min.js:116)
    at HTMLDivElement.<anonymous> (pkp.min.js:443)
    at Function.each (jquery.min.js:2)
    at n.fn.init.each (jquery.min.js:2)
    at n.fn.init.a.fn.pkpHandler (pkp.min.js:443)
    at HTMLDocument.<anonymous> (access:137)
    at j (jquery.min.js:2)
    at Object.fireWith [as resolveWith] (jquery.min.js:2)
    at Function.ready (jquery.min.js:2)
a.pkp.classes.Helper.resolveObjectName @ pkp.min.js:117
a.pkp.classes.Helper.objectFactory @ pkp.min.js:116
(anonymous) @ pkp.min.js:443
each @ jquery.min.js:2
each @ jquery.min.js:2
a.fn.pkpHandler @ pkp.min.js:443
(anonymous) @ access:137
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
ready @ jquery.min.js:2
K @ jquery.min.js:2

Turned off CDN to serve files from the install. No change. Hard reload. No change. Click on Roles

image

Could point out more issues. Error log, just a heck of a lot of Deprecated and Strict Standards. Filling up the log so fast I’d have to either drop their reporting or run a cron job to dump the log.

I haven’t tried to install using a git clone. Not sure if I should say try and use the last version of 2.4.8 or just install 3.0.2 for testing. Would really like to see this be a viable solution, but I’ve have a lot of concerns.

Hi @Tom_Hutchison,

PHP 3.1.0 passes our test suite (run on a git-based Travis setup, but I also run this on the proposed release tarball before making it available), including integration tests, so I suspect there are some details on your install that aren’t typical.

There’s quite a bit going on here, so I’ll try to break it into pieces:

  • OJS versions: I’d suggest sticking with OJS 3.1.0, though OJS 3.0.2 has been a usable release for lots of people. If you change between releases, make sure you start with a clean environment.

  • Warnings/strict standards. PHP’s standards have evolved over time and we still have to resolve some of the resulting warnings, but OJS 3.1.0 should already present far fewer warnings than prior releases. Make sure to set your PHP configuration so that errors/warnings are directed to the error log, not the browser – users shouldn’t see these, as you point out, but they’ll also interfere with AJAX subrequests.

  • PHP versions: I’d recommend sticking with one version. PHP 5.6 should work OK but better to go with 7.x. If you have PHP7.1 on your server, I’d recommend using that. Note that you’ll have to use mysqli for your database driver, instead of mysql, for PHP7+.

  • Javascript error Constructor for object "$.pkp.controllers.tab.settings.managementSettings.UsersAndRolesTabHandler" not found!: See [SOLVED]OJS upgrade 3.0.2 to 3.1 error Users& Roles Pages. I suspect your template cache contains files from a previous release. Try removing all files from cache/t_compile.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @Tom_Hutchison,

Were you able to get this running?

Regards,
Alec Smecher
Public Knowledge Project Team