SmartERP Documentation An Ashewa Technology Solutions Platform

Connect courses, employees and documents

How documentation points at eLearning courses, job positions and controlled documents without copying them.

1. Overview & Business Value#

This comprehensive operational guide details the architecture, business workflows, configuration parameters, and execution steps for Connect courses, employees and documents within SmartERP.

Documentation stays its own module. It never copies a course, a person or a controlled document. It points at them, and the module that owns the target decides whether the reader may see the pointer.

{screenshot:connect-learning-overview-dashboard}

2. Prerequisites & Security Access Groups#

  • Required Modules: smarterp_docs
  • Security Groups:
    • Technical Documentation Architect (Technical ID: base.group_system)
    • Enterprise User (Technical ID: base.group_user)
  • Master Data Dependencies: Markdown documentation trees, asset manifests, SVG diagram generators, and multi-language search indexes.

3. Step-by-Step Configuration & Execution#

Step 1: Navigating to the Module Interface#

  1. Log into your SmartERP instance at https://smarterp.et/odoo.
  2. Open the main App Switcher (grid icon in the top-left corner).
  3. Select the Documentation Portal app icon.
  4. From the top navigation bar, open Documentation Portal → English (/docs/en) / Amharic (/docs/am).

{screenshot:connect-learning-app-switcher-navigation}

Step 2: Creating and Parameterizing Records#

  1. Click the New button in the top-left control panel.
  2. Complete the mandatory fields in the record form:
    • Page Title (Mandatory): Standardized title conforming to Diátaxis framework
    • Summary (Mandatory): Concise operational summary describing page intent
    • Diátaxis Type (Mandatory): Valid classification (how_to, tutorial, concept, reference, admin_guide)
  3. Configure optional operational parameters and localized tags as required:
    • Audience (Optional): Designated user roles (Accountants, Engineers, Administrators)
    • Difficulty Level (Optional): beginner, intermediate, or advanced
  4. Click the Save icon in the control bar to commit the record.

{screenshot:connect-learning-record-creation-form}

Step 3: Validating and Processing Transactions#

  • State Transitions: Execute operational state progression (Authoring → Local Offline Test Validated → Manifest Registered → Published Live).
  • Ledger & System Impact: Powers the public and internal technical documentation portal (smarterp.et/docs) with sub-second rendering and dual-theme visual diagrams.
  • Audit Verification: Automated recording of author ID, timestamp, and immutable revision history.

{screenshot:connect-learning-transaction-processing-state}

The contract#

A page keeps a list of learning and sources references: a kind (course, lesson, controlled document, external link), a label and a target. On the website the page asks each reference for a link for the person looking. A reference that the person may not open is left out entirely, not even its title.

A module that owns a kind of target adds a small bridge. A bridge installs by itself when both modules are installed, and smarterp_docs needs none of them.

eLearning#

With Odoo's eLearning app installed, the bridge smarterp_docs_elearning adds:

  • a Documentation tab on a course and on a lesson, to list the pages it teaches;
  • Learn this topic on a page, listing the courses and lessons that teach it;
  • Official documentation on the public course page.

A draft course, a course for members only and a lesson of such a course are shown only to people who may open them. eLearning keeps its catalogue, lessons, enrolment, quizzes and certificates. The bridge reads nothing about learners.

Employees#

With Employees installed, smarterp_docs_hr lets a job position or a department list the pages its people should read. An employee gets a Documentation button that opens those pages, limited to what the person opening it may read.

Documents#

With SmartERP Documents installed, smarterp_docs_dms turns a reference of kind controlled document into an Official sources link, for a signed-in employee who may read that document. Anyone else sees nothing.

For developers#

A bridge overrides one method, calls super(), and adds a link only after checking the target against self.env.user:

def _integration_links(self):
    links = super()._integration_links()
    # add {"kind": ..., "label": ..., "url": ...} for each target the user may open
    return links

The website calls it on a sudo() record, so the user is still the visitor: test access explicitly. A reference of your own kind overrides _resolve on smarterp.doc.ref the same way.

4. Advanced Configuration Points#

  • Automated Actions & Scheduled Tasks (Crons):
    • Documentation: Auto-rebuild search index (smarterp_docs.ir_cron_reindex): Runs on module upgrade to refresh full-text search indexes
  • Custom Print Templates & Reports:
    • SmartERP Technical Documentation Standards & Style Guide
    • Documentation Coverage & Visual Asset Verification Matrix
  • Multi-Company Rules: Record-level security isolation under Company 1 (Ashewa Technology Solutions S.C.), preventing cross-company ledger leakage across parent and subsidiary legal entities.

5. Comprehensive Troubleshooting Matrix#

Error Symptom / ExceptionProbable Root CauseCorrective Action / Resolution
Test Error: Broken link in documentationInternal doc link refers to non-existent section or page slug.Update link path to match valid section and page identifiers.
Test Error: Asset referenced in markdown not found in manifestDiagram or image referenced in text lacks manifest.json entry.Register asset ID and file paths in static/img/manifest.json.
Formatting Warning: Stray markdown marker detectedUnclosed bold or link brackets found in rendered HTML.Ensure all emphasis tags and links are properly closed in markdown source.
Last updated: 2026-10-30