Nextcloud notification on new files - nextcloud

I try to get information about new uploaded files from our Nextcloud instance. In the last years I have used two things: the filesystem of the Nextcloud and the mail mechanism. On filesystem level I can use the inotify-tools to monitor changes on the files. Nextcloud can also send mails to users, so I can intercept and parse the mails with i.e. maildrop on a local postfix instance.
Are there other possibilities? I also use the ShareApi of Nextcloud from another server to change shares of files. Is there a similar API, which can notify my client (not Android or iOS)? Or is it necessary to implement an own Nextcloud app, which uses the OCS hooks on the Nextcloud installation?
I think of an RSS feed, which I could ask with a timestamp to get the latest changes or a REST api, which I can ask for changes since a given timestamp or an implementation of PushApi .

This official https://github.com/nextcloud/notifications - This app provides a backend and frontend for the notification API available in Nextcloud. The API is used by other apps to notify users in the web UI and sync clients about various things.
You can see some examples there and create whatever notifications you wish.

Related

Cloud Storage customer access best practices

Let's say I have a use case where users can buy mp3 files inside an app. The objects are stored in GCP Cloud Storage . What is the best practice to deliver those objects only to the users that purchased the files?
After researching the topic I came up with three solutions:
Client calls a REST (e.g. one running inside App Engine) service. This service downloads the files from Cloud Storage and then sends them back to the client.
Instead of sending the files via the REST call, I could send the download URL (from Cloud Storage) to the client. This would be more cost efficient, however this sounds like a security concern to me as anyone who simply monitors his network could capture the URL.
Creating a (time-limited) signed url to allow the user the download
Obviously a permission check would have to happen first, e.g. a database that contains if user X purchased mp3 Y.
This problem could also be applied to Azure Blob Storage or AWS S3...
In your use case, you have a constant:
You need a backend to authenticate the user (for example Authentication performed with Cloud Identity Platform and hosted on App Engine or Cloud Run
You need to check the list of MP3 that it has bought (stored in Firestore for example)
And then, you need to allow him to download the file. On this last point I recommend you to generated a signedURL. Download URL exists only in Firebase area (maybe your project is a firebase projet?) but it's the same thing than signerURL. Finally I don't recommend you the #1 proposal. It will work, but in case of long download (because network is poor), the connexion will be interrupted after 60 seconds. And this will keep your AppEngine up for nothing (and you will pay for this...).

Best API for syncing Exchange Email/Calendar to my webapp?

Looking for additional products similar to www.nylas.com which provide an API to sync my web application with my microsoft exchange email and calendar.
Most email services are aimed at marketing and hosting, whereas I just want a simple connection between exchange and my app, without building an API from the ground up.
Any suggestions?
Why not using Exchange EWS?
Calendars and EWS in Exchange
Working with calendar items by using the EWS Managed API 2.0
I do not know your App so a simple cronjob would do it...
P.S.
By the way I personally think the best way is to access the calendar via the App directly on the device. The reason is that a user normally have ActiveSync configured so that he get all the content on his device. If he change his password he do that on the device. So your app might use a old password and will no longer work. Additional your app try to access content with the old password and might block the user account then. The user got upset and will no longer use it. Accessing the calendar now directly on the device eliminate the need to get the user password and also eleminite the need that the user need to change it in your app...

Parse Server and Stripe Events

I am hosting my parse server on Heroku. Before migrating my parse.com account, I used the webhooks feature of parse to process billing events from Stripe using the URL http:KEY#api.parse.com/1/functions/stripEvents in strip's webhooks.
I have installed the node Stripe module as per the instructions of the migration steps.
My understanding is that api calls are no longer supported in the parse server platform. How would I route/send posts sent from Stripe to a function inside the new parse server platform?
Thanks
I stand corrected, it does work.
www.your_app_name.herokuapp.com/path/functions/yourFunctionName is the URL to access a cloud function. You do however need to add the needed security keys. In the case of stripe you past this URL:
https://MASTER_KEY:javascript-key=JAVASCRIPT_KEY#your_app_name.herokuapp.com/v1/functions/FUNCTION_NAME
note that I mount my parse app on path V1.

Is there a callback in Dropbox API when file upload (sync) starts?

I am creating a web service that mashes up Dropbox, Soundcloud and Wordpress.
I need a callback when user places a file in his Dropbox folder so that I can update the browser user interface. Since it is possible to ask for a download link locally before a file is completely synced, I naturally expect it to be possible to get a callback when file sync has started on a file-by-file basis.
However according to what I experienced /delta only shows files that have finished syncing.
Is there a way to know when file sync starts? If it is not possible via Core API, could it be possible with a small client applet (java or something)?
The Dropbox API doesn't currently expose any notion of a pending upload or file sync status. It can only return information about files that have finished uploading.
Likewise, even with a client app running on the same OS, there currently isn't an interface for communicating with the official Dropbox desktop client to get this information.

Social Business Toolkit: Sametime chat only with local installed Sametime Client possible?

I'm using SBT SDK on a XPage.
After mastering a few traps at the beginning it works fine.
Livenames are properly displayed.
But now a got another problem.
If you click on a available person, a context menu is displayed, where you can choose 'CHAT' or 'VCARD'.
If I click on CHAT a URL like this ist called:
http://localhost:59449/stwebapi/loggedin?jsonp=stproxy.connect.callback.setAvailable&wait=true&time=1407834968761&fqdn=sametime.lotus.com
I found out that you have to install Sametime Connect Client locally at every computer, because it is providing a small webserver at port 59449.
That's impossible because I want to use Sametime on a public website.
I'm pretty sure that there is another way.
Somebody an idea?
thanks
Marcus
#user2776693 - There are two ways:
1 - using the Sametime Local Web API
The local web api uses a configurable port (the default is mentioned above), to communicate back and forth from a web site which embeds or calls the configurable port using jsonp, meaning the javascript of the site wraps the sametime calls.
2 - using the Sametime Web Chat/Web Proxy
It means that the Sametime Web Chat is embedded as JavaScript on the page, and loaded using the appropriate JS libraries, and can have some pretty advanced features. There is a demo site off of greenhouse.lotus.com, and you can sign up for an account on that site.
you can download the sdk, and find many examples of using the local web api and web chat.
http://www14.software.ibm.com/webapp/download/nochargesearch.jsp?q0=&k=ALL&S_TACT=104CBW71&status=Active&b=Lotus&sr=1&q=sametime+sdk&ibm-search=Search
Download Version 9.0 IFR1
Extract with Zip
Go to Examples and samples