Skip to content

Split/Extract subdirectories as standalone opossum files #2778

@abraemer

Description

@abraemer

It could be useful to extract a whole subtree of the currently open opossum file to either work on separately or store separately for later use.
This is kind of the inverse operation to #2776 but would not depend on opossum-file to do the actual work. In combination with #2776 this opens up a whole new range of possible workflows:

  • Multiple person could work on the same project simultaneously by first splitting it up and then merging the parts back together
  • One could save work by extracting partial information from previous versions of a project

This should be implemented in a similar manner as #2776 (e.g. another option in the same context menu). Selecting the option then opens up a save dialog (which can likely be reused from elsewhere in the code) to save the new opossum file.

Things to consider:

  • use opossum-file to implement the extraction and call that from OpossumUI or implement the splitting logic in OpossumUI directly? I like the conceptual idea that opossum-file supports the same "high-level" operations on opossum files since it could allow for more automation. However this requires that opossum-file learns more about the "output.json" part of opossum files, so it might be easier to implement in OpossumUI
  • In case there are unsaved changed, we probably want to show the saving dialog again Show save dialog before open/import/merge/export #2775
  • Should we "delete" the extracted folder? Either by removing the whole folder itself or at least all children? This could enable the re-merging of the extracted opossum. Alternatively we could add other editing tools for the file structure (see New workflow ideas for OpossumUI based on a context menu in the file tree #2777)
  • Should we disallow "extracting" the root folder "/"?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions