Intelligente Lösungen
in neuer Dimension

Nextcloud-Forms: Einrichten des Builds

Für Nextcloud-Forms (“Formulare”) würde ich gerne eine Programmkorrektur erstellen für dieses Problem: Forms link shows error when not logged in and shared with users. Um die Korrektur vorab testen zu können, brauche ich eine lokale Build-Umgebung.

Ubuntu-20.04-Container einrichten

1
lxc launch ubuntu:20.04 build-forms

Zusatzpakete installieren

  • git … bereits installiert
  • golang-go … v2:1.13~1ubuntu2
  • nodejs … 10.19.0~dfsg-3ubuntu1
  • npm … 6.14.4+ds-1ubuntu2
  • make … 4.2.1-1.2
  • composer
  • webpack

Repo clonen

1
2
3
4
5
6
7
8
9
mkdir git
cd git
wget -O - https://download.nextcloud.com/server/releases/nextcloud-20.0.5.tar.bz2 >nextcloud-20.0.5.tar.bz2
bzip2 -cd nextcloud-20.0.5.tar.bz2|tar xf -
cd nextcloud/apps
git clone git@github.com:uli-heller/forms.git
# oder: git clone git@github.com:nextcloud/forms.git
cd forms
npm i -D webpack-merge

Bauen

1
2
3
4
5
6
7
cd git/nextcloud/apps/forms
mkdir vendor
npm ci
npm run build
make build-js-production
make appstore
# erzeugt "build/artifacts/appstore/forms.tar.gz"

Uli-Version für PullRequest

  • Basisversion wählen: v2.1.0
  • Basisversion auschecken: git checkout -b v2.1.0-uli v2.1.0
  • Änderungen erstellen und committen
  • Version hochschieben nach Github: git push -u origin v2.1.0-uli
  • PullRequest erstellen

Uli-Version zum Installieren auf einer Testinstanz

  • Versionsbezeichnung festlegen: 2.1.0-uli01
  • package.json anpassen “`diff diff —git a/package.json b/package.json index edb7c33..7bcfc3f 100644 —– a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { “name”: “forms”, “description”: “Forms app for nextcloud”,
    •   "version": "2.1.0",
      
    •   "version": "2.1.0-uli01",
        "repository": {
                "type": "git",
                "url": "git+https://github.com/nextcloud/forms.git"
      

      “`

  • appinfo/info.xml anpassen “`diff
    diff —git a/appinfo/info.xml b/appinfo/info.xml index 2c534b9..db388af 100644 —– a/appinfo/info.xml +++ b/appinfo/info.xml @@ -11,7 +11,7 @@
    • Data under your control! Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.
    • Get involved! We have lots of stuff planned like more question types, collaboration on forms, and much more! ]]>
    • 2.1.0
    • 2.1.0-uli01 agpl

      Affan Hussain “`

  • Bauen: make build-js-production appstore
  • Einspielen: “build/artifacts/appstore/forms.tar.gz” in Nextcloud-Instanz einspielen

Historie und Anmerkung

  • 2021-01-29: Erste Version