-
Notifications
You must be signed in to change notification settings - Fork 467
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
Create content analytics query endpoint that doesn't require map #30521
Closed
Labels
dotCMS : Analytics
Data and Analytics Umbrella
OKR : Technical User Experience
Owned by Freddy
QA : Passed Internal
Release : 24.12.10
Team : Falcon
Type : New Functionality
Comments
john-thomas-dotcms
added
Team : Falcon
dotCMS : Analytics
Data and Analytics Umbrella
Type : New Functionality
OKR : Technical User Experience
Owned by Freddy
labels
Oct 30, 2024
john-thomas-dotcms
moved this from New
to Next 1-3 Sprints
in dotCMS - Product Planning
Oct 30, 2024
john-thomas-dotcms
moved this from Next 1-3 Sprints
to Current Sprint Backlog
in dotCMS - Product Planning
Nov 27, 2024
jcastro-dotcms
moved this from Current Sprint Backlog
to In Progress
in dotCMS - Product Planning
Nov 27, 2024
jcastro-dotcms
added a commit
that referenced
this issue
Nov 29, 2024
…e Strings to query for Content Analytics data
github-merge-queue bot
pushed a commit
that referenced
this issue
Dec 5, 2024
…e Strings to query for Content Analytics data (#30847) ### Proposed Changes * This code change allows users to pass down simple Strings to query for Content Analytics data. * Considering the formatting of different values, a special notation must be used to specify certain parameters in the URL path. * You can do a POST REST call using a JSON body like this one: ```json { "measures": "request.count request.totalSessions", "dimensions": "request.host request.whatAmI request.url", "timeDimensions": "request.createdAt:day:Last month", "filters": "request.totalRequest gt 0:request.whatAmI contains PAGE,FILE", "order": "request.count asc:request.createdAt asc", "limit": 5, "offset": 0 } ``` The following must be taken into account when putting a query together: * Measures: Values are separated by blank spaces: `request.count request.totalSessions` * Dimensions: Values are separated by blank spaces: `request.host request.whatAmI request.url` * Time Dimensions: Values are separated by colons: `request.createdAt:day:This month` . The second parameter 'day' -- the "granularity" parameter -- is optional. * Filters: Values are separated by colons: `request.totalRequest gt 0:request.whatAmI contains PAGE,FILE` . In this case, you're filtering by the number of requests, and the type of object being queried: Pages and Files. * Order: Values are separated by colon: `request.count asc:request.createdAt asc` * Limit: Value is provided as is: `50` * Offset: Value is provided as is: `0`
jcastro-dotcms
added a commit
that referenced
this issue
Dec 6, 2024
…e Strings to query for Content Analytics data
github-merge-queue bot
pushed a commit
that referenced
this issue
Dec 6, 2024
…e Strings to query for Content Analytics data (#30869) ### Proposed Changes * After discussion with the team, here's the new data format for the simple String query. By default, the `request` scheme is prepended to the appropriate terms so users won't have to repeat so many times: ```json { "measures": "count,totalSessions", "dimensions": "host,whatAmI,url", "timeDimensions": "createdAt,day:Last month", "filters": "totalRequest gt 0,whatAmI contains PAGE||FILE", "order": "count asc,createdAt asc", "limit": 50, "offset": 0 } ``` If you want to set a specific scheme, just pass it down in the JSON body like this: ```json { "scheme": "YOUR-SCHEME-NAME-HERE", ... ... } ``` The following must be taken into account when putting a query together: * Measures: Values are separated by commas: `count,totalSessions` * Dimensions: Values are separated by commas: `host,whatAmI,url` * Time Dimensions: Values are separated by a comma: `createdAt,day:Last month` . The second parameter 'day' -- the "granularity" parameter -- is optional, and separated from the date range by a colon. * Filters: Values are separated by commas: `totalRequest gt 0,whatAmI contains PAGE||FILE` . In the `contains` clause, values are separated by `||`. * Order: Values are separated by comma: `count asc,createdAt asc` * Limit: Value is provided as is: `50` * Offset: Value is provided as is: `0` This PR fixes: #30521
github-project-automation
bot
moved this from In Review
to Internal QA
in dotCMS - Product Planning
Dec 6, 2024
github-project-automation
bot
moved this from In Progress
to Current Sprint Backlog
in dotCMS - Product Planning
Dec 9, 2024
jcastro-dotcms
moved this from Current Sprint Backlog
to In Progress
in dotCMS - Product Planning
Dec 9, 2024
jcastro-dotcms
added a commit
that referenced
this issue
Dec 9, 2024
… Strings to query for Content Analytics data
dsilvam
added
QA : Not Needed
and removed
QA : Passed Internal
Release : 24.12.10
labels
Dec 10, 2024
github-merge-queue bot
pushed a commit
that referenced
this issue
Dec 10, 2024
…e Strings to query for Content Analytics data (#30899) ### Proposed Changes * Trimming specific values that were causing errors with the generated CubeJS query.
github-project-automation
bot
moved this from In Review
to Internal QA
in dotCMS - Product Planning
Dec 10, 2024
Tested in After set a local analytics infrastructure and set a I ran the following command to get data:
And this is what I get:
|
victoralfaro-dotcms
moved this from Internal QA
to QA - Backlog
in dotCMS - Product Planning
Dec 10, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
dotCMS : Analytics
Data and Analytics Umbrella
OKR : Technical User Experience
Owned by Freddy
QA : Passed Internal
Release : 24.12.10
Team : Falcon
Type : New Functionality
Parent Issue
No response
User Story
As a developer, I want to be able to easily perform content analytics queries via API, without having to build a JSON structure or map.
Currently, for content analytics, we support both the native CubeJS query format, and a simpler query format which places each query attribute into a single map. The map simply combines multiple query attributes into a single structure; but it requires the developer to create that structure, rather than allowing them to just submit those attributes separately.
We will create an API endpoint that allows passing each of the query attributes as a separate parameter. This will allow developers to get the analytics query results with a single API call, without the need to build a separate structure to pass into the query (e.g. a standard POST body will work, rather than a more complex nested structure).
The query attributes this endpoint must support match those currently supported in the simple query map. This includes:
So, the endpoint should take 5 parameters (one for each of the above attributes).
Details:
Acceptance Criteria
Proposed Objective
Technical User Experience
Proposed Priority
Priority 2 - Important
External Links... Slack Conversations, Support Tickets, Figma Designs, etc.
No response
Assumptions & Initiation Needs
No response
Quality Assurance Notes & Workarounds
No response
Sub-Tasks & Estimates
No response
The text was updated successfully, but these errors were encountered: