/lo/knowledge/articles/:articleId and renders a single knowledge base article with sanitized HTML content, a table of contents, version history, and metadata.
Overview
TheKnowledgeArticlePage fetches the article via useKnowledgeArticle(articleId, orgId) and increments the view count via incrementViewCount.mutate({ id, organizationId }) in a useEffect on mount. The breadcrumb is set to article.title. The page displays the article title, ArticleTypeBadge, category path, author, creation date, and view count. An ArticleTableOfContents renders a navigation sidebar. The article body is rendered using sanitizeHtml on the stored HTML content. An ArticleVersionHistory panel shows the edit history. An Edit button (visible to authorized users) navigates to /lo/knowledge/articles/:articleId/edit.
Who it’s for
RequiresLO_PERMISSIONS.DASHBOARD_VIEW (lo.dashboard.view) via the shared LOViewGuard. Editing requires lo.knowledge.create (or a separate edit permission — confirm with SME).
Before you start
- The article identified by
:articleIdmust exist in the active organization. lo.dashboard.viewpermission required.
Steps
1
Open an article
Navigate to
/lo/knowledge/articles/:articleId or select an article card from the Knowledge Portal.2
Navigate with table of contents
Use the
ArticleTableOfContents sidebar to jump to specific sections.3
Read the article
The article body is rendered from stored HTML, sanitized via
sanitizeHtml.4
Review version history
The
ArticleVersionHistory panel shows previous versions of the article.5
Edit the article
Select the Edit button to navigate to
/lo/knowledge/articles/:articleId/edit.Key concepts
- sanitizeHtml: applied to article content before rendering to prevent XSS.
- incrementViewCount: called on page mount to track article views.
- ArticleTypeBadge: displays the article type (process, best_practice, training, faq, policy, general).
Creating an article
The New Article screen is accessible at/lo/knowledge/articles/new and provides an article creation form with a rich text editor, type selector, category selector, tag field, and publish/draft controls.
The KnowledgeArticleEditorPage is used for both creating and editing articles. When the URL is /lo/knowledge/articles/new, isNew is true and no existing article is loaded. The form collects: title, slug, summary, content (via RichContentEditor), article type (process, best_practice, training, faq, policy, general), category (from useKnowledgeCategories), tags (comma-separated string), and two toggles (likely for featured/published status — confirm with SME). On submit, createArticle from useKnowledgeArticleMutation is called. The breadcrumb shows “New Article”.
Permissions: lo.dashboard.view and lo.knowledge.create are required. Categories must be configured to assign the article to a category.
- Navigate to
/lo/knowledge/articles/newor select “New Article” from the Knowledge Portal. - Enter title and slug: fill in the article title; the slug may auto-populate from the title.
- Write a summary: enter a brief summary for the article preview.
- Write content: use the
RichContentEditorto compose the article body. - Select type and category: choose the article type and assign it to a knowledge category.
- Add tags: enter comma-separated tags in the tags field.
- Save: select the save or publish action to create the article.
- ArticleType values:
process,best_practice,training,faq,policy,general. - RichContentEditor: the rich text editor component for article body content.
- slug: URL-friendly identifier for the article.
Editing an article
The Edit Article screen is accessible at/lo/knowledge/articles/:articleId/edit and loads an existing article into the knowledge base editor for updating its content, type, category, tags, or publish status.
The KnowledgeArticleEditorPage component is shared for both the new-article and edit-article routes. When the URL contains :articleId (and it is not "new"), isNew is false and the existing article is loaded via useKnowledgeArticle(articleId, orgId). Form fields are initialized from the existing article: title, slug, summary, content, article type, category, and tags. On submit, updateArticle from useKnowledgeArticleMutation is called. The breadcrumb shows "Edit: ${article.title}".
Permissions: lo.dashboard.view and lo.knowledge.create are required. The article identified by :articleId must exist in the active organization.
- Navigate to
/lo/knowledge/articles/:articleId/editor select “Edit” from an article detail page. - Update fields: modify the title, slug, summary, content, type, category, or tags as needed.
- Edit content: use
RichContentEditorto update the article body. - Save changes: select the save or publish action to call
updateArticleand persist changes.
- Shared editor component:
KnowledgeArticleEditorPagehandles both creation and editing based on whetherarticleIdis"new"or a real UUID. - updateArticle: the mutation used to persist changes to an existing article.
- Version history: SME should confirm whether edits are versioned.
Related
Leadership
Leadership core overview.
Governance & parity
Documentation coverage and governance.
This page documents shipped product behavior. It is not medical, legal, or
billing advice. Verify against your organization’s policies and applicable
regulations before using it for clinical, compliance, or billing decisions.
Protected health information (PHI) shown in the product is governed by your
tenant’s access controls and is never exposed in this documentation.
Documentation sources
Documentation sources
- src/routes/lo.tsx
- src/cores/lo/pages/KnowledgeArticlePage.tsx
- src/cores/lo/pages/KnowledgeArticleEditorPage.tsx
- src/cores/lo/hooks/useKnowledgeArticles.ts
- src/cores/lo/hooks/useKnowledgeCategories.ts