Skip to content
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

Refactor backend UI to improve accessibility and use Vue.js #5865

Closed
5 of 9 tasks
NateWr opened this issue May 13, 2020 · 14 comments
Closed
5 of 9 tasks

Refactor backend UI to improve accessibility and use Vue.js #5865

NateWr opened this issue May 13, 2020 · 14 comments
Assignees
Labels
Enhancement:3:Major A new feature or improvement that will take a month or more to complete.

Comments

@NateWr
Copy link
Contributor

NateWr commented May 13, 2020

This issue describes work on the editorial and administrative backend that provides a new page architecture driven by Vue.js. A short summary of this work includes:

This work is not yet ready for merge. When it is clear to merge in 3.3, the following work needs to be done.

PRs (not ready for merge):
pkp/ui-library#88
#5866
pkp/ojs#2746
pkp/omp#812
pkp/ops#38
pkp/quickSubmit#48
pkp/citationStyleLanguage#71

Additional work that would be nice to include if time permits:

  • The main navigation menu should be sticky if it is not too tall for the browser window.
  • Several basic components, such as <badge> and <pkp-button> have been made global components. More components could be made global so that they can be used by plugins.
  • Support browser history in tabs (Restore use of browser history for tabbed navigation #2773)
@NateWr NateWr added Enhancement:3:Major A new feature or improvement that will take a month or more to complete. UI/UX Review labels May 13, 2020
@NateWr NateWr added this to the OJS/OMP 3.3 (Unconfirmed) milestone May 13, 2020
@NateWr
Copy link
Contributor Author

NateWr commented May 13, 2020

A new page layout that provides more breathing space.
page-layout

Users that have only one navigation item (authors, reviewers, section editors, subscription managers) don't see a navigation menu.
author-view

When not on their "home" page (submissions or payments), they get a link back to it in the header.
author-workflow

@NateWr
Copy link
Contributor Author

NateWr commented May 13, 2020

The user nav has been tidied up.
user-nav

And includes a clear indication when logged in as another user.
user-nav-logged-in-as

@NateWr
Copy link
Contributor Author

NateWr commented May 13, 2020

New toast-style notifications.
toast-notifications

@NateWr
Copy link
Contributor Author

NateWr commented May 13, 2020

Forms now broadcast their Saving/Saved status messages in a more accessible way.
save-form

@alexxxmendonca
Copy link
Contributor

This all looks so beautiful 😍
👍 👍 👍 👍

@NateWr NateWr self-assigned this May 13, 2020
NateWr added a commit to NateWr/ui-library that referenced this issue May 13, 2020
- Fixes incorrect color for scheduled submissions in archives.
- Fixes URLs that open-to-tab with #anchors.
- Adds Page components for backend site layout.
- Adds toast-style notifications.
- Adds support for modals and dialogs controlled by Vue.js.
- Adds global CSRF token.
- Adds global locale keys.
- Adds global constants.
- Adds AnnouncementsListPanel.
- Refactors backend site layout with new approach to header
  and site navigation.
- Refactors ListPanels to use slots and removes support
  for ordering and selecting items.
- Removes SelectSubmissionsListPanel.
- Refactors buttons to use a slot.
- Some components like buttons are now globally available.
- Updates documentation to reflect these changes.
NateWr added a commit to NateWr/pkp-lib that referenced this issue May 13, 2020
- Fix editLinks don't open correct tab.
- Adds /announcements REST API endpoints.
- Replaces announcements grid with list panel.
- Move JS globals out of jQuery namespace.
- Use Vue.js Page components for backend site layout.
- Refactors backend site layout with new approach to header
  and site navigation.
- Refactors ListPanels to use slots.
- Replaces SelectSubmissionsListPanel with slot-based template.
- Replace PNotify toast-style notifications.
- Add new patterns for passing locale keys, constants and CSRF
  token to the browser.
- Make some components like buttons globally available.
- Remove Underscores.js.
@asmecher
Copy link
Member

Jeez, @NateWr, I'm practically blind to the UI I'm working with when I get so used to it -- but when improvements like these are proposed they seem so obvious in hindsight. 💯

NateWr added a commit to NateWr/ojs that referenced this issue May 13, 2020
- Refactors backend site layout with new approach to header
  and site navigation.
- Adds /announcements REST API endpoints.
- Replace PNotify toast-style notifications.
- Refactors ListPanels to use slots.
- Replaces SelectSubmissionsListPanel with slot-based template.
- Add new patterns for passing locale keys, constants and CSRF
  token to the browser.
NateWr added a commit to NateWr/omp that referenced this issue May 13, 2020
- Refactors backend site layout with new approach to header
  and site navigation.
- Replace PNotify toast-style notifications.
- Refactors ListPanels to use slots.
- Add new patterns for passing locale keys, constants and CSRF
  token to the browser.
NateWr added a commit to NateWr/ui-library that referenced this issue May 13, 2020
- Fixes incorrect color for scheduled submissions in archives.
- Fixes URLs that open-to-tab with #anchors.
- Adds Page components for backend site layout.
- Adds toast-style notifications.
- Adds support for modals and dialogs controlled by Vue.js.
- Adds global CSRF token.
- Adds global locale keys.
- Adds global constants.
- Adds AnnouncementsListPanel.
- Refactors backend site layout with new approach to header
  and site navigation.
- Refactors ListPanels to use slots and removes support
  for ordering and selecting items.
- Removes SelectSubmissionsListPanel.
- Refactors buttons to use a slot.
- Some components like buttons are now globally available.
- Updates documentation to reflect these changes.
NateWr added a commit to NateWr/pkp-lib that referenced this issue May 13, 2020
- Fix editLinks don't open correct tab.
- Adds /announcements REST API endpoints.
- Replaces announcements grid with list panel.
- Move JS globals out of jQuery namespace.
- Use Vue.js Page components for backend site layout.
- Refactors backend site layout with new approach to header
  and site navigation.
- Refactors ListPanels to use slots.
- Replaces SelectSubmissionsListPanel with slot-based template.
- Replace PNotify toast-style notifications.
- Add new patterns for passing locale keys, constants and CSRF
  token to the browser.
- Make some components like buttons globally available.
- Remove Underscores.js.
NateWr added a commit to NateWr/ojs that referenced this issue May 13, 2020
- Refactors backend site layout with new approach to header
  and site navigation.
- Adds /announcements REST API endpoints.
- Replace PNotify toast-style notifications.
- Refactors ListPanels to use slots.
- Replaces SelectSubmissionsListPanel with slot-based template.
- Add new patterns for passing locale keys, constants and CSRF
  token to the browser.
NateWr added a commit to NateWr/ui-library that referenced this issue Jun 2, 2020
- Fixes incorrect color for scheduled submissions in archives.
- Fixes URLs that open-to-tab with #anchors.
- Adds Page components for backend site layout.
- Adds toast-style notifications.
- Adds support for modals and dialogs controlled by Vue.js.
- Adds global CSRF token.
- Adds global locale keys.
- Adds global constants.
- Adds AnnouncementsListPanel.
- Refactors backend site layout with new approach to header
  and site navigation.
- Refactors ListPanels to use slots and removes support
  for ordering and selecting items.
- Removes SelectSubmissionsListPanel.
- Refactors buttons to use a slot.
- Some components like buttons are now globally available.
- Updates documentation to reflect these changes.
NateWr added a commit to NateWr/pkp-lib that referenced this issue Jun 2, 2020
- Fix editLinks don't open correct tab.
- Adds /announcements REST API endpoints.
- Replaces announcements grid with list panel.
- Move JS globals out of jQuery namespace.
- Use Vue.js Page components for backend site layout.
- Refactors backend site layout with new approach to header
  and site navigation.
- Refactors ListPanels to use slots.
- Replaces SelectSubmissionsListPanel with slot-based template.
- Replace PNotify toast-style notifications.
- Add new patterns for passing locale keys, constants and CSRF
  token to the browser.
- Make some components like buttons globally available.
- Remove Underscores.js.
@asmecher
Copy link
Member

@NateWr, I think this broke the Travis tests for OMP master. The log fills with:

PHP Warning:  Illegal string offset 'id' in /home/travis/build/pkp/omp/controllers/grid/users/chapter/form/ChapterForm.inc.php on line 151

...until Travis kills the job because of log length.

@asmecher asmecher reopened this Jun 25, 2020
@NateWr
Copy link
Contributor Author

NateWr commented Jun 29, 2020

Thanks! Should be fixed in pkp/omp@dc03e34. I'll monitor the build and close this if it's passing.

@NateWr
Copy link
Contributor Author

NateWr commented Jun 30, 2020

I think I fixed it in the commit above, but I can't actually find a build of OMP reflecting that. Is there a way in Travis to kick off a test on the latest master branch, short of raising a PR on it?

@willinsky
Copy link

Let me leave my compliments, as well, Nate, for the clean, informative, tasteful UI design.

On this one design below, I wondered about the way that the article title lacks the white framing background and just sits in the background. I'd suggest keeping the pattern from the submissions list of author in bold over the title only set it in its own narrowly framed box of white (or very light gray) background. I wouldn't line it up with "Library" as it suggests some connection. There is no "Help" tab in this one, which I wasn't sure about but Library is in more of that category, as a resource, and could be placed either where Help goes or near Help if Help is to be added.

Screen Shot 2020-07-02 at 2 44 52 PM

NateWr added a commit to NateWr/omp that referenced this issue Jul 6, 2020
@NateWr
Copy link
Contributor Author

NateWr commented Jul 6, 2020

OMP was missing some of the new code for announcements.

PR:
pkp/omp#846

NateWr added a commit to pkp/omp that referenced this issue Jul 7, 2020
pkp/pkp-lib#5865 Fix fatal error with missing announcements
@NateWr
Copy link
Contributor Author

NateWr commented Jul 7, 2020

The OMP master branch should be fixed now.

@NateWr NateWr closed this as completed Jul 7, 2020
salmanm2003 added a commit to ubiquitypress/ops that referenced this issue Jul 28, 2020
NateWr added a commit to pkp/ui-library that referenced this issue Nov 4, 2020
NateWr added a commit to NateWr/pkp-lib that referenced this issue Nov 10, 2020
This commit also fixes the notification request that was broken
during the UI refactor in pkp#5865.
NateWr added a commit to pkp/exampleImportExport that referenced this issue Nov 27, 2020
JackBlackLight pushed a commit to cul/ojs-plugin-doi that referenced this issue Sep 15, 2021
- Refactors backend site layout with new approach to header
  and site navigation.
- Adds /announcements REST API endpoints.
- Replace PNotify toast-style notifications.
- Refactors ListPanels to use slots.
- Replaces SelectSubmissionsListPanel with slot-based template.
- Add new patterns for passing locale keys, constants and CSRF
  token to the browser.
JackBlackLight pushed a commit to cul/ojs-plugin-doi that referenced this issue Sep 15, 2021
henriqueramos pushed a commit to henriqueramos/ui-library that referenced this issue Jan 20, 2022
- Fixes incorrect color for scheduled submissions in archives.
- Fixes URLs that open-to-tab with #anchors.
- Adds Page components for backend site layout.
- Adds toast-style notifications.
- Adds support for modals and dialogs controlled by Vue.js.
- Adds global CSRF token.
- Adds global locale keys.
- Adds global constants.
- Adds AnnouncementsListPanel.
- Refactors backend site layout with new approach to header
  and site navigation.
- Refactors ListPanels to use slots and removes support
  for ordering and selecting items.
- Removes SelectSubmissionsListPanel.
- Refactors buttons to use a slot.
- Some components like buttons are now globally available.
- Updates documentation to reflect these changes.
henriqueramos pushed a commit to henriqueramos/ui-library that referenced this issue Jan 20, 2022
henriqueramos pushed a commit to henriqueramos/ui-library that referenced this issue Jan 20, 2022
henriqueramos pushed a commit to henriqueramos/ui-library that referenced this issue Jan 20, 2022
henriqueramos pushed a commit to henriqueramos/ui-library that referenced this issue Jan 20, 2022
henriqueramos pushed a commit to henriqueramos/ui-library that referenced this issue Jan 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement:3:Major A new feature or improvement that will take a month or more to complete.
Projects
None yet
Development

No branches or pull requests

4 participants