-
Notifications
You must be signed in to change notification settings - Fork 443
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[OJS] Versioning for published articles #2072
Comments
Hi @lilients, thanks for posting about this. I think you're on the right track, raising concerns about the way the GUI for this data is split up into three places. I think this causes some unique problems and I'd like to explore that a bit more to see if we can find a more robust way of guiding the user through this process. My main concern is that we're asking the user to make a decision about versioning in a series of separate save operations. Go to metadata, make changes, decide whether they should be versioned and then click save. Go to galleys, make changes, decide whether they should be versioned and then click save. And so on. I think this is an approach that's going to be prone to human error. And it will also inject additional cognitive overload to the initial publication process, which may be used for a minority of articles. I'd like to see a UX approach in which the editor is automatically versioning by default, and has to go out of their way not to version changes. Here's my first take on what that could look like.
If an editor wishes to modify a published version without actually creating a new version, they must click on a new button in the Publication stage: "Edit Published Versions". This will launch the UI you've sketched out @lilients. The editor can click on a prior version to load that version in the Submissions workflow. When this version is being edited, a large banner notification will appear at the top which informs the editor they are editing a previously published version and that any changes they make will be displayed immediately. Does this sound like an approach that isn't a nightmare to handle on the backend? Is the workflow clear or would anyone benefit from mocked-up screenshots? To address some of your other specifics: URLsI like the URL approach. I think the "current" version should also be available at Article PageI'd like to see a small note beside the Published date, like: Published That could be just an anchor link that jumped a section below as you outlined, but showing the date rather than the title: I think only the currently-viewed versions' galleys should be displayed at any one time. Finally, when any version other than the current version is being viewed, a banner notification should indicate that an out-of-date version is being viewed. Something like "This article has been updated. View the latest version". Hope this is helpful and not wildly out-of-scope. I know there's been some discussion about revisions within the team, and it's a really tough issue. |
I support this and all of your specific comments at the end. This is how I would imagine versioning of metadata and galleys to look like, both from a reader's and from an editor's point of view. |
Hi @NateWr, thank you for your reply and your concrete feedback. I also think creating a new version by default is a good idea. But I found it hard to explain to my colleges and I fear it is confusing for users who only want to have a look at the current state and do not want to create a new version. I understand your sketched workflow and think it is a very good approach - I especially like the idea of being able to edit a version and making it available later. This simplifies the connection of metadata and files a lot.
I fear that users will not understand this - different information at the same place (production stage with information about different versions). I now also see a similar problem with the grid I sketched. The same information will be displayed at different places (e.g. galleys at the production tab vs. galleys in the grid and metadata at the top level and metadata at the grid). And there is always the metadata tab that is kind of detatched from the version info. The solution I see now would be similar to the review rounds at the workflow stage "review". Each version would be displayed at its own tab. Files and metadata can be accessed and changed at one place. The metadata link at the top level could be hidden or it could display the metadata of the current version with a link to the old ones. The discussion could be used for the whole stage as in the review stage. Currently only the recent version can be edited. Do you think that is ok, or would the users want to change all versions? Thank you for your feedback on the URL structure as well. This might get tricky once there will be files connected with the article version. But we can discuss that later on. :)
Thank you very much for this idea. I think it fits much better.
Yes, the file versioning might be a lost cause. ;)
Yes, thank you very much for your thoughts and ideas! It helped a lot. We did do a lot of discussion. But I think it is needed and is getting better every time. :) Conclusion
|
Hii @lilients, I fear that your approach will lead to the wrong behaviour - if I can change files and metadata (of the most recent version) easily but have to press a button to create a "new version", people might just update their most recent version of that article instead of creating a new version. But in most cases creating a new version is the correct approach - this is why adding versioning to OJS/OMP is so extremely important. The software should make it as easy as possible to do the right thing. Changing already published articles is not an option that should be encouraged by the software. We should not fear confronting users with truths like these. Publishing is not a game, and journal editors need to know what they are doing. So I'd rather see an approach that redirects efforts to edit files and/or metadata of published versions to the "new version" option. It should be hard, not easy, to change something after publication date. (@asmecher, @stranack : this will also need good documentation). (Maybe it would be a good idea to also introduce a standardized "corrections" feature for minor corrections that change something in the article without creating a new version, like a correction notice for an image or reference that someone forgot to include during production.) |
Maybe we could support a MediaWiki-style "this is a minor revision" distinction that would lead to the revision being tracked, but receiving lesser consideration? I'm thinking about e.g. whitespace removals, typo fixes, etc. that are perhaps important to track but definitely shouldn't receive full "revision" status. |
Hi Alec, but most journals adhering to a more formal publication ethics will consider these changes not as "minor" - you will want to avoid that two people linking to the same article (version), using the same DOI etc., do not talk about the same works. This is why I think versioning is so important, so that journals can update/correct articles without acting against publication standards. But the most important thing is to educate users so that errors are dealt with before publishing the first version. We might not always be happy with the way things are at the moment, but there is a difference between scholarly publishing and less formal ways of publishing on the web. And frankly, I definitively want to be able to link to stable versions of articles that are not edited after publication date. Adding something like "Corrections" might be a good compromise for minor editing/minor versions. But even then we would need something standardized for displaying the corrections. This would IMHO not include changes to metadata or galleys, the corrections would be something like an add-on to the published galleys. |
How about if we were to track all revisions (including minor ones), thus linking would be stable, and expose all revisions of published content -- but allow for expand/collapse of changes that are flagged "minor"? |
Hi everybody, I would not differentiale between different types of corrections. I concur with @mtub that every change should be a new version. Even a typo could be quoted and would lead to wrong quotes if corrected. I think we could add the default feature to my last proposal. After the publication of a version a new tab will be created by default, so that users will edit a new version. To view/edit old versions they would need to click on the previous tabs. |
@stranack, your input on this would also be valuable! |
Great discussion. It looks like we've got two things which feel technically similar but may have different conceptual bases or use-cases. I'll try to outline those to see if we can spark some further thinking along these lines.
The workflow I sketched out was definitely directed at the first use-case. The idea was that the second use-case would be filled by editing versions, and these could or could not be tracked. I wonder if it makes sense to consider different technical solutions for each of these cases. To me, the first use-case sounds like we want a separate copy of the article in the database. Something so that we can present different article representations on the frontend and in the workflow. But the second use-case sounds like we just want to diff changes. Imagine how amazing it would be if we had a full textual representation of an article version, and we could just diff it for minor changes? We could then store an audit log of minor changes with minimal impact on the database, and we'd be able to use existing libraries for working with diffs. Of course, we're not yet at full textual representation. But how close is our XML exporter to being able to produce something resembling an XML representation of an article version that could be diffed? That wouldn't pick up differences between article galley files. But it could register new file paths, thus recording the fact that a change occurred. If this were combined with preserving the former files and preventing overwrites, it could be an effective audit log. |
Thank you @NateWr. Yes, I think the two use cases make sense.
I like the idea of displaying diff changes and marking significant revisions of an article but I think those are additional features to the use cases you described. Unfortunatly my timeframe is limited and I need to finish the versioning as good as possible as quickly as possible. But I think we could add both features later on:
I will try to describe the planned concept of versioning in OJS and store the decisions of this discussion here: For now I would concentrate on getting the first use case finished. I need to display those article metadata versions at the backend and connect them with the file/galley versions. Any feedback on the tab view of versions at the production stage? :) |
I totally get that you've got a deadline on this. We'll probably have to go through a slower development process to make sure we've got things right before rolling it out to everyone. Are you building this as a plugin for now?
I'm a little wary of the sub-tab approach, mostly because of the problem whereby title and metadata live outside of these tabs. But I think this is the result of a more general problem we have where we don't really have a clear presentation of a published object. When published, an article just kind of sits in its workflow. And what constitutes the published object is pulled together from various things scattered around the page (metadata, galleys, participants, issue assignment). I think that a UI for versioning would probably become a lot clearer to us if we had a view of a published object. We've talked about this as a final publishing step before: presenting a kind of confirmation view of all article core data, metadata, galleys, authors, DOI, and issue assignment with a big button that says, "yes, publish all of this I'm looking at right now". This is probably out-of-scope for what you need to do within the time you've got. But it might be something for us to consider as a target for versioning down the road. In the meantime, I don't really have a better idea than the tabs you present. No matter where the versioning actions are placed, they're going to be alienated from some of the customary tools for managing them. |
I think it is a very good approach to think things through before implementing. ;) And I appreciate your feedback a lot! Felix started the versioning at the core - not as a plugin. You can have a look at the code here: https://github.com/lilients/ojs (most relevant for the article metadata versioning is this commit lilients/ojs@dd07570). I am always rebasing to prevent divergence. I hope to get to a point soon where I can create a pull request. I came to the same conclusion like you: There is no ideal way of presenting versions because of the scattered elements of a published article. But I hope we can find a solution that is usable and can easily be ported to future concepts. The idea of presenting a published article with all published data in one place sounds interesting. Would that be part of the workflow or outside? I think the versioning should be part of the workflow. It might be useful to be able to use some workflow elements - like storage of files and discussion - for new versions. I tried to put all metadata belonging to a version inside the version tab. So this would be a step into the direction of presenting all data of published articles in one place. And maybe it could be ported to a future concept... Another way to implement versioning could be a new workflow step after production. But the problem with the metadata at the top level would remain and there would also be doublings with the galleys. So for now I would go with the tab solution inside the production stage. |
Hi @NateWr and everybody interested, I implemented the tab view at the workflow tab production. It looks like this: Now I have to add the functionality to create a new article version. I see different approaches at the GUI and would like your advice. Open question 1: create new version by default or with a button? Option 1: create new version by default when scheduled for publication This is what you see before scheduling for publication: Might be confusing for users - especially if they do not want to create a second version and there will never be a second version, then there will always be two tabs - one unused. Option 2: button "new version" This way only the current version is displayed. To create a new version users would need to click the button "new version". Open question 2: allow editing old versions or only the current one or none at all? Option 1: Allow changes at published versions but add an alert note when user wants to do so. Option 2: Disable changes when a version has been published. This way users would be forced to create a new version instead of editing a published one. I would prefer the button solution with no option of changing published versions. I think that would be less confusing and still preventing the user from changing already published stuff. What do you think? Do you see other options? Looking forward to your feedback and ideas. Best, |
Hi Svantje, if published versions cannot be edited (Question 2 - Option 2), the button solution for creating new versions (Question 1 - Option 2) is fine, I think. |
Hi @asmecher, @bozana, @NateWr , @mtub and everybody interested, as I mentioned before I think we need to add a versioning for galleys as well. Mainly because there are DOIs attached to galleys and statistics uses them. I would like to check my approach with you before implementing. Currently there are versions of submission metadata stored in submission_settings like this: Currently files are connected with galleys (1-1) and do have DOIs assigned to them. The galleys are now attached to submission versions. As of now for each submission version a new galley is being created automatically. But this means that there is no connection between the galleys. This enables a different DOIs for each version but seem to be a problem for the statistics. So I think it would be convenient to add a versioning for galleys simultaneously to the verisoning at submission level. This would look like this:
Is this ok with you? Do you see problems or aspects I missed? Thanks for your thoughts! Best, |
Hi everybody, I refined the database structure simultaneous to Felix versioning of submissions (storing info that needs to be versioned in settings):
The version number of the galley is the same as submission_revision. This means there is no real galley versioning but the galleys are connected to an article version. This way the URL structure can be simplified and looks like this:
Feedback and questions are welcome. Best, |
HI @lilients, Sorry for the lack of feedback on my part. Your screenshot looks good, with the tabbed versions. I agree with @mtub that using a tab named "New Version" is better than just naming a new version. A couple thoughts:
|
Hi @NateWr , thanks for your feedback. Opt-in is already implemented. @ everybody Any feedback on the database stuff? :) Best, |
Hi @asmecher , @NateWr , @bozana and everybody else, I added the galley versioning as descibed above and made some GUI changes (Description). Works fine. :-D Cleaning up I found another problem. For the article versioning the
I would try to go with option 1 because I think it would be cleaner. Otherwise the publication date would be double in the database. Is it really necessary to order the published article by date? Would it be sufficient to order only by sequence? What do you prefer? Do you see other options? Best, |
I think that for such kind or ordering we could consider the |
The frontend display of versions looks good. What about adding the version name to the date? I'm thinking about cases where someone might release two versions on the same day. It would be good to have: Version 3 — 2016-02-03 |
Done that lilients/ojs@42b5fce and lilients@ee16e4e ... next topic to be discussed: URL structure. We already discussed the principles via mail:
I would propose (and already implemented ;)) this structure:
This way the |
I like having the The benefit of having that is that, if I want, I can generate a link to the current version of an article that I can trust will always point to that version, even if it's later updated. |
I would agree with Nate... Maybe it would be good to always have the version in the URL: if a user reads an article and then cites it with the URL |
Yes, the current version is available at the "default" URL and also at the URL with the version number. |
No, I think it's good the way you've got it @lilients. If someone really wants to surface the version URL before there are multiple versions, they can do that themselves. 👍 |
…tion entity This commit includes all of the initial work done to support versioning based on a split between submissions and publications. All submission data related to publication, such as title, abstract, citations, authors and galleys, has been moved to a new publication entity. Submissions have a "one to many" relationship to Publications. Each Submission may have one or more Publications attached to it. Each Publication is treated as a new version. Published version data can not be modified. - New publication entity split from submissions - New API endpoints for publications - Workflow UI changes to support versions (publications) - Pre-publication validation checks - New STATUS_SCHEDULED for publications scheduled for publication in a future issue - Deprecated many methods on the Submission object - Upgrade scripts written from 3.1.x. - Tests updated to work, except for issue import. Some code is commented out or has not been updated yet. Progress on remaining support for versioning will be tracked in Github. See: https://github.com/pkp/pkp-lib/projects/15
pkp/pkp-lib#2072 Add components for versioning based on new publication entity
#2072 Prototype of versioning based on new publication entity
pkp/pkp-lib#2072 Prototype of versioning based on new publication entity
pkp/pkp-lib#2072 Prototype of versioning based on new publication entity
pkp/pkp-lib#2072 Prototype of versioning based on new publication entity
Work on this is now being tracked in the versioning project. |
* pkp/pkp-lib#5021 Restore subscription grid search options * Complete es_ES locale for CrossRef plugin Added missing translations for es_ES locale. * pkp/pkp-lib#5023 Fix obsolete constant name * Address Github security warnings * pkp/pkp-lib#5015 Changed lang attribute for local keys * pkp/pkp-lib#5015 Removed extra quotation mark * Update copyright date * fix typo in ru_RU locale * Submodule update * pkp/pkp-lib#5029 Bump PHP baseline to PHP7.2 * Bump citationStyleLanguage baseline to PHP7.2 * pkp/pkp-lib#5029 Submodule update ##asmecher/i5029-fix## * pkp/pkp-lib#5029 Disable PHP7.1 Travis tests * Complete API es_ES locales Added all missing texts for es_ES in api.xml * Submodule update * Minor fixes (proposals) Updated to september 4, 2019 * sl_SI-3_1_2_update * Correct XML path for validation * pkp/pkp-lib#2072 Working prototype of versioning based on new publication entity This commit includes all of the initial work done to support versioning based on a split between submissions and publications. All submission data related to publication, such as title, abstract, citations, authors and galleys, has been moved to a new publication entity. Submissions have a "one to many" relationship to Publications. Each Submission may have one or more Publications attached to it. Each Publication is treated as a new version. Published version data can not be modified. - New publication entity split from submissions - New API endpoints for publications - Workflow UI changes to support versions (publications) - Pre-publication validation checks - New STATUS_SCHEDULED for publications scheduled for publication in a future issue - Deprecated many methods on the Submission object - Upgrade scripts written from 3.1.x. - Tests updated to work, except for issue import. Some code is commented out or has not been updated yet. Progress on remaining support for versioning will be tracked in Github. See: https://github.com/pkp/pkp-lib/projects/15 * pkp/pkp-lib#2072 Fix whitespace and typo errors * pkp/pkp-lib#2072 Fix conflict with citation style language in template variable name * pkp/pkp-lib#2072 Fix tests * pkp/pkp-lib#2072 Drop temporary table during upgrade * Submodule update ##NateWr/i2072_versioning## * pkp/pkp-lib#2072 Fix fatal error when previewing article not assigned to issue * Submodule update * pkp/pkp-lib#5057 Update MEDRA dev endpoint URL * pkp/pkp-lib#5055 Fix author dashboard * Submodule update * Submodule update * pkp/pkp-lib#5068 Cast sequences to integers * Submodule update * Submodule update * Submodule update * Update ru_RU locale after pkp#2457 * allow gateway plugins to add authorization policies * Permit correct storage of section ID on initial insert * Submodule update * pkp/pkp-lib#5017 Include submission subtitle in Crossref XML * Submodule update * pkp/pkp-lib#4325 include affiliations for all authors * Remove unused variable * Recompile JS * pkp/pkp-lib#4989 Add defaultReviewMode setting on upgrade * Remove dead code * Submodule update * pkp/pkp-lib#5047 Don't allow galleys to be added or edited in published publications * Submodule update ##NateWr/i5047_galley_edit## * pkp/pkp-lib#5045 Restore keywords variables to article details template * Update pt_BR REVISED_VERSION_NOTIFY email template * pkp/pkp-lib#5089 fix variable test for section editor count * pkp/pkp-lib#4870 Support versioning on article landing page * Submodule update ##NateWr/i4870_reader_versioning## * pkp/pkp-lib#5087 Don't show category selection if no categories exist * pkp/pkp-lib#3386 Add new EditorialActionsHandler to minified scripts * Submodule update ##NateWr/i3386_editorial_actions## * Code syntax tweak * pkp/pkp-lib#4906 Remove OAI dependency on published_submissions * Revert 979337f * pkp/pkp-lib#5103 Remove sexist language * pkp/immersion#25 Move language-specific text into locale files * pkp/immersion#25 Fix test language (on disabled test) * pkp/immersion#25 Fix test language * Correct typo * pkp/pkp-lib#5044 Add date published field to journal entry form - Change date_published column from datetime to date - Remove unused publicationType and publicationDateType properties * Submodule update ##NateWr/i5044_date_published## * pkp/pkp-lib#5046 Add unpublish button to versions * pkp/pkp-lib#4779 Move to using XLIFF files for translation (work in progress) * pkp/pkp-lib#4779 Remove translator plugin * pkp/pkp-lib#4779 Adapt to PO files instead of XLIFF * pkp/pkp-lib#4779 Convert selected locales to PO * pkp/pkp-lib#4779 Submodule update ##asmecher/po## * pkp/pkp-lib#4779 Convert selected plugin locale files to PO * pkp/pkp-lib#4779 Submodule update * pkp/pkp-lib#4779 Convert pt_BR to PO format * Submodule update * Submodule update * pkp/pkp-lib#5045 Indicate publishing schedule in publish confirmation message * pkp/pkp-lib#5045 Use correct phrase for pre-publication tests * Submodule update ##NateWr/i5045_publish_message## * pkp/pkp-lib#5043 Add upgrade script to fix bad submission status * pkp/pkp-lib#4857 Fix schedule for publication button and move locale string to shared library * Submodule update ##NateWr/i4857_open_tab## * pkp/pkp-lib#4873 Fix dependent file handling for versioning - Deletes dependent files when galley deleted - Checks if file is used by a previous version before deleting * Submodule update ##NateWr/i4873_files## * Update ru_RU locale after PR pkp#2478 * Update ru_RU locale after PR pkp#2481 * pkp/pkp-lib#4859 Fix searching with addition of versioning * Submodule update * pkp/pkp-lib#5098 Update workflow template with changes to data * pkp/pkp-lib#5098 Update workflow handler with changes from pkp-lib * pkp/pkp-lib#5098 Fix tests * Submodule update ##NateWr/i5098_performance## * pkp/pkp-lib#5044 Use locale string from shared library * Submodule update ##NateWr/i5044_scheduled## * pkp/pkp-lib#4861 Migrates cover images to support versioning - Combines coverImage and coverImageAltText settings into one - Migrates settings to publication_settings table - Updates article landing page to show correct publication cover image * Submodule update ##NateWr/i4861_covers## * pkp/pkp-lib#5138 Fix capitalization of class name * pkp/pkp-lib#5139 Fix custom block manager plugin; remove extraneous code * Submodule update * Submodule update * pkp/pkp-lib#1375 Permit null issue Number and Year values * Clean up PHP warnings * Resolve count erroroneous call on DAOResultFactory * pkp/pkp-lib#5122 Support Iterator pattern for DAOResultFactories * pkp/pkp-lib#5122 Use Iterator pattern in search indexing * pkp/pkp-lib#4880 Properly skip XML import test (to avoid missing publication database inconsistency from broken import code) * pkp/pkp-lib#5122 Code review tweak * pkp/pkp-lib#5122 Scrutinizer tweaks * Submodule update * Submodule update * Submodule update * pkp/pkp-lib#5122 Facilitate the use of Iterators in service classes * pkp/pkp-lib#4859 Add metadata indexing to publication service * pkp/immersion#25 Tweak for fr_FR abbreviation * pkp/pkp-lib#4867 Initial work adding DOIs to publications * pkp/pkp-lib#4867 Add DOI preview to publish form * pkp/pkp-lib#4905 Restore support for exporting pub ids and metadata * Submodule update ##NateWr/i4867_dois## * Forward-port ae7c745 to master branch * Submodule update * pkp/pkp-lib#4804 Fix self-join problem on CrossRef upgrade SQL * pkp/pkp-lib#4924 Properly display access status for pay-per-view purchases * Fix filename typo * pkp/pkp-lib#4593 Fix incorrect access indications in category listing * Submodule update * Update ru_RU locale after PR pkp#2496 * Submodule update * Forward-port fr_CA emailTemplates.xml to master * pkp/pkp-lib#4168 Migrate submission date_status_modified to last_activity * pkp/pkp-lib#4168 Document new daysInactive API param * Submodule update ##NateWr/i4168_last_activity## * include two new email templates * two new email templates * two new email templates * two new email templates * two new email templates * two new email templates * two new email templates * two new email templates * pkp/pkp-lib#4867 Migrate DOI settings on upgrade * Add issue querybuilder filter for issue ids to support browsebysection plugin * Fix filter by section parameters in querybuilder * Fix conditional check on empty array in issue query builder * Submodule update * pkp/pkp-lib#5122 Fix check for empty DAOResultIterator and change naming pattern * pkp/pkp-lib#5122 Use Countable interface in DAOResultIterator * Submodule update * Fix PHP warnings/errors * pkp/pkp-lib#5216 Update links to in-app help * Add missing ID fetch * updated fr_CA translation * pkp/pkp-lib#5122 Update naming pattern when returning an iterator * Submodule update ##NateWr/i5122_iterator## * Submodule update: in-app help * pkp/pkp-lib#5526 Add missing templates in other languages during upgrade * pkp/pkp-lib#4705 Put code back to fix cover image issue * pkp/pkp-lib#5208 Update URN plugin to support publications - Adds FieldUrn component - Makes the check number generation available in more places - Updates plugin setting names * pkp/pkp-lib#5208 Remove extra whitespace * Submodule update ##NateWr/i5208_urn## * pkp/pkp-lib#4705 Fixed spacing * pkp/pkp-lib#4705 Removed spaces * pkp/pkp-lib#5011 Forward-port to master * Update ru_RU locale after PR pkp#2519 * Fix subject search * pkp/pkp-lib#4684 Added mobile nav menu for smaller screens * Replaced pkp_site_name in body.less to remove default 100% width * pkp/pkp-lib#4684 HTML adjustments for default theme mobile nav menu * pkp/pkp-lib#4684 Added close symbol to open mobile nav menu * pkp/pkp-lib#4684 Renamed classes * pkp/pkp-lib#4684 Toggle nav menu dropdowns on small/large screens * pkp/pkp-lib#4684 Moved .pkp_nav_list class to a media query * Moved .pkp_nav_list out of helpers, so deleting it * pkp/pkp-lib#4684 Fixed mobile nav styles, added two search bars * pkp/pkp-lib#4684 CSS for two menu bars WIP * pkp/pkp-lib#4684 Fixed what is showing and what is not in search bars * pkp/pkp-lib#4684 Styling mobile search bar * pkp/pkp-lib#4684 Added separate search form for mobile * pkp/pkp-lib#4684 Work out layout/design issues with mobile nav in default theme * pkp/pkp-lib#4684 Remove unused search form template * pkp/pkp-lib#4684 Improve style of task count in nav menus * pkp/pkp-lib#4684 Fix inaccessible user nav item due to lost hover * pkp/pkp-lib#4684 Fix mobile nav menu widths from phone to tablet size * pkp/pkp-lib#4684 Remove mobile user nav styles on large screens * pkp/pkp-lib#4684 Restore animated search styles in default theme header * pkp/pkp-lib#4684 Fix search form class and mobile nav padding * Submodule update ##NateWr/i4684_nav_menu##
…on entity - New Workflow apps to handle publication workflow and versioning - New Header component - New FieldAutosuggest and FieldControlledVocab components - New select field for issue entry - New aria-compliant Tabs component
pkp/pkp-lib#2072 Add components for versioning based on new publication entity
Hi @asmecher, @NateWr, @bozana and everybody interested :)
I am currently finishing the work my colleague @felixgruender did to enable versioning of published articles and files in OJS. Because this is a big topic with many aspects to concider and a lot of code I separated the task into tree steps and wrote descriptions at my github wiki.
There could be more steps in future. For example to make the versioning work with galley DOIs I am thinking about adding versioning for galleys (the file versioning would then be replaced). But this should have no effect on my ideas for the last step. And I would like to discuss these with you.
The original solution adds the versioning at the metadata tab and connects files with the article metadata version during the file upload. But the concept in OJS changed: there are now at least three places that needs to be changed to display version information (metadata and identifiers, schedule for publication, galley files) and there is no file metadata page anymore.
To simplify the GUI I would like to add a central overview of the existing versions and put all versioning actions at one place. This could be a grid that lists all versions of the article. Following information could be displayed per version:
The original places of article metadata and identifiers, schedule for publication and galley files could display only the info of the current version. A link could lead to the versions grid to get information about old versions.
One big question is where to put the grid at the backend. I see the following options (neather one perfect):
Any other ideas?
Conclusion:
The text was updated successfully, but these errors were encountered: