Skip to main content

Projects in FSM:

When a previously selected / added request should be removed again from an existing project the functionality is working fine:

  1. Navigate to "Requests" in a dedicated project
  2. Select / Multi-select the requests
  3. Click "Delete"
  4. Confirm that 'req_proj_link' record should be deleted

This means that only the connection between request and project is deleted and the request itself is not deleted from FSM entirely.

The same functionality should be available on the "Tasks" tab. But the situation right now is that with deleting a task from the project, the task is deleted entirely from FSM.

The required functionality would be the same as on the request tab, that only the link between task and project is deleted.

 

Finding:

Currently there is no table for tasks like ‘Task_Proj_link’ as it is for ‘req_proj_link’.

Question:

Is it correct that we have to create a new table like ‘Task_Proj_link’ to make this work for tasks as it works for requests? Or is there another / better way of handling that?

 

regards,

Thomas

Hi @Thomas Widmoser,

I would have thought that breaking the link between the tasks parent request and the project would also break the task and project link. Is this not the case?

If you were able to break the task link to project separately then you could end up with tasks not related to a project attached to a project linked request. That could then cause logic errors elsewhere in the system as it would be expected that all task work on a project request would also be project work.

Kind regards,

Lee Pinchbeck


Hi @Lee Pinchbeck 

 

I would have thought that breaking the link between the tasks parent request and the project would also break the task and project link. Is this not the case?

 

No, this is not the case. After removing request from project the table REQ_PROJ_LINK for that request_id is empty. But task.project_id is still filled. The result is that the task is still shown on the project but the request is not.

 

Our idea was then to use ‘cascade delete’ in custom metadata of REQ_PROJ_LINK and PROJECT to immediately delete the task.project_id as soon as the REQ_PROJ_LINK entry is removed. Unfortunately without success as this immediately deletes the complete task as well directly in the request.

Not sure if the right way would be a business rule to empty task.project_id?!

 

If you were able to break the task link to project separately then you could end up with tasks not related to a project attached to a project linked request. That could then cause logic errors elsewhere in the system as it would be expected that all task work on a project request would also be project work.

 

Ok understood. Therefore either all tasks of a request are project relevant or none. The other possibility is of course to just create single tasks for a project. 

 

regards,

Thomas


Hi @Thomas Widmoser,

Yes, unfortunately any cascade link will delete the associated record and cannot be set to remove a particular field. 

I think you would be right that the best way to do this would be to create a business rule that sets the project ID on a task to blank when its parent request is removed from the project link.

Kind regards,

Lee Pinchbeck


Hi @Lee Pinchbeck ,

ok, we will go further by using a business rule. And I think we will try to initiate a baseline improvement as well to somehow automatically break the link between task and project as soon as the link between request and project is removed.

regards,

Thomas


Hi,

 

   Nothing Cascade delete and Business rule is working for Project screen.

 

When we delete request from a project screen it only delete request link but for task it`s still deleting the whole task.
We have tried to create a business rule as well use the cascade delete to delete automatically task from project screen when a request is deleted.

Conclusion:  As for request we have a table (Req_project_link)  but task is directly come to project screen via task table so any how deleting task from project screen is deleting completely task from task table.