Requirement:
Given specific Sharepoint Online lists,
Create an app/service such that when triggered it will extract the SharePoint Online list data, transform to xml conforming to a given xsd and post it to an external ftp site
Schedule the above workflow at a certain frequency or manually invoke it.
License: Office 365 E3
What has been attempted so far:
For SharePoint on-premises, I would have easily used a timer job to accomplish this, but SharePoint Online does not support timer jobs. So the solutions that I have been able to extract so far with some of them eliminated are:
Solutions eliminated so far:
- Azure WebJobs - I cannot use Azure WebJobs due to license restrictions. My org is not ready to get an Azure subscription.
- A console app that consumes the SPOList api (and can be scheduled by Windows Scheduler) - the preference is to have the app within SharePoint Online and not outside
Solutions currently in play:
- SharePoint Add-In (SharePoint hosted) - this restricts me to JavaScript. However even if I do manage to accomplish the above, will I be able to invoke this manually or on a frequency?
- SharePoint Add-In (Provider hosted) - only allows me to create a ASP.NET web app but I need a service instead. Any ideas of how to create a service with an API that I can invoke on a frequency or manually?
My questions besides the ones on SharePoint Add-In:
- Are there guidelines given anywhere (experience or MSDN) to not attempt a solution within SharePoint Online and rather go for Windows Scheduler?
Is it feasible to do this with SharePoint Add-Ins given the above questions?
Does posting to an external ftp site eliminate any of the above solutions?
Disclaimer: I am relatively new to SharePoint Online/Office 365, hence the above may appear a bit basic to some.