惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
A
Arctic Wolf
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Proofpoint News Feed
S
Schneier on Security
The Cloudflare Blog
Security Latest
Security Latest
S
SegmentFault 最新的问题
L
Lohrmann on Cybersecurity
T
Tailwind CSS Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cyber Attacks, Cyber Crime and Cyber Security
K
Kaspersky official blog
Latest news
Latest news
月光博客
月光博客
aimingoo的专栏
aimingoo的专栏
P
Privacy & Cybersecurity Law Blog
F
Fortinet All Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
美团技术团队
博客园 - 叶小钗
H
Help Net Security
博客园 - 【当耐特】
云风的 BLOG
云风的 BLOG
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
A
About on SuperTechFans
WordPress大学
WordPress大学
Cloudbric
Cloudbric
IT之家
IT之家
Last Week in AI
Last Week in AI
S
Securelist
Google Online Security Blog
Google Online Security Blog
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
L
LINUX DO - 最新话题
Know Your Adversary
Know Your Adversary
爱范儿
爱范儿
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
Google Developers Blog
C
CERT Recently Published Vulnerability Notes
宝玉的分享
宝玉的分享
博客园 - Franky
TaoSecurity Blog
TaoSecurity Blog
P
Proofpoint News Feed
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
L
LINUX DO - 热门话题
N
News and Events Feed by Topic
B
Blog

Discourse Meta - Latest posts

Horizon: High Context Topic Cards I'd like to ask what this file /var/www/discourse/vendor/data/RT_sRGB.icm is used for? Discourse to Markdown Plugin How to verify a subdomain (mysite.discourse.group) in Google Search Console? Reader Mode Publishing WordPress gallery posts on Discourse Discourse User Feedback New user filter by custom field and contact Interact with discourse from Python? Why we can't type the assignee in the search of a post to assign - home screen app Redis Flushall Category-toggled one-touch move post Some sort of variable to eliminate duplicate text? Why did this plugin replacement fail? Add user to list modal often appears above the mobile viewport sceen Creating/Editing a post on mobile: let's discuss the 2026 Discourse experience Wp-discourse feature request - do not show comments with specific tag? Are there any good Chinese plugins? Discourse ID and 2FA Discourse MCP is here! Sample Forum to See Admin Features? I am unable to register for a free Discourse site Wikipedia Lookup Add text for /login (like js.create_account.disclaimer for /signup) How can i set disable Markdown & Default to Rich Text What's the background image size for the Welcome Banner? How do I enable Associated Accounts with 2FA? Hamburger toggle Support <span data-attribute> in the rich editor Cannot disable read-only mode on Free Plan Coping with deprecated columns in Data Explorer Seeking advice on MaxMind error log issues Site setting menu limited by results page size Change default landing page for Groups (Members → Activity/Messages?) Email Notifications for Forum Posts or Replies Buffer -- streamline sharing topics on social media Moving a post between topics does not load the post on existing clients Diff is too complex to display Side bar footer container background color bug visible in RTL Vote display dimensions issue on the new foundation theme Icon is incredibly large when quoted Easily create Ideas categories using the Topic Voting plugin Modernizing the Foundation theme 429 error after Split Posts Error when switching locale: "topic doesn't exist" message appears on all topics Group Review Queue Items SSO Provider URL contains symbol # cause issue Migrate from wpForo to Discourse Users are unable to see invite details Disable initial page that re-directs to /login Discourse Livestream Discourse Dynamic Sidebar Icon Unable to save category settings made by plugins Post not being detected as German Misleading free plan shutdown timeline New posts/replies do not appear in real-time; manual refresh required Do Free forums not support the use of tags? Left side hamburger menu on mobile Inconsistent permission to use the same tag in the same category /upcoming-events intermittent drop on 2GB vRAM server 2 emails rejected by 2026.4.0-latest ( 5f0d95e1f1 ) Backups page Don't remove all push subscriptions on logoff Translated text on Linux Debian has weird formatting Remote images are always downloaded Can no longer create global banners from restricted categories Where did the you are replying to an old topic warning go? FKB Pro - Social theme Chat link missing in post event widget after to Rollup Whisper Warning Experiment: Collaborative content gardening hub for meta Topic Template Placeholder Text theme component Embedded comments dates are still not localized ProxyTracer: VPN & Proxy Blocker Automatically apply grids to image uploads What's causing the login issue? Single click activation of the Create Event modal Error in browser console when using hashtag autocomplete in the composer: undefined generateIconHTML How can badges and groups be localized (multilingual)? Exclude staged users from Watching? Shared Draft as default New Topic Allow AI Persona/Agent to respond only to @mentions, not to replies to its posts Adding a configurable delay to AI Agent responses Bidirectional sync between Discourse Topics/Categories and GitHub/Gitlab Issue Trackers "Key" and "Value" from the Wrap Modal are not translatable Deprecating .hbs file extension in themes and plugins New topic title input (#reply-title) remains LTR in RTL sites — fix still not effective (2026) Opening forum goes to topics 1 day ago, not recent topics Missing field 'text' (in 'mainEntity.suggestedAnswer') Current Projects - March 2026 Error loading route Caused by plugin 'discourse-subscriptions' User-specific 502 errors after login — traced to DiscourseUpdates.has_unseen_features? Force Mobile Homepage Documentation Plugin - Index Topic not working after Restore Returning bumping after editing last post Move 'whisper' functionality Any updates on the best way to create a HTML archive of a static site? Connect Discourse to WeChat Mini Program Send email notification only when @mentioned Include the Signatures plugin on more hosted plans
Discourse as an LMS / Discourse integration with an LMS
@zsviczian Z · 2026-04-29 · via Discourse Meta - Latest posts
Like many of you in this thread, I’ve been looking for a lightweight way to use Discourse natively as an LMS. I find dedicated LMS platforms too bloated, but Discourse’s default “notification decay” (where older topics stop showing as “unread” for new users) makes tracking course progress difficult. To scratch my own itch, I built a simple solution using a combination of category settings, a tiny backend plugin, and a theme component. Here is how I set it up, and the open-source code you can use to replicate it! The Basic Concept: Discourse as an LMS To make this work, I use standard Discourse features combined with the official Discourse Doc Categories plugin : Course = Category: Each course gets its own category. Lesson = Topic: Each lesson is a topic within that category. Permissions: Members can reply to lessons (to ask questions), but only staff can create new topics. Ordering: Lesson order is fixed by creation date. (Tip: This requires a bit of forward-thinking when posting lessons, or you can use the Rails console to quickly backdate topic creation times to force the correct sorting). Syllabus: I use the Discourse Doc Categories plugin to designate an “Index Topic.” This index topic acts as the course syllabus/tracker and renders a beautiful outline on the sidebar when users enter the course. The Missing Piece: True Progress Tracking The problem with the setup above is that when a new student joins, the older lesson topics don’t show up as “unread,” so they have no way to visually track their progress. To solve this, I built a backend plugin that directly queries the TopicUser database table for true historical read status, and a frontend Theme Component that transforms the standard Discourse sidebar into a real-time LMS progress tracker. 1. Main Sidebar Progress Badges The theme component replaces standard blue notification dots with [ read / total ] progress indicators for your course categories. 2. Lesson Completion Checkmarks When a user clicks into a course, the Docs plugin renders the syllabus. My theme component injects success checkmarks ( fa-check ) next to the specific lessons the user has finished reading. 3. Course Completion Once a user reads every topic in the category, the sidebar progress badge automatically transforms into a satisfying completion tick! How to Install it Because this requires bypassing the standard Discourse notification cache, you must install both the backend plugin and the frontend theme component. Step 1: Install the Prerequisite Ensure you have the official Discourse Doc Categories plugin installed and active. My plugin specifically only targets categories that have an Index Topic configured. Step 2: Install the Backend API Plugin Add this to your app.yml below docker_manager and rebuild your container. This provides the lightning-fast API endpoint for read statuses. Repository Link: https://github.com/zsviczian/discourse-course-progress ** hooks: after_code: - exec: cd: $home/plugins cmd: - git clone https://github.com/discourse/docker_manager.git - git clone https://github.com/zsviczian/discourse-course-progress.git Step 3: Install the UI Theme Component Install this directly via your web browser in Admin > Customize > Themes > Install > From a Git Repository . Repository Link: https://github.com/zsviczian/discourse-course-progress-theme I hope this helps others who are trying to build community-driven courses without the bloat of a separate LMS platform! Let me know if you end up using it.