Skip to content

feat: add copyProject method to ProjectService thrift definition#3915

Open
sujalkalauni wants to merge 9 commits intoeclipse-sw360:mainfrom
sujalkalauni:feat/customize-copy-project
Open

feat: add copyProject method to ProjectService thrift definition#3915
sujalkalauni wants to merge 9 commits intoeclipse-sw360:mainfrom
sujalkalauni:feat/customize-copy-project

Conversation

@sujalkalauni
Copy link

Part of GSoC 2026 proposal: Customize Copy Project

This PR implements the ability for users to select which fields
to carry over when copying a project.

Progress:

  • Add copyProject() to projects.thrift
  • Implement ProjectDatabaseHandler.copyProject()
  • Expose in ProjectHandler.java
  • REST API endpoint
  • Frontend UI (NextJS)

Mentors: @GMishx @deo002

@sujalkalauni
Copy link
Author

Hey @GMishx @deo002, quick question before I finalize my proposal — for the field selection, should we limit it to commonly used fields like name, version, linkedProjects, releases? Or expose all Project fields to the user? Also should clearingState always reset in the copy?

@sujalkalauni
Copy link
Author

I've submitted my GSoC 2026 proposal for this feature. Would appreciate any feedback on the current implementation when you get a chance. Happy to make changes based on your review.

@GMishx GMishx added needs code review needs general test This is general testing, meaning that there is no org specific issue to check for labels Mar 23, 2026
@GMishx
Copy link
Member

GMishx commented Mar 23, 2026

Hey @sujalkalauni , to answer your questions:

  1. User should be allowed to pick and choose all the fields (except the internals like createdBy, createdOn, etc)
  2. Yes, the ClearingState should always reset upon copy as it should be treated as a new Project and thus someone should work on it.
  3. The feature should also also users to change values of some of the fields like name, version, etc.

@sujalkalauni
Copy link
Author

good afternoon @GMishx, thanks for clearing that up.
i understood it now completly and for the thrift signature i was thinking of passing a set<Project._Fields> for field selection and a Project object for overrides, then merging them while building the copy. Does that work? Also, any feedback on the proposal when you get a chance would be really helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs code review needs general test This is general testing, meaning that there is no org specific issue to check for

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants