|
BLOG
|
ArcGIS Online groups can help with organizing and delivering content for courses. If you are following best practices for ArcGIS Online in higher-education, then instructors will already be empowered to create and manage groups for their own courses in your organization. You could also go a step further, and automate the creation and management of course groups. The overall path is to connect ArcGIS Online group management to a campus system of record that knows which students are enrolled in which courses. A couple of ways you can do this include: SAML based groups in ArcGIS Online, and an open-source integration service, kartograafr. SAML Based Groups in ArcGIS Online If your institution maintains course groups in a SAML-accessible directory, then you can leverage ArcGIS Online's support for SAML-based groups. Common SAML-accessible directory technologies used by educational institutions include Microsoft Active Directory (AD) or Lightweight Directory Access Protocol (LDAP). If you have already enabled Single-Sign-On (SSO) using SAML for your ArcGIS Online instance, then you may already have noticed the configuration option for "Enable SAML based group membership." This option can be used to automatically manage group memberships in ArcGIS Online by linking them to a group with the same name in your directory. For instance, let's assume you have a group in your directory called "arcgis-earth-380-001", which contains a list of all the students in your course. You can then create a group in ArcGIS Online with the same name, and for, "How can people join this group," select the option for, "Being a member of a SAML group". Now when a user who is a member of that directory group logs into ArcGIS Online, they will be recognized as a member of that ArcGIS Online group automatically. You do not need to manually add them to that ArcGIS Online group. Guidance on how to set up SAML groups can be found under Set up SAML logins, look for the bullet point on "Enable SAML based group membership". You will likely need to collaborate with the same folks that helped you configure Single-Sign-On via SAML for your ArcGIS Online organization. Performance with SAML based groups in ArcGIS Online will degrade, however, if you have many groups in your directory, which is usually the case. So you need a way to filter for a subset of groups that you want to use with ArcGIS Online. For instance, you could use a naming convention to limit which SAML groups are visible to ArcGIS Online. As an example, you could configure SAML to only surface groups whose name starts with "arcgis-", and the rest of the groups in the directory would be hidden to ArcGIS Online. Note that this approach can be used for any groups in your directory. You do not have to constrain it to just course groups. kartograafr - An Open-Source Integration for Canvas and ArcGIS Online Another approach is to deploy a service for integrating ArcGIS Online with a campus system of record. If your institution uses Canvas as its Learning Management System (LMS), then check out kartograafr, an open-source solution we developed at the University of Michigan. kartograafr enables you to link ArcGIS Online group management with Canvas course rosters at the Assignment level. In other words, kartograafr can be used to automatically create an ArcGIS Online group for a specific assignment in a course, and the membership of the group will be kept in sync with the Canvas course roster. In its current version, kartograafr checks a configuration page in Canvas to know which courses may be using the ArcGIS-Canvas integration. So instructors need to provide the URL for their course to the kartograafr administrators, and they add it to the configuration page. The instructor also needs to add "ArcGIS Group" as an Outcome option for Assignments in their Canvas course. (A Canvas administrator can do the one-time setup of the "ArcGIS Group" Outcome to make it available to instructors.) Together these steps enable the linking of ArcGIS Online group membership to the courses' roster in Canvas. For courses being monitored by kartograafr, it keeps an eye out for "ArcGIS Group" as an Outcome for the Rubric of an Assignment. An instructor can set that in Canvas when they are creating or modifying an Assignment. For each assignment that has "ArcGIS Group" as an Outcome, kartograafr will create and manage a separate group. The ArcGIS Online group name is derived from the Course and Assignment names in Canvas. If students add or drop a course, kartograafr will update the memberships of the corresponding ArcGIS Online groups for that course. Memberships are kept in sync with the courses' Canvas roster based on the frequency at which you schedule kartograafr to run. At our institution it is configured to run once every 30-minutes, at 15-minutes and 45-minutes past the hour. Note that if a student drops a course, none of their content is lost. When the student drops the course, they are automatically removed from the Canvas roster, then kartograafr propagates that change to ArcGIS Online, and the student is removed from the ArcGIS Online group. Once the student is removed, any content they own, which they shared with the group, will have that group removed from its sharing settings. If they rejoin the course later on, then their content still exists, and they can re-share it to the appropriate group. kartograafr is open-source, so please feel free to contact the authors through github, and help develop it further! Perhaps your institution uses Blackboard, and you could contribute a Blackboard integration for kartograafr? One of the things our instructors would love to see added to kartograafr is automated cloning of students' submissions at the close of an Assignment. Instructors want to own a copy of record for grading purposes, which the student cannot edit past the due date; and, the student gets to retain their original item(s) to perhaps work on further, if the first submission was a draft, or to incorporate into their GIS portfolio. Currently we offer this as a manual, administrator-assisted option, as cloning is not a uniform operation in ArcGIS Online, and how you do it depends on the type of item(s) involved (e.g., Clone an ArcGIS StoryMap.) Course Groups versus Assignment Groups For either approach discussed above -- SAML-based groups or kartograafr -- we found the best approach was to have separate groups created for each assignment in a course, rather than a single group to use throughout the course. We originally explored using a single group per course, however, in courses with multiple assignments, feedback indicated the single group was becoming too cluttered to be useful. Content from multiple assignments -- either items being shared by the instructor to the students for starting projects, or submissions from students for multiple exercises -- made it challenging to keep track of what was what as the course progressed. So we switched kartograafr to manage groups at the Assignment level instead. If an instructor still wants a single group for a specific purpose with kartograafr, then they can create a Canvas Assignment that is valid for the whole semester. If you are using SAML groups, then it may not be possible to have individual course groups per assignment. Most institutions I have encountered are only generating a single automatic group in their directory for a course. So you potentially will run into the problem of too many items in one group for it to help with organizing or delivering your course's content.
... View more
10-21-2021
01:55 PM
|
2
|
0
|
1883
|
|
IDEA
|
@OwenGeo great to see this functionality has been added to StoryMaps! Some initial user feedback highlights a desire to have the links available to copy in the Edit view of the Story. An author may be editing their story and wants to add a link in the text in the middle of one section to another section of the StoryMap; or, an author might be adding links in their text throughout the story where they cite references, and they want all those occurrences to be a URL linked to a Reference heading at the end of their story; or, maybe they are using sub-headings for the full reference for each individual citation, and want to link to those in their story. In the current implementation getting the URL for a heading or subheading requires an author to leave the Edit view, go to the Published view, scroll to the heading/subheading, copy the URL, return to the Edit view, scroll back to where they needed to use the URL, and enter it there. That can be quite a time-consuming process. It would be a lot easier if the URLs for headings/subheadings were directly accessible in the Edit view.
... View more
10-13-2021
01:25 PM
|
0
|
0
|
7535
|
|
IDEA
|
The ability to obtain URLs that takes a reader to a specific heading or subheading, was added in recent StoryMap releases; 30 June 2021 (headings) and 28 July 2021 (subheadings).
... View more
10-13-2021
01:16 PM
|
0
|
0
|
7540
|
|
POST
|
@GWaltersOZ we have stuck with built-in or arcgis accounts for the portable Enterprise deployments. It would be a potential security risk and very complicated to support enterprise accounts and single-sign-on in such a scenario. We do use enterprise accounts on our regular ArcGIS Online and Enterprise instances, so we try to make sure the account names used on the portable Enterprise deployment are the same. That way, when you transfer data back, things like the usernames in Editor Tracking are correct. So if you have a user on your ArcGIS Online organization with an idpusername of "jack" , and the short name for your org is "esri", then their enterprise username is "jack_esri". On the portable Enterprise instance, you would create an arcgis account with that full username "jack_esri" for that user to use. If you end up with arcgis and enterprise usernames that do not match between systems, then it can be helpful to script the mapping of the two to fix your data when you transfer it back. The script would use the mapping between the two usernames to update the Editor Tracking attributes, or any other attribute fields in which you used usernames.
... View more
10-09-2021
07:41 AM
|
0
|
0
|
2520
|
|
POST
|
We have done this regularly for years to support work at remote field sites having no or unreliable Internet access. We have found it highly effective. It is a tremendous help in doing more with your data, while you are still at the field site, so you can discover and address problems or plan new work while you are still there. Our approach has been to setup a laptop with an ArcGIS Enterprise base deployment, add any extras we need (e.g., Image Server), and setup a local WiFi intranet. Folks operate in offline mode during the day on the tablets and phones, and do all the syncing and sharing back at base camp. That can also operate in online mode at basecamp for real-time collaboration. (Keep in mind that the core of this is a laptop, however, so you if you have a lot of collaborators, then you need to establish workflows or protocols, such that not everyone is hitting the server at once!) We haven't yet tried Distributed or Partnered Collaborations with it. It seems like there is good potential for using them as a way to transfer data to your main ArcGIS Online organization or another Enterprise instance back in the real-world. So far we have been relying for basic projects on regular exports of file geodatabases, or for more complex projects, added a SQL Server to the mix for enterprise geodatabases and used two-way replication; and, then sending someone with a thumb drive off-site to where there is Internet access. In addition to ArcGIS Enterprise, one also needs to run a Domain Name Server (DNS) server, so that clients (e.g., web browsers, Pro, Field Maps, Survey123) can successfully resolve and trust the SSL cert used by the server. We install BIND on the same laptop to handle this, however, there are lots of ways to do this, and I suggest using whatever your IT folks are already familiar with for DNS. (And for things to work correctly when you do have the laptop connected to the Internet, remember to turn off the local DNS server!) -peter
... View more
10-05-2021
06:51 AM
|
3
|
2
|
2582
|
|
IDEA
|
@AaronKoelker Good point about a coordinator-type-person perhaps being the only one that has a full understanding of the situation; an admin likely has no idea what individuals are up to, and users may not fully understand what is dependent on what.
... View more
08-26-2021
09:05 AM
|
0
|
0
|
2795
|
|
IDEA
|
As organizations grow in size, it feels like trying to solve issues like this with privileges might not scale all that well. I expect many large orgs have to follow data security or privacy rules that limit how many folks should legitimately have access to everything in the system. And, those few folks likely don't have the time to handle lots of ownership change requests. Roles like GIS Coordinators might require limited scope based on those data security rules -- access to their division's content being appropriate, but not to other divisions' content -- however, with no scoping of access for ArcGIS Online content you may not be permitted to even have such roles. Perhaps another way to address this is to put the power of transferring ownership in the combined hands of the owner of the content and the person who is receiving it. The content owner could select one or more items and specify a receiving user. That would trigger notification to the receiving user, and they could review the list of content and choose to accept or reject the items. Such a workflow eliminates the need to involve an Administrator, who in a large organization these days, likely knows nothing about the individual users or their content. The two-step process also prevents one user from spamming another with content, intentionally or unintentionally. And, this approach could provide an audit trail for the transfer. @AaronKoelker would a workflow like that address be compatible with your needs? (In practice, because we are a large organization and have strict data privacy requirements that severely limit the number of admins, we opted to implement such a workflow using survey forms and scripts. An admin still has to get involved to run the actual ownership transfer, but only after both the original and new owners of the content have already given their approval. Ideally we would like to take the admin out of the equation entirely, as this sort of workload does not scale.)
... View more
08-24-2021
07:56 AM
|
0
|
0
|
2826
|
|
POST
|
The "View final result" link at the start of the lesson, for the "In the Shadow of a Volcano" story, no longer works. It points to: https://storymaps-nextgen.arcgis.com/beta/stories/f953d4489b1d4b4d99f2115eaacea424 It looks like the story was moved to: https://storymaps.arcgis.com/stories/f953d4489b1d4b4d99f2115eaacea424
... View more
08-12-2021
12:30 PM
|
0
|
2
|
1491
|
|
IDEA
|
Our institution would like to see Employee and Hub ArcGIS Online login experiences separated as well. In our case, we are hoping this can be achieved based on the URL the user is visiting. If they are going to the URL for our Employee org, then they get the login experience configured within that ArcGIS Online organization. If they are going to the URL for our Hub org, then they get the login experience configured for the Hub's ArcGIS Online organization. For our Employee org, we want to be able to configure it to only show only SAML logins. We want to avoid having users accidentally enter their enterprise credentials into the arcgis login by mistake. And, we have no need for social logins this org, so we want to hide those as well. For our Hub org, we want to offer all the options: SAML, arcgis, and social logins.
... View more
07-16-2021
07:16 AM
|
0
|
0
|
1845
|
|
POST
|
Check out the blog post, Introducing Data Expressions in ArcGIS Dashboards, which includes example code that is probably easier to read then what I typed up. The first example, "Data that needs restructuring", illustrates the same pattern I was describing. In this example, they have implemented logic that counts up occurrences of individual values, for features that can have one or more of those values in a single attribute. It loops through each feature in the table, one-at-a-time, updating the appropriate counts. (See For loops to learn more about looping in Arcade.) In your case, it sounds like you have twelve attributes, your months with YES/NO values, for which you need to develop logic (to use in step #4) to derive the number of occurrences of year-round, half-year, and less-than-half year markets. So in your data expression everything after the "for (var feature in fs) {" would be different. Maybe you count up the number of YES values across all twelve attributes, and then depending on that value you get, increment the appropriate counter variable. In step 2 you are creating a dictionary to hold the JSON definition of your eventual feature set. Note that what I provided is very similar to what is in the above example, as one is following the ArcGIS format for defining a feature set. (See the top of the Arcade function reference for FeatureSet for another example of the JSON format.) You can think of this step as defining the data schema for the table that will hold your results. Since your goal is to have a pie chart showing the number of year-round, half-year, and less-than-half year markets, then you need a data schema that is designed to hold such data. One way to do that is to create a schema that includes a category and a count. Then in step #4, you are calculating those counts, and, in step #5, store those counts in the dictionary that will become your new feature set. 'geometryType':'' is how you define a feature set that has no geometry. In other words, a table layer, rather than a feature layer (point/line/polygon). The Text() function serves to convert the dictionary to a text string, which is the type that FeatureSet() requires for its input parameter. If you provided the dictionary directly, then you would get a type mismatch error. Good luck!
... View more
07-09-2021
02:26 PM
|
1
|
1
|
4961
|
|
POST
|
An Arcade data expression pattern you might find helpful here is to generate a new feature set, which contains the values you need calculated from your existing feature set. Then return the new feature set for the Dashboard to consume. In other words, creating an entirely new table (based on the data from your original table), which only exists in the context of the Dashboard, and which has the data you need for your pie chart. Your data expression would do something like: Get your current table as a feature set (i.e., var fs = FeatureSetByPortalItem(...) ) Create an empty dictionary from which you will construct your new feature set (e.g., var my_dict = {'fields': [{'name': 'category', 'type': 'esriFieldTypeString'},{'name': 'value', 'type': 'esriFieldTypeInteger'}], 'geometryType': '', 'features': []}; ) Create some counters for your different conditions (e.g., var yeararound = 0; var halfyear = 0; var lessthanhalfyear = 0; ) Now loop through your existing feature set from step #1 (i.e., for (var feature in fs) {...}), and for each feature apply the appropriate logic for your data to increment the correct counter. Add your counters' values as rows of data in your dictionary (e.g., my_dict.features[0] = {'attributes':{'category':'yeararound','value':yeararound}}; my_dict.features[1] = {'attributes':{'category':'halfyear','value':halfyear}}; my_dict.features[2] = {'attributes':{'category':'lessthanhalfyear','value':lessthanhalfyear}}; ) Convert your dictionary into a feature set (i.e., my_fs = FeatureSet(Text(my_dict)); ) Return your new feature set to the Dashboard (i.e., return my_fs; ) Configure your Dashboard widget to display the data from this new feature set as desired! Hope that helps.
... View more
07-09-2021
11:42 AM
|
2
|
3
|
5023
|
|
BLOG
|
Make sure to click on the link, "Join Meeting as an Attendee", and not the big "Sign in to Start" button.
... View more
06-21-2021
08:44 AM
|
1
|
0
|
3519
|
|
IDEA
|
With Pro now being the primary desktop GIS application, it would be great to have the Tutorial - Introduction to GeoEvent Server updated to use ArcGIS Pro, instead of Desktop. Thanks!
... View more
06-10-2021
11:17 AM
|
3
|
2
|
1932
|
|
POST
|
Thanks for sharing your testing results! (I think some of the elapsed times are missing for individual test steps in what you've shared, like the Analysis step?) GIS can be used in a variety of ways, so it is usually a question of interpreting the results in the context of your own specific workflows. For example, if you have a basic GPU, then it will likely score poorly on the 3D performance tests relative to a powerful GPU. However, if you're not doing the kind of GIS work that needs a powerful GPU, then it can still be a passing score for your use case. As mentioned in the blog post, the cumulative time it takes to run each test level provides an overall indication of ArcGIS Pro performance on the hardware. For each test level you run, there should be a summary file (e.g., SUMMARY_Level1.log) which includes a Total Elapsed Time value. That value can be compared to the ranges in the table in the blog post. Or, if you use the run-all test script, then it will produce a CSV file that nicely summarizes each level's elapsed time in one place, which you can then compare to that table.
... View more
06-01-2021
08:59 AM
|
0
|
2
|
6532
|
| Title | Kudos | Posted |
|---|---|---|
| 3 | 2 weeks ago | |
| 4 | 2 weeks ago | |
| 2 | 04-24-2026 05:42 AM | |
| 1 | 04-23-2026 08:00 AM | |
| 3 | 04-23-2026 10:58 AM |
| Online Status |
Offline
|
| Date Last Visited |
Thursday
|