35 / 35
Apr 2023

Yes, we are supporting the current Compose 2.x since a while now.

You can do a composer installation, that is what we do to create the container and it’s relativ easy to upgrade. It’s described in the Readme3.

Ralf

I have been upgrading egroupware with composer
composer create-project --prefer-source --keep-vcs egroupware/egroupware.

Is this still a valid way because I did it again and it’s giving me older version.

Creating a "egroupware/egroupware" project at "./egroupware"
Warning from https://repo.packagist.org: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See https://blog.packagist.com/deprecating-composer-1-support/
Info from https://repo.packagist.org: #StandWithUkraine
Installing egroupware/egroupware (20.1.20210503)
  - Installing egroupware/egroupware (20.1.20210503): Cloning fdaa1d1bcd from cache

Maybe that’s caused by your Composer 1.x, I would try it with an up-to-date Composer, for our container-build we always use the newest version:

Alternativ you can clone the EGroupware main repo and use our install-cli.php script to get the other depending repos. But you need Composer and npm with grunt-cli installed!

Ralf

okay updated composer and ran this command
composer create-project --prefer-source --keep-vcs egroupware/egroupware

It gives this error

[InvalidArgumentException]
Could not find package egroupware/egroupware. with stability stable.

here’s what I did like you suggested

  1. clone the EGroupware main repo and use our install-cli.php script to upgrade to latest version
  2. it was installed successfully, cleared cache in setup and tried to login, same error as below,
egroupware/api/js/jsapi/egw.min.js?
[HTTP/1.1 404 Not Found 0ms]

Loading module from “egroupware/api/js/jsapi/egw.min.js?” was blocked because of a disallowed MIME type (“text/html”)

I found the file that contains reference to this script, Framework.php

// load our clientside entrypoint egw.min.js with a cache-buster
		$java_script .= '<script type="module" src="'.$GLOBALS['egw_info']['server']['webserver_url'].
			'/api/js/jsapi/egw.min.js?'.filemtime(EGW_SERVER_ROOT.'/api/js/jsapi/egw.min.js').
			'" id="egw_script_id"';

I replaced the file here with jsapi.js and it gives me jquery undefined after.

Despite cloning the repo as it is, it’s giving me the same issue as in the beginning.

Have you installed npm and grunt-cli, as I asked, so install-cli.php finds them and creates the minified JavaScript Files?

Ralf

yes, npm and grunt cli was installed and it installed all the dependencies.
I now see jdots and node_modules folder in egroupware directory. Composer is also updated to 2.0

Where are the minified files supposed to be located ?
I don’t see any minified files in in the jsapi folder

I don’t see the js files in Gruntfile.js.
I installed npm, node js and grunt cli, did the clone of repo and then ./install-cli.php in egroupware directory.
Am I missing anything ?

Probably :wink:

Have you tried running grunt manually, in case install-cli.php does not find grunt:

cd /path/to/egroupware
grunt

install-cli.php also outputs the tasks it run, did that include grunt?

Ralf

grunt
Running “cssmin:pixelegg” (cssmin) task

5 sourcemaps created.
5 files created. 2.03 MB → 1.45 MB

Running “cssmin:jdots” (cssmin) task

3 sourcemaps created.
3 files created. 607.3 kB → 439.69 kB

Are you sure you are on the 21.1 branch and not master, as grunt build no javascript files.

Test with git branch or change with ./install-cli.php 21.1

Ralf

okay, yeah I was on master.
That worked.
But now , I went to setup to make sure db and my custom app is working but I see this



process->upgrade(): Application not installed: news_admin
process->upgrade(): Incoming : appname: openid, version: 21.1.001, status: U
process->upgrade(): No table upgrade available for appname: openid, version: 21.1.001
process->upgrade(): Outgoing : appname: openid, status: F

process->upgrade(): Application not installed: projectmanager

process->upgrade(): Application not installed: registration

process->upgrade(): Application not installed: resources

process->upgrade(): Application not installed: rocketchat
process->upgrade(): Incoming : appname: smallpart, version: 21.1.005, status: U
process->upgrade(): No table upgrade available for appname: smallpart, version: 21.1.005
process->upgrade(): Outgoing : appname: smallpart, status: F

process->upgrade(): Application not installed: swoolepush

process->upgrade(): Application not installed: timesheet

process->upgrade(): Application not installed: tracker

process->pass(): api skipped on this pass
process->pass(): openid skipped on this pass
process->pass(): smallpart skipped on this pass
process->pass(): #19 for upgrade processing
process->upgrade(): Incoming : appname: api, version: 21.1.003, status: U
process->upgrade(): No table upgrade available for appname: api, version: 21.1.003
process->upgrade(): Outgoing : appname: api, status: F

process->upgrade(): Application not installed: bookmarks

process->upgrade(): Application not installed: news_admin
process->upgrade(): Incoming : appname: openid, version: 21.1.001, status: U
process->upgrade(): No table upgrade available for appname: openid, version: 21.1.001
process->upgrade(): Outgoing : appname: openid, status: F

process->upgrade(): Application not installed: projectmanager

process->upgrade(): Application not installed: registration

process->upgrade(): Application not installed: resources

process->upgrade(): Application not installed: rocketchat
process->upgrade(): Incoming : appname: smallpart, version: 21.1.005, status: U
process->upgrade(): No table upgrade available for appname: smallpart, version: 21.1.005
process->upgrade(): Outgoing : appname: smallpart, status: F

process->upgrade(): Application not installed: swoolepush

process->upgrade(): Application not installed: timesheet

process->upgrade(): Application not installed: tracker

process->pass(): api skipped on this pass
process->pass(): openid skipped on this pass
process->pass(): smallpart skipped on this pass
Setup failure: excess looping in process->pass():
Pass:

Array
(
)


Passed:

Array
(
)

EGroupware does NOT support downgrading the DB schema.

Looking at the updates, they don’t stop your instance from working:

So either do nothing, or use the following SQL to set the version again back to 21.1.001:

UPDATE egw_applications SET app_version='21.1.001' WHERE app_name='api'

Ralf

okay thankyou, just curious why was there a mismatch of app version when upgrading like this

5 months later

Hello,

I’ve got the exact same error with : ./install-cli.php -v 23.1.20230314 : 404 for /api/js/jsapi/egw.min.js and egw_LAB is not defined

Doing the same install this morning with /install-cli.php -v 21.1.20230210 gives no error.

The error is :

52 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
/usr/bin/npm install --legacy-peer-deps

up to date, audited 501 packages in 770ms

50 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
/usr/bin/npm run build

> EGroupware@23.1.20230228 build
> rollup -c

[!] Error: ENOENT: no such file or directory, scandir './chunks'
Error: ENOENT: no such file or directory, scandir './chunks'
    at Object.readdirSync (node:fs:1456:3)
    at Object.<anonymous> (/home/egroup/public_html/rollup.config.js:34:4)
    at Module._compile (node:internal/modules/cjs/loader:1275:14)
    at Object.require.extensions.<computed> [as .js] (/home/egroup/public_html/node_modules/rollup/dist/shared/loadConfigFile.js:621:20)
    at Module.load (node:internal/modules/cjs/loader:1133:32)
    at Function.Module._load (node:internal/modules/cjs/loader:972:12)
    at Module.require (node:internal/modules/cjs/loader:1157:19)
    at require (node:internal/modules/helpers:119:18)
    at loadConfigFromBundledFile (/home/egroup/public_html/node_modules/rollup/dist/shared/loadConfigFile.js:631:42)
    at getDefaultFromTranspiledConfigFile (/home/egroup/public_html/node_modules/rollup/dist/shared/loadConfigFile.js:613:12)


14 tasks successful run, 2 failed: egroupware, rollup (npm run build)

node - v : v19.8.1
rollup -v : v3.20.0

I’m trying to figure it out …

If you have some clue …

Thanks,

Eric

Hello,

Its solved.

Thats simply the folder chunks that is not created when sync files. I think it should be checked/created from install-cli.php.

So, create a folder named chunks at root of project and that will be solved.

Thanks,

Eric

13 days later