nextcloud / nextcloud/workflow_script
Workflow script called multiple times
まだ誰も着手していません。
- 主要言語
- PHP
- スター
- 89
- フォーク
- 19
- 平均マージ
- 6時間 38分
- マージ済み PR(30日)
- 3
説明
Steps to reproduce
Context: I'm wanting to create a script to automatically convert videos. I wasn't seeing my script get triggered so I added 2 workflows for testing and had the script just log information when I noticed odd behavior. This is what I found.
- Install a vanilla nextcloud/vm instance of NextCloud
- Enable Workflow
- Add a workflow script on file upload (i.e. creation):
- When: File Created
- and User group membership is member of Users
- Run script: nc_video_converter upload %e %n %f
4.Add a workflow script on tag: - When: Tag assigned
- and User group membership is member of Users
- Run script: nc_video_converter tag %e %n %f
- Create a nc_video_converter script on the server
- sudo vim /usr/bin/nc_video_converter
#!/bin/bash echo "Running converter..." >> /var/log/nc_video_converter echo "$@" >> /var/log/nc_video_converter - sudo chmod +x /usr/bin/nc_video_converter
- (not sure if this is needed?) sudo chown www-data:www-data /usr/bin/nc_video_converter
- sudo vim /usr/bin/nc_video_converter
- Create a user assigned to the Users group
- Login as that user and upload a file
- Notice the /var/log/nc_video_converter file shows:
Running converter... tag OCP\SystemTag\ISystemTagObjectMapper::assignTags /myusername/files/Screen Shot 2020-04-02 at 4.02.43 PM.png /tmp/oc_tmp_6Z7GGl-.png Running converter... upload OCP\SystemTag\ISystemTagObjectMapper::assignTags /myusername/files/Screen Shot 2020-04-02 at 4.02.43 PM.png /tmp/oc_tmp_XjOYL4-.png - Add a tag to a file
- Notice the /var/log/nc_video_converter file shows:
Running converter... tag \OCP\Files::postCreate /myusername/files/Screen Shot 2020-04-02 at 4.02.33 PM.png /tmp/oc_tmp_Jd9L2p-.png Running converter... upload \OCP\Files::postCreate /myusername/files/Screen Shot 2020-04-02 at 4.02.33 PM.png /tmp/oc_tmp_5evyop-.png
Expected behaviour
I expect that when I upload a file that only the workflow for the file upload would be triggered.
I expect that when I tag a file that only the workflow for the tag would be triggered.
Actual behaviour
When I upload a file both the file upload AND the tag workflows were triggered. Interestingly, though, you can see that both workflows printed the same event name: OCP\SystemTag\ISystemTagObjectMapper::assignTags.
When I tag a file both both workflows were triggered. Interestingly, both workflows printed the same event name \OCP\Files::postCreate.
Workflow Script app
Workflow Script app version: 1.3.1
Server configuration
Operating system: Ubuntu 18.04 LTS (Linux ubuntu-bionic 4.15.0-91-generic)
Web server: Apache
Database: PostgreSQL
PHP version: PHP 7.2.24-0ubuntu0.18.04.3 (cli)
Nextcloud Version: 18.0.3
Where did you install Nextcloud from: github.com/nextcloud/vm using the virtualbox example
Signing status:
No errors have been found.
List of activated apps:
Enabled:
- accessibility: 1.4.0
- activity: 2.11.0
- admin_audit: 1.8.0
- cloud_federation_api: 1.1.0
- comments: 1.8.0
- dav: 1.14.0
- federatedfilesharing: 1.8.0
- federation: 1.8.0
- files: 1.13.1
- files_pdfviewer: 1.7.0
- files_rightclick: 0.15.2
- files_sharing: 1.10.1
- files_trashbin: 1.8.0
- files_versions: 1.11.0
- files_videoplayer: 1.7.0
- firstrunwizard: 2.7.0
- logreader: 2.3.0
- lookup_server_connector: 1.6.0
- nextcloud_announcements: 1.7.0
- notifications: 2.6.0
- oauth2: 1.6.0
- password_policy: 1.8.0
- photos: 1.0.0
- privacy: 1.2.0
- provisioning_api: 1.8.0
- recommendations: 0.6.0
- serverinfo: 1.8.0
- settings: 1.0.0
- sharebymail: 1.8.0
- support: 1.1.0
- survey_client: 1.6.0
- systemtags: 1.8.0
- text: 2.0.0
- theming: 1.9.0
- twofactor_backupcodes: 1.7.0
- updatenotification: 1.8.0
- video_converter: 0.1.3
- viewer: 1.2.0
- workflow_script: 1.3.1
- workflowengine: 2.0.0
Disabled:
- encryption
- files_external
- user_ldap
Nextcloud configuration:
or
Insert your config.php content here
Make sure to remove all sensitive content such as passwords. (e.g. database password, passwordsalt, secret, smtp password, …)
</details>
**Are you using external storage, if yes which one:** local/smb/sftp/...
**Are you using encryption:** yes/no
### Server log (data/nextcloud.log)
<details>
(not available)
</details>
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、ここで説明されている2つのワークフロー設定と /usr/bin/nc_video_converter スクリプトを使用して、workflow_script 1.3.1 と workflowengine 2.0.0 のアプリで問題を再現します。ファイル作成とタグ割り当てについて報告された OCP イベント名を追跡します。完了の条件は、アップロードとタグ付けがそれぞれ対応するワークフローだけを正しいイベントでトリガーすることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- php
- 領域
- backend
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 38/100