monarc-project / MonarcAppFO

MONARC - Method for an Optimised aNAlysis of Risks by @NC3-LU
https://www.monarc.lu
GNU Affero General Public License v3.0
101 stars 39 forks source link

Add reference(s) object that can be linked to objects in the knowledge base. (Feature Request) #125

Open seamustuohy opened 6 years ago

seamustuohy commented 6 years ago

Add a reference object that holds a URL and a description which can be linked to any data object. I have a personal preference for a priority on adding support in the user interface for the Risk objects.

The need for external references

Monarc has a minimalist data structure that does not allow a user to store guidance within the core objects. This design choice has many benefits, but I believe that it also has side effects:

Monarc should add a reference object that supports the fact that it will be used alongside external knowledge bases and systems. Many of the default objects used in Monarc are derived from external sources that contain additional information about them. An organization often has to document the specific risks they are addressing and will have sources that a risk was derived from. Different compliance standards also require different types of documentation that Monarc should not be expected to integrate. Finally, the recommendations and treatment plans that are put in place will be tracked in an organizations project trackers.

Providing a "reference" object that allows a user to reference external resources will address current usability and collaboration challenges and allow users to more easily use it alongside their existing knowledge bases and tools.

Thoughts on implementation

Provided only to make review easier and without any expectation of being followed in feature implementation.

After examining the interface and backend a bit I have some thoughts on how to accomplish this without having to do a massive overhaul. Doing it this way would allow you to implement the backend without disrupting any existing functionality and implement the fronted support iteratively.

Backend

Frontend

cedricbonhomme commented 6 years ago

Thank you very much for this detailed feature request!

If I understand well you propose a new kind of object (called Reference with the attributes title, url, description, and object reference), in order to give more information/context to other MONARC objects (like Asset types, Threats, Vulnerabilities, etc.). Like some notes.

For the backend this won't be difficult. And implementing the frontend iteratively is indeed wise.

This is a good idea.