cgkineo / adapt-pageNav

Navigation bar component (quicknav clone)
GNU General Public License v3.0
6 stars 4 forks source link

Authoring Tool Install Fails #57

Closed AndyConnor closed 6 months ago

AndyConnor commented 6 months ago

Subject of the issue/enhancement/features

Trying to install this extension o the Adapt Authoring Tool by uploading the downloaded code as a zip file fails. The returned error is "Failed to parse schema for package adapt-pageNav".

Your environment

Steps to reproduce

Start the authoring tool, navigate to Plugin management, choose upload plugin and select code zip file downloaded from Github.

Expected behaviour

Notified of plugin/extension successful installation

Actual behaviour

Installation fails with error "Failed to parse schema for package adapt-pageNav".

Screenshots (if you can)

image
swashbuck commented 6 months ago

Hi, @AndyConnor . Just checking... what framework version are you using? Page Nav now requires 5.30.2 or higher of the FW. If you're using a lower FW version, you will want to use an older version of Page Nav.

I was just able to successfully upload and use Page Nav with:

AndyConnor commented 6 months ago

Thanks, Brad. I've just got a new computer at work and reinstalled everything fresh. PageNav is 3.0.2, AAT is version 0.11.2 and FW is 5.37.1.node server. The only thing that is possible different is the version of node.js, I am using 20.11.1 LTS, not the recommended versions which I think are between 16 and 18?

I've tried rolling back to earlier versions of PageNav, the same issue. I've seen a few people have issues with the encoding of the files, so checked that they are encoded as UTF-8. Other than that, I am at a loss.

swashbuck commented 6 months ago

Hmm, are you able to try using Node v18? You can use something like nvm to easily switch between different versions of Node.

AndyConnor commented 6 months ago

Changing the node.js version has left me with a whole other different issue - I can't get the authoring tool to install at all, it times out from the MongoDB service, which is definitely running. Will scrub the lot and start again, hopefully getting the AAT installed and then get back to you.

AndyConnor commented 6 months ago

Just recording here for anyone that has the same issue in connecting to MongoDB on install. I resolved that by editing the MongoDB config file to disable the requirement for SSL. I also set the database in the installation process to be 127.0.0.1 not localhost. Not sure which of those resolved this.

I have now wound back both my MongoDB version (4.4.29) and Node.js version (18.18.2) to be inline with the expectations for AAT.

Downloaded the zip file for pageNav 3.0.1 and attempted to upload into the AAT. Same error: Failed to parse schema for package adapt-pageNav.

I have solved this, though. I cloned the Git repository locally, created my own zip file and tried to upload this into AAT. Which worked.

I suspect that Linux users probably don't have this issue. Probably something in how Github serves up zip files and file encodings?

swashbuck commented 6 months ago

@taylortom @joe-allen-89 @oliverfoster Any idea what might be going on here? Is this a known issue?

oliverfoster commented 6 months ago

Nope, not a known issue. No idea. Macos is the only system I know of that has native zip compression issues. All others, GitHub, windows, AAT are usually fine.

AndyConnor commented 6 months ago

FWIW, there are a couple of other AAT plugins that I have had the same issue with - the clone and local zip solution works for those too. So this isn't specific to this plugin.

swashbuck commented 6 months ago

@AndyConnor

AndyConnor commented 6 months ago

There are no issues with antivirus software.

Yes, I can extract the zip file locally. Interestingly, if I re-zip it up then it installs just fine.

Yes, if I download a version from the releases page then I get the same parse error. Unzip and rezip then it installs fine.

I am using 7zip for zipping up the file. Depending on the settings I use the local zip file either installs successfully or fails - so my guess is that it is the zip file settings for the download from Gthub? There are a lot of settings that could be the cause here. Things that I have looked at and whether they cause success or failure are:

Zero compression - success Compression level 1, compression method deflate, word size 32 - failure with the original error (Failed to parse schema) Compression level 1, compression method deflate64, word size 32 - failure but different error (too many length or distance symbols) Compression level 1, compression method bzip2, dictionary size 100KB - failure but with another different error (invalid distance too far back) Compression level 1, compression method LZMA, dictionary size 256KB, word size 32 - failure but with another failure (invalid stored block lengths) Compression level 1, compression method PPMd, dictionary size 1 MB, word size 4 - failure with another error (Cannot find expected bower.json file in the plugin root)

That last error I have seen a few other times when I wasn't zipping the correct directory, but in this case the zipfile is fine.

So my guess is that something to do with the compression method in the delivery of the zip file.