Add docs for moesif#6181
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (2)
📝 WalkthroughWalkthroughThis PR adds two independent analytics documentation guides: a new Asgardeo Insights guide covering built-in dashboard access and optional Moesif extension, and a comprehensive WSO2 Identity Server Moesif Analytics integration guide with setup workflow and event data catalog. Both include navigation updates to their respective documentation sites. ChangesAsgardeo Insights Documentation
WSO2 Identity Server Moesif Analytics Integration
Suggested labels
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 7
🧹 Nitpick comments (2)
en/asgardeo/docs/guides/insights.md (1)
23-23: ⚡ Quick winKeep “Moesif” and add it to Vale accepted vocabulary if needed.
“Moesif” appears to be the intended product name. If Vale still flags it, add it to
.vale/styles/config/vocabularies/vocab/accept.txtinstead of changing the product name in docs.
As per coding guidelines: use official product names exactly as defined and add valid technical/product terms to the accepted vocabulary.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@en/asgardeo/docs/guides/insights.md` at line 23, Keep the product name "Moesif" exactly as shown in the insights.md content (do not modify the product name) and add "Moesif" to Vale's accepted vocabulary by appending it to the Vale accept list (accept.txt) so the linter no longer flags it; ensure you update the vocabulary entry rather than altering the docs text.Sources: Coding guidelines, Linters/SAST tools
en/identity-server/next/docs/guides/analytics/moesif-analytics.md (1)
17-154: ⚡ Quick winAdd explicit outcome confirmation and next steps sections for task completion.
The guide has prerequisites and steps, but it does not explicitly include outcome confirmation and a next steps section, which the task-based documentation standard requires.
As per coding guidelines, task-based documentation must include outcome confirmation and end with next steps when appropriate.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@en/identity-server/next/docs/guides/analytics/moesif-analytics.md` around lines 17 - 154, Add an "Outcome" section after "Step 4: Build dashboards in Moesif" that explicitly confirms successful task completion (e.g., "You should now see events in your Moesif workspace and the Insights tab in the Console"), and add a "Next steps" section at the end (after "Insights for sub-organizations") that lists recommended follow-ups such as verifying event attributes, configuring tenant-specific collectors, setting data retention/permissions in Moesif, and links to troubleshooting and dashboard examples; update headings "Step 4: Build dashboards in Moesif" and the final section to reference these new sections so readers can easily confirm success and know what to do next.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@en/asgardeo/docs/guides/insights.md`:
- Line 15: Change the phrase in the sentence "Use the duration selector to
adjust the time period shown in the dashboards." by replacing "time period" with
a shorter term such as "time range" or "duration" so the sentence reads e.g.
"Use the duration selector to adjust the time range shown in the dashboards.";
update the exact sentence where it appears to keep wording concise and plain.
- Line 57: Replace all occurrences of the phrase "sub-organization" on this page
(including the section heading and the table row attribute text currently
listing "sub-organization request indicator") with the repository's canonical
organization terminology (use the repo-preferred spelling/term for
"organization") so the term is consistent across the document; update every
instance (also referenced around the other occurrences noted) to match the repo
style rule.
- Line 17: The markdown in en/asgardeo/docs/guides/insights.md contains a broken
image reference
"{{base_path}}/assets/img/guides/insights/insights-dashboard.png"; locate that
image tag in the file and either update the URL to point to the correct existing
asset path (use the actual filename under en/asgardeo/docs/assets/img/... that
matches the dashboard image) or add the missing PNG file at
en/asgardeo/docs/assets/img/guides/insights/insights-dashboard.png so the
relative path resolves; ensure the updated path keeps the same markup attributes
(width/style) and verify the image renders.
In `@en/asgardeo/docs/guides/organization-insights.md`:
- Line 6: The file en/asgardeo/docs/guides/organization-insights.md fails MD047
(single-trailing-newline); open organization-insights.md and ensure the file
ends with exactly one newline character (remove any extra blank lines or missing
newline at EOF), then re-run the Vale/markdown linter to confirm the MD047
warning is resolved.
In `@en/identity-server/next/docs/guides/analytics/moesif-analytics.md`:
- Line 1: The page title "# Moesif Analytics" should use sentence case; update
the heading text from "# Moesif Analytics" to "# Moesif analytics" so the
document title follows the sentence-case style rule (locate the top-level
heading string "Moesif Analytics" and change only its capitalization).
- Line 69: The image reference markdown line using the path
"{{base_path}}/assets/img/guides/analytics/moesif-analytics/moesif-collector-key.png"
is included but the asset may not exist; verify that this file is present and
reachable in the site build output and that the path/template variable resolves
correctly, or remove/replace the markdown image tags (the line with the Moesif
collector key image and the similar image at lines 86) so the guide does not
reference missing assets; update the markdown to either point to an existing
asset, add the missing image to assets/img/guides/analytics/moesif-analytics/,
or remove the image tags and adjust surrounding text to be self-contained.
- Line 26: Replace the TODO placeholder comment "<!-- TODO: Confirm/replace with
the final, complete set of TOML configurations required to enable the Moesif
integration. -->" in moesif-analytics.md with the finalized, validated TOML
configuration required to enable the Moesif integration (or remove the block
entirely and link to an internal tracking issue if the config cannot be
finalized now); ensure any other TODO placeholder in the same document (the
similar marker noted later) is also removed or replaced with concrete, verified
content and that the guide contains no unverified claims or placeholders before
publishing.
---
Nitpick comments:
In `@en/asgardeo/docs/guides/insights.md`:
- Line 23: Keep the product name "Moesif" exactly as shown in the insights.md
content (do not modify the product name) and add "Moesif" to Vale's accepted
vocabulary by appending it to the Vale accept list (accept.txt) so the linter no
longer flags it; ensure you update the vocabulary entry rather than altering the
docs text.
In `@en/identity-server/next/docs/guides/analytics/moesif-analytics.md`:
- Around line 17-154: Add an "Outcome" section after "Step 4: Build dashboards
in Moesif" that explicitly confirms successful task completion (e.g., "You
should now see events in your Moesif workspace and the Insights tab in the
Console"), and add a "Next steps" section at the end (after "Insights for
sub-organizations") that lists recommended follow-ups such as verifying event
attributes, configuring tenant-specific collectors, setting data
retention/permissions in Moesif, and links to troubleshooting and dashboard
examples; update headings "Step 4: Build dashboards in Moesif" and the final
section to reference these new sections so readers can easily confirm success
and know what to do next.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
Run ID: 685abd2b-19b7-46c4-b591-5b70eb168a6f
📒 Files selected for processing (5)
en/asgardeo/docs/guides/insights.mden/asgardeo/docs/guides/organization-insights.mden/asgardeo/mkdocs.ymlen/identity-server/next/docs/guides/analytics/moesif-analytics.mden/identity-server/next/mkdocs.yml
|
|
||
| 2. Explore the available dashboards to analyze activities such as logins, registrations, and token issuance for your organization. | ||
|
|
||
| 3. Use the duration selector to adjust the time period shown in the dashboards. |
There was a problem hiding this comment.
Use a shorter phrase than “time period.”
Replace “time period” with “time range” or “duration” to satisfy the wording rule and keep the step concise.
As per coding guidelines: use plain language and short sentences, and avoid wordy phrasing in documentation.
🧰 Tools
🪛 GitHub Check: Vale style check
[warning] 15-15:
[vale] reported by reviewdog 🐶
[WSO2-IAM.TooWordy] 'time period' is too wordy.
Raw Output:
{"message": "[WSO2-IAM.TooWordy] 'time period' is too wordy.", "location": {"path": "en/asgardeo/docs/guides/insights.md", "range": {"start": {"line": 15, "column": 44}}}, "severity": "WARNING"}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@en/asgardeo/docs/guides/insights.md` at line 15, Change the phrase in the
sentence "Use the duration selector to adjust the time period shown in the
dashboards." by replacing "time period" with a shorter term such as "time range"
or "duration" so the sentence reads e.g. "Use the duration selector to adjust
the time range shown in the dashboards."; update the exact sentence where it
appears to keep wording concise and plain.
Sources: Coding guidelines, Linters/SAST tools
|
|
||
| 3. Use the duration selector to adjust the time period shown in the dashboards. | ||
|
|
||
| {: width="700" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify the referenced image asset exists
fd -i 'insights-dashboard.png'Repository: wso2/docs-is
Length of output: 38
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# 1) Search for the referenced file name anywhere in the repo
echo "== Matches for insights-dashboard.png =="
fd -i 'insights-dashboard.png' || true
# 2) Check the expected relative path (from the repo root)
echo "== Expected path existence check =="
EXPECTED="assets/img/guides/insights/insights-dashboard.png"
if [ -f "$EXPECTED" ]; then
echo "FOUND: $EXPECTED"
else
echo "NOT FOUND: $EXPECTED"
fi
# 3) Find all references to the asset in markdown
echo "== References in markdown =="
rg -n --hidden --glob '*.md' "insights-dashboard\.png" . || trueRepository: wso2/docs-is
Length of output: 441
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# List possible similarly-named images
echo "== Matches for *insights*dashboard* (case-insensitive) =="
fd -i '*insights*dashboard*' || true
echo "== Matches for insights-dashboard.* (case-insensitive) =="
fd -i 'insights-dashboard.*' || true
# Inspect the likely directory (if present)
echo "== Directory listing for assets/img/guides/insights =="
ls -la assets/img/guides/insights || true
# Check for any references under the same guides/insights path
echo "== References to assets/img/guides/insights =="
rg -n --hidden --glob '*.md' 'assets/img/guides/insights' . || trueRepository: wso2/docs-is
Length of output: 884
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Find any PNGs with insights-dashboard in name (case-insensitive) =="
find . -type f \( -iname "*insights-dashboard*.png" -o -iname "*insights*dashboard*.png" \) | head -n 50
echo "== Find any PNGs with insights in name (case-insensitive) =="
find . -type f \( -iname "*insights*.png" \) | head -n 50
echo "== Find any directories named 'guides/insights' under assets =="
find . -type d -path "*assets*img*guides*insights*" -print | head -n 50
echo "== Check if repo contains 'assets/img/guides/insights' exactly anywhere =="
find . -type f -path "*assets/img/guides/insights/*" -print | head -n 50
echo "== Literal references to assets/img/guides/insights in markdown =="
rg -n --hidden --glob '*.md' 'assets/img/guides/insights' . || trueRepository: wso2/docs-is
Length of output: 2220
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Any files with insights-dashboard in name (case-insensitive), any extension =="
find . -type f -iname "*insights-dashboard*" | head -n 50
echo "== Any files with insights dashboard in name (case-insensitive) =="
find . -type f \( -iname "*insights*dashboard*" -o -iname "*dashboard*insights*" \) | head -n 50
echo "== Any directories named 'insights' under assets =="
find . -type d -path "*assets*img*guides*insights*" | head -n 50
echo "== Any references to insights-dashboard.* in markdown =="
rg -n --hidden --glob '*.md' "insights-dashboard" . || true
echo "== Check if any 'assets/img/guides/insights' directories exist under en/asgardeo/docs =="
find ./en/asgardeo/docs -type d -path "*assets/img/guides/insights*" | head -n 50
echo "== Check if a likely asset path exists under en/asgardeo/docs =="
EXPECTED="en/asgardeo/docs/assets/img/guides/insights/insights-dashboard.png"
if [ -f "$EXPECTED" ]; then
echo "FOUND: $EXPECTED"
else
echo "NOT FOUND: $EXPECTED"
fiRepository: wso2/docs-is
Length of output: 1182
Fix broken Insights dashboard image reference.
en/asgardeo/docs/guides/insights.md references {{base_path}}/assets/img/guides/insights/insights-dashboard.png, but en/asgardeo/docs/assets/img/guides/insights/insights-dashboard.png does not exist in this repository. Update the image URL to the correct existing asset or add the missing PNG.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@en/asgardeo/docs/guides/insights.md` at line 17, The markdown in
en/asgardeo/docs/guides/insights.md contains a broken image reference
"{{base_path}}/assets/img/guides/insights/insights-dashboard.png"; locate that
image tag in the file and either update the URL to point to the correct existing
asset path (use the actual filename under en/asgardeo/docs/assets/img/... that
matches the dashboard image) or add the missing PNG file at
en/asgardeo/docs/assets/img/guides/insights/insights-dashboard.png so the
relative path resolves; ensure the updated path keeps the same markup attributes
(width/style) and verify the image renders.
Source: Coding guidelines
| <tr> | ||
| <td><b>Token issuance</b></td> | ||
| <td>Captures OAuth2/OpenID Connect token issuance, including machine-to-machine (M2M) tokens.</td> | ||
| <td>Timestamp, application (client ID), grant type, user type, user ID and username, user store, issuing and accessing organization, authorized and unauthorized scopes, access/refresh token validity, token ID, whether an existing token was reused, sub-organization request indicator, IP address, and error details (on failure).</td> |
There was a problem hiding this comment.
Align organization terminology with the repository style rule.
The text uses “sub-organization.” Vale flags this repo style as “organization” terminology. Please normalize this wording consistently in this page (including section heading and table row attribute text) to avoid repeated style warnings.
As per coding guidelines: use one term per concept consistently and resolve style warnings for documentation.
Also applies to: 80-82
🧰 Tools
🪛 GitHub Check: Vale style check
[warning] 57-57:
[vale] reported by reviewdog 🐶
[WSO2-IAM.Organizations] Avoid using 'sub-organization'. Use 'organization' instead.
Raw Output:
{"message": "[WSO2-IAM.Organizations] Avoid using 'sub-organization'. Use 'organization' instead.", "location": {"path": "en/asgardeo/docs/guides/insights.md", "range": {"start": {"line": 57, "column": 255}}}, "severity": "WARNING"}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@en/asgardeo/docs/guides/insights.md` at line 57, Replace all occurrences of
the phrase "sub-organization" on this page (including the section heading and
the table row attribute text currently listing "sub-organization request
indicator") with the repository's canonical organization terminology (use the
repo-preferred spelling/term for "organization") so the term is consistent
across the document; update every instance (also referenced around the other
occurrences noted) to match the repo style rule.
Sources: Coding guidelines, Linters/SAST tools
| !!! note | ||
| Looking for the analytics dashboards in the **Insights** section of the Console? See [Insights]({{base_path}}/guides/insights/) for the identity insights that Asgardeo provides out of the box. | ||
|
|
||
| {% include "../../../includes/guides/organization-insights.md" %} No newline at end of file |
There was a problem hiding this comment.
Fix the markdownlint blocker: file must end with exactly one newline.
CI reports MD047/single-trailing-newline for this file. Add a single trailing newline at EOF.
As per coding guidelines: run Vale/lint checks and resolve warnings/errors before finalizing documentation.
🧰 Tools
🪛 GitHub Actions: Markdown Lint / 0_lint.txt
[error] 6-6: markdownlint-cli2 (markdownlint v0.38.0) reported MD047/single-trailing-newline: Files should end with a single newline character.
🪛 GitHub Actions: Markdown Lint / lint
[error] 6-6: markdownlint (MD047/single-trailing-newline): Files should end with a single newline character.
🪛 GitHub Check: lint
[failure] 6-6: Files should end with a single newline character
en/asgardeo/docs/guides/organization-insights.md:6:65 MD047/single-trailing-newline Files should end with a single newline character https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md047.md
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@en/asgardeo/docs/guides/organization-insights.md` at line 6, The file
en/asgardeo/docs/guides/organization-insights.md fails MD047
(single-trailing-newline); open organization-insights.md and ensure the file
ends with exactly one newline character (remove any extra blank lines or missing
newline at EOF), then re-run the Vale/markdown linter to confirm the MD047
warning is resolved.
Sources: Coding guidelines, Pipeline failures
| @@ -0,0 +1,153 @@ | |||
| # Moesif Analytics | |||
There was a problem hiding this comment.
Use sentence case in the page title.
Change # Moesif Analytics to sentence case (for example, # Moesif analytics) to satisfy the title-style rule.
As per coding guidelines, headings and document titles must use sentence case.
🧰 Tools
🪛 GitHub Check: Vale style check
[warning] 1-1:
[vale] reported by reviewdog 🐶
[WSO2-IAM.SentenceStyleTitles] 'Moesif Analytics' should use sentence-style capitalization.
Raw Output:
{"message": "[WSO2-IAM.SentenceStyleTitles] 'Moesif Analytics' should use sentence-style capitalization.", "location": {"path": "en/identity-server/next/docs/guides/analytics/moesif-analytics.md", "range": {"start": {"line": 1, "column": 3}}}, "severity": "INFO"}
[warning] 1-1:
[vale] reported by reviewdog 🐶
[Vale.Spelling] Did you really mean 'Moesif'?
Raw Output:
{"message": "[Vale.Spelling] Did you really mean 'Moesif'?", "location": {"path": "en/identity-server/next/docs/guides/analytics/moesif-analytics.md", "range": {"start": {"line": 1, "column": 3}}}, "severity": "WARNING"}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@en/identity-server/next/docs/guides/analytics/moesif-analytics.md` at line 1,
The page title "# Moesif Analytics" should use sentence case; update the heading
text from "# Moesif Analytics" to "# Moesif analytics" so the document title
follows the sentence-case style rule (locate the top-level heading string
"Moesif Analytics" and change only its capitalization).
Sources: Coding guidelines, Linters/SAST tools
|
|
||
| 3. Copy the **Collector Application Id** for the workspace you want WSO2 Identity Server to publish to. | ||
|
|
||
| {: width="700" style="display: block; margin: 0; border: 0.3px solid lightgrey;"} |
There was a problem hiding this comment.
Confirm screenshot availability or remove image dependencies.
This guide introduces new screenshots, but the current review context does not confirm that these image assets exist and are accessible in the repository build path. Please verify asset presence and rendering, or remove image dependencies from the task flow.
As per coding guidelines, do not reference images unless their existence and accessibility are explicitly confirmed.
Also applies to: 86-86
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@en/identity-server/next/docs/guides/analytics/moesif-analytics.md` at line
69, The image reference markdown line using the path
"{{base_path}}/assets/img/guides/analytics/moesif-analytics/moesif-collector-key.png"
is included but the asset may not exist; verify that this file is present and
reachable in the site build output and that the path/template variable resolves
correctly, or remove/replace the markdown image tags (the line with the Moesif
collector key image and the similar image at lines 86) so the guide does not
reference missing assets; update the markdown to either point to an existing
asset, add the missing image to assets/img/guides/analytics/moesif-analytics/,
or remove the image tags and adjust surrounding text to be self-contained.
Source: Coding guidelines
- Replace the TODO placeholders in the IS Moesif analytics guide with the verified deployment.toml configuration: base provider_url (the integration appends the per-event Moesif API path), auth settings and stream version, plus the previously missing session and OAuth token issuance publishers. - Note in the Asgardeo insights guide that pre-account flow steps are tracked under an anonymous identifier and linked to the user on flow completion.
Purpose
note $subject