Transcript
00:01So welcome to your first technical session. I believe for most of you there were a few very early sessions today...
00:07...but it's probably your first session and here we are going to talk about web editing in ArcGIS Editor 10.
00:16This new version has built-in capabilities to edit the geodatabase over the Internet...
00:22...and that enables you to build very exciting applications like for crowdsourcing, volunteered geographic...
00:29...information applications.
00:30And also you can build geocollaboration workflows within your organizations, as well.
00:38My name is Ismael Chivite, I'm the ArcGIS Server product manager, and I will present today...
00:45...although I have two colleagues from the Dev team, Craig and Ruth, who will help me at the end...
00:49...with the hard questions.
00:51Hopefully we have time at the end so you can throw your questions at us.
00:58The agenda for today is fairly simple.
01:01I'm going to start with an overview of editing in ArcGIS.
01:05This is just to give you some context of where web editing sits in the context of the overall editing within ArcGIS.
01:15Then I'm going to talk about the basics of web editing in ArcGIS Server 10.
01:19We are going to talk basically about two things.
01:21A new service called a feature service, which allows you to do the edits over the Internet...
01:26...and also this new way of thinking about editing based on future templates which...
01:33...you probably are familiar with because it was demonstrated during the Plenary Session.
01:39Then we will use different web editing scenarios to kind of dive into several aspects of web editing.
01:46That will be kind of the advanced aspect of the session.
01:50We will discuss typical architectures for web editing and then we will go into the Q&A.
01:58So, editing in ArcGIS 10 is kind of represented in this diagram and, as you know, everything...
02:05...starts at the database level with a multiuser geodatabase.
02:08...but don't display too many features in the display at once when using features.
02:10Today we are not going to talk about editing shapefiles or file geodatabases.
02:14All the data you are going to edit is going to be in a multiuser geodatabase.
02:19At the very top you can see the clients, and there are different clients.
02:23The reason why we have many different clients that access the multiuser geodatabase is because you have people...
02:30...ranging from the professional GIS user to the casual user who uses web browser...
02:35...applications to edit.
02:36And it's important to acknowledge that, that there are different tools that can be used for editing...
02:42...meaning that you should pick the right tool for the right task, as opposed to maybe building...
02:48...ArcEditor on a web browser.
02:52In the middle tier you can see GIS services.
02:54Most clients edit the geodatabase using web services.
02:59The feature service, which is this new service in ArcGIS Server 10, or the geodata service...
03:05...or the mobile service, which you probably are familiar with.
03:09The only exception will be ArcGIS Desktop that can connect directly.
03:13So let me talk a little more in detail about all these different clients, just to identify the audience...
03:19...for each of them and put web editing in context.
03:24If you have a person who wants to do professional GIS editing, the right tool is ArcMap, ArcEditor...
03:30...because it has full-blown editing capabilities.
03:33COGO, spatial adjustment tools you can vectorize, you can edit versions themselves, conflicts between...
03:41...the different versions, you have history, you can edit complex features, our geometric networks, topologies, and so on.
03:47You have a gazillion tools to edit.
03:51ArcMap can edit directly against the ArcSDE geodatabase; you know that.
03:56But it can also edit the geodatabase over the Internet, and we will see a demonstration later in this session.
04:02You can connect to a geodatabase over a feature service and edit the information in there...
04:08...which is quite interesting because you can maintain this sophisticated editing tool but still operate over the Internet.
04:16This feature service assignment is new in 10, although some of you may be familiar already with the geodata service...
04:22...which is the replication, allows you to build the replication workflows.
04:27It can also work over the Internet, so you can synchronize geodatabases across the wire.
04:37The other big chunk of clients is for field editing, specifically ArcGIS Mobile.
04:43ArcGIS Mobile has an out-of-the-box editing application that works on our mobile device run in Windows Mobile...
04:52...and it connects to the geodatabase through a service called the mobile service.
04:56The mobile service is similar to the geodata service in the sense that it allows the client to pull data from the...
05:03...geodatabase over the Internet and is stored locally in the device, in the mobile device.
05:08And then you can make changes locally in that device even if you are disconnected, because it works in this...
05:14...partially connected environment.
05:16And then when you gain connectivity with the server again, you can push these changes back to the server, okay?
05:24So these devices work with these caches locally to do the edits, and they have simple tools for editing.
05:32They are not like ArcEditor.
05:33They have tools that interact with GPS devices, and they have a subset of the symbology...
05:39...that you can represent in the mobile device.
05:41But they are basically optimized for working in the field.
05:45There is also an SDK for mobile, as well.
05:49Another type of mobile editing happens from devices like iPhone and, very shortly after...
05:55...the User Conference, from Android.
05:57So we have these ArcGIS for iOS and ArcGIS for Android coming that will allow you to edit the...
06:04...geodatabase over the Internet, as well.
06:07They also work on mobile devices, but they work in a fully connected mode; that is, you always need to be...
06:14...connected to the server in order to make the changes.
06:17It's not like in the mobile aspect of things where you can have this cache and edit, even though you are disconnected.
06:25Again, these devices are designed for, they are not really for GIS professionals, they are just for casual users...
06:32...and they have the device and they can add a point, change an attribute, but they cannot do complex editing.
06:40And finally we have web browser-based editing.
06:44This is what we are going to discuss today.
06:47You can edit from a web browser and you do so through this new service, the feature service.
06:55It also works like Androids and iPhones, following a fully connected mode.
07:00If you lose connectivity with the server, that's it; it won't work anymore.
07:04You need to kind of reconnect to the server.
07:07It's just a web browser, right? It doesn't have a local cache.
07:10Well, maybe with HTML 5 soon, but not yet.
07:15Again, in this case let's try to identify the audience for these applications.
07:20We can build web browser-based editing applications that do simple edits like changing attributes or maybe sketching.
07:27They are not for accurate editing, like trace a perpendicular to the parcel and then a parallel one...
07:34...and use COGO tools, and so on.
07:36They are optimal for sketching.
07:40However, you can do focused editing applications.
07:43You can do sophisticated things on the web, and we will see demonstrations, as well.
07:47But let me make sure you get the message - please do not attempt to build these generic editing tools on a...
07:55...web browser just because Silverlight or Flex allow you to do very rich Internet applications.
08:02We did not design this web browser-based editing for you to build ArcEditor on the web. Makes sense?
08:09You'll see that there are different out-of-the-box tools for doing web browser editing in ArcGIS Server 10.
08:18No development needed, but we will also talk about the web mapping APIs, so you can see how you can...
08:23...tweak your editing applications.
08:28Okay. Let's talk now about the basics of web editing in ArcGIS Server 10.
08:33How do I build these feature services and how I use them.
08:41So there two basic concepts that we are going to talk about.
08:45One is this new feature service.
08:49And the other one is the feature template-based editing.
08:52Feature template-based editing allows you to work with a well-defined information model...
08:58...so people don't add just anything to the geodatabase.
09:01Every time they edit, they will do so through these templates that you have defined, and these templates control...
09:07...which attributes you can put into which features, and also how the features are represented in the map.
09:13That's what we mean by structured information.
09:18The feature service is just a web service that sits on top of your geodatabase and expose update methods on it.
09:30Feature templates are kind of a shortcut to the things that people edit.
09:35A feature template defines the symbology, how features are rendered in the map, which attributes you can...
09:43...see, so you may have in the geodatabase 10 fields and then create a template on top of it that says...
09:49...I only want to display four.
09:52It also controls which fields can be edited, so out of these four fields that the user can see in the editing application...
09:59...I want only one to be read and write.
10:02The rest will be read.
10:05Feature templates allow you to set default values, so when I can create a new feature, attribute A...
10:10...will have this specific value.
10:13And that's interesting because you are familiar with this concept of default values in the geodatabase, right?
10:20Well, you can still set that value, but the feature templates allow you to overwrite those default values...
10:26...from the geodatabase.
10:28So you can fine-tune specific editing workloads.
10:32And also the templates define what is the preferred drawing mode.
10:36When I'm going to draw a polygon, should I use a freehand tool, or should I use one of these polygon...
10:43...click, click, click, click, click - kind of tools.
10:46Those things are defined in the feature templates.
10:48And feature templates are authored in ArcMap.
10:51It's kind of a step for preparing your data for editing over the web.
10:56Once you create these feature templates, they work across all the different clients.
11:00So you can see on the right a screen shot.
11:03This is what we call a template picker, or a palette.
11:08Users will click on these feature templates and then start drawing on the map.
11:12And that experience of clicking on the feature and then clicking on the map to draw extends to ArcGIS Desktop...
11:19...as well as to web browsers.
11:22So what we were trying to do with this is kind of allow you to build a web editing workflow where you can...
11:28...work with structured information, but at the same time you can offer the user a nice user experience...
11:35...an easy experience for editing, whether you are in Desktop or you are in Server.
11:43A feature service is a new service in ArcGIS Server 10, and it's designed for web editing.
11:49It basically pushes changes into the geodatabase over HTTP.
11:55But it's also excellent for querying.
11:57In a sense, a feature service allows you to query the database and instead of asking the service to create a map...
12:04...you actually ask the service for geometries and attributes, and then you get these geometries and attributes...
12:09...down to the client, and then you do things with them in the client.
12:14You may want to render this information in a web browser but you may also want to change these features in the client...
12:20...and then push the changes back to the database.
12:24So this is kind of what we are representing here on the right.
12:28So here is my web browser.
12:30Initially it is going to throw or send a query down to the feature service; the feature service will query the database...
12:38...and then it will return in number 2, geometry and attributes.
12:43Those will be, in number 3, rendered in the clients in the web browser, using the rendering capabilities of the browser...
12:51...basically using graphics.
12:53And then I can manipulate these objects in my web browser and push them back to the database through...
12:58...the feature service again, okay?
13:01That's kind of a simplified workflow of how feature services normally work.
13:10So with these two concepts, let's kind of go through the process of creating a feature service and using it.
13:15And there are basically three steps - you first prepare your data in the geodatabase...
13:19...and you create these templates, then you publish that map document as a feature service...
13:26...and then you simply connect to the feature service and use it from whatever client you picked.
13:31Let's go into the details of each step.
13:34Preparing your data is really about two things.
13:38First, you define your geodatabase model and many of you already have probably done this job.
13:44You decide whether this feature is going to be a point, a line, or a polygon, so you create the feature classes accordingly.
13:50You create the relationship classes, domains, subtypes, I guess you are all familiar with these concepts, correct?
13:57That's no different; you can still use these concepts for geodatabase editing.
14:03But you should keep a few things in mind.
14:05There are a few features or feature types that we don't support for web editing through the feature service, at least from web browsers.
14:13And those are annotations, TINs, rasters, and dimensions; those features you cannot edit really...
14:20...over the Internet with this feature service approach.
14:25Other than that, just feel free to edit pretty much anything.
14:30Even if you have feature classes that participate in that topology, you can still edit those simple features.
14:36You want to be able to manipulate the topology with the feature service, you can edit.
14:40Think about a geometric network.
14:42You can edit the geometric network, too, because the underlying feature classes that made up...
14:47...this network are simple features.
14:50Right? They are points, they are lines, they are polygons, and so on, so you can edit them as well.
14:56They are actually complex features but we can still edit them.
15:01Okay, so you have your geodatabase model, then just make sure that it can be edited.
15:05When you connect from ArcMap to a geodatabase, you normally use the database authentication, right?
15:13Now, you must be certain that when running your feature service, the ArcGIS SOC user can edit the geodatabase.
15:24If you are working with an enterprise geodatabase, well, make sure that the user using...
15:30...used in the SD connection has read and write permissions.
15:32And if you are using Windows authentication again with SQL Server...
15:36...just make sure that the ArcGIS SOC user has read and write access into that database...
15:41...because when you start the feature service we can have used the ArcGIS SOC user to edit the geodatabase...
15:48...not the user that you normally log in as when you are using ArcMap.
15:54You don't need to version your feature classes in order to do web editing.
15:59You can edit nonversioned data; however, there are some scenarios where you always need to version your data...
16:07...geometric networks, topologies; you have to version your data even if you are using ArcMap to edit that information...
16:14...and that carries or flows down to the feature service, as well.
16:18So basically, if you cannot edit your ArcMap, there is just no way you will be able to edit that with a feature service.
16:25You don't need to version, but you need to register in ArcSDE, just like in ArcMap.
16:30If your data is not registered in ArcSDE, you cannot edit in ArcMap, you cannot edit in the feature service.
16:39Now that you have the geodatabase set, now we are going to do the map document...
16:44...and in this map document, we are going to create these feature templates.
16:49As I described before, you can play with the field visibility, the aliases.
16:55Read-only fields versus read and write. You can set default attributes.
17:00You can also check the symbology.
17:02The symbology for the feature templates does not necessarily need to be the same that you see in the table of contents.
17:10It's symbology and types that are specifically created for the editing experience.
17:16And you'll see in the next slide that with symbology we need to be a little bit careful, because not every symbol...
17:22...is supported by the feature service.
17:26You can also define the preferred drawing mode for these templates.
17:29And finally, once you have these templates, you'll refine your map document.
17:34So, if your data is versioned, you must select the version that will be edited over the web, because once...
17:41...you create the feature service, we'll knock down into that version that you have in the map document.
17:46You cannot change the versions when you are doing web editing.
17:49You also eliminate unnecessary data from the map, and you are pretty much ready to publish the service.
17:57But let me talk a little bit more about how you handle symbology with these feature services.
18:03There are three renderers that we support with the feature service.
18:06If you use any renderer that is not in this collection, the feature service will not publish.
18:12It will give you an error, it won't publish. Okay.
18:16So you need to manipulate if you have a field that is using a layer that is using multiple fields, for example...
18:23...we cannot handle that; you'll need to simplify your symbology before you publish.
18:28And then symbology.
18:29You can throw any symbology, any symbol you like, to the feature service and it will publish.
18:34However, when clients connect to your feature service, they may downgrade the symbology.
18:40Remember that we said with the feature service that we will pull the geometry on the attributes...
18:45...to the clients and then render client side.
18:47There are some clients who are not capable of rendering everything we can render in ArcMap.
18:53So we will downgrade things, and here are some examples.
18:56Take points, for example.
18:57Just create any point symbol you like with multiple layers, anything.
19:03We will basically create a picture marker symbol out of it.
19:07We are going to create a, kind of a snapshot of it, save a P&G file and that's what we are going to use in the web browsers.
19:14For lines, you can even use cartographic representations, but at the end of the day, web browsers...
19:20...will just see a simple line symbol.
19:23So if you have a line symbol with let's say a red line, and then a black line - thicker black line to do the casing...
19:31...we will take the first line that we find, the red one, and we will represent it that way.
19:37And with polygons, everything will be downgraded to simple and picture fill symbols, okay?
19:43This is for web browsers.
19:44If you connect to the feature service from ArcMap, ArcMap is going to connect, get the features...
19:49...and draw everything perfectly, right?
19:53So, there are ways actually to prevent this downgraded symbology to show up in the client when you are editing.
20:02There are workflows to avoid that. We'll see that later.
20:05What I want to do now is kind of give you a few examples of how things compare when you are...
20:12...drawing things through the feature service versus the map service.
20:25Okay. So here we have an application that is showing two maps. I have synchronized them.
20:31And they are displaying the same information from the geodatabase, but on the left...
20:35...we are using a dynamic map service, we are using server-side rendering.
20:40And on the right we are using client-side rendering.
20:43Because the proper symbology is very simple, you can see that there is almost no difference.
20:48Maybe these symbols are a little bit sharper, right? On the left.
20:51But they are pretty much the same.
20:55This is just a P&G file that we are retrieving from the server.
21:00Those are features rendered in the client.
21:02In fact, if I click on the feature you see that it shows I mapped it because the feature detected in the client...
21:09...that I clicked on it and then it displays the attributes.
21:11That's a feature, feature service being used.
21:16Let me give you another example.
21:19In this case, this is a bit more complicated.
21:23In this case, we are going to see two things.
21:25You'll see that the symbology is not exactly the same, and also that the performance is not exactly the same.
21:32On the left, again, we are displaying a dynamic map service.
21:36Bang! Bang! Bang!
21:37It's very quick; we are using an optimized map service.
21:41On the other side, we are fetching these geometries and attributes to the client.
21:47If you have just a handful, it's actually pretty quick, right?
21:51I mean, you can see that it responds fairly quickly.
21:54Now as I zoom out, I have more and more feature to render, and you can see that the different layers...
22:00...come right in different waves.
22:04On the other side, it always has like very quick updates.
22:08So we need to be careful when using these feature services not to grow a lot of features in the display.
22:13You can have feature classes with thousands and millions of features...
22:24You can also see that on the left we have text, on the right we don't, because labeling doesn't come through, okay?
22:31The browser is not labeling.
22:33And also if you look at the features closely, you'll see that they are being downgraded a little bit.
22:38Marker symbols are generally just fine, as you can see.
22:41Very, very minor differences.
22:43Look at the pipes.
22:44In this case, the pipe has casing; here you can see it very clearly, right?
22:48And in this case, you can take the first line and then nothing else.
22:53You see those minor differences?
22:54Sometimes it doesn't make any difference from a user point of view but for some maps, people are really...
22:59...really picky about the symbology that you use.
23:06Okay, this is another example.
23:07These are some symbols from a wildfire map, and as you can see on the left, they are quite complicated.
23:17We are using cartographic representations to represent them.
23:20For example, this is an uncontrolled fire line, a dozer line.
23:26Planned dozer line, escape route.
23:30They are fairly complex symbology.
23:31Look how the symbology is displayed on the right, okay?
23:36We'll cover this use case, and you'll see that you can actually edit over the Internet maps that look like this on the left.
23:44But you won't use this technique of rendering features on the client to address these workloads.
23:50So I just want you to be aware of these differences.
23:58Okay. So we have the symbology set, now we are going to publish the feature service.
24:03The feature service is just a capability of a map service, so you check it and then it publishes it.
24:09And like any other ArcGIS Server service, it can be secured.
24:14No big secrets there.
24:16Now, of course, things are not going to go right maybe the first time.
24:20What are the most common reasons why you cannot publish a feature service?
24:25ArcGIS SOC users cannot access the data. An obvious one.
24:29You may not have an ArcSDE workspace that you can edit in that map document that you are publishing...
24:35...that might be another reason.
24:37Another reason is that you may have two ArcSDE editable workspaces in that map document; you can only have one.
24:45And of course, the renderer is not supported.
24:47All these messages will display in your logs.
24:50If things go wrong when you publish a feature service first thing, go to a log.
24:55Go to a log.
24:56Go to a log.
24:57The descriptions are normally fairly decent.
25:01As you can see at the bottom, we have a note.
25:04Symbology downgrades will be warnings, but we will allow you to publish.
25:10Once you publish, your feature service is going to display in the services directory.
25:14Here you can see that it's coupled with the map service.
25:17It's a capability of a map service.
25:20And on the right you can kind of see how the feature service advertises these templates that you defined in ArcMap.
25:31And finally, once your service is up and running, you select the right tool to edit that information.
25:37If you are in the field, you go with the mobile device. If you want a web browser, you use a web browser and so on.
25:43So let's do now a quick demonstration where we will author a feature service and we will use it, okay?
25:58So, as many things in ArcGIS, things start with ArcGIS Desktop.
26:09ArcGIS Desktop is where you are going to author your map document.
26:13So here I have a map document which has some information about observations of wildlife...
26:18...and I want people to edit this information.
26:21This data is coming from SQL Server Express, a workgroup ArcSDE database, as you can see in the data sources.
26:31So now if I go to that database, you'll see that if I go to administration permissions...
26:40...I said my ArcGIS SOC user has read and write access, right?
26:46Very important.
26:49Other than that, I'm just using points, lines, and polygons rendered in ArcMap.
26:54Here you are.
26:55Now let's start editing so you can see how feature templates are authored.
27:02These are the feature templates in my map, and in this case, pretty much any symbol that you see...
27:08...in the table of contents will automatically show up in the gallery.
27:12These templates have been created automatically for me.
27:15One thing that may lose you at the beginning is that if a feature, if a layer in your table of contents...
27:24...is not visible because of scale dependencies, the feature templates are not going to show up here.
27:31So if you see this thing empty, maybe that's the reason.
27:34There are no usable editing things in your display.
27:38The other reason might be that you have definition queries.
27:41If you have definition queries in your map document, things may not show up here.
27:46And the reason is that we always try to make sure that every template that shows in the gallery...
27:52...when you create a feature, it will draw.
27:54And sometimes you cannot control with feature definition queries if a feature is actually going to draw or not.
28:00So the feature will exist, actually.
28:02You'll need to create on this Organize Templates button, and they are going to show up here.
28:09Every layer has associated templates.
28:12And then you can click on them and say basically, display them on the template gallery, okay?
28:23Now, we have the templates here and templates - let me double-click on this one, for example.
28:30They have a name, a description; they also have a Default tool, right?
28:35Freehand for this type of polygons.
28:38In this case, I'm going to say, I just want the user to kind of go click, click, click.
28:42This is a draw tool.
28:44Here are some of the fields that I can edit, and you can see that some of them have attribute domains.
28:50Those come from the geodatabase.
28:52And through the template I can define the default values.
28:56That's very powerful because traditionally, you edit things that, all the behavior is in the geodatabase.
29:05With the feature templates, I can say, oh, I know that these folks using the editing application...
29:10...are going to create a lot of, let's say, raptors, right, but are supposed to not confirm.
29:19They are going to say, these are raptor sitings, and it's confirmed, right?
29:25So I can create a second feature template, say Copy; it will create a second one.
29:31And then I can say, okay, this feature is a raptor, confirmed.
29:37And then I say this attribute will say yes.
29:42Okay? So you can adapt feature templates to specific editing workflows that you have independently...
29:49...kind of independently, of the geodatabase rules.
29:52You can fine-tune these rules for your editing workflows.
29:56Now these fields can be flagged as read-only, you can use aliases, and so on.
30:03Okay, so that's pretty much it for templates.
30:06You create your templates; you can also of course remove templates if you like.
30:12And then you stop editing, and then you save the document. I'm going to save it.
30:26And now we are ready to publish.
30:28Now before I publish, I'm going to get rid of the background map, and then I will publish on this button, right?
30:37This is the standard map service publishing toolbar.
30:40You often validate first; I get three low warnings, because all the features have...
30:49...drawn at every scale, but that is fine in my case, and then I'm going to publish in here.
30:51This is going to replace an existing service that I have, so I'm going to say, yes, replace.
30:56Oh! There you go, feature service, right? Feature access; you need to enable that.
31:01And then you pretty much publish that set, okay?
31:08Now you know that every time you create a service, what do you need to do?
31:16You need to update the service's directory, right?
31:20Okay; so that's what we are going to do now.
31:27Okay, nice. So my service is up and running now, and before I move on I just want to kind of have you look at...
31:38...the service from this catalog window... so you can see some additional properties that you can define.
31:46Capabilities, feature access, you can enable queries or queries on editing, okay?
31:53And also if you have 3D values, Z's, you can apply a constant 3D value to the features that are created, as well.
32:02And there's not much to it.
32:04Now our service is running, so I'm going to use a web browser to explore my feature service.
32:15Okay, so here is my service, you can see, complete map service, right, for Save the Bay and the feature service.
32:23I click here and you can see the three layers that we are editing.
32:28Let's go to birds, and as I scroll down, you'll see that it's picking up on the renderers, right, for my feature templates.
32:38Here are all the renderers.
32:40And if I keep going down, you'll see that we also have the templates, okay?
32:46Those are all the templates where we defined the different attributes that will be assigned with each template.
33:00Now, let's edit this information.
33:02We authored the map, we publish it, now we are going to use it with a web browser.
33:06Let's use a web browser to edit this information.
33:09So this is a new option in ArcGIS Server 10.
33:11You can view your map services and feature services in ArcGIS.com.
33:16So I'm going to click here, and this is going to display my feature service within the ArcGIS.com viewer, okay?
33:28So now we can go to this area; those are all features.
33:36Let's switch the basemap here, and this little thing, as you probably know already, has a table of contents that is...
33:48...created automatically, and this also because it's a feature service and has the editing capabilities enabled...
33:53...I also have the edit function right there, okay?
33:57And, well, that's it. I mean, I can now click on a feature and maybe change the attributes, I mean the vertices as I see...
34:07...I can move a feature around.
34:09Of course I can change the attributes if I like, so, No, and submit it, right, that date.
34:17So you can see that this attribute inspector is picking up on the file types from the geodatabase.
34:24Picking up on the domains, the default attributes, and it's displaying that nice IUI.
34:29Of course, I could also delete the feature, or I could create new ones.
34:33So I'm going to take one of these polygons and just click on the gallery and start drawing.
34:42And this just created a feature in the geodatabase.
34:45Feature service sends the geometry to the feature service, I mean, the client to the feature service...
34:50...and that's in the geodatabase.
34:53That's pretty cool, isn't it?
34:54I mean, no development, just all ArcMap publish ArcGIS.com, done.
35:01It's true simple sketching, but this is the core use case that we wanted to address in this release.
35:06We were not after creating very accurate editing tools in a web browser.
35:12We were after this sketching use case where the freedom of drawing and ease of editing is...
35:20...more important than the accurate editing for web browsers, okay?
35:26Points, the same thing.
35:27I get the guide, and I just add it.
35:34Okay? Makes sense? That's pretty neat, isn't it?
35:40Okay. So that's the basics, basics, basics of the most basic thing of creating feature services.
35:57Okay. Now I'm going to take different scenarios, and we are going to go into the details of how this thing really works...
36:04...and how we can get into the API aspect of it and so on.
36:11Here are some of the scenarios. Let's just start with attachments.
36:16And, let me just go and do a demonstration.
36:36So in this case, we are accessing the same feature service that we authored a minute ago.
36:43But we are not using the ArcGIS.com out-of-the-box tool.
36:48You know that this ArcGIS.com tool is hosted by Esri.
36:52In some cases, we want to have applications for editing installed locally, within your network...
36:57...within your intranet, so you can have more full control of it.
37:00So this will be the tool that you could use out of the box.
37:04This is the ArcGIS Viewer for Flex.
37:06It's downloadable from the Internet from the Resource Center.
37:09And you basically download this application and then you tweak a few configuration files...
37:14...and then you can make this application point to your services to display your data or edit your information.
37:19And this application has an out-of-the-box editing widget, we call it.
37:24So let's zoom in here. I'm going to switch the basemap to aerial, and now I'm going to click on the editing widget.
37:37This is the same experience, the template picker, as you saw before...
37:41...where you can click and add a new feature.
37:45Let's go to California.
37:48This is a beautiful town in the central coast of California.
37:52And here are lots of dolphins.
37:55I'm going to click on this feature and go to the attachments.
37:59And you can see that this feature has a picture attached to it. That's an attachment.
38:05This picture is stored in the geodatabase, and I can use the feature service to retrieve the thumbnail so it displays nicely...
38:14...on the application, but also I can double-click and literally get the document down to my computer from the geodatabase.
38:21This could be a picture, a video, music, a PDF file, a text file.
38:29Whatever file, right?
38:30That's an attachment; this is a new concept in the geodatabase in 10 and it's supported by the feature service.
38:37If you wanted to add a new attachment, you just click there, and then I think I have dolphins and this thing.
38:48Should meet and this will literally get the file from my computer, upload it to my feature service...
38:54...and store it in the geodatabase associated to my feature.
38:58Okay? Attachments out of the box on the application.
39:07A file associated to a feature, any type of file, is stored in the geodatabase as a BLOB.
39:14Following a one-to-many relationship, so you can have many features associated, many attachments...
39:20...associated with a feature, and you can retrieve and edit from pretty much any client.
39:33The good part is that it's super simple to create these attachments in the geodatabase.
39:40This is my feature SQL Server database, and you can see that I have my feature class, Marine, with points...
39:47...those are, the dolphins are stored here, and then I have a table which is marine_attached.
39:55That's the table that was created when I said this feature class has attachments, and between this table...
40:02...and the feature class, there is a relationship class, a one-to-many relationship class.
40:06If I go to the properties of this table, you see it's a stand-alone table, and it has a BLOB field.
40:12This is where we store the data and then we store some metadata as well about the file in the geodatabase.
40:19How did I create this? Very easy.
40:22That's, my birds, feature class, doesn't have attachments.
40:26So if you wanted to create an attachment, you simply right-click and say, Attachments, Create Attachments...
40:33...and this will automatically create an extra table - okay, this one - and the relationship.
40:42So if I now publish my map service again, my birds will have attachments, so I can edit them, right?
40:56Let's go now and talk about this scenario where we have complex geometry, complex symbology...
41:02...and you still want to edit while looking at this symbology.
41:08I'm going to click on this application, and we go back to this example where we have this complex geometry.
41:17You can see that everything looks fine in this case, right?
41:21One thing I did not talk about before that I'm going to do now, if I go to the side-by-side comparison...
41:28...you can see that points are right on.
41:30You can do points very well.
41:31But look at this point right here.
41:33It has rotation, right?
41:36Well, only on one side of the map; when you represent as a feature layer, rotation is dropped.
41:41And lines and polygons are kind of a complete disaster.
41:45So, now we have this application - and let me go here - switch the basemap - and this is the symbology...
41:55...that a firefighter would be expecting to see.
41:58This is where the fire started, these polygons are represented [as] infrared areas of high heat, right...
42:07...which you calculate basically with infrared.
42:10This is an uncontrolled fire line; you can see the labeling for these polygons, which displays automatically the area...
42:19...the escape routes, aerial hazards for planes to be careful.
42:25Look at the complexity of the symbology, right?
42:30Now, here's my template gallery; you can see that it's simplifying the symbols already, but to some extent that's kind of...
42:36...I think, acceptable in many cases, and now you can see I'm using the freehand tool, right...
42:43...because the client sees that this feature is associated with the freehand drawing tools, so you automatically...
42:49...click and start drawing.
42:51And look at the text; I'm not using a feature, I'm not rendering this feature's client side.
42:57I'm using a dynamic map service to render.
42:59So basically I'm here combining systems; I'm using the feature service to push the changes...
43:04...and then I ask the server to refresh the map, right?
43:08And it renders the map nicely.
43:11With text in this case, and if I had to create and control fire edge, you draw, and you get that beautiful line.
43:24Let's go with division break.
43:29Oh, you see, this is click, click, click, as opposed to - well, that's a weird line.
43:38That's too simple.
43:40Foam, let's drop foam, drop here, you see?
43:43All of these are using cartographic representations.
43:45So you can literally get crazy here with symbology and it will display fine.
43:50With the points, if I go down here, as you know, no big problems here, okay?
43:59You can add the rotation and the symbol will rotate on its own.
44:04So, we can handle that complex symbology as well.
44:09Let's go back to the slides now.
44:13I want to introduce the concept of a feature layer here.
44:16A feature layer is kind of a counterpart to the feature service.
44:20A feature layer is a client-side concept, and we how we handle the rendering of the features in the client...
44:27...when we connect to the feature service.
44:31It manages how features are fetched to the client.
44:34It has three modes - snapshot, on demand, and selection only.
44:39Snapshot means that the application will fetch every feature to a client at once when you first connect.
44:46And that's very nice when you have just a handful of features, because you never go back to the client...
44:50...when you pan them up, they are all on the client.
44:53So the application is not as chatty as they normally are.
44:57On demand means that, as I pan them up, I will get the extent and ask the feature service to give me the features.
45:04That's nice when you have lots of features in the feature class, but you have to be careful not to display...
45:09...many features in the client.
45:11And what "many" means? Well, it depends.
45:13Depends on many things, like the web browser.
45:17Google Chrome is the fastest.
45:19Firefox is slightly slower, and Internet Explorer is slightly slower.
45:25I still didn't mention any numbers.
45:27We are in the hundreds.
45:29If you are displaying 500, 600 features, that's fine.
45:33Well, features.
45:34It's really vertices that counts, more than features, okay.
45:37So if you have complex polygons with many vertices, you can slow down if you add a lot of features.
45:43Just to give you an idea, if I connect to a feature class which contains all the US counties...
45:51...we've kind of generalized symbology, it may take about 3 to 4 seconds to bring everything to the client.
45:58And with Silverlight and Flex clients, we can move that fairly well.
46:04With HTML, the JavaScript API, in Chrome, it kind of works, but as you go to Internet Explorer you get...
46:12...this classic message that says, "A script is running in your browser, do you want to stop it," right?
46:19That will happen.
46:21Anyway, it also defines how features are rendered, and this feature layer is normally used in combination...
46:30...with out-of-the-box things that you have been looking at in this session, like the attribute inspector...
46:36...to edit the attributes, the template picker.
46:38The feature layer is kind of a central point where all the components of your application...
46:44...are going to ask the feature layer what is the rendering, right, so the template picker can display...
46:49...what are the default attributes, so that the attribute inspector can display the default attributes, and so on.
46:53We will go into more and more detail as we move into this presentation.
47:00So, you can already, in your mind, I think you understand the two patterns that we are going to discuss.
47:06The first pattern for using feature layers is one where you either use the on-demand or the snapshot mode.
47:14It's a pattern where you bring all the features on demand or as a snapshot to the client, and you render client side...
47:22...and you know the limitations of that approach.
47:25But also the good things about it, like this maptip just comes out of the box, right?
47:30When I click on the feature, boom! I get the information.
47:34Here, you should be, as I said, careful with very large polygons.
47:35Well, those selected features will be rendered client side, and then you can manipulate the geometry...
47:37If you are editing land-use polygons, probably you shouldn't use this one, this approach of rendering client side...
47:44...and no more than a few hundred features in the display.
47:47And also remember the limitations with the symbology that we saw with the demonstration.
47:52Here you must be smart about using scale dependencies, generalizing the geometry...
47:57...to display data in this fashion.
48:00The other pattern combines the map service and the feature service, so basically, first of all, my web browser...
48:07...is going to get the map.
48:08It's going to ask the map service to render a JPEG image, and boom, I get back the map.
48:15And then, let's say I click on the map, because I want to edit a parcel that I see.
48:20I click there, and then I send a request to the feature service and I get the geometry and the attributes...
48:27...just for the parcel I clicked on.
48:30Think of it as a selection.
48:38...and push the changes back to the server, right? Simple.
48:44So before, when you are only displaying selections, even though the geometry might be complex...
48:49...there are chances that it's going to be fairly, fairly fast, right?
48:52'Cause you don't have many things, just selected ones.
48:55And the selection mode, or the mode for the feature layer, is called Selection Only, so the feature layer...
49:03...knows that it's not going to retrieve everything but only things that are selected.
49:09When using map service, you should use MSDs as much as possible, as opposed to MXDs.
49:15And I guess you are all familiar with the difference between MSD and MXD, correct?
49:20Yeah? Yeah? Cool.
49:24Full symbology, as you saw in the last demonstration.
49:27Do you have that pattern? Okay.
49:29So I don't want to go into the details yet of kind of developing with the web mapping APIs...
49:36...but I want you to see how I configured my online wildfire editing application.
49:44So that application is based on something we call the...it's a VGI kit.
49:49It's basically an application that we created which is configurable through a simple text file.
50:01This is the folder, what we call the VGI kit.
50:04It's just a folder that you can download, we will put this in the Resource Center, and then you simply go...
50:10...to the Resources folder, application settings, and then you open that with text editor, and you change things...
50:18...like the title of the application, the colors of the text, the initial extent, and if I scroll down...
50:26...you'll see that it's pointing to a map service, which is my dynamic map service, and also a feature service.
50:34The feature service because I want to edit the map service because I want to represent the data through the map service.
50:41And then for selection mode, I say, Is selection mode true.
50:45And then the application knows what to do.
50:48If you say False, the application will ignore the map service and use features to render everything, okay?
50:57Now, here's another scenario, one where you don't want people to edit geometries, you don't want people to add...
51:00So, this application allows me to, oh, look at this guy. Oh, that guy is fine, but, that guy has a pool...
51:04...new parcels to the town, you don't want them to delete them, you want them just to edit attributes.
51:10Let's have a look at the application.
51:14I thought I had a shortcut there; I think it's...No, I have a bookmark here, pool permits.
51:23This is an interesting application for interested people.
51:31So, yellow polygons represent properties who have a pool permit.
51:39And when you've got a pool permit, you need to pay, so obviously you have a swimming pool, right?
51:44So, yeah, that is true.
51:46Here is swimming pool, swimming pool, swimming pool, swimming pool.
52:04...by the way, it's dirty - but it's not yellow, which means that he doesn't have a permit.
52:10So I click on the pool. Did you see what happened?
52:14Now the parcel is highlighted.
52:18That's the selection, okay?
52:20Now if you look at the polygon, that hatched polygon, that's not supported by the feature layer...
52:24...so I'm rendering dynamically, right?
52:27So right now I have one feature in my client, which I am rendering, and then I say, has pool?
52:32Yes, it has a pool.
52:34And then flags as red.
52:37And I'm not saying anything; I'm just saying you have a pool, it's dirty, and you don't have a permit.
52:42So we'll see what happens.
52:46And notice also that I cannot add features and my attribute inspector normally has a delete button...
52:51...but in this case, I dropped it.
52:54It's a very focused application to do just attribute edits and we can support that.
52:59Also, if you look at this drop-down list, I set the feature template so you could only edit the Has Pool field.
53:09But if I change this guy and say, "has a pool permit, yes," it won't do anything, right?
53:16It won't commit.
53:18And also if I click on a parcel that has a permit, I click here and nothing happens because I cannot say...
53:26...this parcel doesn't have a permit or doesn't have a pool, right?
53:29So those are things we can see in the application that we are controlling.
53:33Which features can I edit, which attributes in those features that I can edit, I can edit too.
53:39And what operations can I do on this information?
53:43Can I add, can I delete, and so on.
53:46So how should we build this application? Okay.
53:51So, so far we have been looking at out-of-the-box applications, applications that don't require any development.
53:58Now we are going to show you how you can customize things so you can do very focused things.
54:03So, our web mapping APIs, JavaScript, Flex, and Silverlight, have these things...
54:08...that we call dingies, or widgets.
54:10Those are kind of self-contained controls or classes, utility classes that you can use to build your own editing experience.
54:18And you saw some of them already in the out-of-the-box applications, like the template picker...
54:23...the attachment editor to upload and download attachments, run features; this is the attribute inspector...
54:31...and here is another look at the template picker, and also there is a toolbar, with selections and delete...
54:38...and things like that, that is available to you.
54:42So, what I'm going to do now, let me just, when is this session...we have half an hour? Thirty minutes.
54:51Okay, so, 20 minutes. Okay.
54:58So, let's go through this very quickly, and I apologize if you get a little bit... let's just do it.
55:09Resources.arcgis.com.
55:11Remember in the past, it was resources.esri.com?
55:15Now we changed it.
55:17You come here, and this is where you can find about these JavaScript and Flex APIs and things like that.
55:18It's resources.arcgis.com.
55:23I'm going to go to server, and from server I'm going to go to web APIs, and this is where you find all the developer stuff.
55:35In this case I'm going to use JavaScript because it's easy to copy and paste and to see the concepts.
55:40I'm going to go to samples, there are many of them, and of course, we have editing samples.
55:45And one of them is the attribute inspector.
55:51So I can view the live sample, and this is pretty much what we were doing, the pool permits application.
55:57I click on the feature, and then I change an attribute, okay?
56:03That's the attribute inspector.
56:05Okay. So that's kind of the application I want to build.
56:08So I'm going to take this code and I'll go with you through the code so you can see what's going on...
56:13...and how you make changes on those things.
56:16So I'm going to go to my server and I'll go to the root directory where I can put my HTML file...
56:25...so people can see it, and then I'll create a text file where I put this code that I took from...oops, nope...
56:39...I took from the sample.
56:41And now I'm going to save this as a.html. Okay.
56:51Now let's have a look at this.
56:54Can you see this in the back? Is it big enough? Yes.
56:57There is this HTML code, and here you see the title, right?
57:03Easy to change that.
57:07Let's call this pool editor.
57:11And we see that it's importing a JavaScript library from our server API server.
57:18Now this contains all the JavaScript library stuff we are going to use on this application.
57:24And then let's keep going a little bit.
57:27One important thing that you should keep in mind when building web editing applications with this API...
57:32...is the concept of the proxy server, so that easy when you are editing is that often you...
57:37...send very large geometries to the feature service to add or remove things or reshape.
57:42So you cannot do just a, you have to do a post.
57:46And to do a post from this application you need this concept of a proxy.
57:50So there is a proxy, basically a proxy just so you can see it; I mean, it's not a big deal.
57:56If I go to my folder Demos, I have an Esri proxy folder, I just download it, these two files from the resource center...
58:05...and one of the files is the proxy itself, and the other one is just a configuration file for this proxy...
58:12...which is telling me, only applications running within this server will be able to use the proxy...
58:20...to communicate with the feature service.
58:23Makes sense?
58:26So, once you have that proxy set up in your code, you just point to it.
58:30So, the proxy in my case is going to be Demos, Esri Proxy.
58:38It's a relative location for the proxy I'm going to use.
58:41And then the application sets the initial extent.
58:45In my case, I don't want to use the initial extent from the sample because it's Texas...
58:50...and who wants to edit pools in Texas?
58:54So I'm going to get rid of that.
58:56And then you can see how things were here.
58:58First is connecting the map control to this toolbar.
59:04This is one of these library developer utilities things that allow you to handle selections very easily.
59:11And then it's using a tiled layer.
59:13This is the cached map service that we are displaying at the bottom.
59:17So I'm going to basically replace that and use one of my services.
59:22So I go to my service directory, City, Imagery, this is the map I want to use as the background for my application.
59:34So I go there and I say, okay, that's the tiled map layer.
59:38And then you can see on the next line that it's adding the layer to the map.
59:42The next one is adding a dynamic map service layer, and the same, it has a URL.
59:50So I'm going to get rid of that URL, go back, and display my city pool permits map server, right?
1:00:03Back to my remote desktop, and I add that.
1:00:07And that's just for display purposes.
1:00:10Notice that we disable client caching, so every time that we refresh, even if we are in the same extent...
1:00:16...we are literally going to go and get a new image, so the browser doesn't cache what the server doesn't cache.
1:00:22And then we add the layer.
1:00:24And finally, look at this line.
1:00:26It's basically adding a feature layer to the application, and that's the one we are going to use for editing.
1:00:34So if I go back to the services directory, you'll see that I have city pool permits...
1:00:41You don't add the feature server, you add the feature service, feature service layer.
1:00:49The layer you want to edit, right?
1:00:51Not the whole server but the layer.
1:00:53And the layer I want to edit is the layer that contains polygons who have no permit, right?
1:01:03And then I take that, and I paste that.
1:01:11And look at this, the mode, modus, mode selection.
1:01:16So the feature layer, controls how the features are fetched to the client.
1:01:20Select the mode only; don't bring anything unless the feature is selected. Okay.
1:01:27So, just a few more tweaks here; this will be quick, like the fields that I want to retrieve.
1:01:35In this case, if I want to retrieve every field, and I think we are pretty much good to go.
1:01:43Okay, I just want to point out this.
1:01:45Every time you complete edits, you are going to refresh the dynamic layer, right?
1:01:50There's another piece of code in there.
1:01:52So now we go back here and we go to a.html, and that's my cache map service, if I zoom in a little bit.
1:02:03Those are my parcels, and then, oh, this guy, there you go...has pool. Yes.
1:02:16Boom, it changes. Right?
1:02:18The only thing is left here is to remove the Delete button which is just a simple line of code.
1:02:24So, while, what I was trying to demonstrate here is that through the APIs, you can build very customized...
1:02:33...web editing applications.
1:02:34And that is a key aspect of web browser editing, because now that you see that you have ...
1:02:40...an attribute inspector and all these things, you think oh my god, I can create a killer app.
1:02:45This app that has delete, add, move, reshape, edit, vertices.
1:02:52All these are buttons in a nice-looking toolbar.
1:02:55It has perpendicular tracing, parallel. It even has this button on the toolbar that you can...
1:03:01If you select two lines, right, that are going to intersect, but they don't quite touch, but you select them...
1:03:06...and then you push the control key, and while standing on your left foot, you click on this other key and then, boom. Right.
1:03:13Don't do that, don't do that.
1:03:16Don't do that, one - because as I said before...
1:03:20...we didn't design this to be a complete ArcEditor-like environment for editing.
1:03:24But also don't do that because people, the expectations that people have when they access your web editing...
1:03:30...applications is that it's going to be straightforward.
1:03:33Most likely they are not GIS professionals; they are just people who want to edit easily on the web application.
1:03:39And you can build these easy-to-use user interfaces to do even sophisticated editing.
1:03:45So let's don't confuse sophisticated editing with complex user interfaces.
1:03:50And that's a real challenge, to get that user interface right.
1:03:53So here is an example, this is a classic one.
1:03:55This is an organization that allows farmers to edit the distribution of their crops within their properties.
1:04:08And this is a complex editing workflow because the farmer doesn't want gaps between the polygons...
1:04:15...because if there is a gap, they don't get as much money from the government.
1:04:18And the government doesn't want overlaps between the different crops, because then they need to pay more, right?
1:04:25So, it's a tricky thing because you need to maintain the topological relationships, all topological relationships.
1:04:30That's it, so we need a toolbar to edit topological relationships, so we can fix errors and...
1:04:35...no, you actually don't, you just need to think about the real problem.
1:04:40And the real problem in this case, we thought it was like, okay.
1:04:45Here's the farmer who's going to navigate to his property, and you can see that there's a polygon here...
1:04:50...that we want to delineate.
1:04:52So I'm going to click on this area, and now this is, I recognize this is too much of a GIS term, but let's call it a split.
1:05:01And then I just digitize my polygon here and this will do it.
1:05:12There is no overlap or gaps between this feature and this feature.
1:05:17And now you can change the attributes and so on.
1:05:20And maybe these two, you need to merge.
1:05:23So you click that one and you say Merge, and then, boom, you merge them.
1:05:29So the trick here is that you don't need a topology toolbar, because you don't let the user make any topology errors.
1:05:38You cannot create errors, so you don't need to fix them.
1:05:41The only thing you can do is to edit, is to merge, split; merge, split; and things that to the user seem...
1:05:47...like adding features are really a split.
1:05:50In this case, I want to add this building, so you add the building.
1:05:58That's a polygon with a hole, and within that hole there's another polygon, right?
1:06:03So, I guess that's where, you know, I want you to think about, it's like, yes, sophisticated web editing...
1:06:08...yes, complex or sophisticated UIs. We don't have to...
1:06:19Okay, in this application we used the geometry service.
1:06:22The geometry service is another service that you can use as a developer, and it aids editing because it allows you...
1:06:29...to do geometry manipulation.
1:06:32Let me do a quick demonstration so you can see it working.
1:06:36Allows you to measure distances, three miles.
1:06:39Allows you to do union, execute union, it unions these two polygons.
1:06:45Allows you to do an offset off geometry, that's an offset to the inside.
1:06:51Allows you to execute the convex hole for a collection of points.
1:06:57Allows you to, let me clear...trim and extend features. Right?
1:07:09Allows you to autocomplete, so here's my parcel, and I now draw this, boom, autocomplete.
1:07:16To calculate the difference, okay.
1:07:22Calculate the intersect.
1:07:25There you go.
1:07:26To reshape, right?
1:07:31So this is just a geometry service, it just manipulates geometries.
1:07:35So the trick here is, you use this in combination with the feature service, so you get the features to the client...
1:07:42...you send them to the geometry service, you do something, you get back then to the client, and then you...
1:07:46...put them to the feature service to commit your changes.
1:07:48This is what we were using for the split and the merge application.
1:07:52Another one, server object extensions.
1:07:54This is how you extend ArcGIS Server.
1:07:56We are not going to get into this, but it's quite powerful and I just want to throw that idea in there.
1:08:01You can create your own service, and just like the geometry service helps you manipulate geometries, this one can...
1:08:08...help you do gazillion things, because you can use fine-grained ArcObjects within these services, and these are...
1:08:13...REST-enabled web services that you can create.
1:08:16Very powerful.
1:08:20Don't want to give you more about the challenges that you should experience; I think you've got that.
1:08:26In cases where you really need the sophisticated editing tools, very sophisticated, use ArcMap.
1:08:31ArcMap can edit over the feature service.
1:08:34You add the map service to ArcMap, right-click on the map service and say Edit Features Locally.
1:08:39It will sack the features from the geodatabase over the Internet, create a local copy, you can edit the local copy and then...
1:08:45...go back to the map service and say Synchronize changes, and it will use the feature service to push the changes.
1:08:53Okay, just a few thoughts about architectures.
1:08:56You are in a trusted environment, where you trust the contributions that people make, and it's a safe environment, an intranet.
1:09:04You can do nonversioned editing; it's the fastest option, right?
1:09:07Nonversioned editing, the fastest.
1:09:10But the trick is that every change that goes in, goes in.
1:09:16Version editing. I don't trust people; they may add junk to my geodatabase.
1:09:20I create a version; I call that Web Editing version, and people make all the changes in that version.
1:09:26And then I can validate the QA/QC in that version, and post changes to the master version as needed.
1:09:33The next one; not only do I not trust people, I don't even trust the network. This is kind of the...
1:09:37...cloudsourcing or VGI applications.
1:09:40Well, your geodatabase, the one where you make the analysis, don't make edits on that one.
1:09:46Create a replica, and then make edits on that replica.
1:09:49You create an isolated geodatabase and feature service, and then you edit that.
1:09:54This is what we call the contribution geodatabase.
1:09:57You isolate contributions.
1:09:59The line that separates the production geodatabase from the contribution geodatabase could be your DMC...
1:10:05...or maybe you may want to deploy this off site, in the cloud or on a separate data center.
1:10:13So you completely isolate the networks. People will not attack your geodatabase because you control this internalization...
1:10:19...between the contribution and the production geodatabases.
1:10:22Do you get the concept? It's easy, right?
1:10:26Okay, and then Q&A. I'm not sure if we have a lot of time, but quick, quick, quick. You have questions?
1:10:32Three or four minutes for questions.
1:10:35Those are some that people often ask, but...
1:10:39[inaudible audience participation]
1:10:50Okay, so the question is, do I need a license in the client machine where my application is running?
1:10:55No, it's just a web browser; you don't need to license anything but the server. The applications...
1:11:01...you can use as many as you like.
1:11:04[inaudible audience participation]
1:11:12Right, in practice I can create my geodatabase, expose it as a feature service, and create a simple application...
1:11:18...on my web browser that anyone can use to edit my geodatabase with no additional licensing on that client.
1:11:24Yeah. Lots of editors.
1:11:27[inaudible audience participation]
1:11:30Okay, if I am editing a feature service through ArcMap, I need an ArcEditor license for ArcMap...
1:11:35...and then I can do the editing.
1:11:40[inaudible audience participation]
1:11:44Okay. Pooled versus nonpooled. I forgot to mention that, but feature services work with pooled services only.
1:11:50It's a stateless service.
1:11:52So, we don't have this notion of long-term sections that we have with the web ADF editing, which still works.
1:11:59In fact, there is no redo, undo, redo in here.
1:12:03You make a change, you make a change.
1:12:05If you want to implement undo/redo, you will need to do that at the application level...
1:12:09...but the service doesn't have that concept.
1:12:14More questions?
1:12:16[inaudible audience participation]
1:12:21Yes, attachments...right, a concept of attachment in the geodatabase works with both file geodatabases...
1:12:28...and ArcSDE databases, and is new in 10.
1:12:31In 9.3.1, it doesn't.
1:12:32By the way, speaking of 9.3.1, all of this you can do with ArcGIS Server 10 against 9.3.1 ArcSDE database.
1:12:40You don't need to update the database itself.
1:12:45[inaudible audience participation]
1:12:50Okay, the template definition is stored in the map document; in the layer, actually, right, Gary? It's the layer.
1:13:01[inaudible audience participation]
1:13:04This editing only works...you missed the first slide...this only works against multiuser geodatabases...
1:13:11...workgroup or enterprise, but file geodatabases, check files, CAD...no.
1:13:15No, because those things are not for multi-user editing, those are just for single use.
1:13:23[inaudible audience participation]
1:13:29That's application logic, like in the pool permits application, I told you, you cannot edit but what's the feedback that I get, right.
1:13:36I should have done that in the application.
1:13:42[inaudible audience participation]
1:13:45Okay. At this point in 10, we don't have feature-level security.
1:13:52So once the user can access your feature service, they have add, delete, everything. They can touch any feature.
1:13:59So you can prevent user A from deleting features from user B with application logic.
1:14:04But at the service itself, that's something we are working on for the next version.
1:14:09You can control feature-level and operation security.
1:14:14But in 10, you get access to the feature service, you get access to...
1:14:21[inaudible audience participation]
1:14:28More questions?
1:14:32[inaudible audience participation]
1:14:35Yeah.
1:14:37[inaudible audience participation]
1:14:44Yes, yes, there are so many things.
1:14:46So, in 10, when you have a geodatabase relationship...
Web Editing in ArcGIS 10 for Server
This session is a more in-depth look at using ArcGIS 10 for Server feature service capabilities for simple editing within Web applications. Web editing can be used by organizations for empowering everyday Web users to contribute volunteered geographic information (VGI) as well as for distributing common editing tasks to non-GIS staff.
- Recorded: Jul 15th, 2010
- Runtime: 1:15:00
- Views: 127154
- Published: Jan 27th, 2011
- Night Mode (Off)Automatically dim the web site while the video is playing. A few seconds after you start watching the video and stop moving your mouse, your screen will dim. You can auto save this option if you login.
- HTML5 Video (Off) Play videos using HTML5 Video instead of flash. A modern web browser is required to view videos using HTML5.
Right-click on these links to download and save this video.
- 480x270:MP4 (84.5 MB)
- 960x540:MP4 (284.0 MB)
If you don't have an Esri Global Login ID, please register here.