There is a Cached File Updater contract which allows apps like OneDrive or DropBox to keep files in sync with remote repository when users change them though file pickers. It works roughly like this:
User gets a file using FileOpenPicker.
User changes file.
The source app gets notification that file is changed and uploads new file to backing storage.
However, while in official DropBox app this scenario works perfectly, in OneDrive app it doesn't. I'm getting UnauthorizedAccessException when try to get stream for read from a file. I understand some people actually able to change a file, but it doesn't get uploaded because only local copy changes.
So CachedFileUpdater is not implemented in OneDrive app? And if it's not, is it known issue and is there any workarounds for this?
Related
I created a Logic App that uses the Sharepoint trigger "When a file is created or modified in a folder". It works perfectly when I upload a file in Sharepoint online (in a Sharepoint browser tab). But, it doesn't work when I drop a file in my synced Windows explorer folder.
I read that someone faced the same problem: https://learn.microsoft.com/en-us/answers/questions/41215/logic-app-why-does-sharepoint-file-properties-trig.html. Here it says:
Move files and flow runs When you move one or more files from one
document library to another, the original file is moved from the
source library to the destination library. Moving the file does not
alter any custom metadata, including when the file was created and
modified. Hence, this action does not trigger any flows for those file
updates associated in the library where it was moved.
Syncing files to your OneDrive for business and SharePoint document
libraries When users sync one or more files from one document library
to another, the original file is moved (synced) from your client to
the destination library. Syncing the file will not alter any custom
metadata including when the file was created and modified. Hence, this
action will not trigger any flows for those file syncs in that library
or in your OneDrive for business.
The thing is that I NEED this Logic App to run by just dropping this file in a Windows Explorer folder (which is a Sharepoint folder shared with a certain person). Do you know how can I achieve this?
It started working for me when I used the OneDrive - When a file is created Connector because we use OneDrive for Windows Explorer and need to include the folder where the trigger should be invoked. We must set Include subfolder to true if we want the trigger to be fired while adding any file to the subfolders.
Here are the screenshots of the logic app working
When adding file in subfolders
When adding file in root folder
I would like our web-application to read images from our user's selected folder. The current UX is that the user must upload the folder of images, which takes an unacceptable amount of time, so we'd like to not require uploads. We're currently using the FileSystem API.
My hunch is that this is not doable with a web-app. If that's true, my next question is... can it be doable if it was a progressive web-app? What about an electron/desktop app?
EDIT:
Sorry I should have specified.... Given a folder of images, I would like to 1) prompt the user to accept permission for the app to read those images once and then 2) allow the app to read images from that folder forever, regardless of whether they log out or reopen the app. Will edit original post.
Thanks in advance
I am following this link to try custom functions.
First I put customfunctions.js and customfunctions.html in my local folder, and then replace https://<INSERT-URL-HERE> in the manifest file with their path: I tried \\SOFTTIMUR9FDC\Users\SoftTimur\tmp\EXCEL-CUSTOM-FUNCTIONS and \\Mac\Home\tmp\EXCEL-CUSTOM-FUNCTIONS\, but I could not see any application in SHARED FOLDER in Excel.
Then, I put these 2 files on a website, and then replace https://<INSERT-URL-HERE> in the manifest file with their https address. Now, it worked; I could see the application in SHARED FOLDER in Excel and the custom functions worked.
So is it expected? In other words, when we test custom functions, we could not save these files in LOCAL; we have to save them in a website?
PS: when we develop a normal excel add-in, there is no problem to save the source files in local.
It's possible to host your customfunctions.html file locally, yes. From your description, it sounds like there's something wrong with how you're deploying the manifest, or with the manifest itself. Verify that your only change was the URL for those files, and that it worked properly otherwise.
I am developing an open source application which should mount webdav share to local drive letter just like NETDRIVE and WEBDRIVE using node.js and electron-js, so in my application at present I am downloading all files from webdav share which takes a lot of time and not reliable for heavy data. Is there any other approach so that whenever user access a file, only that particular file should be fetched from webdav share, I’ve tried to display files meta data(dummy) structure in directory and kept that directory under file-watcher. So that when user tries to open a file then watcher should capture file open event to get which file was user trying to access, so that in background of application a service will triggered to fetch that particular file using file-path as reference, but none of them are unable to capture file open event. Is there any other approach to do so, correct me if I am in wrong direction.
Thank's
I think you want virtual file-system and recommend Dokan library.
Dokan is the start point of Windows virtual file-system application.
Open Source : Dokan (https://en.wikipedia.org/wiki/Dokan_Library)
Commercial: EldoS CBFS (https://www.eldos.com/cbfs)
Google, Naver use Dokan and NetDrive, RaiDrive(mine) use CBFS.
Bit of a loose question so if it gets marked down I'll remove it.. but..
I'm using Primefaces/Spring/Hibernate for Java server.
My application knows a load of file names I need to upload. Those files are on my local computer. Is it possible to tell the application the root directory of these files, for it to then setup uploads for each of these files without me needing to browse for each file individually?
I assume this is a browser security issue, i.e. the user needs to explicitly state which file the application is allowed to know about etc?
If not I'll have to do it in a local application but I was hoping there was a way a mass upload could be kicked off from the browser by just setting the local directory of the files.
I decided to use the Primefaces uploader, upload all the files in the directory and let the application sort them out once it has them on the server.