diff --git a/pages/solution/[slug]/environment/assumptions.vue b/pages/solution/[slug]/environment/assumptions.client.vue
similarity index 64%
rename from pages/solution/[slug]/environment/assumptions.vue
rename to pages/solution/[slug]/environment/assumptions.client.vue
index 0591157a..b179c1ff 100644
--- a/pages/solution/[slug]/environment/assumptions.vue
+++ b/pages/solution/[slug]/environment/assumptions.client.vue
@@ -1,24 +1,19 @@
diff --git a/pages/solution/[slug]/environment/components.vue b/pages/solution/[slug]/environment/components.client.vue
similarity index 50%
rename from pages/solution/[slug]/environment/components.vue
rename to pages/solution/[slug]/environment/components.client.vue
index c5dbb8fc..4964c317 100644
--- a/pages/solution/[slug]/environment/components.vue
+++ b/pages/solution/[slug]/environment/components.client.vue
@@ -1,55 +1,52 @@
@@ -58,8 +55,8 @@ const onUpdate = async (data: ComponentViewModel) => {
Environment components are the EXTERNAL elements that the system interacts with.
These external components expose interfaces that the system uses to communicate with.
-
+
diff --git a/pages/solution/[slug]/environment/constraints.vue b/pages/solution/[slug]/environment/constraints.client.vue
similarity index 60%
rename from pages/solution/[slug]/environment/constraints.vue
rename to pages/solution/[slug]/environment/constraints.client.vue
index 67e01d05..6ecac01d 100644
--- a/pages/solution/[slug]/environment/constraints.vue
+++ b/pages/solution/[slug]/environment/constraints.client.vue
@@ -1,31 +1,26 @@
@@ -78,15 +81,15 @@ const onUpdate = async (data: ConstraintViewModel) => {
-
- {{ constraintCategories.find(o => o.id === data[field])?.name }}
+ {{ constraintCategories.find(o => o.id === data[field])?.description }}
-
+
diff --git a/pages/solution/[slug]/environment/effects.vue b/pages/solution/[slug]/environment/effects.client.vue
similarity index 61%
rename from pages/solution/[slug]/environment/effects.vue
rename to pages/solution/[slug]/environment/effects.client.vue
index 075d9c58..90035382 100644
--- a/pages/solution/[slug]/environment/effects.vue
+++ b/pages/solution/[slug]/environment/effects.client.vue
@@ -1,25 +1,19 @@
diff --git a/pages/solution/[slug]/environment/glossary.vue b/pages/solution/[slug]/environment/glossary.client.vue
similarity index 57%
rename from pages/solution/[slug]/environment/glossary.vue
rename to pages/solution/[slug]/environment/glossary.client.vue
index ac23f452..182a6c19 100644
--- a/pages/solution/[slug]/environment/glossary.vue
+++ b/pages/solution/[slug]/environment/glossary.client.vue
@@ -1,26 +1,19 @@
diff --git a/pages/solution/[slug]/environment/index.vue b/pages/solution/[slug]/environment/index.client.vue
similarity index 93%
rename from pages/solution/[slug]/environment/index.vue
rename to pages/solution/[slug]/environment/index.client.vue
index 7b09fe8e..acb7b403 100644
--- a/pages/solution/[slug]/environment/index.vue
+++ b/pages/solution/[slug]/environment/index.client.vue
@@ -6,7 +6,7 @@ const slug = useRoute().params.slug as string
const links = [
{ name: 'Assumptions', icon: 'pi-sun', label: 'Assumptions' },
- { name: 'Components', icon: 'pi-th-large', label: 'Components' },
+ { name: 'Environment Components', icon: 'pi-th-large', label: 'Components' },
{ name: 'Constraints', icon: 'pi-link', label: 'Constraints' },
{ name: 'Effects', icon: 'pi-bolt', label: 'Effects' },
{ name: 'Glossary', icon: 'pi-book', label: 'Glossary' },
diff --git a/pages/solution/[slug]/environment/invariants.vue b/pages/solution/[slug]/environment/invariants.client.vue
similarity index 62%
rename from pages/solution/[slug]/environment/invariants.vue
rename to pages/solution/[slug]/environment/invariants.client.vue
index d1c9c856..68de6627 100644
--- a/pages/solution/[slug]/environment/invariants.vue
+++ b/pages/solution/[slug]/environment/invariants.client.vue
@@ -1,24 +1,18 @@
diff --git a/pages/solution/[slug]/goals/functionality.vue b/pages/solution/[slug]/goals/functionality.client.vue
similarity index 50%
rename from pages/solution/[slug]/goals/functionality.vue
rename to pages/solution/[slug]/goals/functionality.client.vue
index dc776bf1..01833505 100644
--- a/pages/solution/[slug]/goals/functionality.vue
+++ b/pages/solution/[slug]/goals/functionality.client.vue
@@ -1,25 +1,19 @@
- This section describes the Functional Requirements of the solution.
+ This section describes the Functional Behaviors of the solution.
These are the features that the solution must have to meet the needs of the users.
- They describe what the solution must do and not how it does it.
+ They describe WHAT the solution must do and not how it does it.
-
diff --git a/pages/solution/[slug]/goals/index.vue b/pages/solution/[slug]/goals/index.client.vue
similarity index 100%
rename from pages/solution/[slug]/goals/index.vue
rename to pages/solution/[slug]/goals/index.client.vue
diff --git a/pages/solution/[slug]/goals/limitations.vue b/pages/solution/[slug]/goals/limitations.client.vue
similarity index 64%
rename from pages/solution/[slug]/goals/limitations.vue
rename to pages/solution/[slug]/goals/limitations.client.vue
index eab6341c..e6be46ac 100644
--- a/pages/solution/[slug]/goals/limitations.vue
+++ b/pages/solution/[slug]/goals/limitations.client.vue
@@ -1,24 +1,18 @@
diff --git a/pages/solution/[slug]/goals/obstacles.vue b/pages/solution/[slug]/goals/obstacles.client.vue
similarity index 62%
rename from pages/solution/[slug]/goals/obstacles.vue
rename to pages/solution/[slug]/goals/obstacles.client.vue
index ac24ca11..2993b1f6 100644
--- a/pages/solution/[slug]/goals/obstacles.vue
+++ b/pages/solution/[slug]/goals/obstacles.client.vue
@@ -1,24 +1,18 @@
diff --git a/pages/solution/[slug]/goals/outcomes.vue b/pages/solution/[slug]/goals/outcomes.client.vue
similarity index 63%
rename from pages/solution/[slug]/goals/outcomes.vue
rename to pages/solution/[slug]/goals/outcomes.client.vue
index 29b9c6ea..9e45abf1 100644
--- a/pages/solution/[slug]/goals/outcomes.vue
+++ b/pages/solution/[slug]/goals/outcomes.client.vue
@@ -1,24 +1,18 @@
diff --git a/pages/solution/[slug]/goals/rationale.client.vue b/pages/solution/[slug]/goals/rationale.client.vue
new file mode 100644
index 00000000..be0cbedf
--- /dev/null
+++ b/pages/solution/[slug]/goals/rationale.client.vue
@@ -0,0 +1,108 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/solution/[slug]/goals/rationale.vue b/pages/solution/[slug]/goals/rationale.vue
deleted file mode 100644
index 0362cdd7..00000000
--- a/pages/solution/[slug]/goals/rationale.vue
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/pages/solution/[slug]/goals/scenarios.vue b/pages/solution/[slug]/goals/scenarios.client.vue
similarity index 56%
rename from pages/solution/[slug]/goals/scenarios.vue
rename to pages/solution/[slug]/goals/scenarios.client.vue
index 7b02279e..33f72fe9 100644
--- a/pages/solution/[slug]/goals/scenarios.vue
+++ b/pages/solution/[slug]/goals/scenarios.client.vue
@@ -1,36 +1,18 @@
@@ -92,7 +79,7 @@ const onUserStoryDelete = async (id: Uuid) => {
Before you can begin, you must define one or more
Actors,
- Behaviors,
+ Behaviors,
and Outcomes
for the solution.
@@ -113,39 +100,39 @@ const onUserStoryDelete = async (id: Uuid) => {
+ :options="roles!" placeholder="Search by Actor" />
- {{ roles.find(r => r.id === data[field])?.name }}
+ {{ roles?.find(r => r.id === data[field])?.name }}
-
+ :options="functionalBehaviors!" placeholder="Search by Behavior" />
- {{ behaviors.find(b => b.id === data[field])?.name }}
+ {{ functionalBehaviors?.find(b => b.id === data[field])?.name }}
-
+ :options="outcomes!" placeholder="Search by Outcome" />
- {{ outcomes.find(o => o.id === data[field])?.name }}
+ {{ outcomes?.find(o => o.id === data[field])?.name }}
-
diff --git a/pages/solution/[slug]/goals/stakeholders.vue b/pages/solution/[slug]/goals/stakeholders.client.vue
similarity index 67%
rename from pages/solution/[slug]/goals/stakeholders.vue
rename to pages/solution/[slug]/goals/stakeholders.client.vue
index 5f26e311..1ad7b524 100644
--- a/pages/solution/[slug]/goals/stakeholders.vue
+++ b/pages/solution/[slug]/goals/stakeholders.client.vue
@@ -1,53 +1,39 @@
@@ -183,28 +173,28 @@ const onDelete = async (id: Uuid) => {
-
+
- {{ categories.find(({ id }) => id === data[field])?.name }}
+ {{ categories.find(({ id }) => id === data[field])?.description }}
-
-
- {{ segmentations.find(({ id }) => id === data[field])?.name }}
+ {{ segmentations.find(({ id }) => id === data[field])?.description }}
-
+
diff --git a/pages/solution/[slug]/index.vue b/pages/solution/[slug]/index.client.vue
similarity index 67%
rename from pages/solution/[slug]/index.vue
rename to pages/solution/[slug]/index.client.vue
index a289e150..9fa6c0b7 100644
--- a/pages/solution/[slug]/index.vue
+++ b/pages/solution/[slug]/index.client.vue
@@ -1,14 +1,8 @@
- A Project is the set of human processes involved in the plannimg, construction,
+ A Project is the set of human processes involved in the planning, construction,
revision, and operation of a system
+ Roles & Personnel lists the roles and personnel involved in the project
+ along with their responsibilities, availability, and contact information.
+
- Roles & Personnel lists the roles and personnel involved in the project
- along with their responsibilities, availability, and contact information.
-
+ This section defines the functionality (behavior) of the system.
+ It includes both functional and non-functional requirements of system components.
+
+
+ Components must exist before functionality can be defined.
+ Loading components...
+
+
\ No newline at end of file
diff --git a/pages/solution/[slug]/system/functionality.vue b/pages/solution/[slug]/system/functionality.vue
deleted file mode 100644
index 9795101c..00000000
--- a/pages/solution/[slug]/system/functionality.vue
+++ /dev/null
@@ -1,197 +0,0 @@
-
-
-
- This section defines the functionality (behavior) of the system.
- It includes both functional and non-functional requirements of system components.
-