Log message #4115699

# At Username Text
# Feb 8th 2018, 17:59 pedroseco ok só um probably doing something wrong on my "listen" part
# Feb 8th 2018, 17:51 hmic and thats all you need to do. listen to the event you emit. does not matter which plugin or app does what exactly. just match the events name and make sure to listen before emitting it (and the correct eventmanager is involved, usually go for the global one and attach early (bootstrap.php))
# Feb 8th 2018, 17:49 hmic pedroseco: you dont access events, you listen to them
# Feb 8th 2018, 17:37 pedroseco what's the best way to share a callback from a event between all my plugins? Ex acessing from PLugin X a particular event emitted by Plugin Y
# Feb 8th 2018, 16:52 jotpe I tried something like `$this->assertResponseFailure($result = $this->Flash->render('custom5'));` but phpunit just tells me, that there was an error ;)
# Feb 8th 2018, 16:51 jotpe Hey guys! How can i write a Test, if a method rises a UnexpectedValueException?
# Feb 8th 2018, 16:46 spencdev What doesn’t lol. I’m fighting with the 7.1 tempnam notices
# Feb 8th 2018, 16:39 neon1024 Nah, I’m using multidimensional arrays which upsets PHP apparently
# Feb 8th 2018, 16:38 spencdev When you use their example?
# Feb 8th 2018, 16:33 neon1024 Then you get, `: Indirect modification of overloaded element of ArrayObject has no effect [`
# Feb 8th 2018, 16:33 neon1024 `The $data parameter is an ArrayObject instance, so you don't have to return it to change the data used to create entities.`
# Feb 8th 2018, 16:33 neon1024 I like the docs stating this, https://book.cakephp.org/3.0/en/orm/saving-data.html#modifying-request-data-before-building-entities
# Feb 8th 2018, 16:32 spencdev Another way, and it could quite possibly be really bad advice, is to use Events. As a last ditch effort to kind of duct tape it together, you could make an event and in your non-plugin model/controller have it fire an event to check if everything saved properly. That may be over engineering something, and like I said, could quite possibly be really bad advice. Take it for what its worth.
# Feb 8th 2018, 16:29 spencdev Yeah, you can. There are a thousand ways to skin this cat. There isn’t a right or wrong way, except ways that just don’t work. But with the plugins, I’m not sure if you can attach behaviors to models in plugins. I could be wrong though, i’ve never done it.
# Feb 8th 2018, 16:27 amit Can we do it in a behavior
# Feb 8th 2018, 16:26 amit One more point is I have models in a plugin too
# Feb 8th 2018, 16:25 amit Exactly
# Feb 8th 2018, 16:25 spencdev Yeap. What you don’t want is database entries without the file existing in the object storage. That just creates confusion for everyone.
# Feb 8th 2018, 16:24 neon1024 Especially with a remote data store
# Feb 8th 2018, 16:23 neon1024 Also consider write failure
# Feb 8th 2018, 16:23 spencdev Depends on how YOU want to do it. I do mine beforeSave, I want to make sure the upload was successful before submitting the db entry because I do validation on the filename before marshaling. That a little outside of what CakePHP does/used for. You could do it the other way, save into the database and afterSave upload the image. If the image doesn’t upload, roll back. I think that’s how that would work.
# Feb 8th 2018, 16:21 neon1024 https://book.cakephp.org/3.0/en/orm/saving-data.html#converting-request-data-into-entities
# Feb 8th 2018, 16:21 neon1024 From the book, https://book.cakephp.org/3.0/en/_images/validation-cycle.png
# Feb 8th 2018, 16:21 amit Yes
# Feb 8th 2018, 16:20 neon1024 As part of patchEntity or newEntity
# Feb 8th 2018, 16:19 amit Any idea how validation is handled before image upload
# Feb 8th 2018, 16:19 amit BUt the problem is with the validations
# Feb 8th 2018, 16:18 amit I have created a plugin to store the image on ObjectStore, and I will include it where I need to upload images
# Feb 8th 2018, 16:18 spencdev Yeah, I remember reading that you can do image resizing with AWS using S3, Lambda, and API gateway. If I remember right it’s a lot of work. Of course that doesn’t do the compression and focal points though
# Feb 8th 2018, 16:13 neon1024 So makes sense for our use-case
# Feb 8th 2018, 16:13 neon1024 It’s for our API, so we don’t need to serve out all the various sizes to our client websites via our api and from our api server
# Feb 8th 2018, 16:11 spencdev It’s kind of pricey, but I can imagine the time this would save on a lot of use cases
# Feb 8th 2018, 16:08 neon1024 My boss sure likes it
# Feb 8th 2018, 16:08 spencdev that is actually really freaking awesome
# Feb 8th 2018, 16:07 spencdev whoa
# Feb 8th 2018, 16:06 spencdev I’ve never heard of it, looking it up now
# Feb 8th 2018, 16:06 neon1024 Thankfully with Imgix we just need a single source image and Imgix will create any requested variants on the fly
# Feb 8th 2018, 16:05 neon1024 Yes, we’ll be using a similar system as I understand it.
# Feb 8th 2018, 16:05 spencdev The downside of that is, if I ever have to manually look for a file in S3 with out access to the database to see the associated filename, I’m kind of out of luck considering there are 17gb of files saved...
# Feb 8th 2018, 16:03 spencdev The user doesn’t interact with anything saving except for the files name, which if I remember right (i’m on my phone), it verifies the name is acceptable before ever even trying to save. For S3, the name is tokenized. The name of the file actually doesn’t have anything to do with where/what it’s being saved as. I think I got the idea from one of the upload plugins.
# Feb 8th 2018, 15:59 neon1024 Wont you end up with images in storage you’re not using though?