Skip to content

Extend documentation for 1.0 release and website #482

Closed
@MatthiasKillat

Description

Documentation epic

Proposed outline

  • index.md
  • What is Eclipse iceoryx? (Explain the three pillars easy, safe, fast)
  • getting-started
    • overview.md (Split?)
      • General intro (add overview pictures e.g. from ROSCon slides, add section "limitations")
      • hello world/quick start: icedelivery c++ typed (without and_then?) icehello
      • User API (Move into examples)
        • Typed
        • Untyped
    • installation.md (move colcon to advanced?, usual user just wants to use script and nothing more, link contributor installation guide, move iceoryx_posh options table to advanced, fix markdown no identation before code blocks)
    • examples (overview over examples)
      • Communication with polling for the user /for frameworks
      • Options
      • Listner
      • Communication without polling
      • Debugging (iceperf, icecrystal)
  • API-reference
  • (API-cheatsheet.md)
  • FAQ.md
  • advanced
    • Contriubtor guides
      • best-practice-for-testing.md
      • Modern C++ error handling (Optional, expected)
      • installation-guide-for-contributors.md
    • iceoryx_utils.md
    • usage-guide.md

Documents covering

  • Extend installation guide
    • QNX7 with QCC 5.4.0
  • Introduction: motivation, goals and capabilities of iceoryx
    • Which data types are allowed to be sent via iceoryx? What are the limitations (virtual, vtable, heap)?
    • Clarify failure cases, e.g.
      • What happens if an application segfaults? If crashes in critical section memleak
      • Does the crash of one application affect the whole system
      • When an application crashes, what happens with its resources like memory chunks, UDS, etc.
    • Update Waitset and Listener section in overview.md and have a use case based comparison
  • Add new examples
    • README.md in the example
    • iceoptions
    • icehello
    • iceensemble: Explain how C and C++ API work together (multiple publishers and subscribers)
    • blocking publisher
    • icecubetray: Add access control documentation (comes from Sparse access control documentation. #640)
    • Record asciinema for all examples
  • Add example for static RouDi Config with custom mempools and one for the dynamic TOML config, e.b. by just a
  • @todo in the code shall not be linked to issues for v1.0
  • Add Apex.OS to the framework section

v2.0 Release (Moved to #743)

  • Improve utils documentation (in the long run: find more suitable name for utils, e.g. safe building blocks), see also Refine and update documentation #468
  • Describe all RouDi command line options?
  • Add info about release names (ice cream flavours)
  • add overview graphic introducing the main players (RouDi, Runtime/user apps, shared Memory, data packages/topics) in overview.md (see suggestions here and here)
  • Add chunk header example
  • Add example sending complex data types
  • icedelivery: Explain lifetime semantics of chunks/samples and user restrictions: loan needs to be followed with publish or release, MAX_CHUNKS_IN_USE on publisher and subscriber side etc., API is not thread-safe

Consolidate current documentation as far as possible (keep the scope of the issue confined to documentation).
Note: doxygen documentation rework is out of scope here and belongs to #468

This is later to be integrated into the website #136

Metadata

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions