barrelstrength / sprout

Sprout Marketing Suite modules for Craft CMS applications
https://sprout.barrelstrengthdesign.com
Other
2 stars 7 forks source link

'Save as a new form' creates relations to original fields #111

Open jerome2710 opened 3 years ago

jerome2710 commented 3 years ago

Description (screenshots, logs, ...)

When saving as form as 'Save as a new form', the fields inside these forms get related. Every change in the fields of form A will also be applied to form B.

Steps to reproduce

  1. Create a form with one or more fields
  2. Save it and re-save it with 'Save as a new form'
  3. Edit a field, eg. change the title. The field title of both forms will be changed.

Additional info

exophunk commented 3 years ago

Once again, a very severe bug, that is not adressed for more than a month...

Even worse, if you delete the duplicated form, it will delete the field layout of the original form which leads to total failure:

So basically, re-saving a form breaks the plugin and potentially leads to total data loss.

@BenParizek I know you don't find much time to work on those issues lately. This is okay. Life get in the way sometimes. I would also most definitely not expect anything from a open source plugin, but since you actually sell a premium version, I expect you to address those issues, or at least add a warning message to the documentation when a major issue is found like this one or barrelstrength/sprout-forms#521.

jerome2710 commented 3 years ago

Hi @BenParizek. For your information, after some internal discussion we made a decision and just disabled all of our clients auto-renewals for the Sprout-plugins. From now on, we will stop implementing the Sprout-plugins in new websites as well. During the past year, the overall quality of the plugins has plummeted as well as lack of support and updates. This issue as well as barrelstrength/sprout#110, barrelstrength/sprout#124 and barrelstrength/sprout#169 is an example of this. We feel it is wrong by supporting you with auto-renewals for something that is not being maintained. I hope you understand our decision, although I'm still curious what led to this and made it came this far.

BenParizek commented 3 years ago

@jerome2710 I appreciate your comment and apologize for the hassles.

I take responsibility for the struggles this past year and am actively trying to correct the issues but understand that the recent issues have put some projects in a tough place and the decisions you need to make.

The short explanation:

A couple of years ago I made a decision to update the Sprout plugin structure to share several modules managed by composer. This lead to us needing an abstraction layer around migrations and permissions and a few other things in our plugins and over time that lead to an increasing number of tedious migration issues that became very hard to support and an increasing amount of complexity between all those issues to make sense of.

On top of that, between the pandemic and other things, I decided to close the client services side of Barrel Strength (to focus more on Sprout again), and the last few months have involved helping our clients and contractors transition to new relationships and me getting back up to speed as the lead developer on Sprout and getting our plugin architecture back to a manageable, sustainable level.

If you ever find yourself deciding to use lots of custom composer packages on a project, reach out and I'll try to convince you otherwise! My year has been a challenging series of decisions about how to spend my limited amount of time to get things back on track and it's been a several month process.

At this point, I've largely got the plugins in a better place (locally) and am working through lots of migration tests (all the way back to Craft 2) to get the schema back to a good place in the next major release of all of our plugins. Things will likely continue to be a bit rough the next month or so and I hope to be in a better place again.

jerome2710 commented 3 years ago

@BenParizek just wanted to let you know that despite your given information above, we are again a few months later and nothing has happened still. Although we've already given up our faith in your plugins and service, I still find it unacceptable you leave your clients dangling helpless, who've installed and paid for your plugins.

I would like to advise Craft (cc @angrybrad & @brandonkelly) to suspend your plugins from the Craft Plugin Store and not let clients waste their money in buggy plugins whilst your profiting from it.

BenParizek commented 3 years ago

@jerome2710 I respect your frustration.

While there is still an issue I need to address while duplicating forms (fields don't get duplicated right now), the issue where incorrect relationships were created was addressed in v3.13.5 earlier this year. I apologize that I overlooked updating this thread. Due to the nature of the bug, the upgrade may require manual steps to fix during the upgrade. I've outlined those steps here: https://github.com/barrelstrength/craft-sprout-forms/issues/568#issuecomment-811906515

If I can help troubleshoot anything in the database in your particular situation or help you get your data migrated to somewhere you feel more comfortable with it, please feel free to reach out to sprout@barrelstrengthdesign.com directly and we can arrange a screen share.

I won't predict any timelines this round but I am still actively working on the next major release of the Sprout plugins to address the underlying framework issues and get back to more reliable support. I recognize there has been a tradeoff around my ability to address existing issues as I work toward that goal.