EmilySun621 opened a new pull request, #5100:
URL: https://github.com/apache/texera/pull/5100
The Story
Dr. Sarah's lab has 5 people. They all use Texera. But their workspace is
chaos โ 30 workflows with names like "Untitled workflow", no way to organize
them by research project, no way to communicate inside the platform. They use
Slack to discuss workflows, then switch back to Texera to make changes. Context
is lost constantly.
When two students edit the same workflow, they can see each other's cursors
(Texera already has real-time collab), but they can't talk to each other. They
can't leave a comment on a specific operator saying "this join looks wrong."
They can't see who's online or what anyone else is working on.
We fixed the organization problem and the communication problem in one PR.
What We Built
1. Project Gallery โ Organize Everything
Texera had a basic project feature, but it was hidden and bare-bones. We
redesigned it into a first-class experience.
Project List Page:
Card-based layout with emoji icons, colored circles, project descriptions
Stats at a glance: ๐ N workflows ยท ๐ N datasets ยท ๐ฅ N members
Create Project dialog with emoji picker and color swatches
Project Detail Page โ 3 tabs:
Workflows tab: Direct list of project workflows with Open and Remove
actions. "Create Workflow" for new ones, "Add Existing Workflow" to pull in
workflows you've already built. No more hunting through a flat list of 30
"Untitled workflow" entries.
Datasets tab: Connect datasets to your project to keep related data and
workflows together. "Add Existing Dataset" modal to pick from your uploaded
datasets.
Members tab: Redesigned sharing UI โ single-line invite (email + role
dropdown + Invite button), clean member list with avatar, name, and role badge
(Owner/Editor/Viewer).
Workflow badges: On the main Workflows page, each workflow now shows colored
project chips with emoji, so you can see at a glance which project it belongs
to.
2. Collaboration Suite โ Talk Where You Work
A new Collaboration panel in the workflow editor with three tabs:
Team Chat:
Real-time messaging between all collaborators on the current workflow
Messages show avatar, name, timestamp
Agent actions appear as system messages ("๐ค Agent added RandomForest
operator")
No more switching to Slack to discuss a workflow
Operator Comments:
Right-click any operator โ "Add Comment"
Comment threads anchored to specific operators
๐ฌ badge on operators with unresolved comments
Comments tab shows all threads across the workflow, grouped by operator
Click a thread โ canvas highlights that operator
Resolve threads when discussion is done
Online Presence:
See who's currently viewing/editing the workflow
Status: ๐ข active, ๐ก idle
Shows which operator each collaborator is working on
Demo
Open Projects โ Create "๐งฌ Diabetes Study" โ add 3 workflows and a dataset
Invite a collaborator โ they see the project and its contents
Open a workflow โ click ๐ฅ Collaboration button in toolbar
Team Chat: send "Let's add evaluation metrics"
Right-click Random Forest operator โ Add Comment โ "Should we tune
hyperparameters?"
๐ฌ badge appears on the operator
Online tab shows both users active
Technical Details
Project Gallery
Redesigned user-project.component โ card layout, stats, emoji icons
(localStorage for icons, no DB migration)
New create-project-dialog/ component โ emoji picker, color swatches,
validation
Redesigned user-project-section.component โ 3-tab layout
(Workflows/Datasets/Members)
Direct workflow list rendering bypassing SearchResultsComponent for reliable
display
add-dataset-dialog/ โ modal for associating existing datasets with projects
share-access.component made inline-compatible (was modal-only before)
Workflow list items now show project badges with emoji + color
Projects sidebar link always visible (removed feature flag gate)
Collaboration Suite
New collaboration-panel/ component with 3-tab layout
collaboration.service.ts โ Yjs-backed real-time sync for chat and comments
Menu toggle button with unresolved comment count badge
Right-click context menu "Add Comment" integration
Panel wired into workspace.component alongside existing panels
Files Changed
Project Gallery
dashboard/component/user/user-project/ โ list page, list item, section,
create dialog
dashboard/component/user/user-project/project-icon.util.ts โ emoji storage
dashboard/component/user/user-workflow/user-workflow-list-item/ โ project
badges
dashboard/component/user/share-access/ โ inline mode support
dashboard/component/dashboard.component.html โ sidebar always-show fix
dashboard/component/dashboard.component.ts โ projects_enabled forced true
Collaboration Suite
workspace/component/collaboration-panel/ โ panel component (ts, html, scss)
workspace/service/collaboration/ โ service + types
workspace/component/menu/menu.component.* โ toggle button + badge
workspace/component/workflow-editor/context-menu/ โ "Add Comment" item
Testing
Angular build: clean โ
Project CRUD: create, edit, delete projects โ
Add/remove workflows to project โ
Add datasets to project โ
Member invite UI โ
Collaboration panel renders โ
Comment on operator via right-click โ
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]