Migration to App Connect 2

Just a few questions while trying to prepare things for the AC2.

  1. Do I need to manually migrate anything at all, or just add the AC2 framework and update all modules to the latest?
  2. On an old project, is there any advantage building it up from scratch using AC2 or upgrading the packages should be enough?
  3. Do you have an ETA in mind when is it going to be in stable version of Wappler?

Many thanks!

Gabor

1 Like

Interesting questions @dogpoint

I thought that AC2 will just go from beta to live on some random Thursday coming soon and that we don’t need to do anything except test our app in the beta channel now and then wait for the big day…

… and an eta for the big day would be lovely to know but I doubt we will get one…

No, nothing is required for you to do. The project updater will ask you to update your components, when they are available.

No need to build anything from scratch. App Connect 2 is backwards compatible.

This should happen within the next few weeks.

4 Likes

That is correct and that is exactly what’s going to happen.

3 Likes

Thanks @Teodor, great to hear!

No need to build anything from scratch. App Connect 2 is backwards compatible.

What I am curious of is it backwards compatible like the USB standards (USB2 device on a USB3 interface will only work with USB2 speeds) or it will work with full AC2 speed with the old code.

When the stable channel gets the updates you will be prompted to update all the App Connect components to the new versions, so everything will be App Connect 2 optimized.

3 Likes

Great, thanks for clarifying!

Just a couple nits I found while testing AC2…probably won’t apply to most people, but definitely will to some!

Early on Patrick advised that:
dmx.requestUpdate() is replace with

this.dmxComponent._updateValue();
this.dmxComponent.dispatchEvent('updated');

And if you have heavy repeats with a datastore, you’ll want to refactor to make use of

.startBatch() and .endBatch()

With the standard components you don’t need to change anything. If you have created some custom components yourself, it is possible that you have to update that code.

The _updateValue is only for inputs, I believe it was used to get the select2 plugin working with App Connect 2. In most cases you probably just set some data using node.dmxComponent.set('value', newValue) or update some property like node.dmxComponent.props.disabled = true. These will trigger the update of all the dependencies automatically with App Connect 2.

startBatch() and endBatch() are 2 new actions for the dataStore to be used in flows, you can see this as transactions in databases, it batches the updates/inserts and only update the data after endBatch is called. This prevents unnecessary updates in the DOM for each data change.

1 Like

Hi @patrick,
Can we have a list of changes for the custom modules (AC Modules) so that we can have them ready when AC2 gets released.

The most important changes are already posted in the documentation for writing custom components.

1 Like

Thanks @patrick :slight_smile:

App Connect 2 stable is now available in Wappler 6.5

3 Likes