
Entry Comments posted by Matt
-
-
1 hour ago, Dll said:
Maybe it would have been a plan to hold off announcing this 1 tool until you were ready to announce the rest, or at least some of them.
I'm always keen to get information out as soon as we have it fixed on our end. There are pros and cons but the earlier the feedback, the more chance we have at addressing it and making sure we've not missed any angles. Give it a few months and the v5 codebase will be much stabler and we'll be more reluctant to make big changes.
Some of the tools we're still actively working on, and stuff like theme tools are only about 80% complete, so there may be some gaps between blogs but we'll post them as soon as we have them ready.
7 minutes ago, Ocean West said:So essentially what you are describing is a transaction (more than just crud operations) along with Pub/Sub or a simple que type system
Not exactly, it's more like the JS event system, you can listen in on events and execute your code when those events are triggered.
-
-
-
-
24 minutes ago, Adriano Faria said:
Am I still allowed to hook in \IPS\Content\Item, for example?
“NOTE: You can only create a listener on an implemented Item/Comment/Review class. You cannot listen on \IPS\Content\Item”
There are resources that extends the global class, like this or this. These are suite resources, not single apps resources.
Thank you.
In this case, just create a listener for every applications Review class. This allows you to be intentional what you want to happen for each class and application. So you can still create this app in v5.
-
IC5: Introduction to Listeners
in Blog
Correct, there is less opportunity to overload/hook into/touch Invision Community 5. If you can give me some examples of why you'd want to overload those methods, we can help guide you to newer tools or understand why there is a need and consider adjustments to the dev toolkit.
Monkey patching (code hooks) were convenient but the cost was very high in that we couldn't significantly alter our code without destroying most existing modifications causing WSOD, ISE500 or other errors on client communities. As PHP 8 becomes more strict about typing, return types, etc - a simple function signature change could break modifications.
Clearly, allowing almost every single class and method to be overloaded is not something that we could continue doing.
We also want to be a little more protective of some of our UI and flows. We want to build a toolkit that lets you build amazing add-ons and extra functionality but it will mean there is less scope for smaller apps that change some of our existing functionality.
The good thing about these blogs is that we get to have a conversation and learn from each other.