Catalogue problem for version 6.1.1

Hi Pressbooks community,

Since the latest upgrade our catalogue has not been populating properly.

When flipping through the pages, it populates the same list of books on all 5 pages of our catalogue. When I change the filters the list of books changes and even when there are only 2 books in the list the 1,2,3 page links at the bottom still appear. I think it’s the page numbers at the bottom of the page that are broken and just showing you the same page.

Is this a known bug, or an issue anyone else has replicated?

Thanks!

Best wishes,
Michelle

WordPress Configuration
Network URL: https://openeducationalberta.ca/
Network Type: Subdirectory
Version: 6.1.1
Language: en_US
WP_ENV: Not set
WP_DEBUG: Disabled
Memory Limit: 64M

Pressbooks Configuration
Version: 6.5.1
Root Theme: Aldine
Root Theme Version: 1.18.1

Hi everyone,

Just wanted to boost this. We are now updated to 6.8.0.

The problem above is still persistent, and the front page catalogue no longer generates (I’ve tried the classic reset technique with no success).

Is anyone else having a catalogue problem?

1 Like

@MichelleB we released a plugin that adds a much improved catalog to Pressbooks networks: GitHub - pressbooks/pressbooks-network-catalog: A Pressbooks plugin which provides an improved catalog for the Pressbooks Aldine theme. It works with recent versions of Pressbooks & Aldine. Have you installed this plugin? Does that fix things for you?

@SteelWagstaff I tried to install the new network catalog, but I am not familiar with bedrock. The one line installation instruction " Run 'composer require pressbooks/pressbooks-network-catalog` in your project bedrock." did not enable me to install the plugin.

Is there a way to install it the classical way, by uploading the plugin to WordPress? If not, is there more info on the bedrock way of installing the plugin?

Thank you!

Hi @t.dumm Composer is a dependency management tool for PHP, which allows users to declare, install, and update project dependencies for PHP applications (see Composer docs). Composer runs from the command-line and allows users to install/autoload PHP applications found on Packagist (an aggregator of PHP packages).

Bedrock is a boilerplate WordPress stack maintained by a group called Roots. Bedrock is designed to make it easier to configure production, staging, and development environments for WordPress (see Bedrock docs, guide, and Discourse forum). Bedrock treats all 3rd party libraries as dependencies (including WordPress, Pressbooks, and any plugins/themes) and uses Composer to manage them consistently. You can use Composer with or without Bedrock. For our hosted clients, we use Bedrocks to manager the versions of all the software we deploy to various server environments.

The install instructions for the catalog plugin are basically asking you to install Composer on your server and run the composer command in the right directory to install the plugin and its required dependencies. There may be a way to install it in the ‘classical’ way, but I don’t think we support that right now. I’ll check with my some of my more knowledgeable colleagues and try to get back to you.

@SteelWagstaff I tried to install with composer, but I got the error message below:

Could not find a matching version of package pressbooks/pressbooks-network-catalog. Check the package spelling, your version constraint and that the package is available in a stability which matches your minimum-stability (dev).

I checked for pressbooks-network-catalog on https://packagist.org, but did not find an entry. But maybe I am checking the wrong way. I am really not familiar with composer. I always use the WordPress Plugins that you publish on GitHub to update.

@t.dumm We failed to register the new plugin correctly. That should be resolved now: pressbooks/pressbooks-network-catalog - Packagist. There’s also a method by which we can package the assets and attach them to the GitHub release for distribution the same way as pressbooks/pressbooks. We’ll work on this and try to get that working for future releases as well.

@SteelWagstaff
Thank you. I tried to install with composer using:

composer require pressbooks/pressbooks-network-catalog

inside the unzipped pressbooks-network-catalog folder inside my pressbooks install
but still got the following error:

[InvalidArgumentException] Could not find a version of package pressbooks/pressbooks-network-catalog matching your minimum-stability (dev). Require it with an explicit version constraint allowing its desired stability.

I think I wait until a classical WordPress Plugin is available.

Hmmm. What version of composer are you running? Perhaps try running composer selfupdate --2 before you run composer require pressbooks/pressbooks-network-catalog?

@SteelWagstaff Switching from composer 1 to composer 2 brought me one step further. Now I see this error message:

Root package ‘pressbooks/pressbooks-network-catalog’ cannot require itself in its composer.json

@t.dumm sounds like you need to move up a directory on your server. You can delete the unzipped pressbooks-network-catalog directory/folder entirely and simply run this composer command from the plugins folder instead of the pressbooks-network-catalog folder.

@SteelWagstaff If I do that, I see:

No composer.json in current directory, do you want to use the one at /var/www/html/pressbooks.delivros.ch? [Y,n]?

Shall I type Y?

Go for it! I think that ought to work … hard to say with certainty without being your server myself, but I’d try that, yes.

@SteelWagstaff

Running composer update pressbooks/pressbooks-network-catalog
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- composer/installers v1.6.0 requires composer-plugin-api ^1.0 → found composer-plugin-api[2.3.0] but it does not match the constraint.
- pressbooks/pressbooks-jacobs dev-dev requires composer/installers ~1.3 → satisfiable by composer/installers[v1.6.0].
- pressbooks/pressbooks-jacobs is locked to version dev-dev and an update of this package was not requested.

You can also try re-running composer require with an explicit version constraint, e.g. “composer require pressbooks/pressbooks-network-catalog:*” to figure out if any version is installable, or “composer require pressbooks/pressbooks-network-catalog:^2.1” if you know which you need.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Has anybody succeeded in installing the new catalog on a self-hosted server?

It looks like you have some composer dependency conflicts. You have a composer.json file on your server, probably in the /var/www/html/pressbooks.delivros.ch folder. This file includes some require statements – composer uses this to decide what versions of various dependencies to install on your server. If you send me a DM with the contents of this file, I may be able to assist you in resolving the conflicts. If you want to resolve this yourself, I recommend reading Basic usage - Composer and Debugging Composer Dependency Conflicts (for an example of how someone can systematically work through and resolve composer conflicts)

{
“require”: {
“pressbooks/pressbooks”: “dev-dev”,
“pressbooks/pressbooks-book”: “dev-dev”,
“pressbooks/pressbooks-aldine”: “dev-dev”,
“pressbooks/pressbooks-jacobs”: “dev-dev”
}
}

Ok – in this case you’re requiring the latest dev branch of Pressbooks and three themes. If this is a production server, I’d strongly recommend switching to run the latest tagged releases for each of these. So change the require block to something like:
{
“require”: {
“pressbooks/pressbooks”: “^6.8.0”,
“pressbooks/pressbooks-book”: “^2.25.2”,
“pressbooks/pressbooks-aldine”: “^1.18.1”,
“pressbooks/pressbooks-jacobs”: “^1.3.0”
}
}

Once you’ve made these changes, you can try running something like composer update -W. If that works, then you can run composer require pressbooks/pressbooks-network-catalog

If you don’t want to edit the composer.json file on the server, you can run composer require pressbooks/pressbooks "^6.8.0" or composer remove pressbooks/pressbooks and composer require pressbooks/pressbooks – what this will do is remove pressbooks/pressbooks from the composer.json & composer.lock files and then require it, but without specifying the latest version of the dev branch as your preferred version. Do the same thing for each of the other dependencies and your composer requirements should be sorted out

Latest Jacobs is 1.2.1. Correct?