Hello!
I'm working on my first flow and decided to create something that I can actually use. I'm a Java developer and would like to synch up my source files as they are modified to Google Drive (or OneDrive for Business if Google Drive is not as well supported as OneDrive).
Some background I have several projects that I work on at different points in time. Something like 20. Each project is in its own directory and has its own source file folder. Java source files have a ".java" extension.
Before I get into specific questions I have a few general ones.
1. When a file on a hard drive is updated or created does that trigger the flow to start running?
2. Or does the flow only run at certain intervals and I have to go through all of the files that I'm interested in and see if they were updated or created?
3. Would this particular Workflow be easier to code and execute on OneDrive for Business or is using Google Drive the same?
The workflow would be something like this.
1. Using the "File System - When a file is added or modified" Detect when a file is modified (or created)
2. Condition If the file has a ".java" extension Continue, Else End.
3. Condition If File was Created in the Windows File System, copy file to the Google Drive. The tricky thing is to place it in the right directory. Meaning if I have the following directory path on my hard drive C:\Projects\ProjectX\src\Application.java. I would like it to go to the same directory path on Google drive not counting the root. Something like https://drive.google.com/drive/my-drive/Projects\ProjectX\src\Application.java. So somehow the path that the file resides in, needs to be discovered. The same logic needs to happen for the Update logic coming up below.
4. Else if the file was not just created. Condition If the File was just Updated, then copy/synch this file to Google Drive (or OneDrive for business if it is easier). Obviously I need to be able to Overwrite a file that is already there for this Condition.
I think I need help with steps/conditions 3 and 4.
1. Since the File System appears to be a multitrigger how do I determine which one it is. Create or Update?
TIA
Rudy
Here is what I came up with so far. I have not run it as yet, since I have further questions that I have not been able to find answers for.
1. It seems very odd that the designers of Flow would give one trigger that is triggered by 2 distinct event (e.g. Create File and Update File) and then not give us a flag or something that would tell us which even caused the initial trigger.
2. It seems like the Flow designer felt that it needed to add the "Apply to each" to my "Filter array" which seems like a double loop to me since
3. One of the threads that m4ngo5 linked to had the "Condition 2" that used the expression "@empty(body('Filter_array'))" to see if the File name that triggered the Flow exists in the destination folder. Thereby deciding whether this is an Add or an Update. The flow had a lot trouble with this expression just saving it and it is unable to show it in the basic mode. Is anyone else familiar with it and/or have used it?
4. My Create File 2 (as well as Update File 2) is trying to write the file into the same directory structure on Google Drive as it is on my Hard Drive the root notwothstanding of course. Am I on the right track?
Thanks to everyone once again
Rudy
Part 1
Part 2
Sorry guys got sidetracked by another project. Returning to this today. It will take me a few days find the Controls for all of the steps and implement them once I do and it works I'll come back and try to post it here. But if I run into problems I'll ask them here.
Thank you
Rudy
Hello, @rgireyev!
Have you had an opportunity to apply @m4ngo5‘s recommendation to adapt your Flow? If yes, and you find that solution to be satisfactory, please go ahead and click “Accept as Solution” so that this thread will be marked for other users to easily identify!
Thank you for being an active member of the Flow Community!
-Gabriel
Flow Community Manager
Thank you. This is just the guidence I was looking for. I will give it a try and let you know what further questions I have. 🙂
Rudy
Hi Rudy,
Well your Flow sounds quite ambitious, but I appreciate ambition. I'll give your questions the best answers I can.
Before I get into specific questions I have a few general ones.
1. When a file on a hard drive is updated or created does that trigger the flow to start running?
2. Or does the flow only run at certain intervals and I have to go through all of the files that I'm interested in and see if they were updated or created?
3. Would this particular Workflow be easier to code and execute on OneDrive for Business or is using Google Drive the same?
You can trigger a flow at intervals, using a trigger called "Shedule - Recurrence". For your purposes, method 1 is probably the better option.
The workflow would be something like this.
1. Using the "File System - When a file is added or modified" Detect when a file is modified (or created)
2. Condition If the file has a ".java" extension Continue, Else End.
3. Condition If File was Created in the Windows File System, copy file to the Google Drive. The tricky thing is to place it in the right directory. Meaning if I have the following directory path on my hard drive C:\Projects\ProjectX\src\Application.java. I would like it to go to the same directory path on Google drive not counting the root. Something like https://drive.google.com/drive/my-drive/Projects\ProjectX\src\Application.java. So somehow the path that the file resides in, needs to be discovered. The same logic needs to happen for the Update logic coming up below.
4. Else if the file was not just created. Condition If the File was just Updated, then copy/synch this file to Google Drive (or OneDrive for business if it is easier). Obviously I need to be able to Overwrite a file that is already there for this Condition.
I think I need help with steps/conditions 3 and 4.
1. Since the File System appears to be a multitrigger how do I determine which one it is. Create or Update?
Here is the basic idea of what I would do.
1. My steps 3 & 4 take care of create or update in different branches of the condition.
You might read through this thread for some inspiration: https://powerusers.microsoft.com/t5/Building-Flows/Comparing-File-Lists/td-p/64178
Hello m4ngo5
Thank you for the great info and taking the time to reply. I agree with you that there are probably better options out there to accomplish what I'm doing. However, my main goal with this project is to learn the tool and get my first Flow up and running. Basically see how things work and watch it in action to see how reliable it is and what other things I can learn from this experience. So from that perspective I would still like to continue with this project as I was aware of both tools that you mentioned and will certainly go with them in the end.
Thanks
Rudy
Hi rgireyev,
Welcome to the Power community!
Flow is an incredible tool, but I'm not sure you need it for this project. OneDrive and Google Drive both have sync clients which can sync files within file structures. I work mostly with OneDrive, and this is a Microsoft forum, so I'll speak primarily of OneDrive, but you can find information on Google Drive syncing here: https://support.google.com/drive/answer/2374987?visit_id=1-636686133360360858-3505266099&p=backup_and_sync_signin&rd=1
From your OneDrive in Office 365, click sync at the top, and you will be prompted to sync OneDrive to your computer. Move your java project folder structure into the OneDrive section in Windows Explorer. Then any changes to made to these files or the file structure will sync automatically across OneDrive and all synced computers and devices.
One of the great features of OneDrive is version history, which maintains all previous versions of your files.
Your questions may be better posed on the OneDrive community support forums, but I am happy to answer any questions as well. https://techcommunity.microsoft.com/t5/OneDrive-for-Business/ct-p/OneDriveforBusiness
Here is the OneDrive Sync Client Article page: https://support.office.com/en-us/article/sync-files-with-the-onedrive-sync-client-in-windows-615391c4-2bd3-4aae-a42a-858262e42a49
WarrenBelz
146,518
Most Valuable Professional
RandyHayes
76,287
Super User 2024 Season 1
Pstork1
65,758
Most Valuable Professional