[Bug]: Flow not triggered when a file is created in an external storage
Nobody has claimed this yet.
- 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
- Attach an (local) external storage
- Create a flow which reacts on file creation in this folder
- Add a file via web server or NC client to check the flow
- The flow works fine once the file was added
- Create a file in the external storage on a different way (put it into the folder via FTP, SSH etc.)
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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