Status of the Reflection Field
This is an open discussion with 27 replies, filed under General.
Search
Is there no memory clearing during the process after each entry? Because of the processes that each extension goes through (XML Importer running xPath, Reflection Field running xPath, Subsection Manager running xPath) the memory and objects that are being thrown around are getting huge.
It's a good job I can do this locally and not have to worry about bulk importing on a staging or production server, I currently have it running at 512mb memory for PHP and 300 seconds timeout... Which has worked.
IMO there is a problem here that needs addressing. I am trying so hard to sell this as a viable system to my employers for handling data, as we're taking on bigger 'data-centric' clients, but this could be a massive spanner in the works if every time I try and import to a section with a reflection field, it breaks.
I just assumed that by using an Event, it would trigger the EntryPre/PostCreate event, but having a quick look, I don't see it. Is this the event you're trying to get to trigger?
If so, nick will have to update the rest API extension too I suppose; I didn't see it in there either.
Hi Scott..
The delegates in the Reflection Field are: EntryPostCreate
and EntryPostEdit
and EntryPostSaveFilter
And I have included: XMLImporterEntryPostCreate
and XMLImporterEntryPostEdit
They fire fine now for XML Importer, but not your extension, or Import/Export CSV either.
What delegates are you firing?
EventPreSave
, EventPostSave
, EventFinalSave
because I had to use an event to not duplicate core code. I could fire EntryPostCreate
and preCreate
but that would mean the Event
ones would fire as well.
This presents a problem then, and for it to work correctly for you I can't use an event. Surely there must be another way to implement this without duplicating the core.
Edit: Ok, so for the who knows how many-th time, I'll rewrite how the mass upload utility creates entries in the backend, it'll take an hour or two.
Or is this even a big deal, would it be easier to let all 5 events fire?
I feel bad now, if you're going off to rewrite it again
The Reflection Field listens for the EventPostSaveFilter
delegate. I can just add the EventPostSave
delegate in there, but I don't really know what issues that could cause, if any...
There obviously needs to be something written down in stone for how extensions should listen to and fire delegates, especially ones that run at their own page, rather than the standard pages.
Alright, update the mass upload utility from the master branch @ github. The proper backend events should be firing automatically now. I only briefly tested the bits I changed to make sure it worked, and it did, but let me know if you run across any silly errors.
No big deal, it needs to be written the write way :)
I'll check this when I get home, got my head in some 80,000 records with the XML Importer today...
Create an account or sign in to comment.
Ok, so I'm still having major issues with doing imports and the reflection field. I have set my servers memory for PHP at 128mb and it is still topping out and failing when trying to import 123 entries. It fails at 55 entries now.
Can anyone shed some light onto this?