Jump to content

Matt

Management
  • Joined

  • Last visited

Entry Comments posted by Matt

  1. 4 minutes ago, DawPi said:

    To be clear - inside system/ directory we would have access to Content and Member folders only? What if we want to adjust/modify Output/Sitemap/Helpers/Lang etc. classes and methods inside them?

    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.

    1 hour ago, Kirill Gromov said:

    The hooking of methods seemed to me close to ideal in IPS4 (although it had big problems), I did not think that IPSs would abandon this coding trick in IC5, which helped to fill the market with excellent solutions. Disappointed. But I still hope the team will please us with good news. Pending.

    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.

  2. 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.

  3. 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.