How can we disable monitoring temporarily for a variable node in milo? - milo

I am using digitalpetri opcua client sdk (now milo).
I would like to temporarily disable a few of monitored items which are part of my subscription in OPCUA client. How can I do that? There seems to be a way to set MonitoringMode to disabled. Is that the correct way?
I don't want to disconnect my client and I would like to renew the subscription for the monitored item at some future time.

After some more research I found my answer. It looks like this setting can be used to enable/disable the sampling and reporting. check http://documentation.unified-automation.com/uasdkc/1.4.0/html/L2UaSubscription.html

Related

botbuilder-timeout for Typescript Virtual assistant

We have Microsoft Virtual Assistant built it Typescript and we are planning to add Timeout capability. What this means is VA should end the conversation with its Skill if user is not engaged for certain amount of time.
There is botbuilder-timeout module to do this in V3 SDK which says,
"Module for Microsoft Bot Framework to enable your bot to prompt the user if the bot detects inactivity and ultimately end the conversation if no user activity after a defined period of time."
Is there anything in V4 or Virtual Assistant that offers similar capability ? If yes any ideas/pointers to document is appreciated.
There isn't anything official for V4 bots like this. I don't believe I've seen anything unofficial, either.
That being said, we generally recommend something like:
On each message, start a synchronous timer. You can do this in the bot, but it would be better to do outside of the bot, like with Azure Functions or something. The rest of this answer will assume the timer is outside of the bot. Ensure the timer also keeps track of the conversationReference related to the timer.
Restart the timer each time the user matching that conversationReference sends a message
Once the timer expires, send an event to the bot with the user and conversation information (maybe through ChannelData), letting the bot know the timer has expired. You could also create a separate endpoint and monitor there, so you don't need the activity scheme; instead of /api/messages, you could use something like /api/expiredTimers.
Once the expired timer event is received, send a proactive message to the user to either 1) see if they're still there, or 2) end the conversation.

What is the timeout for Firebase Phone Auth verification code? And how to set one?

In iOS, as per the official docs, there's no method to set a timeout duration for the phone number verification code (or even know the default one). Could some Firebaser clarify why is it so? What's the default timeout duration? If possible, how could one set it in iOS?
On the other hand, in Android, all is good: https://firebase.google.com/docs/auth/android/phone-auth#send-a-verification-code-to-the-users-phone
FirebaseUI takes a different approach where they show a timer before they allow the user to resend the code (they use 15 seconds). This is a better approach as even if the expiration is provided, it will be inaccurate due to various latencies in the flow and the value is likely to change as Firebase Auth has the right to change that for security reasons. Otherwise, it could be used for brute force attacks.
The onCodeAutoRetrievalTimeOut timeout for Android is unrelated. It is the timeout for code auto retrieval before you ask the user to provide the code and not the timeout for code entry. Auto retrieval is an android feature only.

Listen to iCal event changes from server

I am building the server side for a calendar application. The client side is iOS only. The original plan was the app will know of iCal event changes then tell the server. But that might be a problem with reminders (via Parse Push). For example, if the event pushed forward the reminder should come earlier.
Is it possible from the server side to be notified on iCal events? For example, when users create/update/delete an iCal event I want to know from a server to grab this information. Is this possible? Or does everything need to be done via a native app thats running?
My server is currently on parse.com. But I could use a separate server say NodeJS if needed.
As iCal is user/device dependent, unless user has synced his calendar events with iCloud. And in second case where user has activated syncing of calendar events, it is completly insecure for end-user to share his icloud details to other server.
How about creating 1 API at backend, which will update/delete requests from Apps for the calendar events, and that will update Parse notification events in background process. For this you can also write customized Parse apis either in NodeJS or any other technology stack.
And in the apps, you can sync the events with iCal using Event Kit:
https://developer.apple.com/library/mac/documentation/DataManagement/Conceptual/EventKitProgGuide/ReadingAndWritingEvents.html#//apple_ref/doc/uid/TP40004775-SW1
first, you need to able to let iOS wake up your app running in the background, that requires to classify your app to one of the mode stated in the Apple Background Execution, I think the "Background fetch" is appropriate in your case, then in your application:performFetchWithCompletionHandler: you could check the Calendar database for changed events and preform necessary updates to the server.
I think this is your best bet:
https://stackoverflow.com/a/23997912/1967872
In your implementation of the storeChanged: method mentioned in that answer, you should iterate through all the events, detect any changes and submit those to the server.
I don't know exactly that is possible or not but I am thinking it's hard because still I didn't find any library/any features that apple is provides like that.
But I am putting one link that might be helpful for you. Please check it.
http://kb.kerio.com/product/kerio-connect/os-x/support-for-apple-ical-calendar-using-the-caldav-standard-1494.html

IOS Simple Messaging client, presence and typing

I'm considering adding a messaging feature to an iphone app. The idea being that given a user-based IOS app, a user may have a list of other users. He may then want to send one a message. A straight network call could accomplish this, but it misses a couple pieces:
1) The ability for a logged in user to "listen" for incoming messages without necessarily polling the server every few seconds. Does IOS support an open socket connection for listening somehow?
2) The ability for the server to detect presence of users (when they are logged in, active and listening; and immediately if they connect/disconnect)
3) the ability to detect typing, if possible
I've heard this can be achieved in javascript apps with socket.io libs, and wondering what equivalent tools exist in IOS natively? Or should a webview with JS be attempted?
EDIT:
Push notifications will likely be leveraged for offline use, but am not sure they can be a substitute for all the real time interaction.
EDIT2:
Found this SocketIO tool for IOS, but have no experience with this. It is a possibility though.
https://github.com/pkyeck/socket.IO-objc
For number one you should look at this tutorial:
http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
It uses pushnotifications to detect incoming messages.
the other two parts are probably timing, just say a user is active for 2 min since their last activity. And every time they use something in the app or poll the server you update the time and make them active for another two minutes or so.
And you can detect typing if something is typed into the textfield. UITextField has a onChanged method. You could also start a timer to detect changes between a certain amount of time. So it doesn't say typing if someone just left their textfield filled but didn't send the message.
Hope this helps.

Blackberry - prevent deletion of app

I made an app for parents to put on Their kids phones but need a way to protect against deletion. Any ideas?
There are no ways to do this short of installing a second app to monitor the first. Optionally you could have a web service that requires the app to phone-home at a predefined interval, but that quickly gets more complex than you were likely hoping for.
If the app is deployed via a BES, you can use appropriate application control policies to prevent deletion.

Resources