Create flow diagram of how the system components work together

Issue #448 resolved
created an issue

I would find it useful to have a diagram that shows how the system components work together. For example:

Populating the database

  • Modality sends DICOM objects to OpenREM's store SCP
  • The store SCP (Conquest in my case) applies the rules in dicom.ini to each object
  • Data from the object is extracted by the appropriate python script or the object is deleted if the extraction rules don't apply
  • Calculation of skin dose map occurs if appropriate / possible
  • The object is deleted from OpenREM's store

There could be other diagrams for other elements of the system.

Read the docs has Graphviz built-in that can help with this. See http://build-me-the-docs-please.readthedocs.io/en/latest/Using_Sphinx/UsingGraphicsAndDiagramsInSphinx.html

Test doc page to see with in progress: http://docs.openrem.org/en/docsdiagrams/testgraphviz.html

Comments (43)

  1. David Platten reporter

    Adjusted data extraction diagram to make style match the other one. Also added tooltips. References issue #448

    → <<cset cf876bd08130>>

  2. David Platten reporter

    The tooltips on the second diagram are incorrect - they are duplicates of the tips from the first diagram. It may be that we can only have one diagram per webpage.

    See http://docs.openrem.org/en/docsdiagrams/testgraphviz.html

    @edmcdonagh, do you have any corrections / omissions / additions to what is there so far?

  3. David Platten reporter

    Moved Conquest into the server cluster; relabelled the cluster as "Server" to be consistent with other diagram. References issue #448.

    → <<cset 4e47c4198918>>

  4. David Platten reporter

    This site is useful to play with the diagram language: http://www.webgraphviz.com/

  5. Ed McDonagh

    Is there a system behind the shape choices?

  6. David Platten reporter

    @edmcdonagh, it would be good to use a proper database symbol for PostgreSQL, but "shape=cylinder" doesn't work on the existing read the docs install. The cylinder shape is now available (http://www.graphviz.org/mantisbt/view.php?id=1867). Is there a way of updating the version of graphviz that read the docs is using so that the cylinder works?

  7. Ed McDonagh

    Seeing if demanding a later version of sphinx will get a later version of graphviz. Refs #448

    → <<cset d8ecd2991952>>

  8. Ed McDonagh

    Didn't work, reverting sphinx version requirement. Even the Sphinx v1.5 docs are produced using Sphinx 1.3.5! Refs #448

    → <<cset a074100b5c3a>>

  9. Ed McDonagh

    No, I don't see a way of doing this @dplatten. Sorry. Maybe a stack-overflow question?

  10. David Platten reporter

    OK - thanks for checking. I don't think it matters too much for the time being.

  11. David Platten reporter

    Putting all server nodes in the same cluster to make layout more straightforward for me. References issue #448.

    → <<cset 9f2f51b1322a>>

  12. David Platten reporter

    Made nodes a little smaller, and reduced font size. I'm not able to produce a good-looking chart that is much narrower than this at the moment. May re-visit this at the weekend. References issue #448

    → <<cset 3531fd952b50>>

  13. David Platten reporter

    Reverted to larger text size. I'd like to let the user click on the diagram and it open full-size in a new window. References issue #448

    → <<cset e845c6d7160a>>

  14. David Platten reporter

    Updated name of diagram document. Updated link from index. Updated changes files. Fixes issue #448

    → <<cset feff2d69be99>>

  15. Ed McDonagh

    Refs #448

    Adds study time to the CT export module with correct formatting for time and date.

    → <<cset c4176fc34ed0>>

  16. Ed McDonagh

    Hi David. Can we modify this to indicate ISIS for Windows and nginx+gunicorn for Linux?

  17. David Platten reporter

    Updated system diagram in the documents to reflect new recommendations on web servers. Also amended database text. References issue #448, issue #592 and issue #596

    → <<cset 33b5ea83d5ae>>

  18. David Platten reporter

    @edmcdonagh, would you create a documentation set for the issue448UpdateSystemDiagram branch so that I can check that the changes I've made haven't broken anything?

  19. David Platten reporter

    Removed link to installing Apache - this is referred to in the web server link anyway. References issue #448, issue #592 and issue #596

    → <<cset 69357c5ea463>>

  20. Log in to comment