pkp / pkp-lib Goto Github PK
View Code? Open in Web Editor NEWThe 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
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
Update API version if service document contains deprecation warning for requested version.
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.
Email logger plugin is not checking if it's enabled or not to work.
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
Database entry for Dataverse file removed from database when suppfile deleted from OJS.
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
<body>
tags in the displayed HTML</ul>
which has not been opened anywhereCode 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
See http://pkp.sfu.ca/support/forum/viewtopic.php?f=8&t=13375.
PublishedArticleDAO::getPublishedArticlesInSections expects articles to arrive section by section, and if they alternate between sections, the second time a section appears it will clobber the previous iteration's data structure.
This appears to be an unusual ordering situation, and likely resolvable by re-numbering the content, but the fix is trivial.
Support authentication by API token, added to v1.1 of Dataverse SWORD API.
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
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
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.
If the log file being ingested contains a DNS name other than what is listed in the base_url, the processing of the line fails silently at https://github.com/pkp/ojs/blob/ojs-dev-2_4/plugins/generic/usageStats/UsageStatsLoader.inc.php#L349
C.f. http://pkp.sfu.ca/support/forum/viewtopic.php?f=8&t=13404&p=51618&hilit=base_url#p51615
Proposed solution:
Capture base_url aliases in config.inc.php or site_settings/journal_settings.
If you try to reload the scheduled tasks with a registered scheduled task xml file with no frequency definition, the system just gives a silent error (blank page).
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
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
The PKP PLN needs a journal's publisher name, which is available in the journal settings. It can be added to the deposit XML.
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:
Best regards,
Felix
// check to make sure zip is installed
if (!$this->_plugin->curlInstalled()) {
should be
// check to make sure zip is installed
if (!$this->_plugin->zipInstalled()) {
The notification popup for the PLN plugin contains no content, only the word Notification.
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.
Update the da_DK translation with the files received from NEF by email, 2014-12-04.
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.
Dataverse 4.0 compatibility: remove markup from rich-text fields added to dataset metadata.
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.
In our journal (http://openjournals.wu.ac.at/ojs/index.php/region/issue/view/1/showToc) the TOC displays correctly in Firefox (35.0.1). In google Chrome the PDF links and page numbers are NOT properly aligned (see screenshot).
ReportPlugin's definition of report() includes only $args as a parameter:
https://github.com/pkp/ojs/blob/ojs-dev-2_4/classes/plugins/ReportPlugin.inc.php#L199
Several subclasses of ReportPlugin follow suit:
https://github.com/pkp/ojs/blob/ojs-dev-2_4/plugins/reports/views/ViewReportPlugin.inc.php#L51
https://github.com/pkp/ojs/blob/ojs-dev-2_4/plugins/reports/subscriptions/SubscriptionReportPlugin.inc.php#L60
https://github.com/pkp/ojs/blob/ojs-dev-2_4/plugins/reports/reviews/ReviewReportPlugin.inc.php#L54
The TimedViewReportPlugin is an example of one that does not:
https://github.com/pkp/ojs/blob/ojs-dev-2_4/plugins/reports/timedView/TimedViewReportPlugin.inc.php#L89
and it depends on the $request parameter:
https://github.com/pkp/ojs/blob/ojs-dev-2_4/plugins/reports/timedView/TimedViewReportPlugin.inc.php#L103
which is set by the caller at:
https://github.com/pkp/ojs/blob/ojs-dev-2_4/pages/manager/StatisticsHandler.inc.php#L160
Shouldn't each of these definitions be:
function report($args, $request) {
?
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
Permit files to be associated with chapters when appropriate. This will help in the presentation of the table of contents, among other things.
This has a rich history -- see http://pkp.sfu.ca/bugzilla/show_bug.cgi?id=6190 for example.
More pertinent to Heidelberg's requirements at the moment.
The plugin upgrade web form does not work after an error.
To reproduce:
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."
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()) {
?
Dataverse SWORD API v1.1 adds method to publish unreleased Dataverses via API.
This change causes the JS to use .prop instead of .attr in the form handler:
756c9ac
...but it doesn't appear to be compatible with the older version of JQuery that OMP 1.1.1 uses.
The PKP PLN staging server can return the terms of service in different languages, based on an Accept-Language: HTTP header. But the plugin does not provide a language header so everything defaults to en-US.
Patch to follow.
As already mentioned in this bug report: http://pkp.sfu.ca/bugzilla/show_bug.cgi?id=6058 (and in this older bug report: http://pkp.sfu.ca/bugzilla/show_bug.cgi?id=4613), a Media Library (Files Browser)-PlugIn would be highly appreciated to enable journal managers to upload images, templates, information material etc. withouth needing SSH/SFTP or technical support.
Best regards,
Felix
We need to add an index to speed up things for ALM queries.
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.
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
At https://github.com/pkp/ojs/blob/ojs-stable-2_4_5/plugins/generic/pln/classes/DepositPackage.inc.php#L113, we should be using 1000 bytes instead of the more standard 1024 bytes to be consistent with the PLN SWORD server:
$pkpDetails->setAttribute('size', ceil(filesize($packageFile)/1024));
should be
$pkpDetails->setAttribute('size', ceil(filesize($packageFile)/1000));
Change the check of the uniqueness of the galley public identifiers, s. http://pkp.sfu.ca/support/forum/viewtopic.php?f=8&t=4484#p51104 and http://pkp.sfu.ca/support/forum/viewtopic.php?f=2&t=10171.
Because of that, remove also the "custom identifier" suffix option in the DOI and URN plug-in and use the custom pattern %x instead.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.