Working with Columns #436
Replies: 10 comments 18 replies
-
@ghislaineguerin This looks great. Thoughts and questions:
|
Beta Was this translation helpful? Give feedback.
-
I agree with @kgodey that the adding column flow is nice, and I really like that they don't have to choose anything at first. I think the choice of a A few feedback items:
|
Beta Was this translation helpful? Give feedback.
-
@kgodey I have updated the prototype based on what we've discussed.
|
Beta Was this translation helpful? Give feedback.
-
@pavish @mathemancer please re-review the spec. |
Beta Was this translation helpful? Give feedback.
-
@ghislaineguerin Sorry about the late review. A single menu with all the essential options for the column looks good to me! I am still not convinced about the column related options in 'Table Actions' menu. It is confusing for me as a user to understand what they do, right away. I think it's best to just have these options individually on each column. The chances of users trying to remove duplicate values/replace values/set constraints across several columns in a single action is very rare. It is much more intuitive and easier to do them column by column (similar to how we can only change the type of a column/delete column, one at a time). |
Beta Was this translation helpful? Give feedback.
-
@kgodey @pavish @mathemancer Labeling of MenusMenus that list options for different objects, such as tables, columns, and records, should be easily discovered by users. We have simplified the column-related options to a single menu that users can access in context from the column header. As for table-related actions, we have updated the label to 'Table Actions' for increased clarity. Once all controls and options for the MVP are in place, we will revisit all labels to ensure we are applying the same consistent patterns across the entire app. NULL, Empty, Blank FieldsTo simplify the way we handle the filtering of columns based on the content of a field, we have nested the NULL condition under the 'Empty' definition, which also includes empty strings. Help me fix this problemWhenever possible, we want to guide users towards resolving problems that hinder their goals within Mathesar. We are introducing a pattern for specific warnings to present suggested actions based on the context. Column vs. Table ConstraintsThere were some concerns over having both table-level and column-level constraints. We are introducing a help/more info icon next to some options so that users can learn more about them. Once we have the design for the complete set of functionality for the MVP, we can look at the different ways we can educate users within Mathesar. |
Beta Was this translation helpful? Give feedback.
-
@kgodey @pavish @mathemancer Labeling of MenusMenus that list options for different objects, such as tables, columns, and records, should be easily discovered by users. We have simplified the column-related options to a single menu that users can access in context from the column header. As for table-related actions, we have updated the label to 'Table Actions' for increased clarity. Once all controls and options for the MVP are in place, we will revisit all labels to ensure we are applying the same consistent patterns across the entire app. NULL, Empty, Blank FieldsTo simplify the way we handle the filtering of columns based on the content of a field, we have nested the NULL condition under the 'Empty' definition, which also includes empty strings. Providing options to solve problems when presenting warnings (Help me fix this problem)Whenever possible, we want to guide users towards resolving problems that hinder their goals within Mathesar. We are introducing a pattern for specific warnings to present suggested actions based on the context. For example, in this case, we allow users to navigate to pre-filtered views to solve issues that prevent them from changing column settings. Column vs. Table ConstraintsThere were some concerns over having both table-level and column-level constraints. We are introducing a help/more info icon next to some options so that users can learn more about them. Once we have the design for the complete set of functionality for the MVP, we can look at the different ways we can educate users within Mathesar. FiltersFilters, as presented in this document, are no longer consistent with the latest design updates. The panel component has proven to be incompatible with many of our use cases, and we have opted for a dropdown component instead. |
Beta Was this translation helpful? Give feedback.
-
I have a suggested change to the "Working with columns" Figma prototype, and I hope this is an appropriate place to raise this issue. This part of the prototype seems to be specifying one modal on top of another. I'd prefer that we assume the app will always have a maximum of one modal open. Implementing multiple open modals, while possible, will be more work due to the additional edge cases involved. Plus I think it's a sufficiently uncommon pattern so risk becoming confusing usability-wise. I'd suggest we either:
Thoughts @ghislaineguerin @pavish @kgodey ? |
Beta Was this translation helpful? Give feedback.
-
Another question I see there was some previous discussion here about "table constraints" vs "column constraints", but it's hard to me to quickly tell whether there was a decision which pertains to my current task. When the user opens the "Table Constraints" modal, should I:
Option (A) seems a bit more intuitive to me (and more consistent with other GUI DB tools I've used), but the Figma prototype shows a modal that seems to suggest (B). |
Beta Was this translation helpful? Give feedback.
-
Another question Within the Table Constraints modal... When the user clicks the "Delete" button, what's the expected behavior? Do we want to confirm before delete? I'm not sure. It's not that hard to re-create the constraint. We could even get fancy and offer an undo. If we confirm the delete, then we ideally need a way to do that without throwing up another modal. I would lean towards doing this confirmation within the row that displays the constraint. So the row would transform from constraint info to a delete confirmation. This would be a great place for some subtle animation in my opinion. If I'm to head this direction it'd be helpful to have a mockup showing the modal with two constraints where one is in the state of confirming its deletion. But I'm happy to proceed without a mockup and make some of the design choices on my own if needed. |
Beta Was this translation helpful? Give feedback.
-
The specs related to issue #324 are ready for review. Please take a look at the attached document and follow the review guidelines.
Document Link
https://wiki.mathesar.org/en/design/specs/working-with-columns
@mathemancer @kgodey @pavish, your feedback is required.
The deadline for feedback is set to a week from now, the first review round will be completed by Friday 23rd. Please plan your review so that at least one round of changes can be made and reviewed if needed.
Beta Was this translation helpful? Give feedback.
All reactions