You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Per the Napa Release planning meeting, it was discussed and approved for incorporation into the next release to refactor and greatly improve the documentation. Specifically, there was agreement for “significant doc updates”.
@ejlee3 has provided some input to this task with issue #1146.
This topic was discussed in the Jun 21, 2023 architect’s meeting and feedback from that meeting is provided/annotated in the information below.
Having reviewed the documentation and all issues in the edgex-docs repository, the following concrete items are recommended to the community for comment, refinement and ultimately developer/writer actions for the upcoming 3.1 release:
Overall Organization
The top bar sections (Introduction, Getting Started, Security, …) seems haphazard and not helpful to adopters getting to the general category of information they need. Could we provide a more complete, detailed, side menu bar to layout the entire documentation structure for the user? Then use a tile approach on the main page to provide quick clicks into areas of the documentation? This approach is used by projects like Kubernetes, Grafana, or TensorFlow? The tiles take you to important topics directly in the side bar menu and could even someday be selected based on usage statistics.
The side bar menu would be organized per below (highlighted areas are main page tiles). It would be more detailed and contain duplicate references to topics that are common in multiple categories (for example, configuration information would be available through both the service category as well as configuration category). This should be accomplished with duplicate menu items but without duplication of content (i.e. link to the same content from different menu options). Major bullets being the displayed topics with the sub bullets being expanded menu selections.
Note: per the architect’s meeting, there is a desire to keep the menu bar across the top, but the menu bar would contain “bigger” items (but there is not clarity as to what would be in the menu bar).
Fundamentals
Overview of the project (some of which is under Introductions today)
EdgeX Fundamentals (Concepts, Terminology and Definitions; some under reference today but needs expanding)
Overview of the architecture (some under intro and micro services today)
Platform Requirements (under reference today)
Releases and LTS
Getting Involved (guidance on resources to get involved with the project – mostly pointers to things like the wiki)
Getting Started
Install EdgeX (the quick start guide today)
Using Docker (in the getting started area today)
Using Snaps (in the getting started area today)
Using Helm
Running EdgeX
Connect a device
Export data to the Cloud
Checking EdgeX Status and Troubleshooting
Ping Check
Logs
Walkthrough (an end-to-end walkthrough similar to the API Walkthrough)
Upgrading
V1 to V2 Migration Guide (put security migration guides as sub topics?)
V2 to V3 Migration Guide (put security migration guides as sub topics?)
Using Nightly Builds (from the nexus repository docs)
Services (see more below)
Core
Device
MQTT
Virtual
BACnet
…
Application
LLRP
Configurable
Supporting
Security
SDKs
Device Service Go
Device Service C
App Functions
GUI & Tools
Miscellaneous Components (3rd party)
Configuration (a lot of what is in Configuration & Registry today)
Configuration Guide: Common, local and overrides
Configuration structure
Writable vs Readable
Secrets configuration
Configuration reference
Developer
Object Models (explanations and detailed information on EdgeX object models)
Devices and Device Services
Device Profiles and Device Resources
Events and Readings
Configuration organization
DTO Validation
Message Bus (from the Message Bus page)
Message structure
Topic Structure
Implementation options
Building and Running EdgeX Natively (in the getting started area today)
Working in a hybrid environment with containers and native services
Creating and building a device service (in Go)
Creating and building a device service (in C)
Creating and building an application service
Building your own docker compose file
Tutorials (see more below)
References
Default service ports
Container names
Security Concerns
Filing a security issue
CORS settings
Threat models
Examples
Explanation of code “Examples” in EdgeX
List of Edge Examples with links to repositories
Project Requirements, design decisions
UCR and ADR processes
Use Case Requirements
Design Records
Redis Database Performance
Is EdgeX Foundry cloud native
Note: from the architect’s meeting it was noted that the tiles would largely be the important “getting started guides” and “deployment guides” are things needed first. Eventually, the tiles may be populated dynamically based on doc site stats (unsure how that would be accomplished).
Reorganization/Standardization of documentation Sections
Each section of the microservice documentation sections is organized and written as it came from different authors with different objectives and considerations. This is, in actually, a point of fact versus criticism, but it also makes it difficult for adopters to negotiate the documentation and find the information they need. The entire documentation set should be overhauled such that each of the related sections should have the same categories of information and structure. Also, the micro services sections contained a lot of information (a hodge podge of model info, tutorials, configuration, etc) that made finding the needed information hard. This section should be greatly simplified to provide some general guidance on what the service does and then pointers out to api and configuration guides, and pointers to tutorials for the service. A small section (Details) can provide service specific detailed information (where there is no other place to put it).
The following structure is suggested for each service section (using core and core data as an example):
Core Services
General Information (general description of the purpose of each service in this area; which are required, optional, and when)
Core Data
Purpose (how and when to use)
Configuration (specific to core data)
Tutorials
API Reference
Details
Streaming
Increased Focus on Getting Started Guides
Getting started guides need to focus on the most fundamental and critical needs of the platform (install run, get stuff connected, check that its working) in small, easily digestible guides. A final guide should help walk an adopter through the entire platform at a high level
Increased Focus on Practical Examples/Tutorials
We need more step-by-step guides on some of the most common needs in the system, probably organized by category. Below is a set of known tutorial needs
Creating an app service using the app function SDK
Creating a device service using the device service SDK in C
Creating a device service using the device service SDK in Go
Setting up the virtual device service to simulate sensor data
Sending and using binary data in EdgeX
Commanding devices using the rules engine
Establishing rules in the rules engine
Using provision watchers
Setting up sensor data capture with auto events
Scheduling data clean up
Setting up and applying units of measure to sensor data
Configuring and using service metrics
Using EdgeX in Secure Mode
Making authenticated calls of microservices
How to secure the message bus
How to secure add-on/custom services
How to secure the configuration store (Consul)
How to seed service secrets
How to build a delayed-start service
How to setup the API Gateway
Writing and using device profile
Working in a hybrid (Docker / Native) environment
Considerations, Open Questions, and Research Needed
How do we do this (big sidebar menu with tiles) with mkdocs and environment we have today?
New version of mkdocs provides for a better way to handle the version situation. How is this done and what would be the impact?
Version dropdown is always moving around. It should be at the top.
📚 Docs or Wiki Bug Report
This issue supersedes #1141
Per the Napa Release planning meeting, it was discussed and approved for incorporation into the next release to refactor and greatly improve the documentation. Specifically, there was agreement for “significant doc updates”.
@ejlee3 has provided some input to this task with issue #1146.
This topic was discussed in the Jun 21, 2023 architect’s meeting and feedback from that meeting is provided/annotated in the information below.
Having reviewed the documentation and all issues in the edgex-docs repository, the following concrete items are recommended to the community for comment, refinement and ultimately developer/writer actions for the upcoming 3.1 release:
Overall Organization
The top bar sections (Introduction, Getting Started, Security, …) seems haphazard and not helpful to adopters getting to the general category of information they need. Could we provide a more complete, detailed, side menu bar to layout the entire documentation structure for the user? Then use a tile approach on the main page to provide quick clicks into areas of the documentation? This approach is used by projects like Kubernetes, Grafana, or TensorFlow? The tiles take you to important topics directly in the side bar menu and could even someday be selected based on usage statistics.
The side bar menu would be organized per below (highlighted areas are main page tiles). It would be more detailed and contain duplicate references to topics that are common in multiple categories (for example, configuration information would be available through both the service category as well as configuration category). This should be accomplished with duplicate menu items but without duplication of content (i.e. link to the same content from different menu options). Major bullets being the displayed topics with the sub bullets being expanded menu selections.
Note: per the architect’s meeting, there is a desire to keep the menu bar across the top, but the menu bar would contain “bigger” items (but there is not clarity as to what would be in the menu bar).
Note: from the architect’s meeting it was noted that the tiles would largely be the important “getting started guides” and “deployment guides” are things needed first. Eventually, the tiles may be populated dynamically based on doc site stats (unsure how that would be accomplished).
Reorganization/Standardization of documentation Sections
Each section of the microservice documentation sections is organized and written as it came from different authors with different objectives and considerations. This is, in actually, a point of fact versus criticism, but it also makes it difficult for adopters to negotiate the documentation and find the information they need. The entire documentation set should be overhauled such that each of the related sections should have the same categories of information and structure. Also, the micro services sections contained a lot of information (a hodge podge of model info, tutorials, configuration, etc) that made finding the needed information hard. This section should be greatly simplified to provide some general guidance on what the service does and then pointers out to api and configuration guides, and pointers to tutorials for the service. A small section (Details) can provide service specific detailed information (where there is no other place to put it).
The following structure is suggested for each service section (using core and core data as an example):
Increased Focus on Getting Started Guides
Getting started guides need to focus on the most fundamental and critical needs of the platform (install run, get stuff connected, check that its working) in small, easily digestible guides. A final guide should help walk an adopter through the entire platform at a high level
Increased Focus on Practical Examples/Tutorials
We need more step-by-step guides on some of the most common needs in the system, probably organized by category. Below is a set of known tutorial needs
Considerations, Open Questions, and Research Needed
Relevant edgex-docs issue input