Posts by DecSoft

Show threads by DecSoft
3341 posts found, page 50 of 223

DecSoft (In thread: Push notifications)

Hello Peter,

Take a look at the App options -> Cordova -> Batch -> After. As you can see we use that to require the "add phonegap-plugin-push" plugin to be installed. About the registration fail, it's a mistake: look at the "SendRegisterID" app function and change the URL of the used HTTP Client control to HTTPS. We can't use HTTP in Android 9+ except if we add some especific option to allow it. If you change the URL to HTTPS you can see the app successfully register.


DecSoft (In thread: Google maps in AB1)

No problem, Peter! :-)


DecSoft (In thread: Google maps in AB1)

Hello Peter,

We can add to the marker the information if we need it. The "showInfoWindow" receive the marker as his argument, so, we can access to the marker's information as well. Just take a look at the below code, which is a modification of my latest one:


DecSoft (In thread: Google maps in AB1)

Hello Peter,

There are various things to consider here. One thing require to take a look at the below code:

We have what we expected inside "querySnapshot", but, this is not an Array of Objects variable. In fact, to get access to the records sent to us by the server, we must use what you already do: the "forEach" over the "querySnapshot" variable, and then, once we get the "doc", retrieve the record using the "doc.data()" method.

So in fact you no need to convert any Array of objects variable to any Array of arrays variable: you can just prepare your Array (with markers information) in a way like the below one:

But here is the other thing to be considered: you can't just initiate the map and prepare the markers just by write the right code below the above code, because that code is executed in an asynchronous, so, if you write something like the below:

... the "alert" is executed before our "markersInfo" variable has been completely feed. So what to do? Just wait for the variable to be feeded:

The "initMap()" function is executed when our "markersInfo" variable is already feeded, so, we can then create the map, and then iterate the Array variable to place the right marks inside the map. All the code is below: you can place in the Show event of the "View1" of the sample app that you linked before:

May we can enhance the above code, for example, to move the "initMap" and other functions into the "app functions manager", or maybe some changes are required, but, I hope that that code can help you to give an idea at least. Post here if you have further question, Peter.


DecSoft (In thread: Google maps in AB1)

Hello Peter,

The problem is that I can't get the response that you get from the server: I get some "permissions" error here and not the desired array of objects. So just place here the JSON response (remove any possible private information if needed) and I will try to help you.


DecSoft (In thread: Google maps in AB1)

Hello Peter,

If I am not wrong, it's not possible to remain the markers in the map, because, the map itself is gone once we move to another app view. So the app must be "recreated" when we back to the map view, to say like that, and, that's the moment again to prepare the right markers that we can show in the map. But this is not a problem, I think.

That is, certainly you can use a variable to feed the map of marks, to say like that: so that variable can be modified in another app view, so, when we go back to the map one, we simply set the markers again, including the possible new "marks information" which the referred variable includes. So in few words, the map nor markers are not "globals" and they are not "maintained", but, the app variables are, so we "feed the map" with that variables, wich can be changed in any of the app views.

Taking the above in consideration, let me how I can help you, Peter.


DecSoft (In thread: New App Builder 2020.67)

Hello to all,

Here is a new DecSoft App Builder with the below changes, fixes and enhancements:

Read the entire product's history


DecSoft (In thread: Gradle Problem?)

Hello to all,

Me, again... I refer a Gradle problem before in some project (not a DecSoft App Builder project) and finally I got it... and there is not really a Gradle problem... but other problem, which is "fired" by Gradle, which is the responsible to execute certain programs, which can be missing, so fail, but, not for Gradle... but maybe the Gradle configuration in my case, which is not the correct one.

Anyway, one fo the things that I do while work trying to compile the referred project, was remove Gradle from my computer... and therefore I can't compile any APK using Apache Cordova and DecSoft App Builder. However, this time the things become better: just by reinstalling Gradle and ad into the environment PATH variable the Gradle path, the problem is completely gone.

So I really hope that Kim can find the problem: I install Gradle by downloading the binaries and not from NPM, like Ryan do, however, the point is that Gradle are available, since certainly it's required by Apache Cordova in order to do his job.


DecSoft (In thread: New App Builder 2020.66)

Hello to all,

Here is a new DecSoft App Builder with the below changes, fixes and enhancements:

Read the entire product's history


DecSoft (In thread: Google maps in AB1)

Hello Peter,

The idea of my code is to show you how to "convert" an Array of objects to your desired Array of arrays variable, but, I think the below can't do the job:

Certainly you are assigned some data to the "SourceObjects" variable, but, nothing happend then, you did not apply the code there, or, I can't see it.

I think it's better to use the JavaScript version of my sample, since you are already dealing with JavaScript code, so, the code can looks like the below one:

However, note that the above code can't work as expected, because you must change the below:

... in order to match your objects properties: for example, in my sample there is a property "Name" in the samples objects, but, maybe that property don't exists in your objects, or, may you want to use another properties. My code is just a sample which uses ficticious objects.

If I did not provide to you a real sample (using your source of data) is because I am not sure about the source that you get. So, please, try the above, and, if you wanted, post here the server's response, that is, the content of the "doc.data()" variable, but, be sure that you copy here the complete JSON (the idea is that you can get it from the developer console, but, not copying what you paste here: instead of it, you must copy here the entire JSON response, even if it's unformatted, that is not a problem) so I can take a look it.

I mean post here the contents of the red rectangle, and not the contents of the blue rectangle:


DecSoft (In thread: Google maps in AB1)

Hello Peter,

I am not completely sure about the specific source objects, but, figure out that you have an Array of Objects variable (apparently this is the source), and, what you wanted is an Array of Arrays variable (this is what the "locations" variable is), take a look at the below code, which I hope that can help you giving you the idea of what you must to do:

App Builder's code:

JavaScript code:

Both pieces of codes produces the same result.

Note for the readers: the above App Builder code refers to the previous generation of the DecSoft App Builder. The new generation of DecSoft App Builder don't provide "actions" like the previous generation do, but we can directly write JavaScript code instead.

DecSoft (In thread: Connect to a PostgreSQL Database)

Hello John,

Absolutely yes. Our apps can connect with any kind of server databases, with the right server's stuff, of course. You can take a look at the Database sample app, which include the PHP scripts (for the server) and uses a MySQL database (in the server). From such PHP scripts (in this case) we can connect with any kind of database engine instead of MySQL, PostgreSQL, for example.

In fact, client apps are completely abstracted about the server's software, language and database. What our client apps do is to made HTTP calls and get and process HTTP responses. So, supose you ask to the server for the "users" of your app. You made a specific HTTP call and your server's response consists in an array of "users" in a JSON, ready to be used by your app.

Then you can process and do whatever you need with the server's response, and, you never know (not need to know) where the server pick that "users" information: can connect to any kind of database, read certain server's file, use PHP, ASP, etc., etc. The client app is completely abstracted about the server, so, the answer is yes, you can deal with PostgreSQL databases, but also with MySQL, MariaDB, Oracle, etc.


DecSoft (In thread: Question Regarding Browser Plugins)

Hello to all,

Here is a sample video testing the WebExtension2 sample app:


DecSoft (In thread: Question Regarding Browser Plugins)

Hello John,

Well. First of all, I publish right now a new release of DecSoft App Builder, with some changes related with the WebExtension development. Between other changes, you can see a new "WebExtension2" sample app, that, once installed as a WebExtension in the modern browsers (I tested it at Firefox, Chrome and Edge), can do the following:

  1. Once the user click on the WebExtension browser's toolbar icon, allows the user to check or uncheck a checkbox control, in order to "start to catch" or "stop to catch" the possible HTML forms inside the browser's tabs.
  2. After the user check the referred checkbox, our WebExtension catch all the HTML forms in the browser's tabs, and, in fact, prevent the forms to be submitted: instead of this, you can see at the browser's developer console the data of the forms, as an example: you can do whatever you wanted with such forms data.

So, certainly, it's possible to do what you wanted, but, you need to take in consideration various things:

  1. As you can see in the WebExtension2 sample app, we only catch HTML forms which are placed in the HTML as... HTML forms... so we can't catch any other kind of "forms" (or HTTP calls that the page can made, for example).
  2. If you want any other kind of user interaction knowledge, you must act in a similar way than the WebExtension2 do. Instead of attach an event handler for the HTML forms, you can attach a "click" handler to the browser's tabs body, so you can know when a user click on a browser's tab, for example.
  3. Out of the scope of DecSoft App Builder, be very carefull with your users: if you plain to recolect any kind of user's information... you must inform to the user about your plains. So the user can know at any moment what your WebExtension do and for what purposes.

Finally, take a look at the referred WebExtension2 sample; take also a look at the changes in the current release of DecSoft App Builder, and, if you have any question about, just post it here, John.


DecSoft (In thread: New App Builder 2020.65)

Hello to all,

Here is a new DecSoft App Builder with the below changes, fixes and enhancements:

Read the entire product's history

Everybody can read the DecSoft support forum for learning purposes, however only DecSoft customers can post new threads. Purchase one or more licenses of some DecSoft products in order to give this and other benefits.

This website uses some useful cookies to store your preferences.

I agree. Hide this note. Give me more information.