Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titleWhat this page is NOT!

This page has been set up by Nicholas Karimi, ArchNav mentee to document his experiences and understanding of the project as he interacts with it. Therefore, consider this not as documentation for the ArchNav tool but a knowledge-sharing repository. 

Problem Statement

Ideally, in In an environment where we had an ideal Wiki and an ideal ReadTheDocs, a small team would be effective in maintaining an up to date documentation, while developers and end-users who want to look up information on documentation would do it effortlessly.

...

The Architecture Navigator seeks to solve this problem by creating a visual presentation layer with clickable objects representing each individual project under ONAP. The tool aims to offer an interactive interface where users would need to hover over different objects mapping links to the project documentation. 

Use Case

The specific use case being addressed by this evaluation is that of providing a method for imaged based navigation to the correct formal doc set. 

What is Architecture Navigator?

...

The Architecture Navigator does not create documentation but allows users to easily navigate through documentation that resides in the Read The Docs.

  •  Describe framework

-archnav usefulness has been demonstrated beyond ONAP documentation needs

-highly versatile method for image based navigation beyond ONAP doc'

Current Version

ProjectArchitecture Navigator
Release Namedn
Release Version3.0

...

N

ArchNavRead The Docs
FEATURESSupported(Y/N)Supported(Y/N)
Web-basedYY
Stand aloneYN
Dynamic  webpagesYSoftware Modelstandalone serverSaaS
page creationdynamicstatic
browser compatibilityN - Works best on Mozilla FirefoxY-browser-independent

FUNCTIONALITIES


Architecture NavigatorRead The Docs

Technologies used include:

  • php
  • html
  • javascript
  • json
  • css

Technologies used;

  • Python
  • Sphinx
  • reStructuredText
Works on the browserWorks on the browser
Does not create documentationCreates documentation
Offers interractive presentation layerinteractive overlayLinks embeded in the image.
Content is dynamically loaded as the user navigates to new pages.Content not dynamically created
Offers quick access to documentation in a click.Documentation is scattered and does not offer a straightforward way of looking up information.

Have embedded backlinks to the wiki.

References links to both formal and development wiki

Holds complete and formal technical documentation.
Clickable maps in the form of imagesimage overlay.Clickable maps in the form of an SVG diagram.
Dynamic code generationN/A
Allow toggling on and off for some features on demandN/A
Image creation from any source (bitmap image)Requires image editing/modification

INFRASTRUCTURE REQUIREMENTS


ArchNavRead The Docs
Operating SystemGNU/Linux



SaaS
Web-serverApache
vCPU Cores2
Memory8 Gb
Storage1 Gb

...

ArchNavRead The Docs
Requires brief end user training on how to use the toolStraight forward
Will require a team of technical code contributors/committers Requires knowledge of rst syntax and inkscape.
Require manual update of the links to point to the current documentationHas too many moving partsTBD  - confirm whether automatic sync with git
Has multiple moving partsFewer moving parts
New features coded by the ONAP communityNew features coded by RTD community
Initial setup of new infrastructure and on-going support SaaS

FINDINGS

ArchNav is a highly versatile platform that supports a wide variety of use cases. However it brings complexity when designing a clickable image for the Architecture Nav, the  The process is a tedious one since you'll have to take a requires taking a snapshot of the an existing diagrams bitmapsimage, convert converting it to a PNG file (if not already a PNG), using an external tool to draw shapes around objects on in the image to generate the needed coordinates and lastly to store the image coordinate attributes in a JSON object. This is has the potential to be more time-consuming and error prone when compared to creating OVERLAYS using an SVG editor to create diagrams with embedded links.  SVGs with embedded links however has less versatility than ArchNav has demonstrated.

As a platform ArchNav code is not a resource or storage hog since most of it is its file are generated dynamically on demand using PHP and Javascript and none of the items linked from an image reside locally.

Documentation residing in the read the docs is always up to date and the most current. The Arch Nav ArchNav will require a separate manual update of the links pointing to the documentation when there is an update making it a repetitive and tedious task.in addition to the current RTD  updates whenever there is a new release of ONAP.  


RECOMMENDATION

  • facade design approach.

As is the tool can be supported by people with the right technical skill set, however, to broaden the scope and make it accomodating for controbution from technical and non-technical members of the community, a graphical approach would be ideal,,,,

  • investigate github webhooks.

For the ONAP documentation use case Nicholas Karimi is going to finish the rest of this paragraph. (smile)