Comments (26)
@sumitzarkar: Thank you for looking into this. Let me connect with the team, and get back to you soon.
from crowdsource-manager.
@skrishn @sumitzarkar we are waiting on an answer from the AGOL team on whether or not interactive filter capability is on the roadmap. We will sync with you once we know.
from crowdsource-manager.
@sumitzarkar The development is not planning on adding the Interactive/prompt for values filter to the new map viewer.
Are we able to look at additional option to allow the application to work correctly without additional configuration on the users part?
from crowdsource-manager.
@sumitzarkar I reached out to AGOL team and they confirmed that this property is reliable for distinguishing between the two map viewer maps. Could you please update the issue about the backward compatibility issue we could see if we don't distinguish between these two? Our team is good with this change.
from crowdsource-manager.
@sumitzarkar I think we are good with not having the new functionalities. So the 4.x map viewer filtering functionality will have parity with 3.x map viewer except the "Ask for value" right?
from crowdsource-manager.
@sumitzarkar Could you please investigate this issue and discuss the findings with @LindsayThomas and @skrishn
from crowdsource-manager.
@aparveen @LindsayThomas @skrishn
We have analyzed this issue and here are our findings:
- Filter functionality was implemented in CSM according to the details in the ticket - #99
- App is designed to show only those filters which have 'Ask for Values'. Ref of the previous discussion - #99 (comment)
- The new Map Viewer is currently not supporting this 'Ask for values' feature - Ref Link
- We depend on the information which we find in the operational layer details of a webmap which helps us in showing filter icons to only those specific columns which are involved in filtering and allow user to fiter it with user values at runtime.
- As this feature is not yet implemented in New Mapviewer we don't see a way to support this functionality in Manager APP.
- We can get AGOL team's input regarding the implementation of this feature in New Mapviewer and then based on their input we can plan.
- If this functionality is not going to be added at all we may have to find an additional way to support it in CSM. If this is going to be added soon we can mark this as a known limitation for now.
Please let us know your thoughts on this
from crowdsource-manager.
We are analyzing all possibilities to allow the application to work without additional configuration. Will get back to you with all the feasible possibilities.
Are we looking to fix this for AGOL 10.1 release?
from crowdsource-manager.
We are analyzing all possibilities to allow the application to work without additional configuration. Will get back to you with all the feasible possibilities.
Are we looking to fix this for AGOL 10.1 release?
We would like too. But if the LOE and Risk are high then we may push till 10.2.
from crowdsource-manager.
Are we looking to fix this for AGOL 10.1 release?
We would like too. But if the LOE and Risk are high then we may push till 10.2.
LOE and Risk are high for this change, let's push this for 10.2. it would need a good amount of testing as well
from crowdsource-manager.
As discussed on the last call we checked the feasibility of allowing users to select the filter values if 'Ask for values' filters are not applied and here are some challenges in implementing this:
-
To allow users to select filter values at runtime in the app we need to create a layer definition editor from layer definition expression. As the definition editor contains inputs and parameterizedExpression(as shown in the below image), we need to break layer definition expression in subexpression to create inputs for each applied filter and to create parameterizedExpression.
-
We find this operation quite complicated however, we can add a logic that can create this definition editor from definition Expression.
-
To show any filter option it is mandatory to have Hint and Prompt as it is used to understand what that filter is doing and hence Mapviewer classic validates that when 'Ask for values' is enabled Hint and Prompt is not empty.
-
Now if we generate the definition editor from definition expression we have a challenge how to add hints and Prompt for those filters which don't have 'Ask for Values' enabled. Also, it is not possible to provide unique hints and prompts.
-
To overcome this we can create Prompt(filter titles) using the condition applied in the filter. For e.g. If we have applied a filter on the status field where status is Submitted and one more filter status is not In Progress
Note: As we don't have any hint text in such cases we can hide the Hint text -
The manager app is designed to allow users to select the values in the filters where 'Ask for values' is enabled
-
We cannot display the filters option on all fields as to apply filters we need some conditions.
- Condition will have a field name, some operator( is equal, starts with, etc.), and a value.
- If any field is not involved in the definition expression then it means we don't have any filter condition applied on it and as we just have an option to select the value in the Manager app we cannot consider such fields to show/allow filters.
-
The filtering option will not be displayed in the following filtering conditions:
i. "is blank"
ii. "is not blank" filter is applied
Since in these cases, there is no option to select any value we cannot support filtering for such conditions -
Also, currently 'Ask for values' filter cannot be enabled for Date Fields. And, as a result in the Manager App, we don't have any provision to select values for filters in case of fields with a Date type. This means if we have to support filtering date fields at runtime we may have to create a date picker in filtering controls.
Please let us know your thoughts on this and if required we can discuss it on the call
from crowdsource-manager.
@sumitzarkar Is there a way to make this change for 4.x viewer maps only, 3x viewer maps where ask for value is enabled won't be impacted?
from crowdsource-manager.
@aparveen We need to check if we can get any details to distinguish and identify in which mapViewer the webmap is created. Will analyze this and will share the details.
from crowdsource-manager.
Here are our findings to distingush between Map Viewer and Classic Map Viewer;
- We can use "authoringApp" property to distinguish between webmap created in Map Viewer Classic and new Map Viewer.
- When map is created or edited in Map Viewer Classic "authoringApp" is set to "WebMapViewer"
- And, for new Map Viewer "authoringApp" is set to "ArcGISMapViewer"
Could you check this with AGOL team if our unerstanding is correct
from crowdsource-manager.
-
With the current implementation in production we provide the option to change the filter value in CSM app only when 'Ask for value' is enabled
-
As an implementation of this ticket, we decided to show filters to each field that is involved in Definition Expression (excluding date fields, and some filtering conditions that cannot be honored ).
-
After the Implementation of this ticket user can change the filter values for any field involved in the definition expression which is different from the previous implementation where the user can only change the values of the filter for fileds where 'Ask for values' is enabled, and cannot change the filter value for any other field which is involved in definition Expression.
-
This could be a major difference in the app behavior where the user will be allowed to change the value for filters although as an admin you would like to restrict to not changing those filter values.
-
And, this issue will still be there if we distinguish between the map viewers or not.
Example:
- In the webmap filter is applied on the layer for field Status = 'In Progress' so that users can see only those features in the layer which have 'In Progress' status.
- With the current app in production users don't have an option to change this filter from the CSM APP and the user can only work on the features with the status as 'In Progress'
- After implementation of this ticket user will get an option to change the filter value for the status field as it is involved in definition expression and now the user can see any features in CSM app.
from crowdsource-manager.
- This could be a major difference in the app behavior where the user will be allowed to change the value for filters although as an admin you would like to restrict to not changing those filter values
I thought it would not be there if we distinguished between the map viewer maps and apply the changes only to new map viewer maps.
from crowdsource-manager.
@sumitzarkar could you please update this issue with clarified discussion we had this morning. We are good with this approach as long as it does not break backward compatibility.
from crowdsource-manager.
could you please update this issue with clarified discussion we had this morning. We are good with this approach as long as it does not break backward compatibility.
As discussed on the call - With the implementation of this new change, filters will be available for user on the columns only in New Map Viewer. So from backward compatibility point of view for the apps with old map viewer we don't see any functional impact.
from crowdsource-manager.
-
We observed that the old map viewer does not contain 'include' and 'exclude' filtering conditions. However, these conditions are present in a new map viewer.
-
In 'include' and 'exclude' filtering conditions users can select multiple values but in the Manager App we don't have any provision to select multiple values.
-
So we cannot support 'include' and 'exclude' filtering conditions along with the current implementation of CSM.
-
If we need to support these filtering conditions at runtime we may have to create a multi-select dropdown in filtering controls and this is not considerd under current scope of this ticket.
from crowdsource-manager.
Dev Checklist
Items | Is required | Status | Comments |
---|---|---|---|
Required NLS changes? | Yes | - | |
Required Backward compatibility | Yes | - | |
Required 508 | No | - | |
Need Sanitize? | No | - |
Impact Analysis Report
Impacted Areas | Comments |
---|---|
Have Configuration changes? | No |
Have Runtime changes? | Yes |
Impact on RTL | No |
Runtime impacts | 1. Test by applying different filters on different field types in the new web map viewer. 2. The filter icon should be shown on the column on which filers are applied. 3. Filter icon should not be shown for date,Blank/Not Blank and include/exclude filters. 4. Test with "Apply default filters automatically" configuration settings in the filters tab for CSM App. 5. If the web map is created in the old web map viewer then the application for that web map should work as before. |
from crowdsource-manager.
@sumitzarkar In Manager filter enhancement, I can see the filter and default choice is value, In 3.x maps it always shows the unique value, do we need to show these two choices?
in 3.x maps it looks like the below screenshot
from crowdsource-manager.
- Whenever we have domain fields we see only a dropdown to select the value. And, for other fields, we show both the options in 3.x as well as 4.x
- In the above example for 3.x status field must have a domain defined and hence we see an only dropdown
- And for 4.x example the field city seems to be non domain and hence both the options (Value and Unique) are shown.
For e.g. In the below screen capture Text Field is non domain and we can see both options whereas for TextFieldCoded is domain and we see only one option (dropdown)
Please check and let us know. If you still see any issues please share the app link to reproduce the issue.
from crowdsource-manager.
verified in dev
from crowdsource-manager.
@sumitzarkar seeing a minor issue with the filter icon, if when scrolling down the table the filter icon is disappearing, it appears back again when scroll back to the top again, the table header is there just the icon is disappearing, is this expected?
?
from crowdsource-manager.
Good Catch 👍
We are able to reproduce this issue, and this is due to the floating header. We have a floating header in the table which is shown on scrolling the table content and we missed enabling the filter icons on this floating header.
We have identified the root cause and we are working on it, we will deliver the fix soon.
from crowdsource-manager.
verified in qa
from crowdsource-manager.
Related Issues (20)
- Provide an option to automatically refresh the table. HOT 13
- Add message for users using deprecated browser HOT 4
- Add 'Short Org Url' messaging
- Manager auto refresh functionality to behave like web map HOT 5
- Update the vulnerable Out-of-date jQuery version 1.11.4 to the latest version HOT 3
- Sorting removed after edit HOT 9
- Multiple record selection after sorting is selecting extra records HOT 3
- Sort order should not reset in CS Manager app when using OBJECTID field for sorting HOT 3
- Crowdsource Manager is not showing any records after the web map is saved in new map viewer HOT 8
- LOGGED IN WRONG REPO -Issue with Custom Vector basemap? HOT 2
- Crowdsource manager is not working with new map viewer map after adding a layer. HOT 8
- BUG-000149766 Citizen Problem Manager web app becomes unusable when attempting to add the feature layer from another deployed Citizen Problem Reporter solution HOT 6
- Duplicate domain issue when the multiple domain applied to a field for each different subtype HOT 3
- Reference Layer is not showing in the app HOT 3
- Edit mode appears when multiple points selected HOT 5
- Add support for manager to consume the grouped layers in new map viewer. HOT 8
- Crowdsource Manager Report could not be submitted HOT 6
- Crowdsource manager is not showing any records after the map was opened in new map viewer HOT 5
- Cannot Select Data After accidental 4.x mapviewer save
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crowdsource-manager.