Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto-Generated Documentation #66

Open
15 tasks
JeremyCaney opened this issue May 8, 2023 · 1 comment
Open
15 tasks

Auto-Generated Documentation #66

JeremyCaney opened this issue May 8, 2023 · 1 comment
Assignees
Labels
Area: Documentation Relates to documentation in terms of XML Docs, README, &c. Priority: 3 Severity 0: Nice to Have Status 1: Roadmap Planned for a future, indeterminate release. Type: Feature Introduces a major area of functionality.

Comments

@JeremyCaney
Copy link
Member

JeremyCaney commented May 8, 2023

Provide a Razor Class Library that generates documentation for the OnTopic Content Types and Attributes supported. This should display the content in a user friendly interface which includes basic explanations of what Content Types and Attributes are.

Features

  • Provide a list of Content Type Descriptors in a hierarchy
  • Provide a list of parent Content Type Descriptors in breadcrumbs
  • Provide a list of Attribute Descriptors for each Content Type Descriptor
  • Group Attribute Descriptors into tabs based on their DisplayGroup
  • Identify Attribute Descriptors that are inherited from a parent Content Type
  • Link to the Content Type Descriptor or Attribute Descriptor definition in the OnTopic Editor
  • Allow the endpoint to require authentication, possibly by default

Nice to Have

  • Allow Content Type Descriptors and Attribute Descriptors to be filtered by user role, once implemented
  • Allow inherited Attribute Descriptors to be filtered out of the interface
  • Persist preference for Attribute Descriptor inheritance and user role filtering to a cookie, so it is a default for each page
  • Link to documentation for the Content Type Descriptor from topics in the OnTopic Editor
  • Display the Content Type Descriptor that each Attribute Descriptor is inherited from, if practical
  • Evaluate if an ASP.NET Core template is associated with the Content Type Descriptor—or any of its views—and, if so, provide a reference to them.

    Note: We can’t link to these without knowledge of where they are stored.

Open Issues

  • Should this be shipped with the OnTopic Editor, or distributed as a separate project? Lean toward separate project.
  • Should this permit being embedded in customer layouts of pages? This would be nice, but likely overly complicated.
@JeremyCaney JeremyCaney added Priority: 3 Severity 0: Nice to Have Status 1: Roadmap Planned for a future, indeterminate release. Type: Feature Introduces a major area of functionality. Area: Documentation Relates to documentation in terms of XML Docs, README, &c. labels May 8, 2023
@JeremyCaney JeremyCaney added this to the OnTopic Editor 6.0.0 milestone May 8, 2023
@JeremyCaney JeremyCaney self-assigned this May 8, 2023
@JeremyCaney
Copy link
Member Author

JeremyCaney commented May 8, 2023

A benefit to including this with the OnTopic Editor is the ability to use the same basic user interface and Stylesheet.

That said, this could alternatively be achieved by centralizing the Ignia admin navigation as it’s own separate NuGet package that both the OnTopic Editor and the proposed documentation rely on, as proposed in #21.

Another benefit would be to simplify linking to the documentation to the editor, since the presence of documentation would be implicitly present and at a known location.

Finally, if a customer is using the OnTopic Editor, they likely want the documentation, while it’s hard to imagine the inverse—i.e., these products complement one another.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Documentation Relates to documentation in terms of XML Docs, README, &c. Priority: 3 Severity 0: Nice to Have Status 1: Roadmap Planned for a future, indeterminate release. Type: Feature Introduces a major area of functionality.
Projects
None yet
Development

No branches or pull requests

1 participant