From c8df17b032c9f1318a0d63918cdf096847d55202 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Fri, 6 Dec 2019 21:54:15 -0500 Subject: [PATCH] docs: shift architecture to own dir; simplify sidebar --- docs/latest/SUMMARY.md | 10 +-- docs/latest/advanced/index.md | 3 - .../architecture.md => architecture/index.md} | 67 ++++++++++--------- 3 files changed, 38 insertions(+), 42 deletions(-) delete mode 100644 docs/latest/advanced/index.md rename docs/latest/{advanced/architecture.md => architecture/index.md} (85%) diff --git a/docs/latest/SUMMARY.md b/docs/latest/SUMMARY.md index e6f9278cb..39083990a 100644 --- a/docs/latest/SUMMARY.md +++ b/docs/latest/SUMMARY.md @@ -13,14 +13,7 @@ --- -- [Advanced](advanced/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) +- [Architecture](architecture/index.md) - [Extensions](extensions/index.md) - [Registering](extensions/index.md#registering-an-extension) - [Lifecycle Hooks](extensions/index.md#lifecycle-hooks) @@ -39,7 +32,6 @@ - [Dialog Service](services/ui/ui-dialog-service.md) - [Modal Service](services/ui/ui-modal-service.md) - [Notification Service](services/ui/ui-notification-service.md) -- [Custom Tools](advanced/custom-tools.md) --- diff --git a/docs/latest/advanced/index.md b/docs/latest/advanced/index.md deleted file mode 100644 index c882d000e..000000000 --- a/docs/latest/advanced/index.md +++ /dev/null @@ -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. \ No newline at end of file diff --git a/docs/latest/advanced/architecture.md b/docs/latest/architecture/index.md similarity index 85% rename from docs/latest/advanced/architecture.md rename to docs/latest/architecture/index.md index ca4c43c49..a5b7f570c 100644 --- a/docs/latest/advanced/architecture.md +++ b/docs/latest/architecture/index.md @@ -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 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 The [OHIF Medical Image Viewing Platform][viewers-project] is maintained as a @@ -39,27 +46,47 @@ you'll see the following: └── README.md ``` -Continue reading to see how these libraries work together to create the OHIF -Viewer. +The `platform` directory contains the business logic library, component library, +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. + +![Architecture Diagram](../assets/img/architecture-diagram.png) + +
architecture diagram
+ +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 features common to Web-based medical imaging viewers. For example: -- Hotkeys +- [Hotkeys](#) - DICOM Web requests - Hanging Protocols -- Managing a study's measurements +- [Managing a study's measurements](../services/default/measurements.md) - Managing a study's DICOM metadata -- A flexible pattern for extensions +- [A flexible pattern for extensions](../extensions/index.md) - And many others 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 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 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/) -### Internationalization (i18n) +## Internationalization (i18n) ... -### The Viewer - -... - -### Extensions & Configuration +## Extensions & Configuration 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 @@ -105,23 +128,6 @@ looking for ways to improve our extensibility ^\_^ [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]) - -![Architecture Diagram](../assets/img/architecture-diagram.png) - -
architecture diagram
- ## Common Questions > When should I use the packaged source `@ohif/viewer` versus building a PWA @@ -141,6 +147,7 @@ you would need to recreate. --> +[monorepo]: # [viewers-project]: https://github.com/OHIF/Viewers [viewer-npm]: https://www.npmjs.com/package/@ohif/viewer [pwa]: https://developers.google.com/web/progressive-web-apps/