aglinxinyuan opened a new issue, #7461: URL: https://github.com/apache/texera/issues/7461
### Task Summary Remove the deprecated **project** feature from the backend and the database schema, following the consensus in #5172. The frontend half is tracked separately. **Scope** | Area | What goes | | --- | --- | | REST resources | `ProjectResource`, `PublicProjectResource`, `ProjectAccessResource` and their three Dropwizard registrations in `TexeraWebApplication` | | Search | `ProjectSearchQueryBuilder`, `PROJECT_RESOURCE_TYPE`, the project arms of `DashboardResource`, and the 4 project slots of `UnifiedResourceSchema` (24 → 20) | | Workflow coupling | `WorkflowResource` project association on create/duplicate/list, `DashboardWorkflow.projectIDs`, `WorkflowIDs.pid` | | Config | `gui.tabs.projects_enabled` and `GUI_TABS_PROJECTS_ENABLED` in `default.conf` | | Schema | the four tables, plus a `sql/updates/32.sql` migration and its changelog entry | **Tables dropped** (in FK-dependency order): ``` public_project ──┐ project_user_access ──┼──> project workflow_of_project ──┘ ``` `privilege_enum` stays — it is shared with `workflow_user_access`, `dataset_user_access` and `computing_unit_user_access`. **Behaviour changes worth reviewing.** Two non-project code paths read the project tables today: | Site | Before | After | | --- | --- | --- | | `WorkflowAccessResource.getPrivilege` | falls back to `PROJECT_USER_ACCESS` when there is no direct grant | only a direct `WORKFLOW_USER_ACCESS` grant counts | | `WorkflowSearchQueryBuilder` private-access condition | `WORKFLOW_USER_ACCESS.UID = uid OR PROJECT_USER_ACCESS.UID IS NOT NULL` | `WORKFLOW_USER_ACCESS.UID = uid` | So a workflow reachable *only* through project sharing becomes inaccessible and drops out of dashboard search. That is the intended consequence of removing the feature — `notebook-migration-service` already documents these post-removal semantics — but it should be an explicit review decision rather than a silent side effect. **Note on jOOQ.** Generated sources are not committed (`common/dao/.gitignore`); they are produced by `sbt jooqGenerate` against the live database. The DDL change and the Scala change therefore have to land together, and the migration must be applied before regenerating. ### Task Type - [x] Refactor / Cleanup - [ ] DevOps / Deployment / CI - [ ] Testing / QA - [ ] Documentation - [ ] Performance - [ ] Other -- 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]
