Pennebaker / craftcms-thearchitect

CraftCMS plugin to generate content models from JSON data.
MIT License
171 stars 9 forks source link

The Architect possibly (?) subtly corrupting the DB #46

Closed ldstevens closed 7 years ago

ldstevens commented 7 years ago

First things first, I just want to raise this as a possibility because I don't have a definitive proof case, but I nevertheless want to run it by you guys to see what you think. This is a wild bug that I've spent the last few weeks (on and off) trying to track down, so while I'm not 100% sure it has to do with TA, it seems like a reasonable possibility.

Here's the background:

Here's what's been happening:

At first I thought this was a bug in Feed Me, but Josh (the developer) couldn't reproduce it independent of my DB, and despite everything I tried (different import methods etc) it still kept recurring. (You can see some discussion of the issue here: https://github.com/engram-design/FeedMe/issues/199.)

Eventually I wondered if it was the DB itself, and so I created a very basic Craft DB with the section and fields created manually through Craft. Using the same test data, and the same Feed Me setup, I was able to run Feed Me successfully, and all assets were matched correctly. This seemed to rule out Feed Me as the source of the issue.

I then created a clean Craft install, re-exported data from TA on a previous install, imported it, and ran Feed Me again, and sure enough the mismatching returned.

I've cut my settings data from TA down to a fairly simple import that, when imported, seems to cause the issue again. (I do have several other plugins installed, but none of them are used for data import or DB manipulation.)

My next step will be to re-build the site's sections, fields, authors etc manually, then run the content imports again and see what happens.

But for now, I think I've established that:

...so I just wanted to let you know. Given the images that are bad change from import to import I wondered if some corruption is creeping into the DB at some point what TA runs, but that's just my not-particularly-informed-about-mysql's-inner-workings guess.

It's a pretty wild bug as it's quite subtle and hard to debug, but I can provide data or more info etc if it helps.

Cheers!

(P.S. The uploaded images show Entry Title / Asset filename (text field) / Asset filename (asset) / match or MISS.) safaripbcraft devscreen shot 24 apr 2017 12 28 00 pm safaripbcraft devscreen shot 24 apr 2017 12 27 49 pm safaripbcraft devscreen shot 24 apr 2017 12 27 45 pm

spAnser commented 7 years ago

Ian and I have noticed some small issues with The Architect creating assets sources properly. I think we came to a conclusion that CraftCMS is using string values for the numbers in the settings and the architect is using number values.

This didn't seem to cause any issues until recently, since it didn't cause issues in the past.

However in our testing incorrect asset sources imported by architect made it so that a section using the asset source field of a problematic asset source could not be edited.

Emkaytoo commented 7 years ago

@spAnser I wonder if this issue and this issue about treating number values as strings are related. Perhaps it's outputting numerical values in a couple of areas when Craft uses strings.

Edit: I just noticed @ldstevens posted both of these issues, so maybe there's something to it?

ldstevens commented 7 years ago

Ugh, looks like I may have spoken too soon. I spent hours meticulously recreating this big site setup manually without TA and... the problem reoccured. 😱

Sorry for the false alarm! Now back to hours of painful trial and error... 😞

spAnser commented 7 years ago

I'm sent you a message in Craft Slack. If you want to go over steps to reproduce. We were also running into a weird error with some asset sources not related to FeedMe but related to Architect.

ldstevens commented 7 years ago

Looks like Josh (Feed Me dev) got to the bottom of it: https://github.com/craftcms/cms/issues/1673#issuecomment-298136884