ArcGis Runtime 100 save layers to access them offline - ios

I am working on Arcgis runtime 100 sdk and I have some layers urls provided by client. For now I'm using these url's to to create an AGSLayer and add in the operations layers of map to show it on screen.
Its working great till now.
Now I want to save these layers and their data. so to make user access the map offline.
I went through the Arcgis guids. But i am not sure i understand anything there. And I didnt find any appropriate solution for this
Please help me out.

You can follow this example. GenerateOfflineMapViewController.swift
//instantiate offline map task
self.offlineMapTask = AGSOfflineMapTask(portalItem: self.portalItem)
Use the AGSOfflineMapTask to take maps offline. The sample creates a
portal item object using a web map’s ID. This portal item is used to
initialize an AGSOfflineMapTask object.
Can you specify what mean "Now I want to save these layers and their data" ?
You also need to edit the map? If yes this is called redlining
A feature collection provides a way of grouping logically-related
feature collection tables. Redlining information (called "Map Notes"
in ArcGIS Online), for example, may contain points, lines, polygons,
and associated text to describe things in the map.
Also remember that your services should be enabled for offline use. Client side you will need to create a GeoDatabase
Obtain a job to generate and download the geodatabase by passing the
AGSGenerateGeodatabaseParameters to the generateJob method on the
AGSGeodatabaseSyncTask. Run the job to generate and download the
geodatabase to the device.

Related

Priority of documents in elasticsearch

I have rails app witch collect mobile data and use elastic search as search engine in my app, As result that my app is very simple I use elastic as my db, every things goes fine till I found something amazing
In my case each user have two kind of document with different attributes, First one is profile that it's about user profile only and Second one is events that is user actions in mobile app. I have to say، user could update his/her profile and each user just have to one document in my system, that is about profile details. each time user update his profile I delete previous document and create new document for him but assume he send profile twice at same time unconsciously for example push register bottom twice at this point i get two document that are completely same so elastic save both but as i say i need to delete old one and create new one, I know I could handle this problem in mobile layer but I'm looking for some way witch make me sure at this situation document have their priorities.
Basically you need a versioning of your documents and using that you can control whether you need to create a new document or update existing document. this official Elasticsearch version control blog should help you design and implement this use-case.
I really hope I got your point correctly, consider the following points
prevent users from submitting twice in your front end.
update the document instead of deleting the previous one then creates a new document so that you don't have to worry about document priorities because of a single file.

AIP Sensitivity Labels added via Power Automate

I am interested to know if its possible to apply a sensitivity label to a document received via an email and then save the document to a specific directory in one drive.
For example, lets say company xyz sends a mail with files attached that we must process, I would like the files to be removed from the mail, marked with a custom sensitivity label like xzy_secret and then store the file in a OneDrive folder called xyz_company
So all the files in that folder eventually are labelled as per the customer.
Does anyone know if this is possible? The idea is that we can then apply DLP to our customers files and ensure we can track them within the business.
Anyone have any ideas? Is there an API for doing this or a power automate method?
As far as I know, Send an email action (with power automate) does not support applying the sensitivity label to the email currently. Being said that, you may need to implement your needs through the Rest API, please check this article and see if it helps:
https://joannecklein.com/2019/05/06/setting-a-retention-label-in-sharepoint-from-microsoft-flow/

How to create a "detail panel" in Cytoscape?

I'm generating networks and importing them into Cytoscape using cyREST.
I have a lot of extra information available about each node, more than can be fit into node labels. I would like the user to be able to click on a node and bring up a detail panel with this additional info. Is there any feature of Cytoscape, or an existing plugin that can do that?
There is no easy way from within CyREST to do that, although you could encode that information in a single text column and then use the 'tooltip' visual property to provide a way for a user to get the information on a mouseover. Beyond that, you would need to provide an app to integrate with your CyREST application. Several apps do exactly what you are describing (e.g. look at StringApp for an example)
-- scooter

How to enable Watson conversation service to use your own database for serving user's request

I want to build a smart search agent which would use Watson conversation to process the request and give response but will use my own database say SQL server to search the desired output.
In Short Instead of writing intents and dialogues manually or importing from a csv file, I want to write my won code in .net in such a way that all the request and responses are influenced by my own data stored in my database. I only intent to use watson's processing and interpreting capability. But the processing must happen on my data.
E.g If the user searches for a word say "Dog", the Watson conversation service must search in my database and give relevant answers to the user based on the search.
Take a look at the solution architecture in the Watson Conversation documentation. Your database would be one of the depicted backend systems. Your application would be, as you mentioned, written in .NET and would use WCS to process the user input. It would return a response with all the associated metadata. Instead of having complete answers configured in a dialog, you would use something I have described as "replaced markers" in my collection of examples. Those markers are kind of hints to your application of which database query or which action to perform.
Note that WCS requires some intents and entities to work on. If you want to rely just on the detected intents and entities, you could work with one or two generic dialog nodes. As another technique you could use data from your database to generate intents and entities as an initial setup. In my "Mutating EgoBot" I use the Watson Conversation API to add intents and entities on the fly.
I believe you should use the standard trick:
instead of defining resposnses in the node of your diaglog, define an action on the output object of the node and let your applicatation take care of providing response (see https://console.bluemix.net/docs/services/conversation/develop-app.html#building-a-client-application)

How many ways to share data among activities in monodroid?

I need to share some sensitive data among activities.
I have two EditText which are basically username and password
I am consuming a webservice which on the base of provided username and password return some user info (DataType:String). Like userid,useremail etc.. which is basically in CSV format
I need these piece of information throughout my application.But i can't figure out which is the better way.
-- One way i could found out so far is to use sqlite with MonoAndroid
-- Other way i found out is using Application class
I just started to learn android today , but i want to know if there are some other ways to share data ?
As you mentioned, a global Application class and the database are two good ways to share application-wide data. One thing to be careful with is that your Application class could be recycled when the app is in the background, so you would lose any data that hasn't been persisted to something more permanent.
In addition to the database, you can also persist data down to the filesystem as well. This recipe from Xamarin has an example of writing directly to a file. Most of the classes you'll need to do file access are found in the System.IO namespace. Mono for Android also supports isolated storage, which provides a higher level API for reading and writing files.
If you simply need to pass data directly between activities, you can do so by adding it as an extra to the intent. This recipe explains how to do that.
If you want to wrap up access to a particular resource in a more managed fashion that can be accessed by either other parts of your application or even external applications, you can look into implementing a content provider. Android itself provides several built-in content providers for resources like contacts and media, if you need an example of what it's like to use one. This recipe explains how to read from the contacts provider.

Resources