GithubHelp home page GithubHelp logo

pkp / pkp-lib Goto Github PK

View Code? Open in Web Editor NEW
297.0 59.0 441.0 136 MB

The library used by PKP's applications OJS, OMP and OPS, open source software for scholarly publishing.

Home Page: https://pkp.sfu.ca

License: GNU General Public License v3.0

PHP 85.70% Smarty 5.57% JavaScript 7.10% XSLT 0.27% Shell 0.27% Less 1.10% Hack 0.01%

pkp-lib's Introduction

PKP Web Application Library

The PKP Web Application Library (PKP-WAL) is a library shared by Open Journal Systems (OJS), Open Conference Systems (OCS), Open Monograph Press (OMP), Open Preprint Systems (OPS) and Open Harvester Systems (OHS). It is distributed with those applications in the lib/pkp subdirectory.

Issues (bugs) for all of those applications should be created against this repository.

Issues

Issues (bugs) for any of the PKP applications should be created here. If you're not sure whether you're encountering a bug or not, consider posting in the PKP Community Forum.

Before creating a new issue, please search the existing ones to make sure you're not creating a duplicate.

If you confirm that you have found a new bug, or if you have identified a new feature request, Create a new issue using one of the available templates.

Bugs are scheduled against the milestones that a fix will be released in. For example, if a bug was found in OJS 3.3.0, then it will be scheduled against a subsequent release like OJS 3.3.1 or OJS 3.4, which is the first release that will include the fix.

Community Code of Conduct

This repository is one of PKP's community spaces and all activities here are guided by PKP's Code of Conduct. Please review the Code and help us create a welcoming environment for all participants.

pkp-lib's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pkp-lib's Issues

SSL redirect ignores base_url[<journal_name>]

Hello,

I have a OJS 2.4.5 installation with maybe non-standard single journal setup (that is, the base url http://ojs.nnw.cz goes directly to the journal homepage, not to the OJS/index homepage). With a bit of URL rewriting and restful_urls=On in the configuration file, it works flawlessly until I try to force SSL for logins by setting force_login_ssl=On. For the time being I am ignoring the links to the OJS/index parts as My Journals, this can be handled by another set of URL rewriting rules.

Now, although I have set up base_url[nnw]=http://ojs.nnw.cz in the configuration file, and all the HTTP links are generated correctly (e.g. http://ojs.nnw.cz/about and so on), the correct login link http://ojs.nnw.cz/login gets redirected to https://ojs.nnw.cz/nnw/login instead of assumed https://ojs.nnw.cz/login.

I am not very familiar with the design of OJS, but my guess is that while handling the force_login_ssl configuration option in PKPLoginHandler.index(), the internal request value shall be once again remapped using base_url[<journal_name>].

It is not something crucial, it can be handled by yet another set of rewrite rules that redirect the incorrect redirect once again, but it is not very convenient ...

-- jprk

Double-execution blocker in files download is not ideal

File download is implemented by the PostAndRedirectRequest.js. It implements a timer to call the finish method (the one that activates the link again), but the server answer for the download action might be longer than the timer.

In that case, the link will be enabled again before the download starts, leading users to confusion and possibly another click, double executing the download action.

There are some tricky solutions out there, using iframes, cookies, etc. See this particular page, first answer: http://stackoverflow.com/questions/2064882/what-are-techniques-to-get-around-the-ie-file-download-security-rules

I am not sure about what's the best approach.

[OJS]Usability improvement: registration as author

Often users who want to register as "author" erroneously register as "reader" because the "register as"-section is placed quite unremarkably at the bottom of the registration form (and "reader" is activated by default).
Thus these "authors" (who are then just "readers" in fact) are wondering why they can't make submissions etc...

To solve this problem, one could:

  1. place the "register as"-section on the top (and not at the bottom) of the registration page (to make it more eye-catching) or
  2. activate not only "reader", but also "author" by default.

Best regards,
Felix

OJS and Google Scholar indexing problem

Hello:

Biotaxa.org is currently hosting academic journals with a mixed model or scholarly
society journals secured to members only. Other platforms for journal publishing
(e.g. Wiley etc) can enable Google Scholar to index full text of secured contents.
When users click the full text links referred by Google Scholar, it was re-directed
to the abstract page (with login on side bars). This way the Google search
correctly directs the link to the searched paper. OJS redirects the full text link
of Google to a login page (without any info of the searched paper). This is not
acceptable to Google Scholar. The redirection should be to the abstract page of the
paper (the user can then decide to login or purchase etc).

Google Scholar is increasingly used by scholars as the main means of searching and
indexing (citation counts) of scholar papers (and it is a free tool). Biotaxa.org currently is the largest site
using OJS with secured contents. I am writing to report this problem to you and hope
this can be resolved so that OJS can be more google friendly. This is probably an
issue of changing some scripts in OJS and may be easy for you. A representative from
Google Scholar will also contact PKP shortly regarding this issue.

Thank you for your attention.

Zhi-Qiang Zhang
Chief editor, Zootaxa

[OJS] ReportPlugin::report() parameter implementation is inconsistent

Large log messages in the FileLoader can exceed PHP's memory_limit

When processing large files with many execution log entries (large external log files in OJS 2.4 UsageStatsLoader is a good example), the accumulated execution log can exceed PHP's memory_limit, killing the process unceremoniously and losing the execution log email notification.

PDF fail to display after upgrading OJS from version 2.4.4.1 to 2.4.5.0

Hi All,

Have you experienced PDF's not displaying in the browser? I have upgraded to OJS 2.4.5.0 from 2.4.4.1 and have experienced this problem and could not find a way to solve it.

I have already posted this in the forum but so far have not found any solutions yet so am posting here. I have checked and read all the posts on embedded PDFs not displaying. If anyone could share some thoughts here or provide options to explore towards solving it, I would be grateful. Any responses from gurus with in-depth knowledge on this issue would be appreciated.

Kind regards

Tine Ningal
university College Dublin (UCD)
Ireland

[OJS] PLN Plugin pinging journal health

Need a way to determine that a URL is running an OJS instance with the PLN plugin enabled. Seems like a gateway plugin along side the main one is best, perhaps just responding with a bit of JSON.

[OJS] Problem when deleting a CustomBlock

Deleting a CustomBlock (in: System Plugins > Custom Block Manager) doesn't seem to work properly: the related entries still remain in the database.
Apparently there's a little bug in plugins/generic/customBlockManager/SettingsForm.inc.php (function execute())

Best regards,
Felix

Uploaded article CSS file for HTML galley doesn't work

Uploaded article CSS files don't seem to be correctly referenced by OJS, so their styles aren't applied to the article page. You can see this in the following example:

http://barnboken.net/index.php/clr/article/view/185/html_4

This article has had a CSS file uploaded (originally titled clr_stylesheet.css, and referenced in the original HTML file). It is linked to within the OJS header as:

http://barnboken.net/index.php/clr/article/viewFile/185/html_4/717

... but isn't picked up/used. I don't know if this is because it doesn't end in ".css" or what.

[OMP] .git directories shipped in package

After downloading the latest OMP package, I noticed .git directories included under the following directories:

plugins/generic/customBlockManager/
plugins/generic/emailLogger/
plugins/generic/staticPages/

These folders are unnecessary and cause problems for people who want to track OMP independently.

Thanks.

[OJS]: Option for Journal Homepage Setup Creates Loop

Setup Step 5.2 Journal Homepage
Under "Current Issue," when you click "Add the Table of Contents for the Current Issue," it adds the cover image for the current issue instead of the ToC. Although you can then click through to the ToC, the article PDF links lead back to the cover image, and you cannot see the articles.

[OJS] Article without Section causes fatal error

In OJS 2.4x: Unchecked use of $section variable at https://github.com/pkp/ojs/blob/ojs-dev-2_4/classes/article/Article.inc.php#L679 means that if an Article does not have a Section assigned, the execution will terminate with: "PHP Fatal error: Call to a member function getDisableComments() on a non-object"

This may be at core a data issue, but even if so, a check should be added. Should it be:

if ($section && $section->getDisableComments()) {

or

if (!$section || $section->getDisableComments()) {

?

[OJS] CustomBlockManager-PlugIn localised

Until now, the content of a CustomBlock can only be displayed and edited in one language. It would be good to consider a multilingual solution.

Best regards,
Felix Gründer

ldap doesn't work

I have installed the last version of OCS 2.3.6 with a LAMP Server (php 5 / ubuntu 14.04)
And LDAP authentification doesn't work with no explanations.

php5-ldap is installed

Any idea ?

Regards

[OJS] HTML syntax errors in HTML help

Hello,

I just came across a small syntax error in HTML help templates in OJS 2.4.5. When I open [journal_base]/help/view/editorial/topic/000044

  • there are two <body> tags in the displayed HTML
  • the whole displayed list ends with </ul> which has not been opened anywhere

Code snippet:

[...]
<body> <!-- fist body tag is ignored -->

<script type="text/javascript">
<!--
if (self.blur) { self.focus(); }
// -->
</script>


<div id="container"> <!-- this probably also comes from a template that includes the rest -->
<body id="body" class="pkp-common pkp-openJournalSystems">
[...]
</ul></div> <!-- this has not been opened anywhere -->
        </div>
[...]

It isn't something crucial, just to let you know that the templates probably need a bit of polishing.

-- jprk

[OJS] Plugin upgrade form broken after error

The plugin upgrade web form does not work after an error.

To reproduce:

  1. Set the tar command to an incorrect path in config.inc.php.
  2. Attempt to upgrade a generic plugin via the web interface by uploading a .tar.gz file.
  3. Note the error about the incorrect path to tar. The web form is displayed again.
  4. Correct the path to tar in config.inc.php.
  5. Use the form on the error page to try to upload the plugin again.

Expected results: The plugin should upgrade successfully.
Actual results: A confusing error message: "The uploaded plugin does not fit the category of the upgraded plugin."

[OJS] PLN plugin adds two copies of some files to Bag

Two copies of the issue and terms XML files are being added to the Bags generated by the PLN plugin. It looks like the $termsXml element is getting saved in the bag directory, then copied into the payload/data directory, and then the original Xml file is deleted. Except that file deletion isn't happening. Then, when the directory is bagged up, both copies of the file are included. The same thing happens for the $export file. Only one copy of each file should be in the Bag, and it should be in the /data directory.

Location in code is surrounding https://github.com/pkp/ojs/blob/ojs-stable-2_4_5/plugins/generic/pln/classes/DepositPackage.inc.php#L246

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.