Skip to content

Creation of multifunctional processes and databases #47

@cmutel

Description

@cmutel

Feature request

The current way we create processes in the GUI needs to be tweaked. Instead of this:

Screenshot 2024-10-07 at 06 15 32

We need to make the following changes:

  • Change the label of New activity -> New process.
  • Change the label of Duplicate activity to Duplicate node
  • Change the label of Delete activity to Delete node
Screenshot 2024-10-07 at 06 28 59
  • The GUI panel for New process should be changed
    • The layout should be changed to a grid of labels / text input boxes
    • The title of this panel should be changed to New process
    • The fields should be "Process name", "Reference product name", "Unit" (default="kilogram", node data attribute "unit"), "Location" (default="GLO", node data attribute "location"), and these should be applied to the newly created "process" node.
  • Creating a new process should also create a separate node of type product with the name of the "reference product" from the creation panel
    • The new product Node should take the "Reference product name" as "name", as well as "unit" and "location" attributes.
  • Creating a new process should create a new exchange on the new process:
new_process_node.new_edge(
    input=new_product_node,
    type=bw2data.labels.production_edge_default,
    amount=1,
)
  • A new action, New product, should be added to the contextual menu. This should pop up a menu

Users don't need to think about the Database type - this should be a reflection of the data in the database.

  • If we have the same product referenced as both an input and an output, it can only be functional in one place, not both places
  • The right inputs panel should have the column "functional"
  • If a process is edited so that it has two functional edges (looking across both the inputs and outputs), then its type needs to change to multifunctional, and the database backend needs to change to multifunctional.
  • If the database changes to "multifunctional", we need to pop up the default allocation box and make the user choose something (even if it has errors at first).
  • If the database backend changes to multifunctional, the left panel listing the nodes needs to be refreshed.
  • If a process is edited so that it has only one functional edge (looking across both the inputs and outputs), then its type needs to change to process.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions