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

Proposed RFC: Introduce developer documentation for the Action Manager system #88

Open
AMZN-daimini opened this issue Dec 7, 2022 · 1 comment
Assignees
Labels
rfc-feature Request for Comments for a Feature

Comments

@AMZN-daimini
Copy link

Feature: Action Manager developer documentation

The Action Manager is a new system that replaces the existing architecture(s) used to define menus, toolbars, hotkeys and overall editor actions in O3DE. We want to introduce proper developer documentation to enable existing and new systems, both core to the editor or added via Gems, to adopt the system and thus standardize the user experience across all the different parts of the Editor.

More details about this feature: o3de/sig-content#51
(The RFC goes over some user customization functionality at the end that was not included in the current MVP, but gives a good overview of the scope)

What is the relevance of this feature?

By providing a complete developer documentation, we aim to facilitate adoption which will enhance the extensibility of the Editor overall.

What are the advantages of the feature?

  • Developers can adopt this new framework more easily than having to manually search the codebase for existing integrations;
  • Best practices and expectations can be explicitly stated, reducing review times for PRs;
  • The reasoning behind the architecture can be detailed to enable future developments to follow the same mindset and standards.

Scope of work

The Action Manager system is also comprised of additional sub-systems that manage Menus, ToolBars and Hotkeys.
Documentation should likely include

  • API references;
  • Architecture Overview;
  • Startup guide for developers creating new systems;
  • Migration guide for developers reworking existing systems to adopt the framework.

I am planning to dedicate the time necessary to write down the bulk of this documentation; the support that I would need from sig-docs-community is related to the style and hierarchy of the pages/topics to conform with the rest of the docs.

@chanmosq
Copy link
Contributor

Hello @AMZN-daimini, excited to hear this! This will be very useful for the engine's development.

Based on the target audience for these docs, I think the best place will be the Engine Developer Guide, a new guide that lives on the development branch. (Soon, we'll make this guide accessible from the Docs landing page via the main branch.)

For the contents of the Action Manager developer guide, you can take a look at the Terrain developer guide as an example. (These will be migrated to the Engine Developer Guide.) Your high-level sections might look something like this, with architecture/overview first and reference docs last:

  • Architecture (Usually only one page)
  • Developing with the Action Manager System (One page with larger subsections, or you can split into multiple pages in a way that makes sense. If multiple pages, I suggest keeping the pages flat and not creating a subdirectory. Unless this is a really big section, I don't think it's necessary.)
  • Migrating to the Action Manager System (Usually one page)
  • API Reference (One page with larger subsections)

Depending on how complex the Action Manager system is, you may want to separate the architecture topics by each sub-module as well.

For API reference, will the API be generated alongside the other O3DE engine code and these proposed API references further detail how to use the API? If so, you can structure these docs to focus on the functionality, or what you're doing with the API. For example, in the Terrain Developer Guide, there are the sections Using the terrain system and Extending the terrain system.

You can continue to reach sig-docs-community through this RFC or Discord, or message me directly as well! We can continue to plan these docs.

@AMZN-daimini AMZN-daimini self-assigned this Dec 19, 2022
@chanmosq chanmosq removed their assignment Aug 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rfc-feature Request for Comments for a Feature
Projects
None yet
Development

No branches or pull requests

3 participants