Sphinx-Needs

Analysis

@startuml

' Nodes definition 

file "<size:12>Artifact</size>\n**Sphinx-Needs**\n**needs.json file**\n<size:10>ART_SN_NEEDS_JSON</size>" as ART_SN_NEEDS_JSON [[../tools/sphinx-needs/artifacts.html#ART_SN_NEEDS_JSON]] #LightBlue
rectangle "<size:12>Feature</size>\n**Read**\n**Traceability**\n**objects in**\n**Sphinx-Needs**\n<size:10>FE_SN_READ</size>" as FE_SN_READ [[../tools/sphinx-needs/features.html#FE_SN_READ]] #Gold{
'child needs:
rectangle "<size:12>Error</size>\n**Syntax errors**\n**in rst/md files**\n**cause**\n**Traceability**\n**objects to be**\n**ignored**\n<size:10>ER_SN_SYN_ER</size>" as ER_SN_SYN_ER [[../tools/sphinx-needs/features.html#ER_SN_SYN_ER]] #Pink
rectangle "<size:12>Error</size>\n**Missing**\n**external**\n**needs.json file**\n<size:10>ER_SN_JSON_NOT_FOUND</size>" as ER_SN_JSON_NOT_FOUND [[../tools/sphinx-needs/features.html#ER_SN_JSON_NOT_FOUND]] #Pink
rectangle "<size:12>Error</size>\n**Corrupted**\n**external**\n**needs.json file**\n<size:10>ER_SN_JSON_CORRUPTED</size>" as ER_SN_JSON_CORRUPTED [[../tools/sphinx-needs/features.html#ER_SN_JSON_CORRUPTED]] #Pink
rectangle "<size:12>Error</size>\n**Authentication**\n**issues with**\n**needsservice**\n<size:10>ER_SN_SER_AUTH</size>" as ER_SN_SER_AUTH [[../tools/sphinx-needs/features.html#ER_SN_SER_AUTH]] #Pink
rectangle "<size:12>Error</size>\n**Invalid meta-**\n**data in rst/md**\n**files leads to**\n**ignored**\n**Traceability**\n**objects**\n<size:10>ER_SN_DATA_INVALID</size>" as ER_SN_DATA_INVALID [[../tools/sphinx-needs/features.html#ER_SN_DATA_INVALID]] #Pink
rectangle "<size:12>Error</size>\n**Programmatic**\n**errors in**\n**rst/md files**\n**result in**\n**ignored**\n**Traceability**\n**objects**\n<size:10>ER_SN_CODE_ERR</size>" as ER_SN_CODE_ERR [[../tools/sphinx-needs/features.html#ER_SN_CODE_ERR]] #Pink
rectangle "<size:12>Error</size>\n**Invalid or**\n**incorrect**\n**filters used**\n**for external**\n**needs.json**\n<size:10>ER_SN_JSON_FILTER</size>" as ER_SN_JSON_FILTER [[../tools/sphinx-needs/features.html#ER_SN_JSON_FILTER]] #Pink
rectangle "<size:12>Error</size>\n**External**\n**service**\n**unreachable by**\n**needsservice**\n<size:10>ER_SN_SER_DOWN</size>" as ER_SN_SER_DOWN [[../tools/sphinx-needs/features.html#ER_SN_SER_DOWN]] #Pink
rectangle "<size:12>Error</size>\n**needsservice**\n**unable to**\n**process data**\n**from external**\n**service**\n<size:10>ER_SN_SER_INVALID</size>" as ER_SN_SER_INVALID [[../tools/sphinx-needs/features.html#ER_SN_SER_INVALID]] #Pink
}
rectangle "<size:12>Feature</size>\n**Display**\n**Traceability**\n**objects content**\n**in Sphinx-Needs**\n<size:10>FE_SN_CONTENT_RENDER</size>" as FE_SN_CONTENT_RENDER [[../tools/sphinx-needs/features.html#FE_SN_CONTENT_RENDER]] #Gold{
'child needs:
rectangle "<size:12>Error</size>\n**Content**\n**contains syntax**\n**errors**\n<size:10>ER_SN_CONTENT_SYNTAX</size>" as ER_SN_CONTENT_SYNTAX [[../tools/sphinx-needs/features.html#ER_SN_CONTENT_SYNTAX]] #Pink
}
rectangle "<size:12>Feature</size>\n**Assign meta-**\n**data to**\n**Traceability**\n**objects in**\n**Sphinx-Needs**\n<size:10>FE_SN_SET_META</size>" as FE_SN_SET_META [[../tools/sphinx-needs/features.html#FE_SN_SET_META]] #Gold{
'child needs:
rectangle "<size:12>Error</size>\n**Dynamic**\n**functions**\n**return invalid**\n**meta-data**\n<size:10>ER_SN_DYN_INVALID</size>" as ER_SN_DYN_INVALID [[../tools/sphinx-needs/features.html#ER_SN_DYN_INVALID]] #Pink
rectangle "<size:12>Error</size>\n**Dynamic**\n**functions**\n**return wrong**\n**meta-data**\n<size:10>ER_SN_DYN_WRONG</size>" as ER_SN_DYN_WRONG [[../tools/sphinx-needs/features.html#ER_SN_DYN_WRONG]] #Pink
rectangle "<size:12>Error</size>\n**Sphinx-Needs**\n**data not valid**\n<size:10>ER_SN_META_INVALID</size>" as ER_SN_META_INVALID [[../tools/sphinx-needs/features.html#ER_SN_META_INVALID]] #Pink
rectangle "<size:12>Error</size>\n**Sphinx-Needs**\n**data is not**\n**process-**\n**compliant**\n<size:10>ER_SN_META_NOT_COMPLIANT</size>" as ER_SN_META_NOT_COMPLIANT [[../tools/sphinx-needs/features.html#ER_SN_META_NOT_COMPLIANT]] #Pink
}
rectangle "<size:12>Feature</size>\n**Establish links**\n**between**\n**Traceability**\n**objects in**\n**Sphinx-Needs**\n<size:10>FE_SN_LINK</size>" as FE_SN_LINK [[../tools/sphinx-needs/features.html#FE_SN_LINK]] #Gold{
'child needs:
rectangle "<size:12>Error</size>\n**Back-links are**\n**not set**\n<size:10>ER_SN_LINKS_NO_BACK</size>" as ER_SN_LINKS_NO_BACK [[../tools/sphinx-needs/features.html#ER_SN_LINKS_NO_BACK]] #Pink
rectangle "<size:12>Error</size>\n**Internal target**\n**link is not**\n**found**\n<size:10>ER_SN_LINKS_NO_TARGET</size>" as ER_SN_LINKS_NO_TARGET [[../tools/sphinx-needs/features.html#ER_SN_LINKS_NO_TARGET]] #Pink
rectangle "<size:12>Error</size>\n**External needs**\n**not found**\n<size:10>ER_SN_LINKS_NO_EXT</size>" as ER_SN_LINKS_NO_EXT [[../tools/sphinx-needs/features.html#ER_SN_LINKS_NO_EXT]] #Pink
rectangle "<size:12>Error</size>\n**External needs**\n**corrupted**\n<size:10>ER_SN_LINKS_EXT_COR</size>" as ER_SN_LINKS_EXT_COR [[../tools/sphinx-needs/features.html#ER_SN_LINKS_EXT_COR]] #Pink
rectangle "<size:12>Error</size>\n**Links missing**\n<size:10>ER_SN_LINKS_MISSING</size>" as ER_SN_LINKS_MISSING [[../tools/sphinx-needs/features.html#ER_SN_LINKS_MISSING]] #Pink
}
rectangle "<size:12>Feature</size>\n**Generate object**\n**representation**\n**in Sphinx-Needs**\n<size:10>FE_SN_DOCTREE</size>" as FE_SN_DOCTREE [[../tools/sphinx-needs/features.html#FE_SN_DOCTREE]] #Gold{
'child needs:
rectangle "<size:12>Error</size>\n**Meta-data**\n**missing**\n<size:10>ER_SN_LAY_META_MIS</size>" as ER_SN_LAY_META_MIS [[../tools/sphinx-needs/features.html#ER_SN_LAY_META_MIS]] #Pink
rectangle "<size:12>Error</size>\n**Wrong meta-data**\n**is used**\n<size:10>ER_SN_LAY_META_WRONG</size>" as ER_SN_LAY_META_WRONG [[../tools/sphinx-needs/features.html#ER_SN_LAY_META_WRONG]] #Pink
}
rectangle "<size:12>Feature</size>\n**Export**\n**needs.json file**\n**using Sphinx-**\n**Needs**\n<size:10>FE_SN_JSON</size>" as FE_SN_JSON [[../tools/sphinx-needs/features.html#FE_SN_JSON]] #Gold{
'child needs:
rectangle "<size:12>Error</size>\n**Objects missing**\n**in needs.json**\n<size:10>ER_SN_JSON_MIS</size>" as ER_SN_JSON_MIS [[../tools/sphinx-needs/features.html#ER_SN_JSON_MIS]] #Pink
rectangle "<size:12>Error</size>\n**Traceability**\n**objects meta-**\n**data corrupted**\n<size:10>ER_SN_JSON_COR</size>" as ER_SN_JSON_COR [[../tools/sphinx-needs/features.html#ER_SN_JSON_COR]] #Pink
}
rectangle "<size:12>Feature</size>\n**Apply dynamic**\n**functions for**\n**meta-data**\n**computation**\n<size:10>FE_SN_DYN_FUNC</size>" as FE_SN_DYN_FUNC [[../tools/sphinx-needs/features.html#FE_SN_DYN_FUNC]] #Gold{
'child needs:
rectangle "<size:12>Error</size>\n**Function gets**\n**not executed**\n<size:10>ER_SN_DYN_NO_EXEC</size>" as ER_SN_DYN_NO_EXEC [[../tools/sphinx-needs/features.html#ER_SN_DYN_NO_EXEC]] #Pink
rectangle "<size:12>Error</size>\n**Function**\n**returns invalid**\n**value**\n<size:10>ER_SN_DYN_INVALID2</size>" as ER_SN_DYN_INVALID2 [[../tools/sphinx-needs/features.html#ER_SN_DYN_INVALID2]] #Pink
rectangle "<size:12>Error</size>\n**Function**\n**returns wrong**\n**calculated**\n**values**\n<size:10>ER_SN_DYN_WRONG_CALC</size>" as ER_SN_DYN_WRONG_CALC [[../tools/sphinx-needs/features.html#ER_SN_DYN_WRONG_CALC]] #Pink
}
rectangle "<size:12>Feature</size>\n**Extend page**\n**content with**\n**templates in**\n**Sphinx-Needs**\n<size:10>FE_SN_TEMPLATE_PAGE</size>" as FE_SN_TEMPLATE_PAGE [[../tools/sphinx-needs/features.html#FE_SN_TEMPLATE_PAGE]] #Gold
rectangle "<size:12>Feature</size>\n**Enhance Need**\n**content using**\n**templates in**\n**Sphinx-Needs**\n<size:10>FE_SN_TEMPLATE_NEED</size>" as FE_SN_TEMPLATE_NEED [[../tools/sphinx-needs/features.html#FE_SN_TEMPLATE_NEED]] #Gold
rectangle "<size:12>Feature</size>\n**Definable need**\n**types**\n<size:10>FE_SPHINX_NEEDS_DEFINABLE_TYPES</size>" as FE_SPHINX_NEEDS_DEFINABLE_TYPES [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_DEFINABLE_TYPES]] #Gold
rectangle "<size:12>Feature</size>\n**Customizable**\n**need options**\n<size:10>FE_SPHINX_NEEDS_CUSTOMIZABLE_OPTIONS</size>" as FE_SPHINX_NEEDS_CUSTOMIZABLE_OPTIONS [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_CUSTOMIZABLE_OPTIONS]] #Gold
rectangle "<size:12>Feature</size>\n**Customizable**\n**link types**\n<size:10>FE_SPHINX_NEEDS_CUSTOMIZABLE_LINKS</size>" as FE_SPHINX_NEEDS_CUSTOMIZABLE_LINKS [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_CUSTOMIZABLE_LINKS]] #Gold
rectangle "<size:12>Feature</size>\n**Automatic ID**\n**generation**\n<size:10>FE_SPHINX_NEEDS_AUTO_ID</size>" as FE_SPHINX_NEEDS_AUTO_ID [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_AUTO_ID]] #Gold
rectangle "<size:12>Feature</size>\n**Manual ID**\n**assignment**\n<size:10>FE_SPHINX_NEEDS_MANUAL_ID</size>" as FE_SPHINX_NEEDS_MANUAL_ID [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_MANUAL_ID]] #Gold
rectangle "<size:12>Feature</size>\n**Need status**\n**enforcement**\n<size:10>FE_SPHINX_NEEDS_STATUS_ENFORCEMENT</size>" as FE_SPHINX_NEEDS_STATUS_ENFORCEMENT [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_STATUS_ENFORCEMENT]] #Gold
rectangle "<size:12>Feature</size>\n**Tagging support**\n<size:10>FE_SPHINX_NEEDS_TAGGING</size>" as FE_SPHINX_NEEDS_TAGGING [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_TAGGING]] #Gold
rectangle "<size:12>Feature</size>\n**In-content need**\n**parts for**\n**granular**\n**references**\n<size:10>FE_SPHINX_NEEDS_NEED_PARTS</size>" as FE_SPHINX_NEEDS_NEED_PARTS [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_NEED_PARTS]] #Gold
rectangle "<size:12>Feature</size>\n**Unique ID**\n**enforcement and**\n**checks**\n<size:10>FE_SPHINX_NEEDS_UNIQUE_ID_ENFORCEMENT</size>" as FE_SPHINX_NEEDS_UNIQUE_ID_ENFORCEMENT [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_UNIQUE_ID_ENFORCEMENT]] #Gold
rectangle "<size:12>Feature</size>\n**Display needs**\n**in a filterable**\n**table**\n**(needtable)**\n<size:10>FE_SPHINX_NEEDS_DIRECTIVE_NEEDTABLE</size>" as FE_SPHINX_NEEDS_DIRECTIVE_NEEDTABLE [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_DIRECTIVE_NEEDTABLE]] #Gold
rectangle "<size:12>Feature</size>\n**Render a**\n**PlantUML flow**\n**diagram of**\n**needs**\n**(needflow)**\n<size:10>FE_SPHINX_NEEDS_DIRECTIVE_NEEDFLOW</size>" as FE_SPHINX_NEEDS_DIRECTIVE_NEEDFLOW [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_DIRECTIVE_NEEDFLOW]] #Gold
rectangle "<size:12>Feature</size>\n**Create a pie**\n**chart based on**\n**need statistics**\n**(needpie)**\n<size:10>FE_SPHINX_NEEDS_DIRECTIVE_NEEDPIE</size>" as FE_SPHINX_NEEDS_DIRECTIVE_NEEDPIE [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_DIRECTIVE_NEEDPIE]] #Gold
rectangle "<size:12>Feature</size>\n**Create a bar**\n**chart based on**\n**need statistics**\n**(needbar)**\n<size:10>FE_SPHINX_NEEDS_DIRECTIVE_NEEDBAR</size>" as FE_SPHINX_NEEDS_DIRECTIVE_NEEDBAR [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_DIRECTIVE_NEEDBAR]] #Gold
rectangle "<size:12>Feature</size>\n**Import needs**\n**from an**\n**external JSON**\n**file**\n**(needimport)**\n<size:10>FE_SPHINX_NEEDS_DIRECTIVE_NEEDIMPORT</size>" as FE_SPHINX_NEEDS_DIRECTIVE_NEEDIMPORT [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_DIRECTIVE_NEEDIMPORT]] #Gold
rectangle "<size:12>Feature</size>\n**Modify existing**\n**needs in bulk**\n**(needextend)**\n<size:10>FE_SPHINX_NEEDS_DIRECTIVE_NEEDEXTEND</size>" as FE_SPHINX_NEEDS_DIRECTIVE_NEEDEXTEND [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_DIRECTIVE_NEEDEXTEND]] #Gold
rectangle "<size:12>Feature</size>\n**Direct linking**\n**between needs**\n**using IDs**\n<size:10>FE_SPHINX_NEEDS_LINKING_DIRECT</size>" as FE_SPHINX_NEEDS_LINKING_DIRECT [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_LINKING_DIRECT]] #Gold
rectangle "<size:12>Feature</size>\n**Bidirectional**\n**link tracking**\n<size:10>FE_SPHINX_NEEDS_LINKING_BIDIRECTIONAL</size>" as FE_SPHINX_NEEDS_LINKING_BIDIRECTIONAL [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_LINKING_BIDIRECTIONAL]] #Gold
rectangle "<size:12>Feature</size>\n**Dead link**\n**detection and**\n**warnings**\n<size:10>FE_SPHINX_NEEDS_LINKING_DEAD_LINK_DETECTION</size>" as FE_SPHINX_NEEDS_LINKING_DEAD_LINK_DETECTION [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_LINKING_DEAD_LINK_DETECTION]] #Gold
rectangle "<size:12>Feature</size>\n**Constraint**\n**checking to**\n**validate need**\n**relationships**\n<size:10>FE_SPHINX_NEEDS_DYNAMIC_CONSTRAINTS</size>" as FE_SPHINX_NEEDS_DYNAMIC_CONSTRAINTS [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_DYNAMIC_CONSTRAINTS]] #Gold
rectangle "<size:12>Feature</size>\n**Configuration**\n**via conf.py or**\n**an external**\n**TOML file**\n<size:10>FE_SPHINX_NEEDS_CONFIG_FILES</size>" as FE_SPHINX_NEEDS_CONFIG_FILES [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_CONFIG_FILES]] #Gold
rectangle "<size:12>Feature</size>\n**Customizable**\n**layouts for**\n**need**\n**presentation**\n<size:10>FE_SPHINX_NEEDS_CONFIG_LAYOUTS</size>" as FE_SPHINX_NEEDS_CONFIG_LAYOUTS [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_CONFIG_LAYOUTS]] #Gold
rectangle "<size:12>Feature</size>\n**JSON builder to**\n**export all need**\n**data**\n<size:10>FE_SPHINX_NEEDS_EXPORT_JSON</size>" as FE_SPHINX_NEEDS_EXPORT_JSON [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_EXPORT_JSON]] #Gold
rectangle "<size:12>Feature</size>\n**Permalink**\n**generation to**\n**specific need**\n**objects**\n<size:10>FE_SPHINX_NEEDS_EXPORT_PERMALINKS</size>" as FE_SPHINX_NEEDS_EXPORT_PERMALINKS [[../tools/sphinx-needs/features.html#FE_SPHINX_NEEDS_EXPORT_PERMALINKS]] #Gold
node "<size:12>Tool</size>\n**Sphinx-Needs**\n<size:10>TOOL_SN</size>" as TOOL_SN [[../tools/sphinx-needs/index.html#TOOL_SN]] #0fbcf9
rectangle "<size:12>Restriction</size>\n**Do not use**\n**dynamic**\n**functions**\n<size:10>CHECK_SN_NO_DYN</size>" as CHECK_SN_NO_DYN [[../tools/sphinx-needs/restrictions.html#CHECK_SN_NO_DYN]] #Orange
rectangle "<size:12>Restriction</size>\n**Warning to**\n**Error**\n<size:10>RE_SN_WARNINGS</size>" as RE_SN_WARNINGS [[../tools/sphinx-needs/restrictions.html#RE_SN_WARNINGS]] #Orange
rectangle "<size:12>Restriction</size>\n**Clean full**\n**build**\n<size:10>RE_SN_CLEAN</size>" as RE_SN_CLEAN [[../tools/sphinx-needs/restrictions.html#RE_SN_CLEAN]] #Orange

' Connection definition 

FE_SN_READ -[#333333]-> TOOL_SN
FE_SN_CONTENT_RENDER -[#333333]-> TOOL_SN
FE_SN_SET_META -[#333333]-> TOOL_SN
FE_SN_LINK -[#333333]-> TOOL_SN
FE_SN_DOCTREE -[#333333]-> TOOL_SN
FE_SN_JSON -[#333333]-> TOOL_SN
FE_SN_DYN_FUNC -[#333333]-> TOOL_SN
FE_SN_TEMPLATE_PAGE -[#333333]-> TOOL_SN
FE_SN_TEMPLATE_NEED -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_DEFINABLE_TYPES -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_CUSTOMIZABLE_OPTIONS -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_CUSTOMIZABLE_LINKS -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_AUTO_ID -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_MANUAL_ID -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_STATUS_ENFORCEMENT -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_TAGGING -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_NEED_PARTS -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_UNIQUE_ID_ENFORCEMENT -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_DIRECTIVE_NEEDTABLE -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_DIRECTIVE_NEEDFLOW -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_DIRECTIVE_NEEDPIE -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_DIRECTIVE_NEEDBAR -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_DIRECTIVE_NEEDIMPORT -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_DIRECTIVE_NEEDEXTEND -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_LINKING_DIRECT -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_LINKING_BIDIRECTIONAL -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_LINKING_DEAD_LINK_DETECTION -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_DYNAMIC_CONSTRAINTS -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_CONFIG_FILES -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_CONFIG_LAYOUTS -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_EXPORT_JSON -[#333333]-> TOOL_SN
FE_SPHINX_NEEDS_EXPORT_PERMALINKS -[#333333]-> TOOL_SN
CHECK_SN_NO_DYN -[#FA8072]-> ER_SN_DYN_INVALID
CHECK_SN_NO_DYN -[#FA8072]-> ER_SN_DYN_WRONG
RE_SN_WARNINGS -[#FA8072]-> ER_SN_DATA_INVALID

@enduml

ID

Title

Type

ART_SN_NEEDS_JSON

Sphinx-Needs needs.json file

artifact

CHECK_SN_NO_DYN

Do not use dynamic functions

restriction

ER_SN_CODE_ERR

Programmatic errors in rst/md files result in ignored Traceability objects

error

ER_SN_CONTENT_SYNTAX

Content contains syntax errors

error

ER_SN_DATA_INVALID

Invalid meta-data in rst/md files leads to ignored Traceability objects

error

ER_SN_DYN_INVALID

Dynamic functions return invalid meta-data

error

ER_SN_DYN_INVALID2

Function returns invalid value

error

ER_SN_DYN_NO_EXEC

Function gets not executed

error

ER_SN_DYN_WRONG

Dynamic functions return wrong meta-data

error

ER_SN_DYN_WRONG_CALC

Function returns wrong calculated values

error

ER_SN_JSON_COR

Traceability objects meta-data corrupted

error

ER_SN_JSON_CORRUPTED

Corrupted external needs.json file

error

ER_SN_JSON_FILTER

Invalid or incorrect filters used for external needs.json

error

ER_SN_JSON_MIS

Objects missing in needs.json

error

ER_SN_JSON_NOT_FOUND

Missing external needs.json file

error

ER_SN_LAY_META_MIS

Meta-data missing

error

ER_SN_LAY_META_WRONG

Wrong meta-data is used

error

ER_SN_LINKS_EXT_COR

External needs corrupted

error

ER_SN_LINKS_MISSING

Links missing

error

ER_SN_LINKS_NO_BACK

Back-links are not set

error

ER_SN_LINKS_NO_EXT

External needs not found

error

ER_SN_LINKS_NO_TARGET

Internal target link is not found

error

ER_SN_META_INVALID

Sphinx-Needs data not valid

error

ER_SN_META_NOT_COMPLIANT

Sphinx-Needs data is not process-compliant

error

ER_SN_SER_AUTH

Authentication issues with needsservice

error

ER_SN_SER_DOWN

External service unreachable by needsservice

error

ER_SN_SER_INVALID

needsservice unable to process data from external service

error

ER_SN_SYN_ER

Syntax errors in rst/md files cause Traceability objects to be ignored

error

FE_SN_CONTENT_RENDER

Display Traceability objects content in Sphinx-Needs

feature

FE_SN_DOCTREE

Generate object representation in Sphinx-Needs

feature

FE_SN_DYN_FUNC

Apply dynamic functions for meta-data computation

feature

FE_SN_JSON

Export needs.json file using Sphinx-Needs

feature

FE_SN_LINK

Establish links between Traceability objects in Sphinx-Needs

feature

FE_SN_READ

Read Traceability objects in Sphinx-Needs

feature

FE_SN_SET_META

Assign meta-data to Traceability objects in Sphinx-Needs

feature

FE_SN_TEMPLATE_NEED

Enhance Need content using templates in Sphinx-Needs

feature

FE_SN_TEMPLATE_PAGE

Extend page content with templates in Sphinx-Needs

feature

FE_SPHINX_NEEDS_AUTO_ID

Automatic ID generation

feature

FE_SPHINX_NEEDS_CONFIG_FILES

Configuration via conf.py or an external TOML file

feature

FE_SPHINX_NEEDS_CONFIG_LAYOUTS

Customizable layouts for need presentation

feature

FE_SPHINX_NEEDS_CUSTOMIZABLE_LINKS

Customizable link types

feature

FE_SPHINX_NEEDS_CUSTOMIZABLE_OPTIONS

Customizable need options

feature

FE_SPHINX_NEEDS_DEFINABLE_TYPES

Definable need types

feature

FE_SPHINX_NEEDS_DIRECTIVE_NEEDBAR

Create a bar chart based on need statistics (needbar)

feature

FE_SPHINX_NEEDS_DIRECTIVE_NEEDEXTEND

Modify existing needs in bulk (needextend)

feature

FE_SPHINX_NEEDS_DIRECTIVE_NEEDFLOW

Render a PlantUML flow diagram of needs (needflow)

feature

FE_SPHINX_NEEDS_DIRECTIVE_NEEDIMPORT

Import needs from an external JSON file (needimport)

feature

FE_SPHINX_NEEDS_DIRECTIVE_NEEDPIE

Create a pie chart based on need statistics (needpie)

feature

FE_SPHINX_NEEDS_DIRECTIVE_NEEDTABLE

Display needs in a filterable table (needtable)

feature

FE_SPHINX_NEEDS_DYNAMIC_CONSTRAINTS

Constraint checking to validate need relationships

feature

FE_SPHINX_NEEDS_EXPORT_JSON

JSON builder to export all need data

feature

FE_SPHINX_NEEDS_EXPORT_PERMALINKS

Permalink generation to specific need objects

feature

FE_SPHINX_NEEDS_LINKING_BIDIRECTIONAL

Bidirectional link tracking

feature

FE_SPHINX_NEEDS_LINKING_DEAD_LINK_DETECTION

Dead link detection and warnings

feature

FE_SPHINX_NEEDS_LINKING_DIRECT

Direct linking between needs using IDs

feature

FE_SPHINX_NEEDS_MANUAL_ID

Manual ID assignment

feature

FE_SPHINX_NEEDS_NEED_PARTS

In-content need parts for granular references

feature

FE_SPHINX_NEEDS_STATUS_ENFORCEMENT

Need status enforcement

feature

FE_SPHINX_NEEDS_TAGGING

Tagging support

feature

FE_SPHINX_NEEDS_UNIQUE_ID_ENFORCEMENT

Unique ID enforcement and checks

feature

RE_SN_CLEAN

Clean full build

restriction

RE_SN_WARNINGS

Warning to Error

restriction

TOOL_SN

Sphinx-Needs

tool

../../_images/need_pie_53399.svg
✅ Compliance statistics

Features without errors: 25 / 32

Errors without a mitigation: 23 / 26

Restrictions without error: 1 / 3

Checks without error: 0 / 0