We use erpnext projects module to manage our tasks. We have a project with more than 160 tasks. But one member of our team updated the expected end date of the project and the erp changed all the tasks linked to that project to old values.
Are everyone experiencing this problem? Anyone found a way to solve it?
It seems that there isn’t support to the current version of ERPNext, instead, all the effort and focus are set in the new version (v12).
The PR #17774 solved the issue for v11 but was closed because doesn’t have tests (tests that wasn’t present before anyways) and because Rushabh thinks that there is a common use case (arbitrary desicion IMO).
To solve for us, we start to use a fork with this fix alongside another ones. We are still making new pull requests to fix new issues we are encountered but it’s seems that a fork is a must in order to achieve a steady version.
After upgrade to ver 12, the task table is not visible on the project view (at least on this implementation). Is this the intended result of the breaking change? In the project doctype there is no link to the task table.
I agree of course. But I don’t agree with the idea of “if a functionality has a bug then we remove it instead of solving the problem”. The task table in the project’s doctype was a feature used by a lot of people and now it’s gone, just because nobody wanted to fix the problem.
Not to mention that the functionality in question was bugged for like 10 minor versions and still is in v11.
The child table “Project Task” was a UX hack so that the user can quickly add tasks to project. This type of 2-way syncing is an anti-pattern and source of bugs and performance problems.
I am not certain but the feature rmehta removed might be a design defect. If Project & Task refer to eachother in a circular reference, then a deadlock or contention could occur upon a change/update to one or the other.
Tests would highlight such a problem case.
Fortunately users have options, to restore the code to suit themselves.
Looking at various posts and frappe’s design principles, the creation of real M2M / Many to Many relations are not supported at this time. The solution appears to be a much more difficult problem to solve and a hack as clarkej say is not a solution. Are any plans on the table to implement a M2M solution in the future? I understand that table relations are not managed on the database level.
It looks like m2m on the implementation side. I.e. in django could do Task.objects.filter(projects__title__startswith=“SomeProjectRef”).distinct() or whatever other filter on m2m. The implementation is circular and have no idea how to even approach a test as it is. Saw the link here How do I create a bidirectional link between two doctypes? - #2 by rmehta. It is the correct decision to remove the task project table. I’m now using the task calendar which is fine.
I think that the migration (either early or late) is not really a problem. Been using ErpNext for a year today and I can only say thank you very much to the developers. I am very grateful to have the use of such an excellent product. Thank you once again.