pkp / pkp-lib

The library used by PKP's applications OJS, OMP and OPS, open source software for scholarly publishing.
https://pkp.sfu.ca
GNU General Public License v3.0
307 stars 447 forks source link

Can't feature more than 30 monographs on the home page #7648

Open thiagolepidus opened 2 years ago

thiagolepidus commented 2 years ago

OMP Version: 3.3.0-8

Even marking 31 or more monographs as featured, after saving the features order only 30 monographs remain as featured.

Steps to reproduce:

  1. Select checkboxes to make 31 or more monographs featured.
  2. Click on "Order Features"
  3. Save Order.
  4. Now only 30 monographs remains featured

After reordering the featured entries, only the monographs on the current page remain featured.

Mysql query before save order:

SELECT COUNT(*) FROM features;
+----------+
| COUNT(*) |
+----------+
|       50 |
+----------+
1 row in set (0,00 sec)

mysql query after save order:

SELECT COUNT(*) FROM features;
+----------+
| COUNT(*) |
+----------+
|       30 |
+----------+
1 row in set (0,00 sec)
NateWr commented 2 years ago

Thanks @thiagolepidus. This is probably a low priority for us because we never intended such long lists of featured monographs, and the default theme isn't designed to show them well. From a UX perspective, if you have such a long list of featured books, it might be time to rethink your content strategy.

diegoabadan commented 2 years ago

Thanks for the feedback, Nate.

This feature was being used for a custom ordering. With the growth of the catalog we discovered the current limit of 30 publications.

We are tweaking the theme to allow for this custom ordering.

Many users end up making unanticipated uses of PKP application resources. :)

NateWr commented 2 years ago

Yeah I understand! If you're doing some custom development work, here are two approaches that I would recommend:

  1. Add a new form and field to the website settings area and use an orderable FieldOptions field to save the overall site order to a context setting.

  2. Add a form field to the Catalog Entry form of each submission, and then write a custom query to order by that.

Neither one is going to scale very well once your catalog grows, but both are fairly simple ways to implement this for now.

diegoabadan commented 2 years ago

Thanks @NateWr!

Hope your tips help @thiagolepidus, including in other theme implementations. :)