nextcloud / nextcloud/server

[Bug]: Flow not triggered when a file is created in an external storage

Open
#37,514 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage 26-feedback bug feature: external storage feature: workflows
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

⚠️ This issue respects the following points: ⚠️
  • This is a bug, not a question or a configuration/webserver/proxy issue.
  • This issue is not already reported on Github (I've searched it).
  • Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
  • Nextcloud Server is running on 64bit capable CPU, PHP and OS.
  • I agree to follow Nextcloud's Code of Conduct.
Bug description

I have some folders configured as local external storage, i.e. to have the ability to create FTP access or to access files from my paperless-ngx.

The purpose of one folder is an Inbox for scanners.

I want a notification when a new file is created in the Inbox folder. I have setup a flow which generates a Talk notification when a file is created in this folder.

Unfortunately this works only perfect when the file is added via NC web server or client sync. If the file is added on a different way to the external local storage (which is allowed, therefore it's mounted as external storage), unfortunately the flow is not triggered although the file appears fine in NC and is also synced down to the clients.

Steps to reproduce
  1. Attach an (local) external storage
  2. Create a flow which reacts on file creation in this folder
  3. Add a file via web server or NC client to check the flow
  4. The flow works fine once the file was added
  5. Create a file in the external storage on a different way (put it into the folder via FTP, SSH etc.)
  6. The flow is not triggered
Expected behavior

The flow should trigger if a file is created in any allowed way, not only when it's uploaded via NC web or NC client.

Installation method

Community Manual installation with Archive

Nextcloud Server version

26

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.0

Web server

Apache (supported)

Database engine version

MariaDB

Is this bug present after an update or on a fresh install?

None

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?
  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other
Configuration report
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "10.0.1.6",
            "***.de"
        ],
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "forwarded_for_headers": [
            "HTTP_X_FORWARDED_FOR",
            "HTTP_FORWARDED_FOR"
        ],
        "overwrite.cli.url": "https:\/\/***.de",
        "overwritehost": "***.de",
        "overwriteprotocol": "https",
        "allow_local_remote_servers": true,
        "htaccess.RewriteBase": "\/",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "26.0.0.11",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "maintenance": false,
        "enable_avatars": true,
        "filesystem_check_changes": 1,
        "theme": "",
        "default_language": "de",
        "default_locale": "de_DE",
        "default_phone_region": "DE",
        "defaultapp": "files",
        "skeletondirectory": "\/var\/www\/skeleton",
        "share_folder": "\/Shared",
        "log_type": "file",
        "logfile": "\/var\/log\/nextcloud\/nextcloud.log",
        "loglevel": 2,
        "mail_smtpmode": "smtp",
        "remember_login_cookie_lifetime": 2592000,
        "session_lifetime": 604800,
        "session_keepalive": true,
        "log_rotate_size": "10485760",
        "trashbin_retention_obligation": "30, 60",
        "versions_retention_obligation": "auto, 365",
        "check_for_working_webdav": true,
        "simpleSignUpLink.shown": false,
        "auth.webauthn.enabled": false,
        "music.lastfm_api_key": "2897d80221740bce55bd257a138705d1",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "filelocking.enabled": true,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "timeout": 0.5,
            "dbindex": 0
        },
        "logtimezone": "Europe\/Berlin",
        "preview_libreoffice_path": "\/usr\/bin\/libreoffice",
        "enable_previews": true,
        "enabledPreviewProviders": [
            "OC\\Preview\\PNG",
            "OC\\Preview\\JPEG",
            "OC\\Preview\\GIF",
            "OC\\Preview\\BMP",
            "OC\\Preview\\MarkDown",
            "OC\\Preview\\MP3",
            "OC\\Preview\\TXT",
            "OC\\Preview\\Movie",
            "OC\\Preview\\Photoshop",
            "OC\\Preview\\SVG",
            "OC\\Preview\\TIFF",
            "OC\\Preview\\HEIC",
            "OC\\Preview\\MKV",
            "OC\\Preview\\MOV",
            "OC\\Preview\\MP4",
            "OC\\Preview\\AVI",
            "OC\\Preview\\PDF",
            "OC\\Preview\\OpenDocument",
            "OC\\Preview\\MSOffice2003",
            "OC\\Preview\\MSOffice2007",
            "OC\\Preview\\MSOfficeDoc",
            "OC\\Preview\\Image",
            "OC\\Preview\\PPT",
            "OC\\Preview\\PPTX"
        ],
        "preview_max_x": "2048",
        "preview_max_y": "2048",
        "jpeg_quality": "60",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "ldapIgnoreNamingRules": false,
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
        "ldapUserCleanupInterval": 51,
        "app_install_overwrite": [
            "files_external_dropbox",
            "bookmarks_fulltextsearch",
            "files_inotify",
            "files_fulltextsearch_tesseract",
            "previewgenerator",
            "quickaccesssorting",
            "bbb",
            "fulltextsearch",
            "fulltextsearch_elasticsearch",
            "files_fulltextsearch",
            "socialsharing_email",
            "extract",
            "drawio",
            "quicknotes",
            "video_converter",
            "oidc_login",
            "facerecognition",
            "files_linkeditor",
            "metadata",
            "cfg_share_links"
        ],
        "updater.release.channel": "stable",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "tls",
        "mail_smtpauthtype": "LOGIN",
        "oidc_login_provider_url": "https:\/\/flaccs.de\/realms\/cloud",
        "oidc_login_client_id": "***",
        "oidc_login_client_secret": "wAHp73Wj5veVPHOGxwFBT17ek8EE2VhS",
        "oidc_login_end_session_redirect": true,
        "oidc_login_logout_url": "https:\/\/***.de\/apps\/oidc_login\/oidc",
        "oidc_login_auto_redirect": false,
        "oidc_login_hide_password_form": false,
        "oidc_login_attributes": {
            "id": "preferred_username",
            "name": "name",
            "mail": "email",
            "quota": "nextcloudquota",
            "groups": "groups"
        },
        "oidc_login_scope": "openid profile",
        "oidc_login_disable_registration": false,
        "oidc_login_redir_fallback": true,
        "oidc_login_password_authentication": true,
        "oidc_login_button_text": "Mit FLACCS Cloud anmelden",
        "memories.exiftool": "\/var\/www\/nextcloud\/apps\/memories\/lib\/..\/exiftool-bin\/exiftool-amd64-glibc",
        "memories.transcoder": "\/var\/www\/nextcloud\/apps\/memories\/exiftool-bin\/go-vod-amd64",
        "memories.no_transcode": false,
        "memories.qsv": false,
        "memories.ffmpeg_path": "\/usr\/bin\/ffmpeg",
        "memories.ffprobe_path": "\/usr\/bin\/ffprobe",
        "memories.tmp_path": "\/tmp\/memories_cache",
        "memories.gis_type": 1,
        "enabledFaceRecognitionMimetype": [
            "image\/jpeg",
            "image\/png",
            "image\/heic",
            "image\/tiff",
            "image\/webp"
        ]
    }
}
List of activated Apps
Enabled:
  - activity: 2.18.0
  - admin_audit: 1.16.0
  - appointments: 1.14.13
  - bbb: 2.4.0
  - bookmarks: 13.0.1
  - bruteforcesettings: 2.6.0
  - calendar: 4.3.1
  - camerarawpreviews: 0.8.1
  - cfg_share_links: 3.0.2
  - circles: 26.0.0
  - cloud_federation_api: 1.9.0
  - comments: 1.16.0
  - contacts: 5.2.0
  - contactsinteraction: 1.7.0
  - dashboard: 7.6.0
  - dav: 1.25.0
  - deck: 1.9.0
  - drawio: 2.1.0
  - extract: 1.3.5
  - facerecognition: 0.9.12
  - federatedfilesharing: 1.16.0
  - federation: 1.16.0
  - files: 1.21.1
  - files_accesscontrol: 1.16.0
  - files_automatedtagging: 1.16.1
  - files_downloadactivity: 1.16.0
  - files_external: 1.18.0
  - files_fulltextsearch: 25.0.0
  - files_fulltextsearch_tesseract: 25.0.0
  - files_inotify: 0.1.14
  - files_linkeditor: 1.1.13
  - files_pdfviewer: 2.7.0
  - files_retention: 1.15.0
  - files_rightclick: 1.5.0
  - files_sharing: 1.18.0
  - files_trashbin: 1.16.0
  - files_versions: 1.19.1
  - firstrunwizard: 2.15.0
  - forms: 3.2.0
  - fulltextsearch: 25.0.0
  - fulltextsearch_elasticsearch: 25.0.0
  - groupfolders: 14.0.0
  - guests: 2.4.0
  - integration_openai: 1.0.2
  - logreader: 2.11.0
  - lookup_server_connector: 1.14.0
  - maps: 1.0.2
  - memories: 4.13.0-alpha.1
  - metadata: 0.18.0
  - news: 21.2.0-beta1
  - nextcloud_announcements: 1.15.0
  - notes: 4.7.2
  - notifications: 2.14.0
  - notify_push: 0.6.2
  - oauth2: 1.14.0
  - oidc_login: 2.5.0
  - photos: 2.2.0
  - polls: 5.0.0-rc1
  - previewgenerator: 5.2.1
  - privacy: 1.10.0
  - provisioning_api: 1.16.0
  - qownnotesapi: 23.3.0
  - quickaccesssorting: 1.1.4
  - quicknotes: 0.8.5
  - quota_warning: 1.16.0
  - recommendations: 1.5.0
  - richdocuments: 8.0.0
  - serverinfo: 1.16.0
  - settings: 1.8.0
  - sharebymail: 1.16.0
  - side_menu: 3.7.2
  - socialsharing_email: 2.5.0
  - spreed: 16.0.2
  - support: 1.9.0
  - survey_client: 1.14.0
  - systemtags: 1.16.0
  - tasks: 0.14.5
  - text: 3.7.2
  - theming: 2.1.1
  - translate: 1.1.1
  - twofactor_backupcodes: 1.15.0
  - twofactor_totp: 8.0.0-alpha.0
  - updatenotification: 1.16.0
  - user_ldap: 1.16.0
  - user_status: 1.6.0
  - video_converter: 1.0.5
  - viewer: 1.10.0
  - weather_status: 1.6.0
  - workflow_pdf_converter: 1.11.0
  - workflowengine: 2.8.0
Disabled:
  - audioplayer: 3.3.1 (installed 3.3.1)
  - encryption: 2.14.0
  - music: 1.8.1 (installed 1.8.1)
  - ncdownloader: 1.0.2 (installed 1.0.2)
  - ocdownloader: 1.9.1 (installed 1.8.1)
  - password_policy: 1.16.0 (installed 1.15.0)
  - ransomware_protection: 1.14.0 (installed 1.14.0)
  - related_resources: 1.1.0-alpha1 (installed 1.1.0-alpha1)
  - suspicious_login: 4.4.0
  - talk_matterbridge: 1.26.0-0 (installed 1.26.0-0)
  - workflow_script: 1.11.1 (installed 1.11.1)
Nextcloud Signing status

No response

Nextcloud Logs

No response

Additional info

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how the workflowengine receives file-creation events from files_external local storage, then reproduce the difference between an upload through Nextcloud and a file added through FTP or SSH. Confirm whether the external file event reaches the workflow, and consider the issue done when the configured flow triggers for both paths with regression coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.