OJS OCS OMP OHS

You are viewing the PKP Support Forum | PKP Home Wiki



Partial Expiry & Access to Issues Loaded via QuickSubmit

Are you responsible for making OJS work -- installing, upgrading, migrating or troubleshooting? Do you think you've found a bug? Post in this forum.

Moderators: jmacgreg, btbell, michael, bdgregg, barbarah, asmecher

Forum rules
What to do if you have a technical problem with OJS:

1. Search the forum. You can do this from the Advanced Search Page or from our Google Custom Search, which will search the entire PKP site. If you are encountering an error, we especially recommend searching the forum for said error.

2. Check the FAQ to see if your question or error has already been resolved.

3. Post a question, but please, only after trying the above two solutions. If it's a workflow or usability question you should probably post to the OJS Editorial Support and Discussion subforum; if you have a development question, try the OJS Development subforum.

Partial Expiry & Access to Issues Loaded via QuickSubmit

Postby ojshelpatucalgary » Wed Nov 20, 2013 5:17 pm

We have a journal on OJS 2.3.6 that is having the problem with the "Partial Expiry" option and access to the back issues that were uploaded via QuickSubmit PlugIn. The back issues are no longer available once the current subscription expires and not renewed.

This is also explained in this past post as quoted below. The Bug doesn't say it was ever solved.

Questions:
1. Is it still true that OJS will check the article publication date and then the issue date?
2. Should 2.3.6 need to be patched using the patch code for OJS 2.2.2 that was provided in that post or should it already be included in 2.3.6?
3. Our user recalls that this had been working in the past. Could it have been messed with during an upgrade?

What's the best way to fix this problem?
Thanks in advance for any help!

michael wrote:Hi Roelf,

Yes, that's correct. Currently OJS will check the article publication date first and then the issue publication date.

I've filed this issue in our bug tracking system here, which also includes some additional explanation. Please feel free to add yourself to the bug to comment or to track its progress.

I've included an OJS 2.2.2 patch below that you can use for your installation that will ensure that only the issue publication date is used in the subscription check.

Code: Select all
--- classes/issue/IssueAction.orig.inc.php   2009-09-04 11:57:41.000000000 -0700
+++ classes/issue/IssueAction.inc.php   2009-09-04 12:00:13.000000000 -0700
@@ -117,14 +117,7 @@
          // If no valid subscription, check if there is an expired subscription
          // that was valid during publication date of requested content
          if (!$result && $journal->getSetting('subscriptionExpiryPartial')) {
-            if (isset($articleId)) {
-               $publishedArticleDao = &DAORegistry::getDAO('PublishedArticleDAO');
-               $publishedArticle = &$publishedArticleDao->getPublishedArticleByArticleId($articleId);
-               if (isset($publishedArticle)) {
-                  import('subscription.SubscriptionDAO');
-                  $result = $subscriptionDao->isValidSubscription(null, null, $user->getUserId(), $journal->getJournalId(), SUBSCRIPTION_DATE_END, $publishedArticle->getDatePublished());
-               }
-            } else if (isset($issueId)) {
+            if (isset($issueId)) {
                $issueDao = &DAORegistry::getDAO('IssueDAO');
                $issue = &$issueDao->getIssueById($issueId);
                if (isset($issue) && $issue->getPublished()) {
@@ -151,14 +144,7 @@
          // If no valid subscription, check if there is an expired subscription
          // that was valid during publication date of requested content
          if (!$result && $journal->getSetting('subscriptionExpiryPartial')) {
-            if (isset($articleId)) {
-               $publishedArticleDao = &DAORegistry::getDAO('PublishedArticleDAO');
-               $publishedArticle = &$publishedArticleDao->getPublishedArticleByArticleId($articleId);
-               if (isset($publishedArticle)) {
-                  import('subscription.SubscriptionDAO');
-                  $result = $subscriptionDao->isValidSubscription(Request::getRemoteDomain(), Request::getRemoteAddr(), null, $journal->getJournalId(), SUBSCRIPTION_DATE_END, $publishedArticle->getDatePublished());
-               }
-            } else if (isset($issueId)) {
+            if (isset($issueId)) {
                $issueDao = &DAORegistry::getDAO('IssueDAO');
                $issue = &$issueDao->getIssueById($issueId);
                if (isset($issue) && $issue->getPublished()) {

Cheers,
Michael
ojshelpatucalgary
 
Posts: 10
Joined: Fri Feb 08, 2013 4:14 pm
Location: Calgary

Re: Partial Expiry & Access to Issues Loaded via QuickSubmit

Postby michael » Thu Nov 21, 2013 6:22 pm

Hi ojshelpatucalgary,

1. Yes

2. Yes if you'd like to disable the article publication check.

3. It's likely that the QuickSubmit plugin has set a recent date for the imported articles. Alternative to 2. would be to manually set the article publication dates for the imported content.

Cheers,
Michael
michael
 
Posts: 404
Joined: Thu Mar 29, 2007 2:09 pm

Re: Partial Expiry & Access to Issues Loaded via QuickSubmit

Postby ojshelpatucalgary » Thu Nov 21, 2013 6:36 pm

Thanks! There are way too many articles to go back and reset the article dates so I think we'll likely use the patch.
ojshelpatucalgary
 
Posts: 10
Joined: Fri Feb 08, 2013 4:14 pm
Location: Calgary


Return to OJS Technical Support

Who is online

Users browsing this forum: Yahoo [Bot] and 6 guests