-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Search collections impacting content categorization and UX #355
Comments
@tomwayson I wanted to follow-up on this issue you asked I open last month. Happy to chat it over or continue an asynchronous conversation :-) |
pinging myself re: city engine web scene, need to fix that sooner than later. |
I looked into moving city engine web scenes, but that would break existing tests that expect those to be included in map search results. @drspacemanphd I want to get you looped into this conversation. Is it OK to change the collection types like this? See @brollison's concern above:
If not, I will create a |
This was the comment @tomwayson referenced in today's weekly content views stand-up. The ask is to review the issue above and decide a path forward for resolution -- this may be asynchronous conversation here on the issue, a high-bandwidth discussion, or a kick-off discussion followed by async conversation. After reading the issue, please comment with your initial thoughts and preference on next steps. STAKEHOLDERS
I believe everyone but the search folk have context on this issue. |
@brollison @tomwayson after review I understand the disconnect but I'm not sure what the best approach is. I'm not familiar with all the misalignment examples. For point #1 can we make small reclassifications on a per-item basis where needed? My recommendation would be that we gather a list of all the misaligned item types and then hold an hour meeting to review the list and see how it aligns or differs with our declared classification of supported item types. Then we can see how that affects point #2 and point #3 (which to me are a follow-up concerns). |
@tomwayson thanks for adding |
@MarvinPerry - |
Earlier this month, the following people met to further discuss the current impact and next steps of content categorization and search collections being tightly coupled in the application:
An outcome of this meeting was a clearer definition of the content classification domain model. I've taken a stab at that below...
COLLECTION - configurable grouping of content categories and/or types meant to facilitate information retrieval via search, example...
CATEGORY - non-configurable grouping of content types meant to organize types of content into logical groupings to facilitate manager search, content configuration, and application architecture (used here on "Supported Item" > "Category" tab for content views), example...
CONTENT TYPE - non-configurable translation of
PLATFORM TYPE - non-configurable literal |
@brollison providing a comprehensive view of this work is imperative. Thank you for gathering and outlining this approach. I'm concerned about the specific re-use of Category since that is a reserved term already used in ArcGIS for a taxonomic label applied to Items. Since we are extending our domain model by introducing a new concept for "meta-type" we should try to use a new unique word to describe this concept. This will prevent future confusion in requirements definition, information design, development, and documentation. Options for this word could play on how scientific names work - where To contextualize in your good scenarios
|
Also, in your diagram you state
A Catalog is similar to a Collection, in that it defines the Groups (today) or Tags/Types/Orgs/Users (future) for the entire Site catalog (conceptually the All collection). The Collections are then subsets of the catalog. Perhaps we could say there is a |
@ajturner thank you for the feedback, I fully agree and have updated the proposed model. I've changed Category to Class, truncated "Classification", which I don't believe is used in the platform today; however, it is obviously a regular dev and domain model term which may still present confusion. In an effort to use entirely unique terms, I decided Type (platform's Obviously the goal with these names is to ensure clarity in design, development, and communication amongst the team; therefore, continual feedback and ideation on a final taxonomy may be warranted. This brings our current definitions to... CATALOG COLLECTION CLASS LABEL
|
@brollison thanks for this. I think your diagram makes sense. I'd like to see an example of each, so I added a few that exist today. Please correct them if they're wrong. |
@brollison I don't know if we should require a Site has a catalog, or a catalog has collections. A Site may have a catalog which defines its Search definition scope. If a catalog is not provided then the Site catalog is implied to be (Site owner's Org's content?) A Catalog may have collections to provide additional focused Search definition scopes. The catalog definition is used for "All". Technically this looks like
To be clear, how they are used: would result in a unioned set of search definitions:
where the Site is configured as:
|
@ajturner making a catalog optional and falling back to the org's content is interesting, I would presume we already do this via v3API at Would it be correct to say...
I can see use-cases for the "implied" catalog being the organization or the user; however, I would lean toward making the organization the default as it seems to fit most current and future expected experiences. I also more clearly understand |
currently on I'll take a stab at your statements @brollison, 1. yes but these are implicitly defined 2. yes 3. yes, but we should provide defaults as we do currently I think Brian's original reason for starting this discussion came from incongruence between the definition of collections used in search vs other parts of the application. I'm a bit worried that catalogs may be adding unnecessary complexity to the current problem. @ajturner we should sync up and discuss searchDefinitions and catalogs in more detail. I'd like to fit |
The V3 API does not currently limit the Search based on the domain - https://org-short.hub.arcgis.com/api/v3/datasets. The Site UI does, but if you watch the network requests it calls this API with the "definition" of group ID, augmented by collection parameters as selected. I agree that we should consider that the API does use the domain and path to automatically apply configuration parameters to simplify developer experience. To your other statements:
Here are Klara's mocks for teaching users
|
@ajturner thank you for the additional details here - I think there should be a continual focused discussion around search; however, I'd like to cap it for the purposes of moving content classification forward as it is currently impacting content views. I've proposed the following definitions (including "Collections" to show differentiation)... COLLECTION CLASS LABEL TYPE @tomwayson @ajturner @thomas-hervey are these appropriate definitions to move forward with? If not, please supply alternatives if possible. @tomwayson I believe there is an outstanding concern the existing |
@brollison these definitions make sense to me. For clarification, what does "manager search" mean under the class definition? Also, can you or someone else in this thread double check the examples I've added to the model? |
@thomas-hervey good question, I was specifically referencing search for content managers in "Edit Mode" such as item pickers and the Gallery Card as two examples. Your examples are accurate, but perhaps not the most descriptive of the point as a PDF will likely still be a PDF as a label. Descriptive examples may be...
|
@brollison those make sense to me and I'm good with the examples. I really appreciate you taking the lead on this. I'm still a bit nervous that label and class are additional complexity, but I understand why we need them based on our current architecture. Two questions...
I know our time is thin right now, but I think we should have an hour meeting next week to
|
I haven't had a chance to absorb all this yet, but I don't like "Class" as that has special meaning for developers. |
@thomas-hervey we somewhat have this "Hub Classification" of item types in the app already; however, it is distributed and updating would required unknown number of files. I would like to get to a point where if we wanted to change how something is referenced in app it is 1 change to 1 file. To your questions...
Thanks for creating a spreadsheet to start a collaboration. I'll schedule a meeting for next week. @tomwayson I thought this may be the case and referenced it as a primary concern at the beginning of this comment above. I would be interested in getting your feedback on a possible option without namespace collision. |
I suggest "Hub Category" ( |
@ajturner @brollison @tomwayson The following are suggested (possibly redundant) action items from 2020-11-4 meeting: From Thomas
From Brian
|
Circling back on my items...
I've updated the domain model here and pasted the new version below. |
@thomas-hervey I deleted your comment because it shared a word document that included auth tokens in a public repository. I've sent you a private invite to a chart document that might be a better method for documenting these. |
@brollison there are two ways to test the domain language - using the terms in english and also in a functional interface. Looking at an example of the "App Card" selection To embed an App in your site, you will find Content of segment 'App' from your Community or other organization search( query: "", segment: "App", from: "mine", sort: [{property:"title", order: "desc"}, {property: "updated", order: "desc"}]) does that sound right and programmatically make sense? |
I would agree it does not, the namespace here is relatively limited given much is already taken (i.e. group, category, etc.) and others being too clinical for the interface (i.e. classification). Perhaps we fallback to biology as you suggest and pull either
search( query: "", family: "App", from: "mine", sort: [{property:"title", order: "desc"}, {property: "updated", order: "desc"}]) Family feels better stated this way, thoughts? @ajturner @thomas-hervey |
It has come to my attention this search collections file, which feeds into this categories file, is now impacting...
I'll break these out into separate points to illustrate the disconnect.
1. Supported Content on Views
It was recently discovered that
Microsoft Excel
documents are now being classified as adataset
, thus when attempting to visit/documents/:id
(example) for atype: Microsoft Excel
item the user is redirected to/data/:id/explore
(result). While on the surface an Excel document may seem similar to atype: CSV
item, the data cannot be extracted (at least to my knowledge) and visualized on a table; thus, as a team we defined Excel items asdocuments
.In fact, quite a few of the items listed in the collection file do not match the collaborative classification we defined. A few other examples...
type: CityEngine Web Scene
being classified as amap
when in reality all parties choseapps
(if embeddable, which it is)type: Document Link
as adocument
where we chosecontent
(generic fallback) after quite a bit back-and-forthI'm generally concerned about forcing a 1-1 match between search collections an in-app categorization of content. Should/could categorization feed into collections? Sure, but it likely isn't always desired.
2. Impact on Telemetry
We have a product priority to better understand how and what content is being interacted with within the application. The purposes of these insights range from functionality efficacy / roadmap to customer-facing value of "how are xyz doing on my site?". The telemetry.js model allow us to specify 3 global fields...
...however, we can only get more granular details via custom dimensions. We are targeting the following...
...but leveraging
Hub.Type
actually returns a generic collection name. In the case of a Hub having multiple "Feedback" types (i.e. Survey, Quick Capture, Forum, etc.) that would look like the following......which allows us to understand interactions within a broader content category and localized item types.
3. UX with Content in the Application
Carried forward from 2 above, if we use
Hub.Type
to refer to content with the application, then a survey, forum, and quick capture would all be denoted asFeedback
. Not the best, but not a dealbreaker...where it does get odd is around items types whose names are actually more recognizable and descriptive that the broader collection/category. If I'm looking for a PDF ofCity of Redlands Budget 2020
, then using this "source of truth" both the actual PDF and Microsoft Excel budget spreadsheet will be labeled withDocument
...detracting from the UX and decreasing the usability of the application.However, we cannot simply refer to the
item.type
in all cases as that may also detract from the user experience as people wouldn't recognize certain item types...type: Form
>> is that a "survey"?type: Image Service
>> is that a collection of "images"?type: Web Scene
>> ...I have no idea...where transforming these "jargon" terms to a more approachable format would be more successful..
type: Form
>>Survey
type: Image Service
>>Map
type: Web Scene
>>3D Map
Wrap-Up
Hub.Type
output may oversimplify our ability to understand what is being interacted with in the application, negatively impacting...Hub.Type
andHub.Content
/Hub.Category
designation which does the following...Hub.Type
will output an approachable string related to a specific item type, such astype: Form
becomesSurvey
Hub.Content
will output a higher level categorization of things, similar to what type does today but aligned to mean 1 aboveThe text was updated successfully, but these errors were encountered: