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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    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](https://github.com/nextcloud/forms/milestones)!
         ]]></description>
    -    <version>2.1.0</version>
    +    <version>2.1.0-uli01</version>
         <licence>agpl</licence>

         <author>Affan Hussain</author>

  • 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