docs: shift architecture to own dir; simplify sidebar
This commit is contained in:
parent
f1a4c09b74
commit
c8df17b032
@ -13,14 +13,7 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
- [Advanced](advanced/index.md)
|
- [Architecture](architecture/index.md)
|
||||||
- [Architecture](advanced/architecture.md)
|
|
||||||
- [Overview](advanced/architecture.md#overview)
|
|
||||||
- [Business Logic](advanced/architecture.md#business-logic)
|
|
||||||
- [Component Library](advanced/architecture.md#react-component-library)
|
|
||||||
- [Extensions](advanced/architecture.md#misc-extensions)
|
|
||||||
- [Diagram](advanced/architecture.md#diagram)
|
|
||||||
- [Common Questions](advanced/architecture.md#common-questions)
|
|
||||||
- [Extensions](extensions/index.md)
|
- [Extensions](extensions/index.md)
|
||||||
- [Registering](extensions/index.md#registering-an-extension)
|
- [Registering](extensions/index.md#registering-an-extension)
|
||||||
- [Lifecycle Hooks](extensions/index.md#lifecycle-hooks)
|
- [Lifecycle Hooks](extensions/index.md#lifecycle-hooks)
|
||||||
@ -39,7 +32,6 @@
|
|||||||
- [Dialog Service](services/ui/ui-dialog-service.md)
|
- [Dialog Service](services/ui/ui-dialog-service.md)
|
||||||
- [Modal Service](services/ui/ui-modal-service.md)
|
- [Modal Service](services/ui/ui-modal-service.md)
|
||||||
- [Notification Service](services/ui/ui-notification-service.md)
|
- [Notification Service](services/ui/ui-notification-service.md)
|
||||||
- [Custom Tools](advanced/custom-tools.md)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@ -1,3 +0,0 @@
|
|||||||
# Advanced
|
|
||||||
|
|
||||||
Advanced topics go beyond basic configuration and deployment. Their goal is to provide insight into this project's architecture and guidance on leveraging extensions.
|
|
||||||
@ -10,6 +10,13 @@ allows our code to be used in more ways, it also increases complexity. Below, we
|
|||||||
aim to demistify that complexity by providing insight into how our Viewer is
|
aim to demistify that complexity by providing insight into how our Viewer is
|
||||||
architected, and the role each of it's dependent libraries plays.
|
architected, and the role each of it's dependent libraries plays.
|
||||||
|
|
||||||
|
- [Overview](#overview)
|
||||||
|
- [Business Logic](#business-logic)
|
||||||
|
- [Component Library](#react-component-library)
|
||||||
|
- [Internationalization](#internationalization-i18n)
|
||||||
|
- [Extensions & Configuration](#extensions--configuration)
|
||||||
|
- [Common Questions](#common-questions)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
The [OHIF Medical Image Viewing Platform][viewers-project] is maintained as a
|
The [OHIF Medical Image Viewing Platform][viewers-project] is maintained as a
|
||||||
@ -39,27 +46,47 @@ you'll see the following:
|
|||||||
└── README.md
|
└── README.md
|
||||||
```
|
```
|
||||||
|
|
||||||
Continue reading to see how these libraries work together to create the OHIF
|
The `platform` directory contains the business logic library, component library,
|
||||||
Viewer.
|
and the application library that combines them to create a powerful medical
|
||||||
|
imaging viewer.
|
||||||
|
|
||||||
### Business Logic
|
The `extensions` directory contains many packages that can be registered with
|
||||||
|
`@ohif/core`'s `ExtensionManager` to expand an application's supported features
|
||||||
|
and functionality.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<center><i>architecture diagram</i></center>
|
||||||
|
|
||||||
|
This diagram is a conceptual illustration of how the Viewer is architected.
|
||||||
|
|
||||||
|
1. (optional) `extensions` can be registered with `@ohif/core`'s
|
||||||
|
`ExtensionManager`
|
||||||
|
2. `@ohif/core` provides bussiness logic and a way for `@ohif/viewer` to access
|
||||||
|
registered extensions
|
||||||
|
3. The `@ohif/viewer` composes and provides data to components from our
|
||||||
|
component library (`@ohif/ui`)
|
||||||
|
4. The `@ohif/viewer` can be built and served as a stand-alone PWA, or as an
|
||||||
|
embeddable package ([`@ohif/viewer`][viewer-npm])
|
||||||
|
|
||||||
|
## Business Logic
|
||||||
|
|
||||||
The [`@ohif/core`][core-github] project offers pre-packaged solutions for
|
The [`@ohif/core`][core-github] project offers pre-packaged solutions for
|
||||||
features common to Web-based medical imaging viewers. For example:
|
features common to Web-based medical imaging viewers. For example:
|
||||||
|
|
||||||
- Hotkeys
|
- [Hotkeys](#)
|
||||||
- DICOM Web requests
|
- DICOM Web requests
|
||||||
- Hanging Protocols
|
- Hanging Protocols
|
||||||
- Managing a study's measurements
|
- [Managing a study's measurements](../services/default/measurements.md)
|
||||||
- Managing a study's DICOM metadata
|
- Managing a study's DICOM metadata
|
||||||
- A flexible pattern for extensions
|
- [A flexible pattern for extensions](../extensions/index.md)
|
||||||
- And many others
|
- And many others
|
||||||
|
|
||||||
It does this while remaining decoupled from any particular view library or
|
It does this while remaining decoupled from any particular view library or
|
||||||
rendering logic. While we use it to power our React Viewer, it can be used with
|
rendering logic. While we use it to power our React Viewer, it can be used with
|
||||||
Vue, React, Vanilla JS, or any number of other frameworks.
|
Vue, React, Vanilla JS, or any number of other frameworks.
|
||||||
|
|
||||||
### React Component Library
|
## React Component Library
|
||||||
|
|
||||||
[`@ohif/ui`][ui-github] is a React Component library that contains the reusable
|
[`@ohif/ui`][ui-github] is a React Component library that contains the reusable
|
||||||
components that power the OHIF Viewer. It allows us to build, compose, and test
|
components that power the OHIF Viewer. It allows us to build, compose, and test
|
||||||
@ -72,15 +99,11 @@ application.
|
|||||||
|
|
||||||
[Check out our component library!](https://react.ohif.org/)
|
[Check out our component library!](https://react.ohif.org/)
|
||||||
|
|
||||||
### Internationalization (i18n)
|
## Internationalization (i18n)
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
### The Viewer
|
## Extensions & Configuration
|
||||||
|
|
||||||
...
|
|
||||||
|
|
||||||
### Extensions & Configuration
|
|
||||||
|
|
||||||
While OHIF maintains several high value and commonly requested features in its
|
While OHIF maintains several high value and commonly requested features in its
|
||||||
own extensions, there are many instances where one may wish to further extend
|
own extensions, there are many instances where one may wish to further extend
|
||||||
@ -105,23 +128,6 @@ looking for ways to improve our extensibility ^\_^
|
|||||||
|
|
||||||
[Click here to read more about extensions!](../extensions/index.md)
|
[Click here to read more about extensions!](../extensions/index.md)
|
||||||
|
|
||||||
### Diagram
|
|
||||||
|
|
||||||
This diagram is a conceptual illustration of how the Viewer is architected.
|
|
||||||
|
|
||||||
1. (optional) `extensions` can be registered with `@ohif/core`'s extension
|
|
||||||
manager
|
|
||||||
2. `@ohif/core` provides bussiness logic and a way for `@ohif/viewer` to access
|
|
||||||
registered extensions
|
|
||||||
3. The `@ohif/viewer` composes and provides data to components from our
|
|
||||||
component library (`@ohif/ui`)
|
|
||||||
4. The `@ohif/viewer` can be built and served as a stand-alone PWA, or as an
|
|
||||||
embeddable package ([`@ohif/viewer`][viewer-npm])
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
<center><i>architecture diagram</i></center>
|
|
||||||
|
|
||||||
## Common Questions
|
## Common Questions
|
||||||
|
|
||||||
> When should I use the packaged source `@ohif/viewer` versus building a PWA
|
> When should I use the packaged source `@ohif/viewer` versus building a PWA
|
||||||
@ -141,6 +147,7 @@ you would need to recreate.
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- prettier-ignore-start -->
|
<!-- prettier-ignore-start -->
|
||||||
|
[monorepo]: #
|
||||||
[viewers-project]: https://github.com/OHIF/Viewers
|
[viewers-project]: https://github.com/OHIF/Viewers
|
||||||
[viewer-npm]: https://www.npmjs.com/package/@ohif/viewer
|
[viewer-npm]: https://www.npmjs.com/package/@ohif/viewer
|
||||||
[pwa]: https://developers.google.com/web/progressive-web-apps/
|
[pwa]: https://developers.google.com/web/progressive-web-apps/
|
||||||
Loading…
Reference in New Issue
Block a user