How To

Share all the handy tips and tricks about Wappler usage here! Don’t be shy!

About the How To category

Share all the handy tips and tricks about Wappler usage here! Don’t be shy!

Max Length Validation Not displaying

The validation is not displaying when the input hits the 26th character. Anyone see what I’m missing?

Two Questions Regarding Bootstrap Colors

I was wondering how to add a new color to Bootstrap(like primary, info, danger, etc) I saw this but when I add a color I get an error This is what the “theme colors” variable had by default …

Node.js Mailer issue

I’m implementing a new user registration. All is going well except the mailer is throwing an error. I’ve confirmed that the app/lib/modules/mail.js file is on the server and that nodemailer is liste…

Form to email outlook could not verify identity of sender

Form to email outlook could not verify identity of sender. form working - however test email live results in above message in outlook anyone have a workaround

Long Deploy Time (Docker)

Ok found the problem… seems at Digital Ocean with the very small servers of $4, you have very little memory and when running and web server and Traefik more memory is required otherwise indeed npm ins…

Form Browser go to not functioning as expected live

Well you need to uncheck the “Internal” checkbox for the redirect event. This is used for others, specific options, but not in your case.

Displaying User's Timezone Name

TL;DR: get the timezone abbrev and IANA name client-side from App Connect. I’m building a validated app for user’s that both travel across multiple timezones with the same device and also for users t…

Repeat Core Action and CSV

You need to repeat the import step, not a just a single column like [0].schedule So select the import step as a repeat expression.

Wappler keeps on renaming my query parameter on the API Data Source

This is because the App Connect components are DOM based and are case insensitive. Parameters that are passed within the attribute name will therefor always be made lowercase.

Dmx-bind:value not working within a form inside a repeat

This was the fix. Thanks @bpj! I changed dmx-bind:value="Description" to dmx-bind:value="$value.Description" Data Store and Form Repeat

Pass a Javascript Array to a Server Connect - $_GET array can't output

I have some javascript code that produces an array of values that I want to add to my database. I created the array in the $_GET with the intention of sending the array via dmx.parse('insert_pl.load(…

Adding weeks on to a variable, does not advance the month

The code I am using is <button id="btn23" class="btn btn-light" dmx-on:click="check_avilable.load({service: inp_package.value, start_date: check_avilable.data.api.data[0].start_datetime.addWeeks(1)}…

Using OAuth2 Connector with Discord

Hey Does anyone have a how tow for signing up with Discord or could help me? I haven’t been using Wappler for long time and am not very familiar with the subject Or maybe there are plans to integ…

Change Modal Header Color

I am using a bootbox confirm and wanted to change the color of the modal it opens. You can change the button colors when setting up the action and I changed the body and footer by changing the “modal…

How to use all the new array actions

There are 14 new SC actions for arrays which are awesome but I urgently need a steer on how to use each of them. The main ones to create the array, insert data into it, read data back, etc. are all st…

How to create a scrollable BootStrap Table

I just added a CSS code and it seems to be working with vertical scroll.

Copy schema from docker DB to remote RDS DB (going from development to production)

Hello, I have a local docker environment with a docker Postgresql database. I am using this same DB set up for my staging environment hosted on EC2. However, for my production environment I will be…

Registration form does nothing

Hello Wapplers! Just got here and going through the Community Web tutorial. Stuck at where the registration form does nothing when the Register button is clicked. I’ve gone over it twice over checki…

How can I copy data into the datastore in page load?

This is another “I’m sure this is simple” scenario but I’m struggling to come up with the solution. I have a SC script which returns data which I want to be copied into the datastore. What’s the best…

Is there a way to see the network logs in Android Emulator?

Think what your after can be seen in chrome. If you go to chrome://inspect#devices . Then pick the emulated version of android.

Restricting page with two different permissions not working?

The permissions assigned to a page through Security Restrict are treated as AND. Adding both will require both permissions to be required. If you have the role in your database, you can use the IN co…

Best Free VPS Setup 2022 (Hestia on Oracle Cloud Free Tier) Complete Website + Email Tutorial

Great video tutorial Best Free VPS Setup 2022 (Hestia on Oracle Cloud Free Tier) Complete Website + Email Tutorial

Resize a webp image?

Is it possible to resize a webp image? Unfortunately, when I tried resize(Auto), it didn’t work thank you for your help

Should a Multi-Reference table/field work like a subtable for data insert?

I have multiple subtables that are inserting data without issue. I recently added a multi-reference table (Address_Contact) to the Server Connect API. But when attempting to POST data to it, it’s t…

Issue with Unauthorized Access Redirection in Login System

If you are using security provider enforcer on your php page, then the page won’t be loaded at all for unauthorized users.

Google Maps JavaScript API without a callback is not supported

We improve that in Wappler 5.3.3, so either update or do a manual fix as described in:

Dynamic click event

There is the following code: <div class="d-flex flex-column" dmx-on:click="modal_delete_message.show()"> <button id="btn" class="btn" dmx-on:click="var_updating.setValue(222)">Btn</button> </div> T…

Conditional region flash briefly on refresh

I am using conditional region to hide some sections, and they work. but on page refresh, they briefly show their contents and then vanish. I was under impression these are better to use then Show/hi…

How to change the maxmum value on y axis in chart?

I have 6 line charts on a page and would like to compare them at a glance The issue I have is the data is all scored out of 10 but the y axis on the chart only goes up to the highest figure in the da…

Can't Remove Port on Target

Try adding the A Record for www and @

Redirect to Content Page With Different Layout Does Not Work For SPA

I have a server side server action setup on a content page - which is used as security restrict. This content page - page1 - has layout page - layout1. My login page - login1 - has a different layou…

Use checkbox in a table to set query parameters

I would like to put a checkbox in every row of my employee table so I cn select several employees and then query data from those selected. I’m guessing I use some type of array to set the filter?

How do you solve cron job planning?

Let’s say every hour I want to clean up some data in the database: split up full names into a first_name, last_name. For example: first_name: "John Doe", last_name: "" Becomes: first_name: "John",…

Capacitor installation failed

Hello, I want to create an ios application via capacitor but when I want to create my project, it tries to install capacitor but there is an error that npm is not recognized as an internal command OS…

NodeJS Array Showing Extra Records

Wowza, that was a tough one for me. I got the solution, so here goes in case anyone else has similar issues: As per @Teodor suggestion, I did the work on the server side (DUH!) which makes total sens…

Sqlite connection problem "Connection String is Required"

Hello, I would like to implement a project with php/Sqlite for the first time. But fail at a simple query. What am I doing wrong? Many thanks for your help

DO server using resource manager can't connect

Ah it might be Ubuntu 22 and old rsa ssh key you are using. For new servers we automatically enable the old rsa keys compatibility but for older servers you might have to do it manually. See:

Development Environment when using Resource Manager

Now you got it right. Docker and “Docker machines” are different things. “Docker machines” is just a tool that helps with managing your Docker instances. But it is no longer officially supported. Bu…

Does Wappler support OpenID?

From what I can see in the docs it should work with the OAuth2 provider.

Wappler updates keep wiping out Redis from package.json

W 4.9.1. NodeJS Win 10 I have a project setup, where I don’t use Docker locally, but only for Staging and Production. I have a Redis turned on, it works normally. But after Wappler updates (even …

Simple (I think) Array/Repeat/Relational data problem I need some direction/a How-To On

I am trying to make a commission tracking app that in my head I think should be straight forward, but, it is not working out to be lol. In a roundabout way, I think the way I am structuring it should…

Webhook question

With our phone supplier we have the option to use web hooks for incoming calls etc. The information it sends through is: { "type": "user_inbound", "unique_call_id": "160455961758", "caller_id"…

Problems adding Traefik

Following Using Custom Domains and SSL with Let's Encrypt and Traefik I added my NameCheap domain to DigitalOcean and I can access my site via the domain name without HTTPS I added the traefik ser…

Server Connect Table Refresh

I have a admin dashboard that I replicated for 2 sites. I just changed a field’s name and deleted one on the duplicated database. Then I copied the dmx folders and admin dashboard folders to the new …

Node.js server restart clears sessions

You don’t need Redis or docker. Just select DB as option in the server connect settings > sessions tab. Server connect settings is in the server action/api panel top right. This will create a table…

Array in Data View Filter

What is happening here is that you are creating and updating the new_array object, which is not the same as the array_categories which you are displaying. If you need to add items to the dmx array ar…

Inserting a Bootstrap Button Group

Hi, I am trying to insert a Bootstrap Button Group Component into a properly setup Container > Row > Column structure. I dont see that component listed. Is this something that needs to be coded manua…

Preloader customization

Then add something like this in your custom CSS file: .dmxPreloader-spinner::after { content: "my text here"; position: relative; margin-top: 80px; display: block; width: 200px; …

Want 4 charts all aligned horizontally in one line but occasionally get 3 charts in 1 line and the 4th chart on a separate line

Hi, I am struggling to do what i think should be very straightforward I have a dashboard that has a row with 6 columns, each has an apexchart graph in. Only 4 columns are ever shown and the user sel…

How to copy a dynamic value using 'Browser'

The copy method doesn’t accept any arguments, it just executes the browsers native copy action. You probably want to use the writeTextToClipboard. dmx-on:click="browser1.writeTextToClipboard(products…

Pages location

how to move pages located in files to pages

Node.js route redirects going to content page

I’m trying to implement security on a node.js site. I’m having an issue where routing to/from the login page isn’t working properly. My login form looks like this… <form id="form_login" method="po…

Check checkboxes if value is in datastore

I have a dynamic list with a checkbox on each row. When it’s checked, the row id is inserted into the datastore. When it’s unchecked, it’s removed from the datastore. That all works perfectly. If the…

Call Framework7 functions

Pull to refresh as well as other components are available for Framework 7:

5.4.1 Theme Manager not working as expected

As explained in the docs: The Theme Manager is available for Bootstrap projects only, using Bootstrap 4 or 5.

Subdomain routing for Saas

Hi, I’m trying to make a SaaS multi-tenancy project in NodeJS A project that allow to autogenerate subdomains base on a business creation in database mysql, and then each subdomain filter the data ba…

App Failed Attempt To Build Emulator?

I’m trying my hand at building an iOS mobile app with Bootstrap 5 for the first time. However, I’ve ran into the following issue after I attempted to view the page in the iOS emulator. I’m working on …

How can I make a select the value of a field in the Data Store

You need to use: dmx-bind:value="updates.data.where(`prodID `, prodID, '==')[0].cat"

Update "refresh message" to user

Hi! In my app, the user is keeping a page on the TV and is almost never refreshed. So when I push an update, it’s often not reflected for the user on that page. Is there a way to notify the user that…

Tagify select all?

You can do it with a button. <button id="btn1" class="btn btn-primary" dmx-on:click="tagify1.addTags(serverconnect1.data.query.values(`category_id`))">Add All</button> <input is="dmx-tagify" id="t…

Filtering a database query - need help

I’ve got a query that gets orders from my database. Each order has ‘bought_products’ attached. These products have an id. Now I want to create the following filter: Show me all orders where produ…

How Can I Create a Pivot Table From Database Output?

I think you should be able to do a Set Value pointing to this pivot_table Set Value: pivot_table.values() And than use that for a CSV Export Step If that doesn’t work, I can adjust the formatter

When to use server connect in the server side data?

The server-side data is processed during the rendering of the layout and/or content page, which takes place before the App Connect code (or anything else) is loaded in the browser. You are correct, y…

Sign-Up Username suggestions when username is already used

Hi guys, All major websites out there, while Signing-up, they validate the given username and if it is already used they suggest available Usernames (“related” to the one you initially given) Given: …

Custom query not returning results when using parameters

Hi, Here is my custom query where I populated the Select statement with the required values. You will see I get a query result returned. However, when I use parameters, I get no query result.

How To: Windows Plesk and NodeJS

Hello All, After spending sometime today setting up my Plesk Server for staging, I’ve run into some issues. I got it to work on Windows 2022, here is how: This setup is strictly for Windows Plesk Se…

I have a problem with the medium editor again

It transfers crazy styles, although I want to remove them with the [Delete Formats] button. In the (online) source text, the formats of the Medium Editor are displayed below the actual content. …

Is it possible to copy database changes to a different project?

You can just export a database dump/backup using a database tool like mysql workbench (depending on your database type) and then import it in your other database.

Inserting Bootstrap Components Question

Hi, Where can I find a listing of Bootstrap components to add to my page as I am building out items. For instance when I insert a Nav component I would think I should be able to insert Bootstrap comp…

Arrays with arrays inside

Hi, I’m trying to use the new server action functionality called “Array Lists”. I added the step Create Array, named my array “myArray” and defined a schema for it, to have a text variable called …

On login, redirect the user back to where they were

Here’s how I handle this on node: Within a Server Side Data > Server Connect, on the protected content page or layout, if the user is not logged in, I save the page that the user attempted to load in…

Escaping Single Quotes

there’s just an error in this code… your closing " on the wrong place… before the + '</strong>' part.

Ordered List?

I can’t see any way to add an Ordered List in Wappler? I would have thought it would be an option when adding a List Group that would add the list-group-numbered class? Am I missing something or is …

Dynamic Opengraph Meta Tags in a .NET site

Server-side rendering is only supported for NodeJS in Wappler. There’s no server-side rendering support for PHP/ASP/ASP.NET and sites like Facebook, Twitter etc. do not render javascript expressions …

Using a Google Map with an overlay showing boundaries and interact with it

Hi everyone. I’ve been asked to put a Google Map onto a webpage which has an overlay showing county regions. When a region is selected on the page (could be a button or select dropdown) or they click…

Can't create keyed array in Server Action

Keyed arrays do not exist, the only language I know supports that is PHP. You probably want to create an Object or Map which are collections of key/value pairs.

Countdown Timer with Dynamic Value

Hey, someone help me to build a countdown timer with dynamic server connect value?

Issue with sockets running on Ubuntu Server

Working locally, things seem to work ok. However when I load this to docker on my remote server, I keep getting this error when I try and use sockets. Could anyone throw me some suggestions as to wh…

Partials Page does not show available actions

If I understand correctly, Partials have no access to the outer world, as they don’t know where they will be included (that would be logical, too). But you say some Partials do have access to objects…

Capacitor installation failed!

Hi, I’m just installing wappler and I get this error! Mac Homebrew is correctly installed. Checking NodeJS installation and version… zsh:1: command not found: node NodeJS is missing! Mac Homebrew…

Clear data store (cart) after set time?

I made a shopping cart with following tutorial and all works fantastic! But I need the data store to expire after maybe an hour? I am running into a situation where customers can add tickets to the…

Digital Ocean File Missing Error but File is not Missing

Maybe this advice from Hyperbytes will help in this case?

Help With SSL

All good, Eric_F, I have experienced many issues in the past and wappler team / forum / community have always been very helpful in troubleshooting and finding solutions. This error seems to be relate…

Default font in summernote select

Hi! There’s a way to force a default font in summernote? In my menu i would like to set “arial” instead “Segoe” as it appears. Thanks

Can subtable be used as a reference field in another table?

The answer is, yes. A subtable can be used in a reference field on another table. Something was not in sync on my project. Refreshing the table schemas was not correcting the issue. So I undid all cha…

How to check if user is logged in on mobile app project and send to login page if not?

On a mobile app project, how do I check if the user is logged in. If they are not, then direct to login page?

Routes not working for mobile Bootstrap app

Looks like I cannot define a route for the index.html page. Is this expected? I was able to create content pages and navigate to those using links on the index.html page, but the URL shows index.html…

Redirect not found pages

Never tried this but maybe adding a new route in the routing tab set the path to * and make sure this route is at the bottom of the list:

A better way to handle user uploaded photos. With editing. How can we implement this?

Pintura / Filepond Dropzone was introduced as far back as 2018. Wappler didn’t even do node back then. And we’ve seen an increase in integrating JS libraries, so why not this one? Demos here: file…

Human Resource Calendar

I would be happy for guidance on how the calendar component in Wappler can be used to develop an input feature in which an employee can chose a start date for vacation and number of days and the calen…

Timeline like community

How can I build a timeline like the community blog?? any advice??

Nesting Form Repeats

Is it possible to nest form repeats I tried with both a converted row and the actual form repeat component and I got the same result twice: As you can see formRepeat2 is inside of formRepeat1 Bu…

Mobile URL background Image zoom not correct

afternoon all, I am having a weird issue with my background images and I am hoping someone out there has a solution. The issue I am having is that the background images that I am using for the hero …

How to redirect to homepage after successful login on a mobile app?

Doh! I remember now. Add a browser component and then a Dynamic Event on the form. If succesful, send to appropriate page/route.

How to display dynamic data inside a Summernote Lite Textarea

Hi, I have a Summernote field in a form in a modal. I’ve tried using the Dynamic Attribute for both Inner Text and HTML but whatever I do - no data is shown inside the Summernote. Any ideas? @Teod…

Background video

Hello - problems with background video". I have followed your online documentation, but no “Background video” in Properties.Found it in Components, and placed vid inside container sourcing it correct…

Server Connect Array Lists - how to work with multidimensional arrays?

Normally the API Action step would already parse the result when the API returned it with the correct Content Type headers. I think the following expression should work for you: {{api_companies.data…

Dragable Sortable Solution

I’m looking for a ‘Dragable/Sortable’ solution I can use for clients to select the order in which images associated with a record are placed. I have found the following and wonder if anyone would be …

No output on Array?

It looks like we can’t output server arrays directly but have to set a value to do so. Is that correct? If so, why?

Weird behavior of my textarea with Medium Editors

I checked your page but it’s actually quite a mess. I see a lot of <html> and <body> tags on it. Not sure if that is your includes wrongly setup to include full pages or anything else, but that is wr…

Upload image using GET not POST

This is a bad idea, GET has stricter size requirements as the image would have to be somehow inserted in the URL itself (usually Base64-encoded)

Server actions working on localhost with remote db, but not working on remote host with remote db

What would cause a simple query, add and delete server actions to work on local server with the same remote database, but not on the remote server. On local query, add and delete works. Remote, not… …

Server Connect Array Remove problem

There is a limitation when using Objects inside the array. IndexOf, Contains or Remove don’t work fine with objects as value. Here an example in plain JavaScript with indexOf: const array1 = []; con…

Set background from data

You can set a Dynamic Attribute>Styling>Style for an element using Name: background-color and point the value to the data retrieved from a SC API query

Electron: Chokidar module missing

We found out that the build from electron does not sync the folders, we will have this fixed in the next update. Go to the terminal and type npx cap sync electron, then it should have the new files in…

How to create object in server action?

I need an object like this: { "email@email.com": {"ref_id":"999"} } Where the email and the ref_id values are variables. So I have successfully created this object with this set value: {{ {email…

Environment Variables (Wappler UI)

Your understanding of DB connections in context of Wappler is a bit off. Each project can have multiple targets. But, each project needs just one DB connection - in Globals section of server action/…

How to delete authentication code from database after a time period

Hi seriatim, The workflow could look something like this: Add another timestamp field to store a value for the valid time limit - this can be based on the timestamp when an email is sent. So, if yo…

Database - how to set the project settings remote database as the default to be used with the remote database

I got totally lost and confused with all this different connection settings. For me, it worked this way: Create the different environments / targets, but did not enter database details in the projec…

API Data source results clear

I have a search input field that retrieves results from an API and displays it in a list view. Is it possible to clear the results without sending an empty search string to the API again? I want the…

Urgent - infinite loop help!

Yes I contacted the host and they restart the server. The problem is solved. Thanks to all.

Showing updated mysql database tables/records

Try to use Refresh Schema on Table level. Then I go each table one by one (which I had made changes) to make sure they are “green”.

Take action when date is reached or passed

Hello, I would like to perform an action when the validity date has been reached or exceeded. How can I achieve this? Thanks a lot in advance

Where does Wappler store the changes related to the database manager?

How does it know there are 4 pending changes and where is the reference to those changes?

Target folder structure problem

I use the “projects” folder http://localhost/projects/admin/index.php for my locale version/target The main directory on the online target. Why is the locale folder structure used for the depend…

Creating a newsletter with wappler

Hi I am wondering if it is possible to create a newsletter application with Wappler? If yes, are there any tutorials to get this started? My main problem is how to send emails to multiple recipients f…

Best way to implement mobile number and OTP login

I haven’t actually done this but I think it should work: Add a ‘otpPassword’ field to your users table and when creating a user, generate a UUID and store it there (ideally using Argon hashing) Have…

How to stop a folder uploading in NodeJS

Using Docker with a nodeJS website. I have a directory that people upload photos to (public/assets/uploads). When I upload a change to the live server, then it deletes the files on the live server a…

Array List initial value not set

The initial value should be a value of the whole array. So it should be another array not a single item. It can be also another collection like a result from Query or API Action

How to use WHERE after SPLIT

Oh. This is on client side. What I wrote was for server side. Also, did not know where could work on a string array. You should use a repeat children, and set its expression as serverconnect1.data.o…

Datastore - Upsert

You can use the fieldname in backticks as explained in:

Delay to dmx functions

Hi All, There seems to be a delay to dmx functions, which is preventing certain behaviours/actions being implemented. For example, for conditional field (dmx-if), I am unable to chain them (i.e. have…

How to use array.where formatting properly

Please see the image below: I would like to get the Url value for a given id (id==1 in this example), however I can’t find out how to select that value. The expression in the image doesn’t work an…

URL Masking/Link Cloaking in Wappler

Second that you def want to wrap your ref links into a DB. Trying to redirect to a different domain purely via a route->server connect may throw certificate errors as well (CORS violation), as the htt…

Duplicate full SQLite database to remote target on initial deploy

At present i do not think it is possible to replicate data to the production server via Wappler. In order to do this you would need to export the data via a 3rd party product then import the data int…

Not connecting to Local host

I’m trying to set up a server connection for a new project but I can’t even get the preview to work properly. When I click on project settings>targets and I try testing the local host connection, it f…

Input text: How do I combine multiple currency symbols using patterns

Answered my own question pattern="^[£$€]\d{1,3}(.\d{3})*(.\d+)?$" data-type=“currency”

Mobile App and website project temporarily hide the website

So routes worked but Wappler seemed to revert the route to its original settings, not sure why so I have gone “Old School” for now and added a redirect to the index page of the live target - <!-- Tem…

Need help with inner Join - Get name instead of ID

Justy give one of the ID fields in the query an alias like this

Dynamically check multiple checkboxes in repeat group with query values

Need some help with dynamically checked checkboxes that are used to filter a database query. The checkbox form group list used for filtering the database is a dynamic list, which is populated by a se…

Editable Grid with DevExtreme Data Grid Tutorial

I’ve been looking for an editable grid solution for a while and recently came across DevExtreme. They have a whole bunch of what so far look to me like really good javascript components ( https://js.…

Assistance needed to work with Google Drive API

I’ve hit a bit of a wall with a project which requires a logged in user to upload files and they go into the site owner’s Google Drive, ideally in a folder named with the ID of the user who uploaded i…

Chat GPT Api response length

Yes, had max_tokens set really low, now set to 2000 and it’s working perfectly

PWA Setup?

To be precise here: a PWA is a downloadable web site which adds a bookmark icon to the users mobile, it’s not an installable app (which implies appy features like notifications, hardware access and s…

ChartsJS - Y axis as currency

Hello everyone, How to set the Y axis as currency on an Area chart? Thanks!

Display form response data

Can’t the modal access the form response directly instead of putting into a session variable?

Select already existing images on server

Have a look at In particular

Can't seem to deploy to production env...new project...What am i missing?

It seems the issue is with the Web Server URL. Replace http://45.33.33.104 with the actual domain name https://belindamary.com. The project will need to be redeployed for the new settings to become ef…

Trigger form validation

I typically use a data store to hold the data from multi step forms and use a hidden form to post that to the server when ready. I then use a completely empty api as the form action for all the user …

Browser goto function open in new tab

Why don’t you use an <a> tag with dynamic href for this then?

Docker and digital ocean - going live

Hi Wapplers, I have followed the the instructions on how to setup a remote docker machine on digital ocean, which I have done successfully. I deployed to the live target as well. When I visit the IP …

How to add a color picker

Actually, I just figured out you can do it by changing a text input to type color.

Limit number of characters

Use Truncate from Manipulation from Data Bindings on your column. Or use substring manipulation: var1.value.substr(0,3) this will limit output to 3 characters.

Open a dynamic modal with an calendar entry

Dynamic Calendar events are available at the main Calendar level. After selecting Calendar, go to Dynamic Events -> Calendar to select Date Click or Event Click dynamic events. When any of these optio…

Is it possible to use $index in value names?

Can’t you do what you want without dynamically setting the name? Because I’d consider such to be a bad practice, as you’re essentially mutating the schema of a response dynamically, as a consequence …

Cordova project Mac Ventura

I found a fix…added Ventura to the nameMap in /usr/local/lib/node_modules/cordova/node_modules/macos-release/index.js I think that takes care of it.

CURL Certificate Error With S3 getFile

Hey, thanks @Apple! Just as you posted this, I got it uploaded to my server and it is running without errors… So the problem was with the version of curl that is supplied with my local WAMP server, …

Trigger An API Call When The Server Restarts

I needed to extend express to send an API request to an internal endpoint whenever the application starts to reattach workers to bull queues. It doesn’t depend on nodemon events etc. You can use it b…

Why Am I Getting an S3 Get File "Invalid Path" Error?

Thanks for all your help, folks! That all makes sense now with the path… luckily I don’t have any folders on the S3 side, so a / for the path seems to suffice… I have it set as below and I have mana…

Tagify remove the tooltip

When using tagify, if you hover the mouse cursor over the set tag, a tooltip pops up with the value: How to remove the tooltip so that there is nothing when you hover the mouse?

Best Practices to make Dynamic Paging and Query Manager work on NodeJS

Of course, after submitting my question for help here after a few frustrating hours, I found the solution For future reference to anyone struggling with this: Define the Query Parameters on the la…

Dynamic routing of a large page

Hi! I’m thinking about relaunching our homepage (currently Wordpress) with Wappler (in Php, Mysql). The only question I have is the routing. I need this link structure: https://www.page.de/cat1/ca…

Manage Docker Machines from different PC

I have a desktop PC and a laptop, both have Win10 pro with Docker Desktop. So when I’m working on the laptop, I want to be able to upload files to the remote docker target. But wappler only finds the …

How to calculate the values of an array?

Check this: I want to sum the “amount” value of each item in the array. The array limit will be 5 items, however there will not always be 5 items. In that case, I need to take the full value of it. …

Need help figuring out the best way to store/save this data

Wappler is maybe not the best tool to be attempting this in, but I find messing around with fun projects is the best way to learn. Sorry if this doesn’t belong in this topic due to it not being strict…

Getting API data into a Database

I am trying to get data from an API and put part of it in my Database. The API data is coming from a service running on my PC. The data shows up fine if I put the URL in a browser: I start the AP…

How to make a database entry on page load and edit it with later workflows

I am messing around trying to make a simple game and have a question about how to store the id of a database insert for later use. On page load I have a database insert to make a new entry in a table…

Issue with show/hide

Variables and ids should never start with number. Try changing that

Using IN Operator Is Unsafe?

The generated sql query is: select `cpc_id`, `cpc_product_code` from `content_page_creation` where `content_page_creation`.`cpc_product_code` in (?, ?, ?, ?) The bindings (parameter values): ["PROD…

Help with Data Format Keyed Array

I very well might be overthinking this, but I have a database query that outputs data like this… What I need is to output the data like this… options = { series: [ { name: "09:32:00", …

DB: client does not support authentication protocol

Ben, select the MySQL8 as database type and not MySQL/MariaDB, which essentially uses mysql2 in NodeJS

Page Query parameters

Hi everyone, Am I doing something wrong, I am trying to set a query parameter on a NodeJS content page but for some reason its not showing in the data pickers. I have defined the following page quer…

Disable Tagify Editing on Double Clicking a Tag

If you want a quick and dirty fix until this is added you can add the editTags line in the dmxTagify.js file… That will apply to all your tagify components and could get overwritten with a new vers…

Multi Tenant Architecture - PostgreSQL Row Level Security (RLS) Questions

I’m hoping I can beg a little advice from one or more of the Wappler users here. I’m trying to create a proof of concept in Wappler of a multi tenant database system, and while I’ve got something tha…

S3 Download File - Download not working

Unfortunately the “download” attribute is only valid on A tags (links) and not buttons: with your button you are triggering form submit, but that is not a download. So maybe just make a link out o…

How to Test Value of Radio Group

Sorry, I’m on the phone haven’t checked your code well. You mention a radio group but I don’t actually see any form group in your code. Please check:

Docker credential desktop missing

Well maybe then just install docker desktop

inRange in Class Toggle?

I’m trying to use .inRange in a class toggle. This works <td dmx-text="qty_250" dmx-class:green="qty_250>200"></td> This doesn’t <td dmx-text="qty_250" dmx-class:green="qty_250.inRange(200, 300)"><…

Filemanager similar to cPanel but for Docker Volume

Thanks to @sid he showed me a way to log into my docker machine via SFTP On a mac, download the free Cyberduck from https://cyberduck.io/ Create a new bookmark Server: 111.111.222.100 (Change to th…

Using youtube api to show videos from channel

With DMXZone we used to have feed genie to show a list of videos etc. on an website. How can I create this with Wappler (assuming I know almost nothing)?

Image Data API Service?

Create new API action In Input -> Post add new variable call url In Execute add Get File from S3 category - use POST variable for Path variable Add Get Image size from Image Processor category. Use p…

While overwriting in Server Action

Here’s the custom formatter function: function formatter_concatarr($arr1, $arr2){ if(!is_array($arr1)){ $arr1 = array();} if(!is_array($arr2)){ $arr2 = array();} $retval = array_merge($a…

Google OAuth & Photos Part 3 - Getting Albums and Photos

This is part 3 of how to authorize and use Google Photos. In this tutorial we’re going to get a list of user albums and the photos in them. I think the process for Oauth has changed slightly as yo…

Problem "while"

Hello, I have a problem with the while function, I tell it a simple calculation, as long as the difference is greater than or equal to 0, My problem is that the program runs and nothing happens, when…

Edit GIT Comments

No you can’t change git history and comments once it is committed. It is all written as hard history. You can add new comment in the next commit.

3rd party calendar Daypilot

Can you try data.data.query?

Query results from another database

I have a table in my “employee” database that allows me to pick the “vehicles” from another database I would like to show the details of the vehicles in my table but I cannot query from 2 different d…

Websockets Rooms

Since Wappler version 3.8.2, Sockets have received advanced features. In several training articles, Teodor outlined how to use functions such as Emit / Direct Message / Broadcast / Socket Identify Ho…

How to update Local Storage array

If we have an array of objects in local storage and we want to change a specific field of an object at a given index how can we do this. In my case I have an array named “bookings” and in this array t…

Custom Bootstrap 5 with EJS

I am trying to use a custom BS5 theme from Creative Tim: https://www.creative-tim.com/product/material-dashboard. I transformed index.html into a new layout file: Then I created a page using the l…

Wappler conditional workings

I’m sure someone will give you a more elaborate response along with pointers to a tutorial, but let me help you a bit since you’ve been at this for 6 hours Conditions don’t throw errors, they retur…

How to Restrict an API to certain HTTP Methods only

How to Restrict an API to certain HTTP Methods only. Not applicable ones should return 405. Does wappler have anything which can do this without having to use a condition for each api?

How do you attach the same multiple images to multiple emails?

** EDIT ** Everything works as it should! The file structure had been changed and the test data hadn’t been updated so all is good. Very happy with this now.

Can I Make dmx-on:click Open a New Page?

If you have the browser component on your page you will be able to active its GOTO event with dmx-on:click

Multicheck field with dynamic data

Hello, could someone tell me how to integrate in my form a multicheck field with dynamic data 1- I have a table with a list of values, I want to create as many checkboxes as values It’s possible ? T…

Go through records in database based on submitted form data

I have a table containing products and I have a form which lists all those products with a number input next to each one. The visitor then enters numbers next to each one and submits the form. I want…

Pass a variable on the front end to server after form post

Hi Wapplers, I have a form that I submit which executes a database insert action however I would like to store another table ID in this table which I can access but can’t seem to send to the server. …

Scrolling issue on mobile

SPA is working fine on desktop, however for a reason I am obviously missing when the nav bar is clicked it then goes to the centre of the 100vh flex container, is there a way of making this go to the …

Wappler sometimes very slow

Thanks for your response! I actually figured out what the problem was. On some of my API workflows I confirm the identity of the user as the first step, however, Output was ticked and autoload was on…

How to format string in array?

Actually try: query.flatten('pixelID')

Border color bootstrap 5, SCSS, and adding colors

There is a property in Wappler theme manager advanced called “theme colours”. You can use this to add more colours. I am on mobile so don’t have the exact syntax to share. The colours added here, b…

Create my own Library(?)

Hey Guys, Although I am new to Wappler (and Web apps in general), I would like to explore things and get organized as I go forward. My question is, how do you guys organize your scripts (successful …

How to not overwrite data on deploy?

Your issue appears specific to sqllite, as it is just a text file it is overwritten. Either deploy to a proper mysql table or place your sqlite file in the uploads folder as defined in your project s…

Header footer and includes

Hello Community, I am back with wappler and started building my first page with index.php / header.php + footer.php as server side includes. I am using Bootstrap 5 local and added it with all 3 pages…

PHP variable inside a simple FOR

How to apply a simple PHP variable inside FOR?

Data Transformation Add Columns - Can I Have A Complex Equation?

Add columns currently do not support referring to other columns in the same record. Just external expressions or static values. Maybe we can improve that @patrick

Problems with connecting to the online database

Has done, found the error. I also had to change the dates in Workflows/database Connection

File upload not mandatory

You can just put the upload steps in a conditional step and only run them if there are files selected.

Input format as currency

Hi Wapplers, I am trying to get an input field to be formatted as currency - i.e $1,000.00 I have set a dynamic attribute to the field, and set value as follows: value.toNumber().formatCurrency(’$’…

Access Array value by dynamic key?

Is it possible to access an array value by a dynamic key? For instance, if I have an array myArray with [value1, value2, value3] and I want to access value2 I can do that by myArray.items[1] but I c…

Best approach to render customized content

Hello All, Long time lurker here, that is finally deciding to take the plunge and learn how to develop web apps with wappler. I do have a question that I am hoping this wonderful community can help m…

Export XML

I am trying to use Export XML, so far its working pretty well however for some reason its adding unwanted <![CDATA[example]]> for everything. Is there anyway to strip that out, or stop it from inserti…

Node js project public folder contents 404 error

I think this is a matter of setting the remote server to recognize the public folder as the document root folder. In Plesk, this will look like where app is the application root folder. Talk to t…

Validation popup/modal or refocus on tabbed form

Hi, I have a large form split up across multiple tabs. Many of the fields are validated but when the form doesn’t submit it’s not obvious to the user which fields need completing without clicking thro…

Go live version

Dear all, Thanks for your kind answers and advices. I just retried step by step and found my mistake. Docker + Nodes + Posgresql Deploying to Linode Socket Just created a new “Production” target …

Detect user's locale: country & browser language

Anyone familiar with a lightweight method that doesn’t depend on a 3rd party service to detect user locale data like user’s country (i.e. detected by system’s timezone setting) and browser language? T…

Migration Directory Corrupt

This will show what is been referenced by George

Forcing HTTPS on Heroku using NodeJS

Hi folks, I’m just checking in to see if anybody has a good solution that works well with Wappler in order to force our users to be on the HTTPS version of our site? It’s currently hosted on Heroku …

Support for API callbacks / webhooks

Hi all, Do you know if Wappler and the final website can receive API callbacks? Thanks.

Capacitor or Cordova and databases

With the update to the latest version 5.3.1 and consequent improvements of Capacitor, I’m trying to understand how I can best use Wappler to create iOS and Android Apps I’ve set up a new Mobile App p…

Opening a Modal from a dropdown link

Which proves that a link should not be used to show a modal. According to good old best practice, underline links and solid state buttons communicate two different things: a button says that you are …

How to delete related sub tables when item is deleted?

I have not been able to make the cascade work in SQLite. What I do is to add an extra step to delete the Links that are related to the deleted Collection. As a side note: I am sure that this is not …

Send email notification to multiple recipients

Hi I am trying to send multiple emails to recipients that have selected to watch when new comments get added to specific tickets. However, the email doesn’t get sent. What I have done: insert the r…

I'm trying to apply a simple FOR/ENDFOR to a PHP page

I’m trying to apply a simple FOR/ENDFOR to a PHP page. I have to repeat a maximum of 17 times (this is the maximum number of records I have to show). So I applied a simple FOR/ENDFOR PHP. This is F…

Stripe keys with dynamic data from database?

Have a method to insert secret key and other keys stripe in dynamic method on wappler? Create client Create payment and more…?

Export CSV file filtered

Hi. I’m trying to achieve this result. I have a table of Clients which can be filtered by various parameters, for example the City of residence. I created the csv extract function of the table, tha…

Updating Calendar events

I have a calendar linked to a SC source which displays events nicely. It is all tied to a booking system that uses a data store for a Shopping Cart. When adding the event into the cart, I want to adju…

Group a repeat

I have an employee list with a column “crew” in every line of the repeat. I would like togroup those lines by the “crew” ad show the group name at the beginning of each group. Do I have to make a nes…

Arrays in back end

There’s literally just two files in the Git project. Be sure to copy from master branch. Root of your project.

Browser Component Device Width/Height Incorrect in iPad Landscape

I don’t think iOS will swap those when in landscape mode. It doesn’t care about the orientation so it returns the screen width and height always the same. What you want to use here (and better) is th…

Sum a column

Hi, I have a query that displays 249 records, with a column “qte_total”. When I apply SUM in “aggregate” on “qte_total” column and try to display it, it only displays the quantity of the first rec…

Prod cannot connect to wasabi

Can someone help me with this issue? I am using Wasabi storage for my images. Everything was working fine until last week. It seems my production environment can no longer connect to Wasabi but my de…

How to Export Filtered table data

Currently my data export properly in CSV format. But Now I want to export with filter data too. I am using two filter. 1st filter is through date and 2nd one is through search field. I attached scre…

Star Rating in Repeat using Rateit.js

I’ve implemented a nice little star rating system in a repeat using Rateit.js so thought I would share. Step 1 - download the zip file from https://github.com/gjunge/rateit.js to your project folder…

Images with metatag and orientation

In the Back End of a site I have a procedure for inserting / updating records with a file field for inserting or updating an image in horizontal format. In the case of a vertical development image, t…

Docker build ERROR

My provider has made a data transfer to new servers. In the settings, I changed the ip addresses to new ones and can connect. I also successfully manage docker containers through the Wappler interface…

NodeJS Error: .returning() is not supported by mysql and will not have any effect

This should be now solved with the latest Knex update that we have incorporated few Wappler updates ago.

Custom Query - Frontend (bug?)

Hello everyone, Why my custom queries are not showing as an array inside of a AppFlow in the front end? It’s showing as “string”! Only the first one is correct! I’m using the last Wappler versi…

Modal is not closing!

I have a layout. It has two pages. I can redirect into both pages internally. Now, In one page I am opening a modal. It works fine. But when I redirect back to my previous page, using the back contro…

Modal Display Hide, but backdrop is active

Hello, I am trying to hide my modal and only display it when the person is not connected, however the black background remains displayed despite I hide the modal, how do I do this?

How to use a repeat inside a flow with data store?

I have a simple flow that I want to repeat through the records that are stored in a data store. If I set the repeat to the data store it isn’t populating the output fields. I must be doing something…

How to make database transaction atomic?

Hi. The nature of individual query is dependent on the DB to ensure atomicity. But if you are talking about atomicity on server action level, where all insert/update/delete steps are atomic, Wappler …

EJS help - my variable became an object?

Fixed: It works by making the expression: if ((locals.$_ENV.NODE_ENV)==='production') Would love for someone to explain why it works like this though? Luckily, I found other code where I used an e…

AWS S3 Not Working on New DigitalOcean Server ('During inheritance of Countable' Error)

Hi there… I think this is one for @patrick… I’m just moving my app to DigitalOcean, and my AWS S3 File uploader has stopped working. I’m using PHP 8.1 on the server, and Wappler 3.9.7. I’m wonderi…

Problem showing mysql data on remote site

Hello everybody. 1 - I zipped the website files and uploaded them manually through my hosting cPanel. I unzipped the files and went to browse the site and I came across a problem: all the contents t…

dmxAppConnect files not found on Docker

Hello, I have had an issue for a year now that I have been punting on. But now I need to use the dmxAppConnect components but the browser is showing 404 Not Found. I have confirmed the files are …

Insert from Summernote in two tables

There is a strip tags formatter available, so just apply it to the $_POST variable in the insert action. <h1>title</h1> <p>text here</p> will be stored as title text here

Current page URL for query

You can use the browser component on the page and get the full page url by selecting: It will return a value like: https://your-site.com/page.html

Conditionnal zone, after connect

Hello, I want to display the name of the person who has connected instead of logging in, for that I was thinking of putting a condition, but I don’t know what condition to put to check that the person…

Is it possible to connect without putting a restriction on the page?

Is it possible to connect without putting a restriction on the page?

Load images in different sizes for desktop and mobile

Is there a way to load the images depending on the device? I would like to optimize my loading times for viewing on smartphones. I have already read this article. But it is from 2018, maybe there is…

Using a json data source for server action, how?

I have some JSON data that I will sometimes add things to. To keep things organised, I think it would be nice to have this in an external file. So this is the data for example Can I just make a myd…

Default calendar to All Day

My dynamic data is all showing up one day short (on multi day events). I suspect it’s because there is nothing indicating it’s all day?? How do I default the data source to All Day on every event?

API Project CORS - for Mobile App - help!

Here’s what works for me on iOS and Android. Yes, use credentials on all server connects. In config.xml under the platform android section add the following ( I’m pretty sure this defaults to false …

Turn off Geo tag dynamically?

What would be the most elegant way to dynamically turn the Geo tag on/off: <dmx-geolocation> ? There is no option in the module dynamic attribute settings. Or are there ways to turn off any HTML ele…

Shadow on header

Just add the Bootstrap .shadow class to your header like: <header class="ps-gradient shadow"> and make sure to add a relative position to it either using the Bootstrap .position-relative class: <he…

Zero value being stored as null

I have insert & update queries for a bunch of yes/no select fields with standard values 1 for yes and 0 for no. Yes is correctly storing the value as 1 but when I select No the 0 is not stored, inste…

Required Validation on API with JSON number Inputs

The required validation for number inputs in JSON format fails required validators as it expects form data, other validations however work fine. Is there any way to make the required validator supp…

Advice about using a spinner on only one record

I have a table generator element on my page, it list 10 records, each table row has an onclick on it, and the onclick loads another server action. i would like to display a progress spinner in front …

HTML, CSS file that is associated with a .js file issues

I am sure there is a very, very simple solution for this. I have an DIV accordion that has an associated .css and .js file needed. How do I attached the .js file the associated div?

2 different 'time' query results between staging and production?

Ok…turns out that somehow my product environment was on UTC time for the new Timezone Handling feature of the DB connections and all my dev and staging environments are on Driver Dependant as they sho…

Allowing users to use custom domains

Your question is too vague You’ll need to tell your users to create a CNAME record pointing to your domain On Wappler’s side you can grab the domain name being accessed through a $_SERVER variable: …

How to export data table

I have a datatable and the data is getting from mysql. I tried to export data from table in CSV format but it is not working properly. I couldn’t find any proper export docs in Wappler channel. I hav…

Wappler Tutorials

Can I check on the situation regarding these tutorials here - Thx M

Where to place main element

As you have it in the example is correct. Keep in mind that main is purely a semantic element like header and footer and has no further purpose. Despite that, it can be styled and manipulated like any…

Submit array of dynamic checkboxes to my SC API script

{{ $_POST["checkboxes_" + $index] }} Untested

Mobile API calls

I would like to know how to make API calls in subpages for mobile I’ve tried several ways but I don’t know where I’m going wrong

Rest API - JSON and Form

Hi Wapplers, I am calling a REST API successfully (an API that merges word doc templates into PDF). I am executing this function from a form on the client side, so I need the Data Type to be Form. I…

Database Changes History

I made a mistake and delete all my changes history, I am ready to publish my changes to staging. This is a new staging. I was wondering if there’s a way to to create new migration (init) (changes his…

How to validate data in server action

I’m trying to validate an entry on a server action. The post value of Level is 4 but it does not fail validation (server actions after that still run) What am I doing wrong?

Access Sorted Index in FormRepeat

Hello, I need the index of the form-repeat items after reordering them via the “sortable” option by drag and drop. As you can see below, I display the $index of the item as a Heading using a Dynamic …

Local storage breaking non-related api?

Hello, I’ve never played with local storage before, my goal is to cache a specific API/serverconnect call. I’ve created a local storage and applied it to the concerned serverconnect: When I load …

Need help getting App Connect Expressions to work with Tippy

I’m using Tippy to make some HTML tooltips, since the bootstrap ones don’t support exactly what I need when it comes to HTML support. I’ve got Tippy working, though app connect expressions don’t work…

Dropdown Toggle Button + Dynamic Attribute (Class Toggle)

I’ve created new page and added container and dropdown. Wanted to check if class toggle works but Data Bindings windows is empty. When I added a regular button it shows on the data bindings list but…

Between two dates no longer works

Expressions like these are not supported in the query builder. You can enter specific values and test.

Lazy load/preloader on data

You can use some placeholders as described here:

How to use Charts

Hi everybody, Is there tutorials / Docs about charts? I need to create several charts with my app data and don’t know how/where to start. Many thanks

How Do I Get Width and Height of Images Uploaded to AWS S3?

I’m uploading images to the AWS S3 file store using the Wappler “Sign Upload Url” server action. In this process, i want to store the image width and height as I need it to specify in the OpenGraph m…

How use sortable table with API data source?

I am getting data via API and displaying in a table via Data View. Can I make columns sortable? In my case, there is no server component, as in the example in the documentation. I use Bootstrap5 gener…

Not sure what I'm doing wrong with parameters in URL rewrite

You should not use the query manager here. It is only needed when you want to change the param value, not when you just want to read or use it on the page. All you need (after removing the query mana…

Sockets Stop When Navigating to a Page Using Browser Back Button

Hi. We have a page (A) which has socket element in NodeJS SPA. If I click on some link on page (B) to go to A, the socket connection is established and everything works well. Now, if I navigate to …

Assign a custom CSS file to a single container on a main HTML page?

Element styles will take precedence over class styles so you can apply a style to the exception elements. But also consider that the ! Important attribute has priority, so you may need to add that to …

Database data, local & remote target

If you have different and local and remote databases, you can indeed easy synchronize their schema by just switching to remote target and apply the schema changes. Or you can use the new publishing ma…

Validation not working on read only fields?

I don’t think it’s a bug. I think that is just the way it is. This link may provide you with a work around.

Cancel all pending queries?

I have a page that runs through a query that displays quite a bit of results. The issue i have is that i cannot do any work on the page until all queries have completed. Is there a way to have a que…

Connecting to socket server from an external app

Hi! I’m creating a mobile app with React Native. The last piece that’s missing for me is connecting to socket events from my Wappler web app. Is it possible to connect the react native app to the soc…

Is there a way to stop certain files uploading on NodeJS with docker

Hmmm, I’m not sure about Docker as I don’t use it but in your Wappler Settings there is an ‘Exclude’ option.

Reverse Proxy

Hello everyone We are trying to run on same droplet (DO) our application in node.js and a public website in Wordpress. We are looking to have domain.com running the Wordpress website and domain.com/…

Query results no output fieldname

I created a single query (screenshot below) and did a basic select by user_id with test value to see the results… but results only giving me user_id field, not the selected field… even if i add and re…

How to send a query parameter to a (server side data) server action and use the output through EJS

It took some time to understand server side data, I figured I’d share my documentation to help others In this example I’m loading the server action on a content page. I want 2 things: to have the …

Creating a table with dates and time slot for the next 5 years

Not really Wappler related, but I know there are some smart people in here. Using MariaBD I need to create the following: Slots on Thursday - Saturday between 10am & 4:30pm with half hour intervals …

Best Practice Multi Backend (Portal)

You could create a layout page for each portal and then add a security restrict server connect flow under the app settings to restrict access based on your roles.

Server Connect component - noload dynamic attribute - how to use

If the expression is true it won’t run the SC. So if you are waiting for parameters to be available just add a ! in front of them.

Layout/Partial alternative for a static site?

Create a web component as in Create a JS file in a JS folder or similar and enter the following code: class Navbar extends HTMLElement { constructor() { super() this.innerHTM…

Increment a value while repeating

This topic may give you a idea of the variable setup (There’s more I can try find again if you need):

I dont see Database Action in -> Page Flow

From the release notes: Note the Capacitor SQLite Connector is a beta extension now to let your try to new functionality first. So make sure you have chosen to run experimental options and have ena…

Move items around on page

I inserted an image in the header portion of the body of the page but it is not at the top of the page where I want it. I cannot figure out how to move it up there. It appears that I cannot just dra…

Transactions or stored procedures or custom SQL

Hi, My use case is as follows: I want to update a main table and multiple linked sub tables (which may have multiple inserts each) in MySQL. The way I would logically think to do this is to write a …

Display Server Connect Validation Error message anywhere

Is there a way to show my server connect validation error anywhere on page If I do not want to assign my server connect validation error to a field in server connect? For instance show at the bottom o…

Animated Down Chevron

Anybody know the best way to add an animated down Chevron to my full screen background image or even better, an overlay?

dmxConnectLib\/dmxConnect.php","line":125,"message":"Option \"value\" is required!","trace":"#0

Your Set Value steps HeureDebut and HeireFin have no value at the start. A set value needs a value even if it’s 0 or null

Loading TradingView Chart Widget with Dynamic Data (Dmx.parse)

Hi. Wrap your widget initialization code in a function. Then, in success of server action which gets the data, call this function. I am assuming here the data is in server connect. If the data is s…

Multi insert troubles

Thanks @Apple. I realised the front end is the problem and I am reverse engineering the generate form with multi inserts so I can incorporate a not so basic query as values for the fields. Slowly bu…

Set Value - Server Connect

I would create another variable (Set Value var_last_date2 for example) and maybe use a condition to update that variable with the value from var_last_date whenever you need to.

How to make a <script> with dynamic "src" parameter?

If the dynamic data is coming from the database and therefore from Server Connect you can always use EJS templating to SSR the script src attribute.

UPS shipping API

Anyone out there in wappler land have any experience integrating wappler with the UPS shipping API? Just curious. I’m about to dig in…

API action: Server returned code: 406

Hi, I’m seeing this when attempting to define the schema an API call. The call works perfectly in Insomnia/Postman. The returned content-type is application/json; charset=utf-8 Is this the problem…

Where is Wappler root on a Mac?

Probably a stupid question but where is Wappler root directory on a Mac so I can put a custom extension in there?

Download files with urls

Correctly is <!doctype html> <html> <head> <base href="/"> <title>Untitled Document</title> </head> <body> <?php //The URL of the file that you want to download. $url = $_GET['ur…

Create time slots

Hello, I am looking to create time slots in advance for my customers thanks to a start date and time and an end date and time, as well as with a variable that will increase by 1 hour each time a slot …

Animation when reloading the dataset

Is there a way to activate the animations when only the data set is loaded? Many thanks for your help

Tutorial requested: Implement Push Notifications

Hey there! Has anyone already tried to implement Push Notifications in their app using OneSignal or Pusher or another service? I would love to see how you’ve done it with a course or tutorial or a …

Fedora 36 can't update wappler

Yes the current inline update isn’t working well on Fedora because the software installed doesn’t see it as update. We are still looking for better ways to implement it. For now you can use:

Help needed with Send Mail

The To Email value in the send mail should just be $value This will be each address as it repeats

Converting date issues?

dateVar.datetime.addDays('-7') should be dateVar.datetime.addDays(-7) - there should be no quotes around the value.

Mailer Issue on SMTP

Your SMTP server just doesn’t allow using an email different than the SMTP account in the sender field. Try using the same mail there instead: and leave the reply to as it is now.

How to add an icon to a browser tab

I can see the icon visiting your site: But also you don’t need the full url to the image like: <link rel="icon" type="image/png" href="https://www.PriorAuthorization.us/assets/images/icon.png" siz…

Form with repeat elements on readonly="true" for some of the repeated checkboxes

Is it possible to have a dmx-bind for disabled=“true” I repeat through form checkboxes fields and want to only readonly on some of the repeated checkboxes

Filter repeat in masonry

so what I want to be able to filter the list by either the first name (member_name) or surname (member_surname) Cheers @Patrick that worked like a charm

Adding images and videos to table cells

Hello Team, I have so far followed the following article. I have populated the table just fine. I now need to begin adding data to it. The goal is to have a user be able to come and update the t…

How to manually setup TLS and docker on server

So it turns out there I was bringing over the wrong certs and a daeom file needed to be created. Got it all working now.

How to add an Aileron-Regular.otf Font to Wappler

Hey Bruce, I’m not sure what you need a command line for - but I hope this is helpful: https://helpx.adobe.com/fonts/using/add-fonts-website.html At some point they give you embed code that you can …

Setting value in session variable so it can be used in other API scripts

Thank you all for your replies. They all confirm what I already knew but, sadly, didn’t explain why it wasn’t working for me! I tried using the Session Storage Manager just to satisfy my conviction t…

Staying logged in, multiple domains

I want to remain logged in when going to a different subdomain. This used to work by adding .domain1.app in my site security cookie options. Then if I am on sub.domain1.app and switch to different.d…

Login page redirecting on API call

It seems I had a problem with the template. I have created a specific template for login. How can I navigate the user on login success without using the browser dynamic event then? I have also disa…

Gmail API

Solution found The settings on the Google side were executed correctly. Therefore, the post above can be used as a guide if you have a similar task. For correct operation, there was not enough addit…

JSON array, how to iterate through it?

I’m very new to wappler, please excuse if this is a dumb question, I haven’t found anything about this topic though. I’m setting up a website for our company and have gotten quite far actually. I try …

Environmental Variables for URL in API Data Source

Step-by-step: Create an API (Server Action) Add a Set Value (and set to output) Add a Server Connect component to your page linked to the API file you just made (I’m going to assume I gave it an …

Filtering Data View

Is it possible somehow using the Data View component to effectively filter data using nested arrays? In more detail. Data comes from the server with the following structure: It is necessary to le…

ER_NO_SUCH_TABLE when using Publish Manager and Issue trying to add it back as subtable

FYI, I couldn’t add a subtable to a table I had created outside of Wappler until I changed the primary key data type from “int” to “int unsigned”. After I did that I let me add a subtable.

Server Connect Join Collections

If I have 2 collections I join, but one does not have the matching field, no results display. Is there a way to still have the resulting field show? My aim is to then add values from each collecti…

Error when using IN operator

Please check Patrick’s reply: your value needs to be an array for the IN filtering. So if your GET value is a comma separated list of values, then you need to split it like {{$_GET.group_filter.spli…

Unable to s3

I had a similar problem today. Mine was the S3 connector doesn’t work with node 12 anymore. Needed to change this to node 14 in project settings. Then redeployed and it all worked again.

How to run a JS function after DOM is complete && server connect is done?

You are probably correct. Here’s an update… Add a toggle element named dom_loaded to the layout. Add this javascript that will check the toggle when the DOM is loaded: window.addEventListener('…

Camera photos from Mobile devices not getting uploaded

It was the file size. reducing the quantity in camera settings solved the issue. looks like heavy files like in my case 3MB and above cause this.

Local Host Browser not Displaying Includes

How did you add these includes? Did you enter the path by hand? The path must be relative to the file ../includes, not the root /includes.

How to post image/file with api?

Hi, can someone advise on how to use the API of the server connect to post image files from for example postman? I need to use the api to create posts. It works when only posting the post text, but I…

Paging return to a populated page if last existing row in a page is deleted

Shouldn’t you do the check after serverconnectNotesList has been loaded and you know the new page total.

Expected an identifier and instead saw '.'

I would try a different name for your server connect and avoid what may turn out to be a reserved word (like “delete”).

Can't always add validation to input field

Well just make sure your input has a type="text" added.

File upload component localization and error in console

Wappler Version : 5.2.4 Operating System : MacOS 10.15.7 Server Model: Wappler Local Server Database Type: none Hosting Type: localhost How to make the inscriptions in the File Upload not transla…

Add more form fields for repeating questions

I am looking for the right way on how to do this, I have a form that has the same type of question for customers, but sometime one customer needs to enter it 1 time, where another might have to enter …

Calling Stored Procedure Error

Hi, When I call the following MySQL stored Procedure using a Custom Query I get the following error; Cannot read properties of undefined (reading ‘name’) Can anyone explain why? Many thanks Charl…

Custom Stripe Payment Form

Hi All, I am following this tutorial to create a custom stripe payment form: https://docs.wappler.io/t/stripe-custom-checkout-forms/31700 I followed all steps carefully, however when I add the “stri…

Write sent email data to database

Hello again How can I save the sent email (including loaded data sets) in a database? Many thanks for your help.

How import file via upload form

I still have no idea what you are trying to achieve, But here is a screenshot of a simple upload file and insert into database. Not sure that it helps as I have no idea what you are trying to do,

Check integer value and return text

You’re trying to apply min (a function for numbers only) to the On Hand or Will Be Ordered strings I’m not sure why you’re using min if accessing [0] element of the array as there should only be one…

Mailer does not send dynamic content

You need to add the dynamic data in the email template when you load it in the mailer step, not on the template file itself. The template file should not have any app connect includes or components.

Need help on Routing: Unable to run script on content page

Hi, just want to run inline script on my content page. However, I found out that the script doesn’t work on the content page. Just try out simple script as follows. I also tried external script and f…

Validate check for null value

@Apple after thinking of what @Hyperbytes suggested >0 I tried this and it work

Database output not it source code

Hello there, to display dynamic content on our websites we use a MySQL-Database where all the pages are stored. The problem is, that this content isn’t directly displayed in the source code (The page…

Installing Wappler on Arch Linux in 2022

I followed Installing wappler on Arch Linux to install Wappler on Manjaro and ran into some issues. I figured out how to solve them so here you go: Download the .deb from Wappler Install debtap …

I'm looking for a way to use email templates without Bootstrap and NodeJS

You can do it like: {{projektdaten.data.showProjektDetails.anrede == 1 ? 'Frau' : 'Herr'}}

How to change css property values dynamically?

You might want to try the Style dynamic attribute on the body.

Allow Deactivate tooltip on html tags in Code View

You can turn hover off or add a longer delay in settings (bottom left cog)

Automatic vertical scrolling

You need to put some height to your swiper. For example #swiper1 {height: 1200px;} or similar. Just customize it to suit your needs.

Date picker blank after update

It was a date formatting issue. It had the right data, it just would not display it.

First letter of string

Regarding the 1st question, to obtain the first character of a string: Set Value firstLetter = $_POST.some_form_value[0] Don’t know the exact answer to your 2nd question, but you’d probably have to …

Data Limits for a GET Versus POST Call to a Server Action

I’m making a GET call to a server action where one of the parameters is the content of an email. In testing, this has created a “parameters too large” error when the email message is greater than arou…

Difference between Array and Multiple in server action

Hi, For a server action API, I know I can declare, in its Input section, variables that I will pass as parameters to it, so those variables can be referenced in the server action steps. I’m trying t…

MacBook air docker monterey error

Trying to install wappler on on 2017 MacBook air having problems with docker error: TypeError: Cannot read properties of undefined (reading 'loadCell') at e._updateModel (file:///Applications/Wappler…

Initiating javascript on static event focus on text input

<script> function separatorInit() { easyNumberSeparator({ selector: '.number-separator' }) } </script> <input class=".number-separator" onblur="separatorInit()">

Api header value is not populating

Hi, I’m having problems passing the value to my API headers. It’s not populating the value that I got from other data response. I have tried both API headers and Dynamic Attributes: API headers. Any…

Loon SDK set up

Hi, I’m trying to set-up the Loom SDK embded in a page. I keep getting the following: Uncaught TypeError: Failed to resolve module specifier “@loomhq/record-sdk”. Relative references must start with…

Image compression, best practices?

Hey all, how have you done the following? We’re letting users upload product images. This brings the concern of a big file size. Ideally the image is as optimized as possible (highest quality with t…

How to get the token response with post API

Here is an example of how I authenticate. sometimes you have combine the user and password info and then encrypt it to base 64. I create variables to combine and then encrypt. You have to make sure…

Summernote Not Adding Alt Tags in Wappler 3.9.7

Hello there @teodor… I’m using Summernote with Wappler 3.9.7 to create content for email sending. When I check the spammyness of the emails, I’m losing 0.5/10 for my images not having an ALT tag. D…

Creating tables needed for security and logins

Hi all, I followed the instructions from this video - https://youtu.be/tzz_KoGV8Tg A very helpful and useful channel, however, by following the instructions I have come into this problem. Any help w…

SSL Cert config for DB Connection

using PGSQL the dev db does not have SSL support. PROD DB has SSL support and has been marked required as well. if we choose SSL cert here, dev breaks if do not choose, prod breaks. we deploy t…

Code editor (Monaco) duplicate line shortcut no longer working on linux

In monaco editor all keybindings are hardcoded and can not be changed. I had to lookup in the monaco source code to see what the keybinding is, for linux it is ctrl+alt+shift+down.

Cannot bind a negative value to a range slider

Just change these attributes to static. I just tested and it appears to work fine.

Resetting Variables in repeat

Ah. The white one can be the same as the green. Just put a ! at the start !ds_selected_prodID.data.where(productID, autoID, '===').hasItems()

Use a Javascript Object in Server Connect

Just in case anyone is looking at this for a solution in the future. Here’s how you use can use a javascript array (object) in a server connect. Create an API action that receives your array as a …

How to access routes.json?

I would like to have the administrator of the site select the link for a dynamic navigation bar as in For this I need to be able to access the routes.json file.

Mysql connection with ; in password is not working

the next morning… So, after the restart, my SQL data in “online” was deleted . I entered it again and now the upload works . But… My password is always shortened to 6 characters. So put password …

Need help creating a Navigations bar

My navingation bar would have items like Home, About us, products and several others…i need the menu items to display dynamiclly and under sections like about us there would be a dropdown that is also…

Is there any documentation on the While server action?

Example: Set Value (global) slug = "myslug" Set Value (global) inserted = false Set Value (global) i = 0 While !inserted: Set Value currentSlug = slug Condition i > 0: Set Value curren…

Getting my project online

Thank you for the info. After some trial and error, I’ve finally found the correct “ftp” settings. Thank you for your help

How to use paged query

How about not using Data Detail but instead create a query which returns a single record and then load that query when an item is clicked. So you’re replacing Data Detail… Select with ServerConnect Lo…

Is config.json overwritten on project switch?

Then you the to edit the target specific config, stored in: .wappler/targets/target_name/app/config/config.json

How to make sure a server action that runs onchange/onupdated starts from the beginning

I have never seen a case where a SA changes values midway. Each run is completely new and ‘from the beginning’. What you might be seeing is an overlap of SA execution. So the first one starts, and …

Error with local host since reinstall

So have found out how to do this and here is the answer if anyone else has the problem. Open terminal and type: lsof -i tcp:3000 It will then list the item that is in use, then type: kill -9 PID#

Add a number to a variable when I press a button

Try this: dmx-on:click=“code.setValue(code.value.substr(0, code.value.length()-2))”> // or dmx-on:click=“code.setValue(code.value.substr(0, code.value.length()-1))”>

URL Rewrite and IIS

Hi everyone, I have read the URL rewriting tutorial and I’ve try to follow it carefully, but I have this problem. Before doing that, my detail page had syntax like this: news-details.aspx? ID = 147 …

Starting a page flow when a section becomes visible upon scroll?

Hey everyone I have a site where i am scrolling down a single page and I have a few sections. I want page flows to trigger when a user scrolls into a new section for triggering animations and such. I…

How to get the response from my API workflow to Data bindings

This is in relation of my first ticket: I would also like to ask if how would I get the response from my apiAthenticate (on the left side) to the data bindings (right-side). I would love to put t…

Hashing Passwords in Existing Database

Hi all, I’ve inherited quite a large database (MariaDB) for a new project, at present the PW fields are all clear text so I’ll need to hash them. On the front-end Im planning on creating a user regis…

Help Binding a Repeat

If that’s your data view then what’s the issue? You select dmx-bind:repeat="data_viewInvoices.data" as an expression for the repeat children and bind your expressions inside it like {{Invoice.Total}…

Rows as Columns Pivot Table

Hi, I want to generate the following xml using the xml export function which will get its data from a db query which uses two tables, machines and images. They are linked via a left join. indent pre…

Wappler + MongoDB + Mongoose + GridFS

My question is to everyone who has worked with MongoDB in Wappler and @patrick, as he probably knows the answer. I use a custom extension to connect to MongoDB using Mongoose. Everything is fine with…

Online files are not executed :/

The issue was fixed by changing paths to page relative.

Set up a log system

I would like to set up a log system in which all user changes to the various queries are saved. Here’s an example $user changed in area $area [$timestamp]: $variable1 from value1 to value2 $variab…

Autocomplete without forced selection or Show/Hide autocomplete/text field

In the past I have used various autocomplete solutions and I was always able to either “force selection” or just let the user type what ever they wanted. I need this functionality because the autocom…

How to Disable a button?

Brad, this is a CSS class, not an HTML attribute. You need to add the attribute, as the class won’t disable your button. CSS is used to style elements, not to change the way they function.

Validating form without submitting

I see that there are options for validating individual fields, and on submitting the form it validates all of them (having validations), is there a way to validate the form without having to submit it…

Select data missing from detail view

On my home page I have a set of cards that when clicked on go to another page that provides a more detailed view. This is only some of the records are showing up on the page 2. It’s all coming from…

Postgres - Filtering JSONB Array

Figured out a solution. In case anybody has the same issue: use the contains statement for JSONB instead: WHERE labels::jsonb @> '["4"]'; and if you want to use a parameter for the value then add …

Connecting to older Microsoft SQL Server

Hi There, after loosing all my hair (now cheaper to get an haircut) i have found the issue that i had, so better share with all of you. For those people with older versions of SQL, create a sql conn…

Trigger Server Connect reload after any Server Connect form executes

Hi, I want to trigger a Server Connect reload after any server connect form executes. Is there a way to this globally? I don’t want to edit every server connect form to trigger this other SC reload T…

E commerce blocks/templates

Hi, hope you’re all well. I am wanting to use E commerce blocks for my project, however it comes up with “this block doesn’t have a template yet” I am wondering if there is any way of getting an E co…

Compiling backend source code

Is there any way to encrypt/compile the backend source code ? Sometimes, there is a regulatory requirement that the “application” should be hosted on “client-owned servers”. Deployment Type: Docker …

Launch command linux shell

Hello, I have two programs on my linux server that I would like to launch two programs in s linuxhell, is it possible to do it via wappler? thank you Morgan

Problems inserting data in the database

Seems your direct database connection is not working because you don’t have remote access to it from your IP.

Deployed docker not working as it was before name and type change

To get it fixed I stopped the running container, logged into ssh and deleted all the stopped containers. Then I created a new db connection in targets under the project settings and then deployed agai…

Client-side .sort ascending/descending

For desc just add the .reverse() formatter after the sort

Workplace Calendar

I am asking for ideas as to how to proceed with using an events calendar for a system in which: an employer can add holidays and non-working days as events when an employee applies for vacation, the…

Routing Not Working

Hello Team, I am trying to make Routing working, but it doesn’t seem to be working. I am just making basic project with PHP and Apache web server. Below are my settings

urlEncode not available

Wappler Version : 3.3.2 Operating System : mac Expected behavior There should be a urlEncode option on the Data Formats for text Actual behavior It is not available How to reproduce Looks like thi…

When to use parallel action?

Hi! I just saw the “parallel” action in server connect, never noticed it before. I couldn’t find any information regarding this action in the community. I assume that it does what the name suggests …

Font awesome not showing in properties panel

Badges and icons are now handled as child elements (which more closely reflects their relationship in HTML) rather than properties of the button. It was a change in a very recent update.

Opening Current Project

Hi, After opening the project click this button: And then you can select which page you want to open

Class Toggle by date

I’m trying to set the background on my text based on a date. I have a text input on a page where I can select the date. I want to use bg-danger to highlight fields in my table if they have the selec…

Download File from S3 bucket

@patrick added a Download File Server Action for S3 in 3.7.5

Data picker depending on the number of participants. And number formatting problem

I would like the value (price) to be taken from the respective column according to how many participants. Is there a guide for this? Then I have a problem with the formatting of the numbers. Even if…

How to preserve login on update node/docker?

Node/ Docker One thing i have never been able to resolve is how to preserve login credentials across an update with node. Every time i update a file i get logged out. I assume this is linked to a ser…

Javascript function not working in preview mode but working in browser

Hi, I’ve got a really weird problem. I wrote a Javascript function that updates an app connect variable, which then automatically refreshes form inputs and components that are linked to the variable v…

To SPA or not SPA, that is my Question... AND writing a CMS from scratch

I’ve searched and read, and read more. In the case of https://webill.net/, this SPA was started over 3 years ago. I just asked Marcel about that here. While its nice, and I’m certainly not knocking…

Deployment to Digital Ocean Missing Files

Wappler deployments to DO do not upload your actual files like assets etc, you need to manually push them by going to the file section and hitting upload while in your production target (bottom left) …

Calendar not show after update

Calendar not show anything, dates and events(nothing) after update to v5.1.0. Before : After : Error in Chrome :

How to use for select option to post to the database

Hi am new to Wappler, I have created a simple form with two text fields and when I run the form on the browser all seem to work well and the data is posted to MySQL database. When I introduce a simple…

Repeating dynamic card

Hello, just create a row> col > card structure and apply repeat children to the row. Adjust the col size as per your needs.

Error installing Traefik

This is because you are already running your web site on port 80. So you need to remove the port in your normal site options. See our docs about Traefik usage

SQlite Error when trying to perform server action

Dropping it in the app folder like @patrick suggested did the trick

Data binding works in Modal but not on page WHY?

So a workaround would be to try creating your own client side component, which would parse the bindings in your table field. I can’t seem to find the post where Patick shared a sample code in recent …

Help with outputting record with greatest date and added days

I am working on a to do list I have two fields start_date and days I want to be able to add days to the start_date and output the highest (oldest) date in the table once this is done I know how to …

ENV variables – dynamic data picker not functioning

While ENV vars bug is being looked at (can’t set them using the data picker), does anyone have a work-around I can use to protect my database login credentials? Thank you

How to Create Event On calender

I Have used SCRUD and created Events In Admin module with start date , time, location etc and created query API to show the event table in the user module I want all these Events to show automatical…

How-to Form Fields with 'Required' indicators?

Looks like we have to manually add an asterisk to an input field to do this, which would require adding another container to each input area? I’m using the floating labels and adding a cotainer might …

How to disable Submit button after data submission success

This solution is similar to what @bpj and @ben were suggesting. My interpretation was to make and use a var bound to the db insert result (the Primary Key of the new record) which would then be bou…

S3 Upload Control and File Size

Is there any way with the S3 Upload Control to limit the size of the file that is uploaded?

Condition in Server Connect not working

Another option is set the x value near the beginning to $index And the condition as x_global == 0 You wouldn’t need to change it within the condition then

Database query not showing in select field

I am trying to populate a select drop down field with dynamic data from a database query. Seen here If I check the query I get results as seen here Here is my code

How to create dynamic filtering in db?

My end-users can create “Activity Types” with their own custom fields, so they can create records like: { "id": 324714, "by_user": 1, "date_time": "2022-10-14T08:39:59.0…

Data store component not working

Hi, I setup a test page for data store and session storage. Only session storage is working. Bellow are screenshots. Thanks in advance for your feedback

Bootstrap5 Table Sortable Headers not Working

It’s an old video heather but the technique is the same. One common mistake is using “SELECT * FROM…” ; for sortable headers the fields must be specified specifically I.e “SELECT field1, field2, fiel…

Select Multi Select

If you need a comma separated array or just a single value array you can use the flatten function followed by a split (split if none comma separated) Single value array get_all_users.flatten('id')…

How to put data bindings in JSON field of API action?

I made a server action with the ‘api action’. Then I want to use a data binding for an ID: However, in this example you can see it throws an error, which doesn’t allow me to save. I need a way to…

Random record issue, SQLite and MySQL incompatibility

Added API action to exclude list in system settings, guess that will have to be the solution

Supplement database variable with query variable

I am trying to realize a variable to be replaced. In the modal it workt but does not directly on the page. What am I doing wrong? I am grateful for your help!

Custom query, results not passing through to next stage

Wappler Version : 5.2.1 Operating System : win 11 Server Model: node Database Type: SQLite Hosting Type: wappler node local Expected behavior What do you think should happen? results from cust…

How to share github repository?

V5.2.0 - Windows - Nodejs Hi! I’m not sure if this is a bug, or something that we do wrong. I started a new Wappler project that I’d like to work on together with a friend. I created the project, …

Security restrict, how to redirect to login page if not logged in? Wappler 5.2.0

Have you added the Server Connect Action to the restricted page(s)?

How to set text input value

This has been improved in Wappler 5.2.1. Now there are two new dynamic events for the checkboxes - checked and unchecked, so you can run different actions depending on the checkbox status.

Database Updater question:what is the "Condition" column?

So if you want to check if the input sends an empty value and don’t want to update the field in the database you need to use: {{$_POST.EmpDateTo_2 != ''}}

"JavaScript heap out of memory" with big task

I’m building integrations to sync API data to my DB. It works all fine with “small” amount of records (1K-10K) but when I tried to do a large set it crashed the app. I see that it crashed when it came…

Form Repeat new feature to access items

Hi, I’ve been following this thread: Access Form Repeat data and was happy to see that a new feature to access items within form repeat was added in Wappler 5.0.3: Wappler 5.0.3 Released However, I …

Geolocation via an API

You can’t access that service with XMLHttpRequest, they didn’t add the Control-Allow-Origin header. It is not you that has to add the header, the service has to add it. You could try to contact them a…

Please help! How do I get the payment method id from a Stripe Card Element?

How do I get the payment method id from a Stripe Card Element? I have the card element on my page. I can make payment intents go through just fine. I just need to return the newly created payment met…

How to find index of a particular item in an array

Oh i just realised that the syntax is the same as that for json ...where('gameid','B1','==')[0].A_Score

Error when trying to add multi reference field to table

I confronted a similar issue yesterday. I’ve understood what causes the problem, so I decided to share. When you make relations between tables, foreign key of one table and the primary key of anothe…

Can't modify DB, can't add new table, no more seed and change files

Well it seems somehow you have lost your migration files. You can reset the history and start over again:

Problem sent mail

Hi, looks like the {{query2[0].C_Email}} is empty. Try to creating a Set Value after Database Query “query2” with same value of the To Email: Database Query: query2 Set Value test_email = {{query2[0…

How to Organize Page Layout

Hi, I am new to Wapler coming from things like Wordpress and Bubble where the page layout was usually done for you. So, I am not sure when and where to use the elements for designing a layout (Header,…

How to create error pages for routes

Is there a way within Wappler for creating error pages (401 etc.) with routes or do I have to manually edit the .htaccess file? Thanks for your help!

How to Reference the Value of an Input That Has a `dmx-bind:id`?

I have a text input in a repeat, so it has a dynamic id like this: dmx-bind:id="i_social_media_post_link_{{location}}" I now want to reference the value of this input in a data store update: what do…

Database Insert with subtable

I have managed to get this to work, fetching an API response, and inserting data into my database primary and sub table, however, the only way I could make it work was to adjust my database column nam…

Done with Wappler

Can someone please explain why none of the Stripe components work within Wappler? I have made countless community posts and cannot get an answer. I am just about at my whits end and am getting ready t…

Validation results

I’d like to learn how to get the validation result of multiple inputs and save this value. Background I’ve built a multipart form with 3 sections, each section will have all validations in the visib…

Create Billing Portal Session - Not working

The workflow action Create Billing Portal Session does nothing. I have it set up on a server connect form with a submit button and literally nothing happens.

Layout Pages and Security

Working on my application today, hacking my way through it and I am trying to understand how I should have security setup. I have a admin dashboard were a true admin would log into and create objects…

Reading a pdf

If you are using Node you can try my custom module

Localised dates and time - French and others

Hi everyone! I would like to share with you my experience with date formatting when using Wappler. I am a French speaker and we waste a lot of time on what is obvious to others. I would like to tha…

Pwa

No manifest.json is placed in the root directory as is sw.js (the service worker) To activate the service worker, the page needs to call app.js. This file checks to see if the browser supports the…

Node.js Server actions

I am quite new to node.js. I basically know it is javascript running the backend. My questions is: If I start a server action and the user navigates to another page while the action is executing, wil…

Iframe youtube cookies?

Great thanks Ben no error on that site. Trying to create something along the same lines…

Taking a Stripe Payment Using SCA Compatible Payment Intents and Stripe Elements - Part 1

Overview of SCA As you may know, Europe now has a new law regarding credit card payments known as SCA - Strong Customer Authorisation. While the law has many parts, the key part we need to be aware…

Saving cards with Stripe

Hello all, I am having trouble with Stripe. I have the account set up and my workflow for creating a new customer. Next I need to save payment methods. This is not a straight forward e-commerce app. …

How to repeat data in JSON?

But when using a JSON field then you should be able to directly use it as a repeat source, without any other formatting required.

Enable and Disable Button - how to

Thanks @mohif1995 and @Sorry_Duh but, I considered the component property and solved it like this: For button A --> on click event --> A.disable=‘false’ For button B --> on dynamic attributes --> Va…

How to process multiple transactions of a user at the same time

A user is doing multiple transaction considering opening balance and closing balance of wallet. Using API he is doing more than thousands of transaction in a minute. The problem arises is 3 transactio…

Role access, log system and form in to an wordpress page

Hello, I have already sent these questions to the How To team for the video meeting. If I can’t be helped there, I’ll do it again here. I have the following questions: (I use a wamp server) 1. How …

I am looking for instructions for various elements

Realization of an image slideshow Provision of images in different image sizes and file sizes for different end devices Create a calendar – Show projects in calendar in different colors by status W…

Masonry not displaying images correctly

I’ve spent 60+ mins on this already. This used to work - not quite sure when it stopped. http://vehicles.lakemirrorcarshow.com/guest/vehicle_images?ev=SHOW If you use the pulldown to change events,…

Hierarchical dynamic select field

I have 3 tables that are hierarchical of each other Classes is a dependent of Sections and Sections is a dependent of Departments or I can say Department is the parent, sections is a child of departme…

S3 Multi Upload - Files Property is Blank After Upload

Wappler Version : 5.1.1 Operating System : W10 Server Model: NodeJS Expected behavior When using S3 File Upload option on client side, the component should have all file information available under…

Filter columns doesn't show any column to filter on Database Single Query

Wappler 5.0.1 NodeJS + PostgreSQL Steps: Database Single Query Filter columns Filter columns doesn’t show any column to filter

List unstyled

When i create a list-group in the app structure i can’t apply list-unstyled (does not work). So i added the code (from bootstrap documentation) below in the code area : <ul class="list-unstyled"> <…

S3 Multi Upload $_GET Inputs

Hi fellow Wappler users & team, I’m wondering if anyone has any advice on how to get this working. I am after creating a page called ‘additionaldocuments’ for uploading additional documents and imag…

Security Session vanishes when NodeJS server reloads

You need redis installed for the sessions to be saved: If you are not using the local dev server, I believe you turn redis on in the docker target settings.

File Input - GET instead of POST?

I don’t know if it’s possible for you, but I would split it into 2 SC forms that POST the data. GET has restrictions on the length you can send so you may run into problems if your files could be larg…

Dynamic Title in meta tag

You need to change the App Root option to Page instead of Body, so that dynamic data can be used for the meta tags:

Error when deploying NodeJS Sharp module in NodeJS with docker

When using docker and NodeJS please make sure Debian 11 bullseye is selected in the project target options as OS. It is also the new default.

Pagination - adding a "loader" until the next page is loaded

Thanks the only issue i now have is… i have a scheduler that “refreshes” every 5 seconds… ill just have to find a way to do this… ++ ok found a work around ++ Just added a offsetprev on the pagina…

Docker-compose command not found

Too many time today haha. I’ve fixed this by enabling compatibility mode in the docker settings. So I’ll mark this as not-a-bug, although it’s perhaps time to upgrade to V2?

Dynamic image not displaying with src

If you change your mysql data for Profile_url to /madikroma/imagePr/business/118/Profile/businessman.jpg Then it should display

SQL Server Query not returning results

Running a query against the local database returns no results. From what I can tell it appears the db gets no request. What could be stopping the request from reaching the db?

Can't deploy error

Just to check now that sharp is installed are you still having deploy errors? If all is okay here is a link to the solution for other readers:

Cannot Install Sharp Node Package on Mac

Thanks was able to fix this. My mac was flagging as “unidentified” so I had to go and manually open up the file to tell my mac it was safe and then picked up and worked!

How to create dropdowns that leave out values that are selected in previous dropdowns?

Hi! I need to create a field mapping flow, so let’s say there are two lists: List 1: call_id, user_id, date List 2: callid, user, date_created I want my users to connect the correct fields t…

Using App Connect data binding with mkCharts

Here the javascript rewritter as App Connect Component: dmx.Component('circle-chart', { attributes: { percent: { type: Number, default: 0 }, color: { type: String, …

Copy an array item to clipboard

As said in the title, I need to copy the array item’s value to the computer’s clipboard. How can I do that?

Is Conditional Date Formatting Possible on an Input?

I’m afraid there’s no way to do check this and apply different formats for this condition inside the date picker.

File upload issue

It’s due to the way that node servers work and the fact that Wappler has to cater for multiple server technologies Your upload path is correct /public/faktury This is required as the path to the di…

Importing Existing Server in Resource Manager

This issue was resolved. I just added the wrong SSH key in my server. It was looking for a rsa key that was not yet created in my end at the time. ed25519 was created.

Not working logout button

Finally solved this issue: it was me: making this server connection load inside a link, so it was trying to loading the link (#) instead of the server connect. Make it a paragraph and worked fine! Th…

Formating Chart Data Results

After looking over the other concerns about formatting numbers in charts, I will bring up the subject again to see if there’s been any update that covers my question. Can the chart data when hovering…

Help with API response - format JSON

Looks a bit messy and slow but does it’s job

How to reference array values in another table?

Hi! I’m setting up integrations as data sources, and my users will create their own workflows for these integrations. I’d like to create for each integration separate actions (based on the integratio…

How to get field names from schema from API data

I am pulling data from an API. I would like to be able to put the field names from the returned data to the browser. Here is my situation, I use a 3rd party API that deals with PDFs. I’m trying to…

Help needed - problem creating my first project with Node.js

This happened to me when I first installed wappler on my windows machine recently, even after node was installed on the pc. A simple windows restart worked for me, you too give it a try.

How to make a video responsive to all devices

Hello, I want to insert videos in my site but I have tried making it fit the screen sizes of all devices but I have failed. Any help on how I can do it. same video fits responsively depending on the s…

Project files not getting updated to v5.1.4

Hi, MacOS, ASP.NET I’m updating existing projects to Wappler v5.1.4 and one of the projects is not getting updated to the latest version. The project is correctly checking and showing the files that…

Mobile App - Electron build (poss bug but may be my setup)

I am trying to build a test Mobile App to Electron (Wappler v5.1.3) I have run the Wappler System Check and Electron Update from the project but when I try to build it to Electron using Wappler I get…

V5.1.4 - Font Awesome 6.2.0 CDN options not available

Unfortunately Font Awesome no longer offer a cdn version in version 6

Adding Data Sets To Charts

When adding data sets to charts, does each data set need a query? For instance, do I need a data set for each year if I am adding a line graph for each year of income totals? What I have so far is on…

Referencing $index of a repeat at higher level

Earlier, it used to be $parent.$index, or something like it. Now, we create a variable in the parent repeat, just above the child repeat, and set the value as $index. Then use that variable in the c…

Using reCAPTCHA for Conditional Attributes

How to use the reCAPTCHA condition to disable the submit button, so that the submit button stays disabled until the user verifies the CAPTCHA

Inserting dynamic data into a manifest.json

… something very very simple with php… if you can pass a var to a page, then why not!!! so i have gone back to this route… of php and encode json. And just passed the a few variables via the url… s…

Can I do asymmetric encryption in Wappler?

It looks like the encryption features are symmetric but I’m not certain. Can you confirm if asymmetric is available?

Why am i missing items from my properties of a Button?

Looks like Wappler team made a change and it was very badly announced @George Perhaps it would be a good idea to add a “Looking for additional properties of this button?” text, to point out it mo…

Option to add button spinner is lost!

It’s not lost. The button spinners and icons are now available as child elements for the buttons in the elements picker dialog and in the App Structure:

Concurrent server queries

Is there a way to run a server connect query after another one completes on a page that doesn’t really have any buttons or actions. Just running in the backround? Here is what i have… I have a page…

Cannot find module - Urgent help needed

You should never do that Brian… as there might be OS dependent modules and for example your local windows node_modules won’t work on Linux server … When changing package.json - you should just run n…

PDF reports

I don’t think he’s joking. He’s referring to the custom extensions available for PHP and NodeJS:

ARGON 2id - invalid ELF header error

well as I said you should run npm install on your server - and how this is done si dependend on your server installation of NodeJS - usually if you a using a admin panel like Plesk or CPanel - there …

Encrypting sensitive data

I am storing some sensitive data like personal details of members and I want to make sure it’s rock solid and secure. My thinking is to create encryption keys to encrypt the data and create a decrypt …

PWA -manifest help - php => json

Solved… use… [ ] instead of { } "icons" => [ [ "src" => "{$manifestimage_512}", "sizes" => "512x512", "type" => "image/png" ], [ …

Font weight not respected - different display in Wappler and browsers

You added Roboto weight 300 as your base font, that’s why 700 is not available. If you want to use different font-weight options, yo’d better include the font on your page, selecting the font-weights…

Displaying users entries on the Dynamic Modal

I got it to work by following this documentation guide - except with minor change, instead of button I used paragraph and numbered the input using a variable value on a click event.

Swiper not working if image file name has any spaces in it

Thats not a Wappler issue. It’s just bad practice to have spaces and special characters in file names for the web.

How do I make queries on json object type fields?

How do I make queries on json object type fields? When I use ‘IN’ operator it doesn’t work

Insert Date with milliseconds in a datetime(3) column MySQL

You could try to edit the action file, the parameter is probably defined as type datetime, change that to string, that should prevent the transform.

Error Install Node.js Package

I downloaded Wappler and connected it to Gitlab to clone a project. When the system checked for updated it installed Scoop Installer for Windows. It says to install a Node.js project it needs to ins…

Only show data in a repeat from an array

I’ve just managed to fix it the minute you sent that. The problem seems to be that I was setting the array contents when the serverconnect that gets the data for the repeat loads (Success Dynamic Eve…

GIT Error - request failed with status code: 404

an update: in github, there is another setting under oauth to allow access to org, had to enable that - after doing so, Wappler is able to work with the github project just fine. this sounds right! …

How to not include a file for syncing

Hi Jim, In the Wappler settings under FTP you can add the file name to the excluded list.

Automatically added scripts

I’m not using medium editor in any of my pages, but the scripts keep being added automatically when I remove the scripts, how do I prevent this from happening? Happens with other scripts that I don’t …

Cropping and Centering images before upload

Wappler newb here. I am curious if anyone knows of a way I can allow users to crop and center an image prior to upload. Like how it is on Facebook and Instagram. It doesn’t need to be as fancy as IG …

reCAPTCHA Validation Question

Thank you kindly, that seems to have worked, my form is validating.

Database Connection: how to connect to a local Microsoft SQL Server

Has anyone successfully connected to a local default SQL Server installation using “Database Connection”? I’ve tried different combinations of criteria; none has worked. –I can connect to the local d…

How to assign different db connections to Targets

https://docs.wappler.io/t/define-database-connection-settings-per-target/27577 The instructions don’t seem to be working. I expect to finish with 2 different db connections but always overwrite whate…

Error connecting to MS SQL Server

As we switched to newer MS SQL driver in Wappler called Tedious, seems named SQL Server addresses are no longer supported. You can convert them to normal addresses as suggested at:

What Is The Easiest Way to Create a Blog Section of Your Web Site?

Hi Wappler gang… I want to start creating a blog section on my product web site… so it will have its own local menu options like most recent posts, posts by category, most popular posts, etc etc. The…

No data showing on vertical table yet appears on horizontal

Your vertical table code should look like: <table class="table table-striped"> <tbody dmx-generator="bs5table" dmx-populate="api_GET_SD_Inspect_list_FULL.data.data.ins…

Design view inheritance rules - what are the good practise?

Maybe this will help you understand The video is based on Wappler v4 and Bootstrap v4. There may be differences when using other versions.

Countdown timer

A list of the different parts up to years: {{(((var1.datetime.secondsUntil(end_date)) / 31536000)).floor()}}y {{(((var1.datetime.secondsUntil(end_date))/ 86400)%365).floor()}}d {{(((var1.datetime.se…

Build a array of ID's with Server Connect Action to repeat through in Library action

First of all, I have never created, edited or purposefully created an array outside of what Wappler does automagically for you. So I think the solution I am looking for would be using an array, but ma…

Unicode Normalization

This question is specifically regarding Unicode Normalization / Account Takeover on registration forms. Does Wappler automatically handle ensuring canonical encoding is used across all the text and t…

Mailer Extension Question

Hi, I am trying to configure a contact form using the mailer extension. In going thru the steps outlined in the tutorial: https://docs.wappler.io/t/sending-form-data-to-email/2858, I get to the step …

Data in field

Unless I don’t understand what you are trying to do, I think you may be over thinking it? Why not just use your dollar figures as the select values? <select id="inp_PRODUCTO" class="form-select" name…

Trim USA off of Google Autocomplete Address

As server connect has no pos() style function I think the only method I can think of is to use split() to split the string into an array then rebuild the string in a repeat based on the count() of ele…

Dynamic form fields with insert command

I have a website that allows a client setup the form fields by selecting from a list of options. ALmost like a build your own website system.The options are saved in a database to display when the w…

Dynamic Table Value to Array

Hello all, So I have a form that contains a Bootstrap 5 responsive table that is populated with records from a custom db query. Each record in the table has a unique id (along with a bunch of other c…

Server Side Rendering (SSR) NodeJS and SEO concerns

Hi all! Is there a way to build full Server Side Rendering (SSR) NodeJS sites? Right now I know how to do metadata on server side, but I want to do ALL the document with SSR. Yes, it’s true Google …

PDF - Steps (that a low code user understands) to create a pdf using a 3rd party

I’ve been using Wappler for a couple of years now and it is an excellent low code development tool. I have for the past year or so been trying to work out how to generate a pdf from a webpage / report…

Randomizer function NodeJS - best practise (I am looking to use for some gamification)

Randomize all the items in a collection is a function in the backend. Before I go down the wrong rabbit hole - I’d like to understand the best practise approach to using this function. I have two us…

Dynamic attribute show not working correctly

I have a nodejs project with Bootstrap 5 accordion with menu categories In each menu category are 1 or many menu items Each menu item has a button that when clicked opens a modal with that menu item…

SQLite Database error and system check error

Can somebody please help? I had to delete a couple of multi-reference tables and I started getting an error without further description. I noticed the multi-reference tables are not deleted either - …

New Project Setup Question

If you have XAMPP running as you show then your first setting for “Own Server” Access Type Local folder should be http://localhost/PHP-Setup so that the Apache server running at default port :80 …

Cookie Confusion - How Can I Read a Cookie Value on Another Page?

@teodor, THANK YOU SOO MUCH! Yes, that was it… thank you for being there even on a Sunday!

Is it posible to autogenerate characters at the server connect level?

Why not use the UUID option available in the data picker in Server Connect? It will generate an unique UUID like be92e232-e54b-4677-acc7-db852aca5b82

How Best To Create A [Disable Cookies] Option?

As I build my product web site, I want to add code for Google ads, analytics, Facebook pixel, etc. As these products use cookies, I need my visitor’s permission to use them. However, I still want the…

Rounding decimals

Ok dumb question (Wappler newb here) In the data formatter, how do I format a decimal number so there are only 2 places after the decimal? Example return 1.99 instead of 1.999999999999998

Docker Setup Errors

Hi, I am trying to install Docker to use with a Local PHP Development environment. When setting up my project I receive an error stating that Docker is not installed. I have tried to install Docker f…

Tutorial or Doc Needed -- How To Generate an Update form that shows Multiple Choice Checkboxes

Wappler Docs, Tutorials, Videos refer to “Update Form” I will PayPal to see one complete Wappler “How To Create an Update Form that also handles Multiple Choice Inputs such as Checkbox Groups and Mul…

Transform value from database

Hello How do I change an id coming from the database like 1 to 00001?

Nested repeat inside a nested repeat

Hi, is it possible to nest a nested repeat table inside another? I have a 3-level nested repeat set up in server connect which is returning the correct results and so far have got it working with 2 l…

Working with .pdfs

Hello all, I am curious if anybody knows a way to count the pages in a .pdf that a user uploads and store the page count in the db. I need this functionality in my app, but haven’t started building …

How to add multiple Where conditions on array

"pricing": { "services": [{ "service":"image-retouching", "price": [ { "country": "us", "rate": "1.50" }],}] } Considering above JSON I am not able to put two ‘Where’ conditions i.e. Rate re…

Show only available dates on Date Picker from DB query

I’m trying to display specific dates on the date picker based on list of dates from a database table. I have tried putting in the custom dates Data source in the App structure side, but its not worki…

Passing serverconnect data as array to javascript function

I want to call a js function and pass the data received from serverconnect.

How to change the font and grid color in Charts component

Hi, I have this chart with a dark blue background and I would like to change the color of the font and the grid lines to white so they can be seen. I’ve been going through the documentation of char…

Dynamic text color for button

I am having a heck of a time trying to get the text color of the button to dynamically change based on a database event. <button id="btn1" class="btn" type="submit" dmx-style:color="#listing_info.dat…

Calendar: showing in webpage but not in wappler

In latest version inserting the calendar in a content page, the calendar is visible when see the page with the browser. Unfortunately calendar component is not visible in wappler.

Basic Subscription Extensions usage

Hi Jim, That is the “Extensions manager” and it only gives you info about each of them, what they do. To use extension like reCaptcha ect. you have to click “Workflows” (Green icon at top left ). …

JSON Web Tokens

I’ve published the first part about JSON web tokens after it got discussed here Using a NoSQL database and Logins. It’s a multi-part series and part 2 will follow soon. So if you are interested into …

Node parameters in UI

If you set variables in Define Query Params in main layout page, then you should be able to select it via picker on content page, and it should work. I created a fresh project to test this some ti…

Using a NoSQL database and Logins

Hi, I am thinking of using a nosql database like OrientDB. My initial thinking is to access it from Wappler simply by invoking the database’s REST APIs. That said, I’m having troubles figuring out …

Have you coded to dynamically write a Form Update Query?

I’m looking to write the UPDATE RECORD query sent to the server based on which inputs the user has changed. For instance in a php mysql or Maria db project Standard Wappler API UPDATE QUERY is somet…

Is there a Update Record Tutorial?

The latest tutorial I see when querying “Update Record Form” says: “our form is a standard Update Record form” about using Form Repeat to return nested data Which brings up my question: Where is …

How to Remove Black and White Border on Modal?

Hey folks… My simple modal seems to have a thin black and white border and I’ve no idea how to get rid of it… any ideas? Best wishes, Antony. <div class="modal" id="m_message_2_plus_2" is="dmx-b…

Save non-ISO date in DB

Appologies - I forgot to mentioned that "inserting: ddd.split('.')[2]+'.'+ddd.split('.')[1]+'.'+ddd.split('.')[0]" - did the trick and I was able to insert it. My question was more about transformin…

Want to sort by numeric value of a string field on only 1 of my Bootstrap Table columns

use an alias for the column in your custom query i.e. cast(regveh.RegNum as int) AS regvehint Your sort buttons will need to be changed to set ‘regvehint’ rather than the cast statement when clicke…

Payment process

Hello to all, I will work in a payment area in one of my website. My bank provider gave me these instructions. Is possible to work with this in wappler? (Placetopay is the name of their solution) In…

Multiple innerjoins from the same table

no, the result is ok. I also tried left join. If I add another join, all the other results disappear as well

Repeat Error - Error: core.repeater: repeat is required

Its not a Wappler issue, it was something wrong with the data returned from the API, sorry about the false report, just assumed because the script has been running for ages and all of a sudden started…

Is there a way to disable a button (e.g. next) if all form fields are not completed?

You can use multiple conditions for the disabled attribute. <button dmx-bind:disabled="!input1.value && !input2.value && !input3.value" > Next </button>

Display data from sub-table in Table

You need to add a repeat area for Prices. Here I have an example where I have Categories and Items instead of Departure_dates and Prices.

Multiple Lightbox Groups In Repeat

Hi. I have a repeat of cards, where each card has a bunch of images. Using a repeat inside the card, I am able to setup a lightbox UI, where first image is shown. On click of it, the lightbox opens …

Finding the SUM of a list of numbers inside a bullet list

I didn’t spot that you were hiding/showing some based on a data store. Try: {{scServicesList.data.queryServices.where('PricingID', dataBookingDetails.data.BookingServicesRequired,'inArray').sum('Pri…

Shopping Cart tutorial

Hello to all, I need to make a shopping cart. Is there a good tutorial for it? I was trying to use an eCommerce template in the block area but is not available. Thanks

Width of Search Window in v5

Hey folks… Is there any way to make the project wide search/replace windows wider in v5? I can only make it this wide on my poor little 1920x1080 display, and there is no wrapping of the result lines…

How to Store Global Variable into Wappler Variable

I was able to solve it yesterday actually! Sever Connect Form - Post For anyone cuurious this might help <form is="dmx-serverconnect-form" id="sc_form5" method="post" action="api/shopify/save_desig…

Using values from queries in a normal API in a include or execute action

I can’t recreate this issue. Added the same steps and param as you - the param appears when i add the library action as an exec step. Maybe try resaving the library item/recreate the server action/re…

Repeat or While? What would work best to achieve this

Repeat or While? What would work best to achieve this. Scenario: I have 4 ticket numbers in a database. Each have a Ticket Number and Qty. **** Brain fog tonight…over worked… **** feeling really…

Access session storage manager from API action file

Apologies to all if this is really dumb. I have a series of API calls I have to make on a reciept page from an external payment processor. The way the system I’m pushing data to is that I have a ser…

Create New Mobile App from Existing Project

Hi, Is it possible to create a new app (Mobile / Desktop Version) from the existing project? I have an existing project as an admin portal and want to create a mobile app for client-side using backe…

Masonry With Flexible Column Width

That’s not supported by the masonry component. You can achieve this using CSS Grids.

Is There A Wappler Meta Tag Generator?

There’s no such a feature in Wappler.

Timeout - NodeJS - API (Server Action)

Hey Guys, How or what is the proper steps to setup a timeout for a larger API (server action) call? Do we simply setup timeouts for each step that may cause a lag? OR an overall timeout? How would …

Can't get Google Places Autocomplete API to work

Google Places Autocomplete has been integrated in Wappler 3.3.0

Beta Extensions

Those are Server Connect Actions, so you use them in the Workflow / Server Actions - to create your server actions and add them as action steps.

NodeJS + Framework7

I figured out how to configure routing by Fw7 in the nodejs + framework 7 project. I’ll leave a solution here in case someone has the same question. In the layout code, it is necessary to add class…

[].length() doesn't work, only .length

instead of .length() it must be .count().

Custom module output help needed

@JonL Thank you for pointing this out. exports.parse_website = async function (options) { options = this.parse(options); const axios = require('axios'); const cheerio = require('cheerio'); cons…

Best way to migrate old database to new database (e.g.: MariaDB to PostgreSQL)

The solution I found was using DBeaver Community Edition (open-source), or their paid version DBeaver Enterprise You can export/import data between different databases, even between different softwar…

Tooltip not disappearing after button has been removed

Maybe you can try adding a static event on click to the element having the tooltip: $(this).tooltip('hide')

Docker Error: Error response from daemon: Client sent an HTTP request to an HTTPS server

Seems to be a Docker Desktop (Compose) bug. https://github.com/docker/compose/issues/9789 Try updating Docker Desktop to the latest as it should be fixed there according to the report.

Change pointer on mouseover

No mouseover event needed. Just add a style to the img element… cursor: pointer

Flash messages through cookies

Here’s how I solved this: Library action flashNotification: Flash notification: Server Action to get notifications: On the main layout I put a server connect call to the one shown in the scr…

How to make array on Server Action with dynamic arguments? (e.g.: $_GET)

Hi, I’m trying to make an array using e.g. Set Value The problem is, I need to get a variable from $_PARAM or $_GET Set Value = {{ [{message: $_PARAM.message}] }} That doesn’t work, it’s a syntax …

Dynamic Pie / Donut Chart Slice Colors

Does anyone know how to use colors from a table or CSS to pass into a donut chart for slice colors? I currently have them hardcoded with dmx-bind:colors as an array but i’d like to pass them from a s…

Populate drop down through list(taken from a json)

jsonDS1.data.homePage.countries is a list that I am trying to display as dropdown items. here’s the code I tried. COUNTRY  jsonDS1.data.homePage.countrie

SSL-Certificate

Hi! with the new ressource manager, I wanted to integrate ssl-certificate with traefix, however the original server was created before the ressource manager was added and while importing the server in…

How to customize input styling?

can change pretty much anything in the bootstrap editor advanced options

What is "no reference found to shorthand" in Git login settings?

Trying to reconnect with my GitHub repositories (with Wappler Git settings that worked a week ago) gives me this error – Since GitHub and Google can"t answer this I assume that it is an internal Wa…

Uploading files to Google Cloud

Has anyone worked with Google Cloud or Google Drive API to upload files into their Google account? Is it easy with Wappler? Any good places for info? The idea is for members to upload a file via the w…

How do I keep the customer logged in to my site?

Hello, It should be simple I guess. Here when I refresh my page in the browser, I have to go back to the login page Thanks

Using Sub Tables With Join

Hi. I have a MSSQL DB with three tables: A, B, C. C has a sub-table relation with B. A & B have foreign-key relation as well. If I create a query with B as the first table, and select C as a colum…

How to Wait for ServerAction to complete before moving to next?

In addition to what Ken wrote, try: return await resizeImage();

IndexedDB with Wappler

Hi @patrick , I have an application that uses IndexedDB. Wappler can’t work yet with IndexedDB. However, I have prepared the following function for this. function getAllContacts(db) { var reques…

Write to JSON file

I’m using NodeJS and need to create and write to a json file on the server from the backend. Is there an extension or a native Wappler way for that? I only found an extension for php. If not then I’…

Project Settings Sync issue when adding database settings via Workflows tab

Hi Brian, Well it might not be very clear - but the database settings in the target are only one way. So when selected there will be a default “db” connection be created and used. This is usually han…

Populate dropdown through list

I am trying to create a drop-down element and want to populate its items through a list. I tried adding the repeat dynamic attribute but is of no use(it is displaying the entire row as 1 item. Thank…

Stuck on Downloading CSV file

Hi Brad, it’s already explained in the docs how to use the download action: In the download step path just use the csv export step as an expression, the rest is explained in the tutorial.

Multiple Select Height

It is the size attribute: <select id="select1" class="form-select" multiple="true" size="5">

Open automatically a login form in a modal

I would use the ondone dynamic event for the scUser component. You could use an inline flow (or page flow): condition -> !scUser.data.identity then -> run modLogin.show() that way it waits for the…

Hover Popup Sticks on Click

I’ve got a little popup window that shows a tip. Works fine on hover. But, if user clicks on it… it sticks and stays. Here’s a screen shot of the Wappler settings, and a video clip of what’s happen…

Base64 Max Accepted Length?

Do you know in which format the data is being send, can be as application/x-www-form-urlencoded, multipart/form-data or application/json. Depending on the content-type it is differently parsed on the …

Changing the language attribute using appconnect

That’s the correct way of doing it, you just need to switch the App Root to Page:

At Least One Check Box Required

I have a checkbox group. I would like to make it so that at least one box has to be selected. How can I do that? <div class="form-group" id="check_special_interest" is="dmx-checkbox-group"> …

Plugin https could not be loaded

In your database connection settings for the host name, make sure it’s just and IP or a host name without https:// in front of it.

How do I test a library server action in browser

Feature request: The answer to your 2nd question is yes

How to make a POST using multipart/form-data?

I’ve tried several ways to make the request, but the api I’m using to POST always returns the following error: no files received. That is, the files are not being sent by the form with enctype multip…

Dynamic Map, Map Markers Not showing in Framework 7

I ran into this issue… The address is the dynamic location. When I pull the long/lat from database and insert it manually in long/lat static field, it properly renders. Is there a fix? I tried this so…

Reset value input

Hello, in my article search system, I encounter a problem, for example I am looking for 5221 products, so I have the list that appears, I enter my quantity, which adds it to the basket. so far it’s g…

Api call with auth (oauth)

I am trying to create an integration with Brightidea API. But before make the call this api need oauth with username, password, secret… I have tried everything but i cant make it work. Could you p…

DMX Calendar, force HTML to render

Does anyone know of any way to force the dmx calendar (full calendar) to force the title to rather render as html, I am trying to get as close to this as possible. I am hoping if i can make the tit…

Display sum

Add an alias for it in the query builder and it will appear.

Calendar Drag and Drop doesn't work when there is an All Day event

Hey @patrick - I think I solved this. If I select Overlap on the source it works fine.

Question about Calculating age from date of birth

Hello to all I just followed the “Calculating age from Date of birth” tutorial and works perfect. My question is, Can I only show in the table the persons that are over 26 years old?

Pound Sterling symbol turning into a question mark

Hi All…! I’ve been making great progress on my project, I’m really starting to get deep inside Wappler and although frustrating at times, it never ceases to amaze me with how easy it is to do the mos…

Filtering Query with a search Text Input doesn't return to page 1

Found it … On my search field: dmx-on:focus="employerparam.remove('offset')"

Fixing drop-down area (Tagify)

Has anyone fixed a similar problem in css? How to fix the drop-down list area strictly in the up position? I encountered this problem in the tagify component. I will be grateful for any ideas.

Flex Container vs Container

You can find the explanation in Bootstrap docs:

Wappler flow editor

Simply right click the Then step and you will see the Else step available to be added.

Problem with query visualization

As @mebeingken already mentions, you are probably only showing the first recordset of the repeat. To show all content you could use 2 repeaters. Your query is not that complex and you could probably …

Security: Restrict a specific Bot

Ended up trying to do this with the .htaccess file. ## Block via User Agent <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (JoobleBot) [NC] RewriteRule (.*) - [F,L] </IfM…

How to allow modal closing by clicking outside the modal?

Actually there’s close on close available for the confirm dialog as well:

Main.ejs vs Index.ejs

Main.ejs is a layout page, index.ejs is a content page this doc will explain the uses of the two:

Greyed Out Unchangeable Items on Design Panel - Help!

This happens when that property is already defined somewhere else with a higher priority, so editing will not work since it would always be overridden by the other definition. You can hover over the l…

NodeJS + SQLite WebApp inside Electron-Offline

I’m trying to make offline desktop App by complaining NodeJS , SQLite and Electron together. with little adjustment to package.json ‘’ ’ “scripts”: { “start”: “./index.js” } ’ ‘’ and my index.…

Show all before select

Hello to all, I have a table that show all providers by town where they to provide services. I have a select field where the user will select the town to show in the table. I would like to when the …

Storing a client-side array into a json field in the database

Try using .split(’,’) on the post variable. That will turn your string into an array.

Issue in displaying multiple reference

I’m trying to display the data of multiple reference but not been able to show case it its showing this on debugging. Actually I have to load users whose id is to be fetched from sub-table and ma…

Creating a table with change logs

Have an interesting request from a client. To keep a log of changes on information of the employer table. Obviously it will only be needed to be triggered when the update action is run. Is there a fu…

How to use Adobe Typekit fonts with BS4 and BS5 projects

I need to use a specific font which is only available from Adobe Typekit. I’m using BS4 (soon to switch to BS5) and the theme manager. How can I use a Typekit font? What’s the technique? Happy to hand…

Insert User Form: Email field is not saved in database

Your input name in the form is email and in the insert record step you’ve selected a post variable called mail: As there’s no input called mail nothing gets inserted. You need to select the post va…

How do I get last record of Inserted rec if NOT using Identity col ? CUSTOM Query Insert using Sequences

In Hyperbytes’ new training video, https://www.youtube.com/watch?v=b8xr_gd6MMo&t=214s&ab_channel=Wappler he has a 2nd step to add a Role record for a newly created User rec. Its the same as these…

Repeat Data Source

Hello everyone, Is it possible to set repeat datasource as: conn_list_project.data.repeat_project.filter((project) => project.repeat_categories.some((category) => category.var_percent >= 40))) @pat…

How do I redirect a User after login page to a different Members/ Dashboard page

How do I redirect a User after login page to a different Members/ Dashboard page I have created a front end index page with a login form but I want to redirect the user to a different page after fill…

Changing project from node js to Html?

Hi @UDX I’m getting the impression you’re relatively new to all this. If not, please forgive me as I will give you some tips that are aimed at a beginner. These .EJS files are HTML files but with e…

Server Connect Multi Update without generator

Your code is not correct. The dynamic values cannot be added in static attributes like this: id="record[{{$index}}][budgetAmount]" name="record[{{$index}}][budgetAmount]" These must be dynamic. You…

Selecting - API 'repeat' responses - in a dropdown menu

Not sure how did you manage to generate this code, but you simply need: <div class="dropdown"> <button id="dropdown1" class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropd…

Repeating 'GET' - APi call return visual table data

The expressions in the table repeat and the expressions in the table cells.

Preloader and Security

Hello! On this site, a user will first log in. After logging in user is delivered to _mainhome page. There is a preloader on that page. It also loads different server side pieces of information, ba…

Argon2id password checking

Hi Brian, In order to do this you need to use the password verify indeed. You just need to give the plain password and the hash stored in the database and it will return a boolean true if the passwor…

Remove &nbsp from summernote

We use TinyMCE’s cloud version for sites that have a lot of copy and paste into rich test fields, as https://www.tiny.cloud does an amazing job of cleaning up the pasted in messes and users don’t hav…

Error Launching Services

I’m switching from windows to MAC. So, I installed docker and Wappler. However, when I tried to deploy, I got the following message: Bringing all services up … fork/exec /usr/local/bin/docker-compos…

Form Validation Handling

Which errors does a form return when there are validation errors? Server side would be nice to know… But, especially user side? I’m wanting to say, “If there is a validation error, change value of a…

Sharing Docker Containers

Hello everyone, Our team is growing! We installed Wappler on new 2 machines, dev environment is working fine with Docker, and we exported and imported Staging containers to the new computers, I’m ab…

Security Login to have access to user data. Easily dynamically alter UI

Is this still the way to do this? (Since this is 4 years old, I’m just making sure there’s no more modern way.) If, after entering ID & PW, I have to hit the user table to validate the password, …

Can't locate certificate files ca.pem cert.pem key.pem

Is it a docker project? If yes, this should fix it: https://medium.com/@cweinberger/docker-machine-export-and-import-34ae2899e9d7 These files are, at least for docker, in a different folder. Not in…

Comma-separated values from Dynamic Multi-Choice Checkbox Solved

THANK YOU TO ALL WHO OFFERED THEIR KIND HELP! I am here to post my Solution in case I need to come back here in the future and remind myself of what I did in August 2022! I posted heavily in the pas…

Where to put <meta name:="ac:route">?

From a while ago I seem to remember it can cause issues if this line (on content page, nodejs) is not at the very top of the page, right underneath the <!-- Wappler include... : <meta name="ac:route"…

Aspx insert in MSSQL

I can’t do an insert in MSSQL, the connection works, I also created a table and the fields directly from wappler, but when I do an insert from a simple form, it gives me error. Made in aspx How can I…

Simple find and replace on current page?

Of course, on the page click Ctrl + f / Cmd + f

Referring to a specific input in a repeat

Hi, Is there a way to change the value and text of a specific input in a repeat? My use case is: I have a form input in a repeat, where I want the value of the form input to be set via clicking a bu…

Doing Math - What is Wrong?

Well one of the values is a number and the other is a string. You can’t convert a number value to a number, the tonumber formatter should not be applied to it.

Deleting files from S3 Buckets

I seem to have an issue deleting files from the S3 bucket. It all goes through and then returns a 200 response, but it does not delete the file from the bucket. Does anyone know how to get this to wo…

How to retrieve login information after login to view customer information

Hello, How to retrieve login information after login to view customer information Thanks

How to add an S3 folder within a bucket

Folders are simply added as part of the Key. So you can use: food/apple.jpg food/candy/bad-for-you.png which will create a food folder with apple.jpg inside it, as well as another folder, candy, a…

Stripe Orders Beta - how to extend client and server side stripe?

I am wokring with ‘Stripe Orders’, which is in beta. I need to do the following: "please select a beta version by setting the Stripe-Version HTTP header to something like 2020-08-27;orders_beta=v4" …

Range Input display Min Max Values and show Selected Value

Well that’s one of the easiest things to do in Wappler. The dynamic attributes are used exactly for this … Select the text input Add new dynamic attribute > input > value Select the range inpuit > v…

Image processor: Tiled image

I am not sure what this does or how to use it. Could not get any results out of it. I am hoping to tile 4 thumbs together and produce 1 image to be saved on server side for front end use… Anyone who…

Autocomplete that will add record if not found

Hi All, I’m developing a booking system. One of the text fields to create a booking is a customer name (full name, not firstname/surname). Id like the auto complete to return an existing customer tha…

Needing more up to date w cart tutorials

Can someone point me in the direction of the the latest w cart tutorials? I’m finding functions have either moved or have been renamed in the 3 different tutorials I have been following.

AWS S3 Connector | Cannot get it to work

Hi. I am new to Wappler, but not to new to S3. The S3 bucket is set up for access and works fine in another application done in Visual Studio. However I’m stuck at the very beginning in Wappler v5. …

How to csave public address of metamask in mysql database pulling directly from metamask

Could someone help me with a blockchain integration between metamask and an app made in node.js. I’m developing a login in node.js where I need in the registration to save the public address of the m…

Is there a deep dive on apis?

Hi, wondering if there is a deep dive tutorial on API within Wappler? The standard docs are only skretching the surface?

Summernote Security

How do you make SummerNote text safe when submitted into the database? Obviously, we want to allow Summernote to make a whole bunch of HTML decisions. But, we also want to strip out potentially harmf…

Security - Wappler Did it?

So, is security in Wappler already mostly done for us? I came across this quote from @George: Cross Site Scripting You are in full control of your files and uploads. No scripts are included on the …

Resource Manager Digital Ocean error on Deploy

So I see that you have the ip address instead the actual url https://moraescondominios.com.br in “web server url” field? is there a reason you didn’t map the actual url?

How To Use Full Calendar Premium

Hey @sid, No way to use the FC premium features with the integrated Wappler version of FC. I use the premium features extensively in my app I need to use the custom integration. Happy to share any …

Checkbox Array Value Saved To DB

Thank you all for your help and suggestions. Each had a perspective that ultimately helped me to arrive at a successful end, and I appreciate it very much! This is what I finally settled on. After pl…

Browser goto only works once, then stops

I am unsure if this is a bug or me not clearing something properly. I have a form, on success it clears the form and then does a goto to get to another internal page with this <form method="post" id…

Build and deploy realtime on server

Hi, I’m starting to build with Wappler and used Wappler a few versions back. (1.0 probably) At this moment I’ve made a connection to my webserver and Database (Same Location) 2 questions: I see m…

Does Tutorial Multiple Checkbox Group still exist?

Several Docs written from the Bootstrap 4 years show Multiple Checkbox Group referred to here in the link below. I assume this refers to a Checkbox form group where multiple boxes can be checked, with…

Page doesn't scroll

It’s the preloader script that puts a style of overflow: hidden to the body tag, while the content is loading and it should remove it after the content is loaded and preloader is hidden. I see you are…

Productivity Tips & Tricks

There are many small little things that we as a community have learned along the way that will help all users that have not encountered these oddities as yet. In an effort to assist them and ensure th…

Server side binding as repeat source in App Connect

<script> dmx.Component('server_side_array', { render: function () { this.set("data", <%- JSON.stringify(query_get_my_page_meta_data.mpc_t) %>) } }); </script> <d…

How to create a new array from two object arrays?

I have two object arrays, say arr1,arr2. I want to create a new array arr3. This new array contains the values from arr1 only if that values id exist in arr2 object values. How can I achieve this in …

Restart DB Server

Hello I am trying to pull data from my DB and therefore defined a respective query in API actions. However my green circle is half full and I believe my DB server is not running, see here: I sear…

App already running!

Can you check your page includes, how many times is the appconnect js included?

Updating reference field "on delete" doesn't work

Hi, I tried this many times since I started with Wappler but now I really need to solve this, how do I update a reference field to set the “On delete” to a different value? It always gives an error m…

Date range picker with more options

Is there a chance the Wappler Developers will look at adding a better way to jump between months and years on the current date picker? Alternatively has anyone else used another date picker whether j…

Calendar days of the weeks on occurring event

Wappler uses FullCalendar so if you get stuck like this you can always look at the FullCalendar documentation. daysOfWeek The days of the week this event repeats. An array of integers. Each integer r…

Amount range returns no results until

Have a look at this topic it contains groups for the query and adding a condition to the group you could apply this here and just check your variables aren’t null

Tagify input not sending data in form payload when disabled flag is set to false

Hi I have one input field with tagify and disable is set based on condition a like dmx-bind:disabled="!sessions.data[0].hasKey(‘name’)" When disabled is set to false it’s not sending the data in pay…

Facebook login client_id missing in url

Hi, I am trying to setup a facebook login following @mebeingken Ken’s tutorial. But i run into a problem, when I open the facebook login api, the client_id is missing. So somehow this parameter is …

Database Insert Throwing Exception

That is not an option I’m afraid, we’re running another 30 sites on the same server, all using the same database set up (but not created via Wappler) with no issues. I opened a bug report and found o…

Datapicker - how to prevent dates being chosen in the past

I have read the datapicker documentation plus looked at the community questions / answers. I don’t see how to stop a user picking a date in the past. I want the first possible date to be chosen as th…

Hidden Form field validation

I have a hidden form field that is required. I cannot get the error message to show up. Even if i trigger a validation it will not show. If I change from hidden to text it works fine. How can I ge…

Sort by column in a subtable

@Teodor now that we have subtables how does the sorting by column work if I’m sending a column from the subtable as the $_GET.sort query parameter? I’m finding some inconsistent results.

Replace letters a-z with blank space or count just the digits

You can use a custom formatter for this. Create the following folder in your site root: extensions/server_connect/formatters Inside this folder create a file called strings.php with the following co…

Dynamic Key on Stripe Checkout component does not work

Wappler: v4.9.1, MacOS, NodeJS I have created a table in the DB (DEV & PROD) where I’m storing Stripe Publishable Keys. On the checkout page, I have added this key inn the Stripe Checkout component. …

Search Database field containing keywords in any order

I have a single field search form (like google) which searches a Database table field containing Titles of Books. In the Database Query, I have the condition as CONTAINS. But if the Title is say “Wapp…

Editing of Email body (HTML Template) having dynamic binding

Hi. The current implementation of email and HTML templates is limited to what you have. You can allow users to create templates and save in DB, and with custom module then use that DB value as email…

How can I alter "FeatureType" of a Google Map

A simple example of how to extend the maps options. On your page you have a map with an id of maps1: <dmx-google-maps id="maps1" height="800" address="amsterdam" zoom="15"></dmx-google-maps> At the…

Delay Page load based on Condition

You can put the chart in a conditional region, that evaluates to true when the server connect has run – something like serverconnect1.data.

Project Settings: Server Type Docker vs. Wappler Local Server

Dear all In Project Settings I select Server Type Docker and no Database Options are shown - why? I thought Docker is like your virtual everything: When I switch Server Type to Wappler Local Serve…

Basics not working - what is the problem?

Hello I worked through Ben Pleysiers super Node JS series. However, the Register-Form is not writing the entries to the db. I started debugging with help of DevTools as recommended here: Debugging S…

Create time counter

Hi, Does anyone know how to display the time counters between now and the date in database data?

Partials - Using Server Connect for filename

perhaps rather than try to specify the partial name as a variable you could place them in a conditional regions to they are only rendered under the appropriate circumstances. Think that should work (n…

How do I use a variable in a dmx-bind:data-src?

There should be no bug in the UI for that expression. There are edge cases of course but they are related normally to complex expressions unlike this one. @Robert_LM I don’t know how you were trying …

Should I make this a Sticky region, or independent scrolling

got it. easy this screen is a basic 2 column setup, with a detail-data area on the 2nd column. I only needed to add a class (see pic: info-sticky) to set the “sticky” CSS option, and then it scroll…

How to get an API to return a single number value

Hello, I’ve been trying for the past couple of days to get a simple API function to work to no avail. I’m basically trying to rebuild what I have on Bubble in Wappler so these are API calls / formats…

How to modify page variable through Javascript?

How about: dmx.parse("pageLoaded.setValue(0)") or is the AC variable is on a content page: dmx.parse("content.pageLoaded.setValue(0)")

How to make 404 route redirect to static page when clicked on internal link?

I have an anchor link set to internal that routes to something that doesn’t exist. I’ve set up the route as redirect and url as I want it to load the static error.html file. However AC routing is l…

BS5 How to Enable Negative Margin From Theme Manager

Hi. Please help me enable negative margins in BS5. In BS4 they were available by default, but not in BS5. I could not find the relevant option in Theme Manager advanced view.

Run Javascript code after server connect call

In the function option in the flow UI you need to enter a function name. Example, you have this function: <script> function myfunc(myarg) { console.log(myarg); } </script> and the s…

Amazon S3 throwing Error 500 on "random" Images, so not all of my pics appear

Live site: http://137.184.106.209/vehicle_list3_dayof?ev=HR&make=&model= This screen SHOULD show 10 thumbnails. They are “generated” by the S3 “fit-in” Cloud Formation/Lambda directive. But I’d bet…

Adding dynamic number of options

I’m adding a feature to a web app which allows for multiple options. It is so an admin can create a question in the database and then add any number of options which will then be displayed to users as…

Tagify input box height (rows)

Maybe you have some class/style applied to the input which does that?

I need help with creating data tables

Hello dear community Im trying to make a switch from bubble to wappler, so Im in a process of learning wappler. I have only knowledge of html and css and prior to wappler I was using only webflow an…

How to smooth scroll off-canvas and not parent page

That’s not possible, because the whole window scrolls down when using the smooth scroll component.

Javascript:history.back(), but on a condition

Conditions work almost everywhere. dmx-bind:href="var1.value == 'yes' ? 'https://some.url' : 'https://someother.url'" What you can’t do is call JS functions in dmx. Anywhere. So you need to create …

Is there a way to login, logout, and restrict page access to authenticated users on Wappler if you have your own existing backend (e.g. Xano)?

Since you’re calling Xano’s APIs through server connect, you can store the auth token in an httpOnly cookie. In server connect, you can use the Set Cookie action and check the httpOnly box. Now the to…

Rest-api

Glad to see you got it working. You just need to call the SC again on click of the refresh button… that will automatically update the data as per the bindings. No need to refresh the whole page. s…

Make a duplicate table with all the data

In the title you mean you want to duplicate a table, is that what you mean? You’d need to use a custom SQL query: CREATE TABLE new_table SELECT * FROM original_table; To erase you can use a Databa…

S3 provider empty list?

S3 providers should be defined under globals, not in the server action steps.

Setting up Wappler 5 for Docker w/ NodeJS & Postgres on macOS w/ help from community

You’ve done everything right No problem! You’re now hitting a Wappler bug, I propose some solutions: Restart Wappler Right-click Changes and click “Apply latest changes” Right-click Tables and cli…

Formatting Input Field

Here’s an example I use (e-signature lib) and the location and my URL…path (my calling .ejs file is in a sub-directory of root/

¿Advanced? Query

I have this database: I want to query: > people > name > assistMeeting > firstSpeaker > name > secondSpeaker > name Is possible to have this quer…

Prevent leading spaces on form inputs

Maybe you can just trim whitespace on the server side when storing the value?

Blog Tutorial Needed!

I agree with some other comments that you don’t have any Tutorials that match the hype about Wappler being All Visual development with all kinds of connections, extensions, etc. When it comes to the …

Calculating previous day's changes

Here is an example: I have a database table with three fields: date weather_temperature weather_humidity I want to show these two additional calculated fields: temperature_change humidity_change …

JS tweak to remove an array item

Hi Robert, If str is actually a stringified array you would just need to slice(1). return (JSON.parse(str)).slice(1)

Adjust Column Width when Printing

Solved with CSS and a little help … /* expand column printing */ @media print { .expand-print { width: 100%; } }

Update Linux download for 5.0.0

Maybe you can full remove the Beta before installing the final. I think there is a small problem on Linux that the browser login opens the previous version and not the newest installed. So hence the …

Sleep a server action for a given delay

I did upload it. That said, I had not cleared the cache. Did that and now the page works as expected. Much appreciated.

Sending nested data using Server Connect Form

Hello, my goal is to send nested data to my API. I’ve followed this post but despite following the instructions, the nested data itself appears as “” in the preview. The structure is generated corr…

How to conditionally remove/suppress lines from imaged source?

NOTE: This thread was created because I had been in contact with Teodor about an issue with Lightbox. Links are not really valid anymore. This morphed to how to get an array of image paths into swipe…

Updating content on the screen instantly from a database change or webhook

Hey all, Would like a little advice on wappler being a good fit. We are building a scoring system for a table top game, the game will be monitored and scored via an object tracking library and that …

Session Issue With Safari

I don’t think they use cookies in the widgets, there is not a workaround for the cookie blocking. What you can do is using a different way to keep the state, like on the client you could use the local…

How to create a Swiper where the slides are based on a repeat?

Hi, I’m looking to create a swiper where the number of images and the src for each image is based on a loop through an array. The array would look like: [‘assets/1.jpg’, 'assets/2.jpg, ‘assets/3.jp…

Get query results into an array

I am thinking of creating a config table to hold various values for the web app making it easier to change things globally later (and the client to change them, too) so I have a simple table containin…

Wappler 5 beta to non-beta automatic upgrade fails on Mac

Best wat is just to update Wappler 4 to 5 inline and throw away the Wappler 5 beta as you don’t need it any more. Or do a whole new Wappler 5 install that will replace Wappler 4 as well.

Layout page blanked. How to prevent?

You have a folder called admin as well as a layout called admin (which may use the same routes of /admin). This may be what’s causing the issues. Try creating a layout called admin_layout.ejs, paste i…

Cannot Login to my trial since Wappler 5 upgrade

Seems you are in the older trials that unfortunately don’t work any more. You can easily start a new 14 day trial now and everything will work fine. Just start with the subscription choice and a tri…

Wappler 5 Install Issue

This is your MacOS user password, to use the same authorization as the Wappler Beta which is stored in your keychain. So enter your Mac password and choose Always Allow. You will be probably asked tw…

I need help on how to pass productid and quantity from data store to server action

Hi fellow Wapplers, Could someone please guide me on how to send the productid and quantity to a server action? Get the values from data store to server action. Tnx!

Cannot Connect to Remote Server, Docker Instance Error Launching Service, Wont connect to local

I’ve been going at this for more than 10 hours… I have tried every which way to figure out how to connect this thing to the remote server. I have a plesk installation and it would not connect to it… …

How do “Name” and “Global Name” work and how to use it and when?

For set value action there’s two fields for name. Name and Global Name. How to use it and when?

Conditional Dynamic Event (again)

dmx-on:click="browser1.viewport.width > 767 ? (selected_index.setValue(ID) + data_detail1.select(ID)) : offcanvas1.show()" Try this.

The Whys and Hows of Data Stores

I’ve been working with Data Stores a lot this week and have had a few questions about my work, so I thought it would be helpful to have a thread about how we are using them. Here is my experience W…

Wappler 5: Summernote Lite Seems to be missing

Maybe just remove the text area and add a summernote lite on its place

Remote Docker Target with Generic provider option - Error creating & installing Docker

Well root password is only required for linode on initial server creation we have an entry for it in the Ui. After creation your personal SSH key gets authorized and used for all access so root pass…

Swiper slides-per-view="auto" confusion

Thanks Teo, thats exactly what it was, all working now, wish I had asked sooner, spent a few hours trying to figure this one out. Thanks again.

Dynamically hiding a form fields still submits value

I have a form in which I would like to conditionally hide certain fields based on a server connect query. I’ve don’t this in the past, but I realised that even t hough I can show/hide dynamically, th…

Lightbox with Dynamic Images

I have 5 images with dynamic sources displayed inside a data detail modal. I want to click on an image to launch a lightbox with a bigger version of the clicked image. I have checked the tutorial o…

Wappler 5 Accessibility Mode in Design View

I actually have a real life chance to use this feature. But I’m finding it kind of lacking. If it gives a WCAG Compliance rating of ‘No’ is there a way to find out why? Just a ‘No’ is not helpful. I…

How to use the new Data Store

The new App Connect Data Store is excellent and the timing is perfect. I’m literally just starting the cart part of a project. I’ve added it to the product detail page and use the mouse click action …

UPDATE JSON object using Server Connect

Hi, is it possible to output and also update individual elements of a JSON object using server connect functionality? The JSON is stored in one column in a Postgres database and looks like this… {"w…

Can I do a "mobile like" transition on phone (using web app)

At this point, I have no need for “app store” delivery. My app will simply run from the browser. But if a user is on a phone, they see the picture below. The “chevron-right” makes it look familiar a…

How to create a phone number login efficiently

Hello, I’m looking to rebuild my app on Bubble using Wappler. I started my Wappler journey last week and have taken the intro course offered upon signup. Based on my customer audience and use cases,…

Cannot connect to API that requires multiple security keys

From what I can determine from your graphic, you’re attempting to connect to this remote API from the client side webpage rather than a server connect. If that’s the case then you need to create a se…

How to solve Issue with sub tables and WAMP

I have spend a full day fighting with subtables on a site where the local development is via WAMP Finally noticed that by default WAMP used the MyISAM engine by default which does NOT support subtabl…

Expand Column when another is dynamically hidden

How is your row and columns setup do you set the columns to a specific width using classes like col-x If you have the column you hide using the col-x classes and have the other column just with the c…

How to return a proper 404 response for a 404 page (node)

Hi, Easy enough to successfully route any non page URL/route to the 404 page. Without this route, node properly responds with the correct 404 (by default). When routed to a 404 page (through a catc…

Docker local DB connection failing

What exactly is failing? Do you get an error message or so below in the publishing panel on deploy? Do note that it takes a minute for the new database server to start up, so it can give you a connec…

"The maximum number of Wappler installations is reached."

We allow Wappler to be installed in 3 different computers only. So you have probably more registrations than that. You can just remove the devices you don’t use in the new account administration at h…

Form's Select Causes 400 Error - is Not Submitting With the Form

It needs a name. Set the name to be the same as the ID. The ID is client side only, the name is what’s pushes through the form in post variable

Possible to display content page data (e.g. page_title) in the layout page?

Try this. <h3> <%= typeof page_title !== 'undefined' ? page_title : '' %> </h3> But that will still render the h3 tag if page_title is not present in the route. Or you could try this if you don’t w…

How to load JSON from disk? (NodeJS)

Maybe if you call as local url it might work

Cant get text to overlay correctly in Masonry

Your layout is a bit wrong: <div is="dmx-masonry" id="masonry1" dmx-bind:repeat="sc.data.vehicles_all"> <img class="img-fluid" dmx-lazyload-dynamic="" dmx-bind:data-src="image1"> <h4 dmx-bind…

Working on existing project using wappler

How can I import my existing project developed using PHP or Node.js and develop further using wappler?

Dropdown select field - trouble filtering on ALL condition

You need to use the condition in the query builder. So click this icon and select your $_GET.ev variable there. This means the filter will be applied only when the $_GET.ev returns a value, otherw…

Manage access rights to folders, subfolders and files with Wappler

Hi Luke, welcome to our community. With a WAMP server, you need to tell the Apache environment to restrict access to folder as explained here: Personally, I would not go that far because the erro…

Query Manager not refreshing page. I dont know why

my published URL http://137.184.106.209/vehicle_list1?ev=CONC I’m only concerned (right now) with the Event pulldown. Here is the DynamicEvent for the select_event pulldown: When you change the …

Choice of terminal

Actually which terminal is used is defined by the COMSPEC environment variable on Windows and SHELL on Mac/Linux. So if you want to use a different terminal - just the environment variable to what yo…

These values in the design tool - red background vs. green background?

Here ya go, Teodor explains the colours here. Although now with different themes it doesn’t always follow these rules as we have seen. But I think this explains the default theme colours.

Browser Preview stopped working

The other area is the workflows tab, under the word App Flows is a cog for some global settings once clicked a panel opens and there is a tab for Redis:

Filtering pages using queries and URL parameters and Anchor Buttons

I have read the document on how to do this “Filtering Database Query with an URL Parameter” and this is working fine. I have a number of anchor buttons to select which URL parameter should be used. C…

Background transparency for a table

Your Bootstrap css file on the server is an old version, and it does not support the background transparency class. Make sure to upload the latest bootstrap css to your server.

Change calendar view when date is clicked on

I’m using a calendar in a modal and am showing the month view initially. I want to switch to day view when a date is clicked on. How do I achieve that?

Storing complex data for multi-step forms

Hello! I am currently working on a multi-step form that contains nested data. From what I’ve found on this forum, it seems using Data-Store as a storage for the form data is the way to go. However, a…

Random Number Generation

you can use the php generated in App Connect. <dmx-value id="myNumber" value="<?php echo(rand(100000000,999999999)) ?>"></dmx-value> {{ myNumber.toNumber() }}

Hide site during build so client can proof

any suggestions during development for hiding a site during build so client can review b4 releasing to public - i usually put site in a subfolder /newsite – then move to main folder when ready to go -…

New install help on windows server with node, MSSQL

Hi, doing my first install, but its a bit diff. than what I’ve read on install help msgs. I’m going to run Dev on a Mac, but I don’t want local node/docker, etc. I have a windows 2016 server, with …

Unable to read values coming from an API call

From the looks of it, the JSON is incorrect. The screenshot shows two JSON objects, one after another. They should be either contained inside an array and be separated by a comma, or just be a singl…

Managing PayPal IPN calls via a Workflow (PHP + testing via ngrok)

Hi All Prefer not to resort to custom PHP so before i try, anyone got a sample Wappler API based IPN handler they would be prepared to share (yes, that is very lazy of me) for confirmation of payment…

Argon2 module_not_found NodeJS

I recently had this problem, I followed this steps, and nothing: 1.- Added argon manually "argon2": "^0.28.3" to package.json and then updated node package don’t work for me, everytime I wrot…

Heroku and Websockets

Seems Websockets don’t work on Heroku. At least I can’t get them to work and a Google search shows something else needs to be installed. Has anyone got websockets to work on Heroku? If so, what did yo…

Reading bar codes - API?

Not tried but found a project on github that could help you.

How to clear a single checkbox with button click?

Do you use the checkbox-group? You can then use the setValue action of it to set the group. For checking/unchecking a single checkbox use the select action on the checkbox. Uncheck checkbox group: d…

Redirect base on identity value

Okay here is my solutions, after taking a break; I am only few days new to Wappler, so maybe it’s not the best of solution. Page flow:

How to dismiss tooltip after a few seconds?

On a button, I have this dynamic attribute Tooltip: How can I make this tooltip go away after a few seconds? Right now, it seems to stay there indefinitely until I click the button again…

Managing PayPal IPN calls via a Workflow (node + custom extension + testing via ngrok)

This is pretty easy using a simple custom extension. The PayPal IPN call is a fairly simple feature to install as the call itself does all the hard work. The listened needs no input and has no specif…

Looking for a remote course with Wappler in German or English

I would like to build my own project management tool. For this I need someone who can give me a remote course on Wappler. In the base I need simple input and update forms. Form with recaptcha …

How to use Server Connect Form with RESTful routes?

Let’s imagine a library website Current page: Edit book “Harry Potter” Route: /book/edit/:bookID URL: example.com/book/edit/1 Server Action: book/edit Placing a Server Connect Form on this page all…

Server side publish looking for file path equivalent to local development server

I think the solution can be: In your general settings, turn off “auto add base” option Then, delete: The entire line 4 if you’re not using routing option Content"/wappler/test" in line 5 The line 6 …

Problem with "require" in custom module

Still no expert on custom modules but trying my hardest!! Decided to take a quick look at an Paypal IPN solution for Node after noticing an npm “paypal-ipn” So i installed with npm install paypal-i…

Custom preloader

I was looking some replies on topics, and i think that nobody comment on having your own preloader spinner so here is my first how-to guide and hope it helps someone else: I have a gif located in th…

Webhooks - PayPal - Anyone tried it? Was it simple to implement?

Webhooks - PayPal - Anyone tried it? Was it simple to implement? Ok… i have looked at the Webhooks in PayPal. Has anyone implemented this before? Was the configuration easy on Wappler’s side? As i …

Working on Secure Sites with Node and local server logs out

Thanks for pointing me in the right direction, @mebeingken! I didn’t end up using Redis, I simply selected ‘File’ for the sessions and it works! Sometimes I just love Wappler.

Theming the app built using wappler

I want to search and download some pretty theme/ui kit which I can incorporate in wappler app. Any tutorial/guide for this? Also, what kind of template should I search in google?

Error docker with replicas

ERROR: Cannot start service web: Ports are not available: exposing port TCP 0.0.0.0:8103 -> 0.0.0.0:0: listen tcp 0.0.0.0:8103: bind: Only one usage of each socket address (protocol/network address…

Wappler not loading correctly

Hi, Windows did an update yesterday when I turned my PC on and now Wappler 5 won’t load fully, all I get is a black screen with the windows program bar still showing at the bottom… In the Task manag…

Publishing MySQL Database to Production Server

After changing the host/details, close the file. Then change targets and reopen it.

Add 'Business days' to a current date

Is it possible to calculate a date to be five business days ahead? (which does not consider Saturdays and Sundays) in asp.net was something like DateTimeUtil.AddBusinessDays(srcDate, 5); Thank yo…

WebSockets connection lost when download is used

The download button was a link to a server connect action with a download action. The link triggered a navigation request causing the websocket to disconnect. Solution was to add the download attribut…

Upload a whole folder and its content into S3 AWS

Hi, Is there a way to upload an entire folder and all its content into Amazon AWS S3? I have dynamic generator folders containing images and want to upload directly into AWS S3. I create everything…

Browser1.referrer - with routing enabled - php

Hi. Im using browser1.referrer on my login page to return to the previous page after login. This worked well for me before in older projects without using routing… so the url used to be something li…

Form to email

After you clarified the HANDLER issue, I checked the form again and realised I had placed the SUBMIT button outside the form. I also set the mailer type to server default and retested. Now I need a wa…

Alerts/Notifications and Websockets?

Hey Brad, congratulations!! every step forward is a step in the right direction. Node is a lot of fun to use and even more with Wappler. To answer your question, yes you can have a notification every…

How to decode a long HEX number to readable format (server connect with a Node app)

Hi all, I’m receiving data like this from a call which is HEX: 0x0000000000000000000000008e059d143cd1044af17bb59847a0c417a7834f3900000000000000000000000000000000000000000000aa8f6151b3b721e8cbd9 Dec…

Encrypting sensitive information with 'encrypt with password' for multiple users

Hi there Wapplers, A question regarding security: Let’s say I want to securely store clients sensitive information, so I can use the ‘encrypt with password method’ as described in this topic. And …

How to get the minimum of 2 values?

This one should be easy but I’m struggling. I have 2 values in my server action. I want to take the minimum of the two… Example: "read_pct": 12, "lowest_scroll_pct": 100 I want to g…

Deployment slow (sending build context to docker daemon)

I’d really like to speed up my deployment to my Digital ocean droplet The ‘sending build context to docker daemon’ takes by far the longest time. This is taking even longer because I added more file…

Database queries not coming up

When you edit or create the target settings for your docker target, you can specify a database. In doing so it will be creating a database server inside your docker container, paired with your web ser…

App in development needs constant re-deployment since new frameworks (wappler 4.9.1)

Node.JS Windows 10 wappler 4.9.1 Getting a: 'status 500 knex timeout acquiring a connection The pool is probably full. Are you missing a .transacting(trx) call? at client_mysql.acquireConnection…

Change page from script

Hi! How do I change the page in nodejs SPA internally without loading the layout page with javascript? I tried to use window.location.href = "/page"; but this reloads the layout page too.

Sockets: send data to server, server waits until disconnect to insert in database

I want to send data to the server using sockets, so I can update it very frequently. But I don’t want the server to do a ‘database update’ query every time it received a message from the socket. One…

Html to PDF

Hello I can’t find the html to PDF option as indicated in a post, see the attached photo. my server is PHP

What happened to Dropzone?

Add a file input, then you can convert it to a dropzone

Custom modules

I believe that is controlled by the title attribute in the hjson: title : 'Your title @@var(actionName)@@',

Create route to redirect to another url is impossible?

I want to create a route that redirects the user to another URL. How? When I use type:URL it gives me: When I use type: redirect it gives me

Validations rules pattern

Hi Clarisse, the pattern should be : /^(229)\d/

Best way to create Webapp + Mobile App in a single project

Welcome to the forum. I feel the best approach, is to build the web app and then come back to mobile later because: Mobile is more difficult It takes two projects—one for server side and web app an…

Annually Change Query Dynamically

The cutoff date is June 1 of each year. All previous year’s entries will be archived without a condition. All new entries for the next year will be listed that is queried with: school_year < {{NOW.f…

Filter Paged Query with buttons on the page

Thanks a milllion. Your comment made me evaluate the condition. Sorted

How to change ServerConnect base URL?

@karh wants to know how can we define another domain for ServerConnect’s base URL So, imagine, you have your app hosted on example1.com, and want all ServerConnect API calls to go to example2.com Th…

Deployment - error launching services

Hi, when I deploy my app I get this error: How do I debug this? Edit: I found this additional detail but not sure how to solve it:

"Friend Request", Direct Message

I am trying to find out how to do two things that seem to have similar mechanics. The first is to send a “friend request” or connection approval. A user selects a group and clicks to join. This sends …

How do I send a private message to another user through sockets?

I have seen the tutorials of sockets in all types of messages, like emit, broadcast and direct message. But I haven’t seen a private message feature. I want to build a whatsapp like clone to send mess…

Unformatted browser view

Welcome to the Wappler club This is how I would troubleshoot: Check which stylesheets the page is loading: right click → page source Ctrl F “.css” What do you see? I’m guessing you’re missing t…

Limit repeat client side only

There is a .top() formatter to limit the number of records. Just add the number of records as a parameter

How to randomise array that goes into a repeat

There is a .randomize() formatter you can use on the array

Dates, Dynamic Dates and Date Picker

In form generator use type TEXT and not date. Then on the page add the datepicker to the text field and it will work fine. As for setting dynamic min/max dates - do this using the dynamic attributes…

Ngrok on MAMP PRO (Bad Request)

Fixed in Wappler 5.0.0 Beta 6

Socket refresh heads-up

Hi! Might be obvious to most, but I made the mistake of using “Refresh Server Action” for everything, which caused big performance issues. When developing, it’s all fine as you’re the only one testin…

Reset form on Modal

I worked it out @Teodor with your asking me “Where does this data come from”. The information for the top of the Modal comes from a Data View but I had mistakenly pulled the data from some hidden tex…

Rounding up a dateTime to the nearest X minutes

Hey All, Just found this little article that uses some simple JS to take a dateTime input and either round it, or round it up to the nearest 15 minute interval. I modified it slightly so you could c…

How to add an option within an opt group that pulls the data directly from the database in select

I would like to know how to add an option within an opt group in a select, but that data is pulled directly from the database and categorized as well as in the image

Form Repeats Add Properties?

In a form repeat when adding a new record is it possible to populate certain input fields within this repeat? I see this when using the dynamic event to add a new record but nothing is listed below …

How to format/get dateTime to NEXT full hour? (e.g. 6:40pm 12 seconds to 7.00 pm) in Server Connect only (not front end)

Hi, you can use the date add formatter to add +1 hour and then apply a date format HH:00:00 Example: {{NOW.dateAdd('hours', 1).formatDate('HH:00:00')}}

Between Condition not working

I am attempting to calculate Age in months from the DoB - date of birth summited by a user. if The computed age is between 35 - 45 then the condition is true. I have tried using the BETWEEN conditio…

Server Connect and Apex Charts

When moving a data source from a layout to a content page, often you need to change the path data items are bound with For example on a layout page you might have: {{serverconnect1.data.someDataItem…

How to display Text when DB value is 1

dmx-text="(variablename == 1 ? 'Male' : variablename == 2 ? 'Female' : 'Animal')"

How to run a custom plugin in wappler?

Hi, Sir I think you all are fine and doing well, i know you have the vast knowledge in wappler that’s why i just want to know from you how to run a custom plugin in wappler? i have copy and paste th…

Call JS Function from Button

I think, maybe, your function is returning the array when the button is clicked but doing nothing with it. To find out you could try: onclick="var gcd = getCartData(); console.log(gcd);"

Why Does Saving a Form Takes App to a Page of JSON?

A standard form will navigate to the page where you post to. Make sure you make the form a Server Connect Form, then it will post the data via ajax and will not navigate to it.

Remember Cookie to Hours?

I’m a bit too busy with other updates at the moment. I assume you use PHP, you can edit the file dmxConnectLib/lib/code/Response.php. To have hours instead of days change line 74 to: $expires = gmda…

PHP error with oauth2

Remove the option completely, setting it to "false" it sees it as being set.

Calculate age with month inclusive

Calculating Age from Date of Birth works. But I would like the Age accurate to the month. For example: 40 years and 3 months old 40.3 years below is the code for the AGE I calculated. What do I ad…

Is there any way to create workflow (activities mapping to users) in wappler?

Hi Team Is there any way to create workflow (activities mapping to users) in wappler? Much appreciated for your help Best regards Nyi Nyi Lin MyanmarDesk

Render HTML data from summer note in front

I have several summernote fields on my form which submit data like the below into the db. <ol ><li>university of education winneba 2014 2018.</li><li>university of education 2010 2012.</li><li>presby…

Modal with dynamic show shows for split second on page load before it hides

If the show expression is contingent on SC you could add that it also needs to have status 200 to show: e.g. Show if somefield is false: serverconnectID.status == 200 && !serverconnectID.data.somefi…

Remember login

In the Workflows/Server Actions tab open the Server Connect Settings. There you can configure the Sessions settings, you can set it to Redis and set the Session TTL in seconds (300 is 5 minutes).

Multi Updates

Well, I was way over-thinking it. Just had to use a regular update action. That was so easy. Love how Wappler makes me ‘look like’ I know what I am doing to my employer.

Problems with Docker / Migrating to New Computer - network is ambiguous

The solution is simple! just remove the networks. like docker network rm <network Id> <space> <network Id> ....

Need Help Paged Query + various filters

Just found how to proceed. My on-change behaviour were not setted correctly just like my SC conditions Thanks @Sorry_Duh !

Database Manager doesn't include MySQL as option

You need a web project (can also be blank) to see all the available databases.

Filter query with multiple URL parameters

With the split value you need to use IN, not Equal.

NodeJS - when using dynamic URL parameters - how can I return a 404 or redirect if no match is found with all URL parameters

Hey all, So I’ve finished first pass of our dynamic directory using URL paths. I can have up to 5 parameters in a URL path - currently if someone was to alter the URL it’ll just load the page and re…

CURL API, how to enter details

Hi, I have found a PDF API which is apparently very easy. This is what they have provided me with. I am having difficulty entering the info into Wappler in the API server action. Any assistance wou…

Calculate Age in months for inside a condition

I think you have a right paren in the wrong place. $_POST.dob.dateDiff('months', '2022-06-20' >= 420) should probably be: $_POST.dob.dateDiff('months', '2022-06-20') >= 420

Help with creating a custom stripe checkout for subscriptions

I would like someone to help me with a doubt I have, I’m a new user on wappler, I’ve learned a lot, but I’ve never used stripe, I would like to create a customized checkout for my client, so that his …

Display Mysql DAY OF YEAR

I am trying to display the day number of the current year in a MySQL query. like from 1-365. In the dynamic data picker in Database query I have tried lots of different ways. {{NOW.formatDate(‘yyyy’…

Can the Data Validator check if a GET param is in the DB (with no linked field) ❓

The linked field option is only used for the validator to know where (under which input) to show the error on your page.

Background image previews but does not display

It looks like the latest changes to your style.css file haven’t uploaded. Did you do a full publish? The style6 class is missing

Check if a nested repeat returns nothing

Have you tried using the count formatter to check how many records are returned?

SPA routing *without* Server Connect

How can we implement a client-side only routing without Server Connect, solely using App Connect? We wouldn’t even mind, if it’s based on hash-fragments in the URL. We use bootstrap menus and modals…

Uploaded File Names not being inserted into DB

Most probably your POST var is not defined as file, as the expression in the insert step is wrong.

Filter Text no match case

It is currently not possible to set the collation from within Wappler. I don’t know about Navicat, but I suppose that it will probably support it. The collation is something like utf8_general_ci or u…

Show Qualified or Unqualified message based on 3 conditions

Greetings to this great community. I come seeking help and guidance. I have a form that accepts an applicant’s details such Name, DateOfBirth, School Attended, CurrentRank, CurrentRank_StartDate etc…

User Group Registration

You just open the insert, on the value hit the lightning bolt and choose the bind from the query: Also you can get the user id using the security identify:

Sharing app with Docker

Hi everyone, I’m hoping to get some guidance on sharing my app, once final, with third parties using Docker Hub, so that they can set up their own instance on their own server (and actually use the f…

About OTP with Security Login Action Steps

But don’t put the security provider in the first server action. Use a database query to check if the user/pass are correct and then run the API for the OTP. Use the security provider in the second se…

Position cursor

Hello how to set the position of the cursor when loading the page, I have a login page and the cursor seems to put itself in password instead of identifier Thanks

Data tables

Hi all, We are using Datatables in one of our larger sites, it’s out of the box performance is superb: https://datatables.net/examples/index Is anyone else here using it? If so, did you find any in…

Dynamic Accordion Usage

Here you are: <div class="accordion" id="accordion1" is="dmx-repeat" dmx-bind:repeat="2"> <div class="card"> <div class="card-header" id="accordion_headingOne"> <h5 class="mb-0"> <button id=…

Error 550 No such file or directory with wappler but Ok with filezilla

Wappler doesn’t work that way. It’s bad practice to have your sub domain as a sub folder within your main domain. If I understand what you are saying.

How to find birthdays in the current month?

You need a custom query for that. If you are using MySQL then it will look like: SELECT nome, data_nascimento FROM dates WHERE MONTH(data_nascimento) = MONTH(NOW())

Define global data

In app, there is a “define global data” button, what it is use for ? Is a a variable we can set for the whole site having same id ?

Can't connect to gmail API

I used the instruction here: my settings: this is the error: server-connect:app auth: 'oauth', server-connect:app oauth: ‘oauthgoogle’ server-connect:app } +0ms server-connect:server…

Line breaks in fetched JSON data source string attribute

Use <br> and on the page instead of binding the data directly, use Inner HTML option which makes this code on your page: <p dmx-html="description"></p> instead of <p>{{description}}</p>

Using nested key/values as sets in a chart

I am struggling to get multiple sets displayed in my chart. I have prepared my data using a custom JS (to do some computations) and output it (dmxParse) in the following format: allData = { result1…

Tagify in Conditional Regions - something to be aware of

I just spent a while trying to work out what was going on in a project after Tagify was throwing errors when I toggled some conditional regions on a multi-step form. It appears that if the Tagify c…

No valid Database connection found?

Yes the direct connection in the database manager in Wappler needs your database credentials to make the connection. While in server connect db connection you can use any environment variables that a…

Show or conditional region displaying when index is zero calculation - javascript Pros

Hi, You’re missing an empty string evaluates to true, here’s the correction: dmx-show="($index != 0) ? ((($index / 4) % 1) == 0) : false)" This can be checked on your browser’s console: Boolean(" …

Remove all spaces from numbers

Great, TomD Your Idea is allmost complete. I had to change your fine solution a bit. Into… {{$_POST.text_with_spaces.replace(’ ‘,’’)}} (removing the space after the comma I am very thankful for …

How to load a dynamic gallery of images in a light box

we want to open a light box with one image visible and then scroll through the images based on data coming from an array from a server connect. we do not have all the images loaded on the page itself. …

Can the date value from DateClick Calendar event be converted to datetime?

When inserting you could simply add 00:00:00 or some other arbitrary time using formatDate E.g. datefield.formatDate('yyyy-MM-dd 00:00:00')

Wappler 5 login error

It worked! The issue was from Chrome. Tried with brave and got in. Don’t know whay might be. Maybe the cookies security level that I have. Anyway thank you!!

Getting a GLOBAL value on a page PHP vs NODE

Well the steps in globals are available on every page a server action is added on. So you can bind them on the page.

$ENV Global Variable not work in DB Connection

Wappler 4.9.1 Node.js Hello everyone, the global variables do not work with the database connection when I call the variable in the api I can see it. When I want to use the variable in the DB Co…

Docker - NO DB + Local DB

You can’t use 127.0.0.1 because NodeJS is running inside a container (“virtual machine”) You have to use host.docker.internal to access your host’s IP address Reference:

Invalidate Redis Cache

Hi. How to invalidate a particular cached item stored in Redis? It could be anything - sockets, content page, SA etc - whatever is cacheable. I read these two posts regarding it: Redis cache confus…

IN Operator - Custom Query - Integer values

hey @TomD! Thanks!! I sorted out using postgres operator ANY: :P2 is the array…ANY operator is to use with arrays, so, no need to convert values! Hope it helps someone in the same situation I was…

Dynamic Dropdown only shows first record

The repeat should be a repeat children on the parent or move the repeat part to the item. <div class="dropdown-menu" aria-labelledby="dropdown1" dmx-repeat:repeat1="serverconnect1.data.query"> <a…

Mobile App Menu Like Reddit

I’m starting to look into mobile app navigation and Reddit is pretty much exactly what I’m aiming for on launch you have 3 tabs that are swipeable and when swiping it also remember positions of the sc…

Data View to get Distinct list

Is it possible to use a Data View to get a distinct list? For instance, I have a server connect that returns records that all have a city. I currently have a seperate server connect which returns a…

Date field not valid if date is added dynamically

I have a dropdown select that gives you 3 date options. 2 Pre-calculated and another where you select your own date from a date picker. The select updates the own with the first 2 preconfigured optio…

Set session value after insert

How can I set value in session in Server actions ? How can I get value in form ?

Issue with a repeat with a repeat

I have an api which returns the records I require to insert into my database, however I am not sure if the company has set it up wrong (not that I can change it) On the images the api returns an obje…

Conditional redirect on form submit

Marzio, all you need a simple ternary operator which checks which of your radio controls is checked … dmx-on:success="browser1.goto(stripe.checked ? 'stripe_checkout' : 'paypal_checkout') You can al…

Search/Replace by project in Version 5 beta 3

It’s been moved: Unfortunately, the shortcut keys no longer work but otherwise it works as before.

Notification not showing

I have a contactform that, after execution should reset the form (which it does) and show a success notification (which it doesn’t). Notifications do not show on any of the pages (update forms) on th…

Dependant select dropdown in form

Hi, I’m struggling to setup a dependant select dropdown in my form. I have two fields, Company and Contact. I am not sure where I am going wrong. In the form, the companies are listed, but the Cont…

How to make a dynamic url?

Hey I have a page where I list all my products, I have a modal that opens when I click a “view more details” button where I show off a swiper gallery specific to that item and some descriptions, etc. …

Native Mobile Apps

Am I correct in saying you cant making true native apps in Wappler? You can only make webview type of mobile apps?

Send html code to the database

Hey, This issue occurs when there is a security feature like ModSecurity enabled at your hosting provider. Where are you hosting your app? You can try to disable it or tweak the settings a bit.

Server Action condition, "or" "||" doesn't work?

Is not “Adam” AND Is not “John” perhaps? qr_name.xyz.name != 'John' && qr_name.xyz.name != 'Adam' Alternative way: !(qr_name.xyz.name == 'John') && !(qr_name.xyz.name == 'Adam')

Calendar how would you add a repeat step for same event multiple times

With the awesome Calendar (Thanks Guys) I need to put an option for repeating the event either weekly, every other week, every 3 weeks. etc I am assuming that a repeat in action steps would do this, …

How to debug cron job?

Just started with my first cron job, and I’m curious how I can see the output? Normally I’d go to the browser and open the API action there, to see what it outputs (either in the network tab or just …

How to add created_at and updated_at columns to your table using knex

Make a database migration (knex .js file) in here Use this code to create ‘created_at’ and ‘updated_at’ columns .table('TABLENAME_HERE', function (table) { table.timestamp('created_at').defa…

Calendar - how to repeat an event at regular intervals for a set number of times

I’m currently implementing the in-built calendar to allow users to add a date with an option to make this date recurring at regular intervals (say every 7 days or every 4 weeks or every 1 year) for a …

Swiper additional options how to add

Im wanting to add the following options into my swiper: resistanceRatio: 0, slideToClickedSlide: true, I believe these options aren’t available in the UI so I’m trying to add them manually how woul…

How to close a modal on back button click?

Is it possible to close a modal ( if open ), when the backbutton of the browser or phones back button is clicked.

NodeJS best practice for type of database and setup

Hello. I think the implementation of NodeJS is going to be a significant boost for Wappler. I have been studying NodeJS, NextJS, as well as a plethora of IDEs, and development tools. For anyone thi…

How do I update portainer?

Very new to SSH, and still learning how docker actually works. I believe there should be a docker-compose.yml somewhere that is deploying portainer? And a folder with the files… But where? I can’t…

Remove files from dropzone

Hello, does anyone know why the remove method of the dropzone component doesn’t work? Just doesn’t do anything, no error on the console. Tooltip suggests this is for removing single files from the fi…

Earlier Commit to GIT checkout gives error on server connect login

Yes indeed you can delete any additional database connection just make sure is not used somewhere in a server action. Then just activate you local development target, open the project settings and sa…

Reference Error Message

Any one know why this would pop in the console? How can I fix it? ReferenceError: Can't find variable: daterangepicker (anonymous function) — dateRangePicker.js:3 Global Code — dateRangePicker.js:…

Bind S3 Provider Access Key to dynamic value

Good morning, is there a chance I can bind the AK and SK of my global S3 provider to dynamic values? There are icons for this, however as this is under Globals, I can’t add any additional steps (like…

How to use Validate Data to trigger a custom error?

I have considered the task, you can not do a reconciliation with the database in the data validation component, but use it only as an error message delivery in the password input. We do the check usi…

Suggestions on converting SQL varchar as number

I have a Mariadb table with a varchar field. I’m having trouble sorting it. I’m sure this has to do with the varchar status but I don’t know what is the best way to convert it during the API datab…

Development, Staging and Production Targets

When beginning a new project, Wappler offers a target choice of Development, Staging and Production. Do you use all three modes of the Wappler target usage suggestions? We know that the Development …

Git repository corrupted error

OS info Operating System : Windows 10.0.22000 Wappler Version : 4.9.1 Problem description Can’t see update files for the git reporistory. Steps to reproduce Just open project File changes are no…

Security provider - set multiple value

As @sid mentions, you can use ‘IN’. You just need to enter a comma-separated list, eg:

Card Link

Hi, How would I simply add a link to an image that’s in a bootstrap card. I see no input in the Properties Inspector for an A Href attribute for an image that I have selected. Thanks.

Difficulties connecting to postgresql database (SOLVED)

Hi guys, can anyone help me. I’m having problems connecting to the PostgreSql database. it doesn’t say it couldn’t find the driver and so I can’t make the connection to my remote machine. obs: I put a…

Rename file before upload with S3 Multi Upload

Hi everyone, is there an easy way to change the filename before uploading with the App Connect S3 Multi Upload Component? So I have some functionality to toggle a text input, where a user can rename …

Chat with rooms

Created live chat with sockets as to Teodors tutorial, this works, except sometimes the message is emitted twice. Any ideas why? My application requires the ability for members who are part of separ…

Get return code in form

Hello How can I get the return code from nodejs API in submit or success in form action ?

Pre-loader - Desktop vs Mobile

Pre-loader - Desktop vs Mobile My pre-loader works great on desktops and and laptops. I have 2 divs <div dmx-show="itemsdataview.data.hasItems()"> Has content </div> <div dmx-hide="itemsdataview.d…

Database Connection

It’s OK its working Teodor. I just uploaded to the live server and its corrected any issues. I guess there was some changes that hadn’t been uploaded to the remote server. Thanks for your help. And I…

Stuck on query logic

I have the server side mysql query all setup and working, but I just can’t get the logic for the condition. I have a ‘project completion date’ and a ‘user late login date’. and I want to remind the u…

Dynamic page title from SC

Create a database table. Title and description are self explanatory. The pathname is used to filter the data. Create a server action. For the step, use a single query filtered on the PathName …

Auto Save before Security Logout

Add a logout action to your page (Be sure it has autorun turned off) Add an action Scheduler to the page set to ten minutes and run the logout. One caveat is that if the user refreshes the page or m…

Heroku DB credentials update

Hi, I’m using Heroku Postgres db and api to insert to db. Heroku updated db credentials, so I updated them in Database manager. Unfortunately, Wappler updated these credentials only in the project jso…

GeoJson and map generation

Hello is it possible to retrieve the coordinates in the response of the api and generate a map, does anyone have an idea? Here is the example of an API, which provides information on Geohazards T…

How to login as a user from Admin account without password?

I think he’s trying to allow an admin user to impersonate another user. I have done this before by using session variables server-side. Upon login, set a session ‘userid’ value to the identity of the…

Auth0 flow question

Hi! I asked this question on the Auth0 community but didn’t get any response, maybe someone here has experience with auth0 or another related authentication flow? I’m trying to integrate Auth0 with …

How to convert array item to string

json(session.data.stats.where(‘gid’, ‘A100’, ‘==’)[0])

Same expression working on one page but not on another

The following was missing on the page on which it did not work now it is working <script src="../dmxAppConnect/dmxFormatter/dmxFormatter.js" defer=""></script>

How to set a full array value to array variable?

I have a server connect with multiple records. This array is repeated in the front end. And on click of the repeat element, a sub array of the repeated element must be set to the array variable for fu…

Can't apply the knex change to create multi ref table when SQL_REQUIRE_PRIMARY_KEY is enabled

I created a multiref table using the ui (right click, New Multi Reference) This worked fine in my local dev environment (docker) When switching target to the live database (digital ocean managed db) …

Cookies, GDPR, Google Analytics

Does anyone have a good source or suggestion how to connect a cookie consent button to Google Analytics? I understand that Google Analytics is by default not GDPR compliant, so I figured I need to of…

Popover and Dynamic Click events within

Hi. I don’t think dmx-on:click will work in that manner. But, you can try setting data-bs-toggle="modal" data-target="modal_bills" instead. Or, if that fails as well, just use JS onclick to open th…

Gitlab Credential Error

are you using gitlab with credentials in Wappler or oauth authorization from the global settings? It seems gitlab is just returning error 400 which means some kind of authorization mixture error. May…

Use Local Storage Data from Partials

Found it, need to add local storage with same id on the layout page. I don’t know if it the correct way to do it.

How to use App Connect Route

Seems like we can’t create 2 routes / nested using wappler visual method. To solve this I create 2 layout page with partials for sidemenu.

Docs and tutorials

You guys at Wappler are doing great, but new features are coming out so often that outdated docs are becoming serious problem. Learning curve is still kinda steep when comparing to nocode tools. Try…

Should special characters showing as page text inside a nav, paragraph etc. be escaped?

Is this really an error if it is normal text inside a html element?

Error storing multi-files data in database

Notice in my screen shot my repeat has the expression of my upload yours is inside the repeat. You should try having the upload first then repeat the upload which will get each record it uploaded

Summernote-cleaner integration?

Yes, you can easily add it to your page. First include the js file in the <head> tags: <script src="js/summernote-cleaner.js"></script> Then add this script block: <script> dmx.global.…

Scripts on the layout page do not load correctly with internal routing

I have a NodeJS SPA where I have setup an internal routing to the Home Page when successfully logged out. The content pages have been setup with one layout page; so the routing is happening from one o…

TinyMCE And Signed s3 Images

I’m looking into TinyMCE to be able to create blog posts one thing I’m not entirely sure on is how to manage retrieving and using private images in the space as the link will expire every 2 hours and …

Why Database Query and Database Paged Query have different JSON representation?

Pages Query has an additional data wrapper for all the paging information. And a “data” object for the real data. For regular queries this is not needed and there you have just the data directly. Be…

User Login Log

If you need to build a log that keeps track of user’s login and logout, how do you accomplish this in a secure way? I’ve got it to work on the login timestamp, ip, and usernames. However, I am having …

How to database insert JSON?

{ "name": "George", "country": "NL" } How can I literally Database Insert such JSON without actually going through the traditional Database Insert dialog and selecting the fields? It’s not fe…

Replace the first 2 digits of a number from a $_POST

Created a small slice formatter for this (for NodeJS). Extract it in your root folder and restart Wappler. Then you will see it under custom formatters in the Server Data Formatter: extensions.zip (…

Problem with dmx:parse from table and leaflet maps

I have the map displayed on the page and I manage to use a button to display a marker. But I am not able to get the lat/lon info from the bootstrap 5 table when I click on a row. I am using nodejs. I …

Problem list transactions stripe

Ok API GET, i’ve remove base_dir, and ok

dmxConnectLib error after site transfer to a new server

I just transferred my domain to a new server (with the same provider) and I am getting the following error: code: 0 file: “/home/username/public_html/dmxConnectLib/lib/core/Session.php” line: 9 me…

Form - check if either field is complete

You can dynamically assign the required attribute for both inputs, based on other field’s value. <input type="text" id="input1" name="input1" dmx-bind:required="!input2.value"> <input type="text" id=…

Server Action Condition for _POST value being null/empty

Hi have a server action with a condition, and I am trying to set a condition that if the form field value is not empty then carry out a step. But I can’t get it to work.

Dynamic Meta Tag Content

After watching the incredible webinar yesterday, it dawned on me that I had not put any of the meta tag content discussed on my pages. So, I went to the first page to add it and discovered that my fa…

User Change My Password functionality

SOLVED! The issue was in the last part in the update query. I mistakenly filtered the update password query in the server action using the wrong user field under ‘Conditions’ - so it was never going …

Wappler replaces { for hex

Looks like you are trying to add dynamic values to a static url here, in dynamic attributes add link: Also the blue icon with 2 arrows next to the lightning bolt will allow you to select the page y…

Bootstrap5 from bootstrap4 bs.tooltip error

Doing a global search for bootstrap4 and replacing with boostrap5 solved the problem.

Export CSV without writing to disk?

I’m using NodeJS and I have a Server Action with a database query. Is it possible to export a CSV without writing to disk? I really just want to get data from the database and output it directly in…

Summernote image upload

Found the issue. I was using the ‘Image’ btn from Summernote and not the ‘Image Upoad’ btn. It works now Thank you!

How to do data entry of many to many

Is there an example of doing a many to many data entry and Updating records or adding records to other tables as a transaction after saving? So no updating or adding if there are problems saving from …

Styles not showing in browser bootstrap5

win 10 wappler 4.9.1 nodejs local server After updating from bootstrap4 to bootstrap5 and editing out all references to BS4 having problems with styles. Active tabs not displaying properly As…

Guidance needed - Nesting a repeat region, inside a TABLE

Hi All, Looking for a little guidance or assurance what i’m trying to do can be done. I am wanting to nest a repeat region inside a repeat row of a Table. I have gone through the documentation on I…

Bootstrap4 to Bootstrap5: Broken app

win 10 Development local server Wappler 4.9.1 NodeJS I added a test page and configured app for boostrap5: Project settings On pages: -Styles changed -Tabs links don’t work -Pages don’t…

Tagify not outputting value field in mix mode

I am trying to allow users to ‘@tag’ each other within a comments text input, and I understand this requires the tagify mode being set to mix. However, when the mode is set to mix, the text input does…

Get specific repeat index value

You can access them using an expression like with a javascript array get_all_users_without_santa_id[5]

Can you use Subtables with Existing database?

If your sub tables are correctly linked with foreign keys but just don’t have the prefix of the parent name, is not really a problem. They will just show in the database in the main level, but in th…

How to secure api payload data?

I have a form, which contains some crucial data such as amount details, user details etc. These are crucial data built from front end. These values are required by the front end form and backend api. …

Sub tables - switch off all these features

How do I switch off these sub-tables features in the database manager ? When designing queries now, I have to go digging around to find tables that are embedded in others when I really don’t want to.…

Bootstrap Template

Hello, does anyone have a tutorial showing how to import a ready-made bootstrap template into a node application?

Single 'state.executing' Statement for ANY Server Connect?

Do you want to know if any of the SC is running at any time or just the ones on page load? Most simple way when you want to know if there is any SC running is using the events start and done. <dmx-v…

Login fails when changing AWS docker machine IP

My AWS docker machine experienced an issue and was displayed in the docker machine list as in a “stopped” state. I believe something happened with that EC2 instance and as part of the recovery, AWS c…

App/web server crashing - any clues

Hi, The web serer went down earlier - under no material load. Here’s what the web server log had to say: Any ideas ? Thanks pp listening at http://localhost:3000 <— Last few GCs —> [19:0x4a62d40…

Infinite while loop issue

Hi @Teodor , can you check this sc where i am having problems. I think this should work. but it goes into an endless loop and I don’t get any results.

Adjusting content

I suggest you to look at the Design Panel docs:

Use of onupdated or dmx-on:updated for a Variable

I have a variable sc_aborted which I initially assign a value of 0. If a server connect aborts, then I assign it the value 1. When it changes to a 1, then I want to show a modal. Should I used onup…

Stripe API/Secret Key Error

I just tested and this still works fine. The Create Payment Intent has a client_secret value which is returned to the client via the set value client_secret action. It is returning a secret value th…

Show if today (date)

Not the date picker. Add the Date And Time component…

Form submit button - confirmation

Use the flows and the supplied Bootbox options for confirmation. It’s the same for bootstrap 4 and 5.

Changing Font and Size

Hi to all, I am trying to change the Font and Size of a paragraph using the “Design” Tab in wappler that should update the CSS to change the style. In the code and “Style” Tab I see the updates happ…

User Identity in security provide does it have to be an INT type

Does the user identity have to be an INT in the database field or can it be a varchar. I am trying to make encrypted user ids to improve security.

Display zip file size from url src

Hi, I’ve manage to create a server size folder to zip that create a folder dynamically. Works great! well done wappler team. How do I display for the user the zip file size on the app size? I have a…

Help Needed: Redis + Caprover + Wappler

The connection string that @patrick gave you will only work for apps that belong to the same docker swarm. This is the one created by caprover. Any app created in your caprover instance can connect to…

Pre-populate Tagify input

ah, I got it. My data was already flattened out. And I was trying to use a repeat. All I have to do is pass the ID’s of the data that is already there. Gotcha! I was trying to pass the name and …

Console warnings when using Tagify

Hi i got this warnings on browser console, also i followed the step but multi reference table has not adding id’s, but the main table havng the record. in my case users and roles, roles as multi refer…

Shopify oauth2?

Has anyone set this up for Shopify using Oauth2 for creating apps? I am not sure where to go with it. I’ve done alot manually but I think this would be easier if someone has already done it with shop…

Run flow on page view (mobile app)

Hi all, Using Framework7 in a mobile app. Is there a way to run a flow when a page is viewed (not just initial load)? I have an “options” page which is displayed when my app runs to check if a user…

Purpose of app/config/user_config.json?

It is indeed to set config values that will not be overwritten by Wappler. Wappler will ignore that file, so it is save to have your own custom configuration in that file without worrying about Wapple…

Show from 26 years old only

Hello to all, I have a table that I have the DOB of all the people already, I need to make the table show from 26 years old and olders only. Can someone help please.

dmxRouter has stopped my webapp from routing to different pages?

The dmxRouting.js file contains the code for navigating and partial updating SPA pages. Instead of a browser navigation it only updates the location and then does a partial load of the page. I don’t k…

Node.js: 304 Statuses and how to avoid them?

Solved! Thanks @ben! Comparing what you did to what I did I found one simple little mistake. On button click I had the user_logged_in server connect to ‘load’. Changing it to ‘reset’ solved everythin…

How do you dynamically setup a select from array

Hi all, Really simple question: I have an array ‘array_type’ which is populated by a page flow. A select that references the datasource ‘arr_type’ Question: can I populate the select…

Error: Unable to start terminal process

Often, when upgrading to a new version of Wappler I will receive an error like this in the output terminal. I just completely uninstalled and reinstalled all of Wappler a day or two ago. Still get th…

API File Upload (server action)

You can check the Wappler extensions section, someone did an API File Upload extension - indeed, Wappler doesn’t natively support file upload yet, good on you for asking for it

Error: Haven't Defined an "App ID" for this Page

I periodically get an error telling me: “You haven’t defined an ‘App ID’ for this page.” But, I have defined it. Multiple times. Hmmm *EDIT: (added this later for clarity) EVEN THOUGH I HAVE DEFINED…

Remove containers outlines

Hi there, Is it possible to remove the outline around the containers (marked in red)? Thank you.

Wappler designed nodejs web app has very slow performence?

I have built a nodejs web app using Wappler. And I have deployed it to digital ocean. This app seems to have poor performence issue. I inspected the app and checked that the page is loading too many w…

Database issue after update

I have a site and database query that i am trying to review, but after the recent update i am getting an error on all of the columns in my database structure Any ideas why this is occuring and how …

API curl "-x" data

One of the API for Stripe is to send an invoice. The CURL is below, where do you put in the “-X” value int he API server side. Is is under input data? curl https://api.stripe.com/v1/invoices/"{{I…

Input Randomly Not Responding to dmx-on:updated

I have an input like this: <input novalidate id="i_contact_search_name" name="contact_search_name" type="text" class="input_search" placeholder="Contact name or email..." dmx-on:updated="flow_search_…

CSS - form to wrap around and not full width

Ah is that all Then put the forms in a single col and add to both of them the .d-inline-block class.

How to update a User’s Status in realtime?

If we are talking about real real time, then we are talking about sockets. It’s very easy to do what you need with sockets. To do this, we use two preset events in the server actions in the sockets se…

Creating Update Form in Node.js (Empty List)

<form id="formWebsockets" method="post" is="dmx-serverconnect-form"> I think it may have something to do with the path? In my PHP projects the linked page is relative to the site root. In this projec…

How to show if users are online

For realtime status you can use websockets. Maybe check the following topic:

How to make a new content page in Node?

Brad you need to switch to PAGES manager / view, so the screenshots match what you have …

Ssl_error_rx_record_too_long

What to do with the SSL_ERROR on the https://localhost:8100/index.php ? Thanks, Trolle

Stripslashes formatter?

Hello, I’m working on oauth worklow that returns a URL for an avatar with backslahes - I’m not sure if they are added by wappler or by the provider, it looks like: https:\/\/lh3.googleusercontent.com…

Adding array of file to a zip file? (php server side action)

Hello, I’m stuck at trying to add an array of files (images) to a single zip file on the server side (PHP) - all I get is the first file from either a repeat action or its original database query:

Using multi-step form + Server side Validate > How to focus on invalid step / input?

Hi, I’m working on a registering form with 5 steps. I setted up 2 validate in my Server Action (with conditions below): email already exist in user table company already exist based on $_POST.inpu…

Display multi tags references

Problem solved I finally understood where I was wrong

Is there any alternative for mutation observer?

I have a feature called multilanguage, whcih changes text content to different language. This feature is based on manual data. How it works ? I have a json file with two kinds of language content. E…

Save image feature problem?

The save image step returns the path to the saved image, so you can use it in the delete step.

Does Salt phrase get encrypted before being appended to SHA256

Hi, Does the salt phrase for use with hashed passwords actually get encrypted prior to getting g appended to the hashed password? If the salt phrase is say “Bottle” does Wappler encrypted it and the…

How do I create Dynamic Form Fields?

I want achieve a feature shown in the link in the below. I have developed using some array features, but its not a valid working feature. There are issues like, value resetting. Input validation …

Save emoji in mysql database

You can add the utf8mb4 charset to your connection settings. Also make sure the database/table encoding to utf8mb4

Make database changes is only allowed on local development targets

Allow database schema edits only on local development targets I would like to ask the community if you like this feature and if it is useful for you? For me personally, after this update, the Wap…

Unexpected token 'M' at column 44 in expression

That fixed the error. That’s weird that it worked before? Thanks @patrick

Verify the sending of an email and update the database

Hello, would it be possible to store the information of success of sending an email

Smooth scroll not working with anchor links

That’s because you removed the href from the anchor. This way it’s not recognized as a link by the browsers. You can just add href="javascript:void(0)" to it.

Select first record on filtered data in data details component

Hi i have a list of users. This list is filtered based on click of 7 button. I need the Data Details component shows everytime the first record of the filterd list. I used this solution found in co…

Small helper script for Caprover users (Linux/MacOS/WSL)

Hi, For those of you deploying Wappler apps to Caprover, just sharing here a tiny script I made in the last hour, that may or may not be useful to you. By the way, if you’re a beginner, perhaps you’r…

API form Submit issue for GET method

Hi, I am new to wappler! I am trying to work with API Forms, which needs to pass code to API (GET) when I try to fetch data there is and extra empty query param being passed which is causing API…

Stripe custom checkout - stripe card payment page

Hi, I managed to get Stripe working with server side setup and having Stripe Credit Card displayed on my page thanks to @Teodor (custom stripe checkout form, Stripe Custom Checkout Forms) . However,…

Joins vs Sub Tables

From a performance speed perspective I saw that joins are faster than sub tables in most cases when researching online, is this the same for in Wappler? just looking into how my database would be best…

How do you create Stripe Invoices through API

Hi, I have been working for days on trying to work out the best way to go about accepting payments for my setup. Initial had a custom checkout cart and users entered the credit card details and payme…

How to run a "notification" inside javascript.. - Online | Offline Check

You can do it all with Wappler rather than using Javascript. Add a Browser and a notify component to the page. Add a dynamic action in the Browser -> Offline dynamic event Add some text. Done.

Cool yes no toggle

We have been using this little toggle and our clients like it a lot. very simple to use and fits in with a normal form. First part add this to you CSS file .btn-pre-sel { color: #cf8083 !import…

Server Connect Loading

You can have a dynamic noload property for the SC: <dmx-serverconnect id="sc_actionid" url="api/youraction" dmx-bind:noload="!(query.param1 && query.param2) ? 'noload' : '' "></dmx-serverconnect> Th…

Dynamic select within a repeat

So I have found the solution, just in case anyone has this issue. Was quite simple in the end, not sure if it the right way, but it works. One the sub-category it is set to load with the data source…

How to make multiselect with text search using Tagify?

Just leave tagify to default mode and set min chars to 0 and enable the “No custom” option.

Set a value of a text input in a repeat with a flow

So this has been bugging me for a few hours now. I have a repeating table that has in there a couple of selects and a couple of inputs. what I need to do is on the select, run flow and depending on …

Using ENUM's in client side inputs

One of the downsides to using ENUM’s in the database is that they are not readily available to be used in client side inputs – for example a select element for choosing a value that is stored as an …

Db connections not changing with different targets?

Hello, It’s been a while since I haven’t added a new target (I’m on the latest version of Wappler). I was expecting the connection options to change with every different target that I have, however, …

Delay External JS until Object rendered

Once again, why would you do that? You need to initialize the cropper script once the data is loaded on your page. You are currently trying to initialize it on document ready, which is quite too earl…

Sorting of Database Query - not working

I found the problem. In the code itself there was a \n line break in the sort field. No idea how that could have gotten there as I wasn’t manually coding it. But, it’s fixed now. If anyone encounte…

Getting PHPSession warnings

I’m working on a one page multi-step form. In PHP Version 8.0.8 localhost machine. After successful form insertion to the table this warning below arrives in Dev Tools. I’ve read in the github foru…

How to use group by formatter in App Connect?

Wappler 4.8.2 OS: Mac - Intel Chip Site: NodeJS Problem: If you add the option to group or unique to filter out duplicates it returns with information not showing, see images below: This is with …

Data Binding Picker doesn't show subtable column

Fresh news @George, I merely changed the name of the Database Query and I’m now able to see the subcolumn in the Database Binding Picker Probably it’s missing a view refresh - I didn’t test the refre…

Stripe Client Side integration with multiple items on single page

Is there a way to have multiple subscription/buy option buttons for multiple items on a single page for Stripe client side integration?

Oauth2 provider, access token?

Hi! I think I’m almost there with using Auth0 As this is my first time trying something with Oauth2 and I actually have no idea what I’m doing, is this approach that I took workable? The user logs …

How to Remember Login Status With OAuth

Hi, I have setup Google OAuth2 login on a PHP project, which is working well. The app uses Docker for development and on production. Earlier I was using regular Wappler security provider, where use…

Digital ocean deploy is failing

Follow the issue and workaround here:

OAuth2 - back to basics (question)

Hello, I’m trying to understand a basic question I have with Oauth2 (PHP model), in this instance working with Azure. To simplify the most the point I’m stuck at, here is my workflow: This works …

Pagination list

Hello I’m trying to use https://docs.wappler.io/t/applying-dynamic-paging/2865 to create pagination list but I can’t look how I can set offset in the help page. Isn’t something missing from the help…

[Guide] Installing livereload in your whole project (hot browser refresh)

After following these steps your browser will automatically reload after changing a file: 2022.04.23 16.39 - 4217 - Indianskimmer Step 1. Install the packages For starting the watchin…

How to Stop Repeat / break out of the loop?

Hi there, Just trying to figure out how to break out of a repeat in server connect when I have found what I am looking for. I’m essentially looking for a break; function like in PHP. Does anyone kn…

PHP 8.0 getting error with serverconnectForm.js try { this.xhr.send(data); }

php 8.0 getting this error on with simple registration form POST http://localhost:8100/api/security/registration 500 (Internal Server Error) _submit @ serverconnectForm.js:300 submit @ for…

Hide modal on page change

So I have a modal, I have noticed if a user clicks their browser “back button” after viewing the modal if will lock up the site and have it greyed out as it thinks the modal is still in focus. Is the…

Template ready-to-use for online Shop-App

Does Wappler has Template library, with ready-to-use Templates for online Shop-App ?

What is the best way to 'build' complex JSON file from values in DB?

I would use RunJS (on NodeJS projects) @jellederijke managed to do it without RunJS:

Missing Node Modules / Package.JSON issues / DO Deployment issues

So I pulled the current running version on the console on DO and it was 17.4 so I set this in the package file and originally it did not fix it… MY MODIFICATION - WORKS "engines": { "node": "1…

Server Action Not sequential (synchronious) with S3 Upload

Hey ya’ll, I’m attempting to read a receipt from a store and put the info in a database. I’m doing an AWS S3 upload. It works great. I can upload no problem, and access the pictures later. I’m also …

How to continue the execution of the steps in the workflow after a number of seconds in workflow

how to continue the execution of the steps in the workflow after a number of seconds, example I have a script that is running I know it will take 20 seconds, I need it to be executed to continue my st…

MySQL error Illegal mix of collations

Btw with the latest Wappler, you can change the MySQL table collations also in the Database Manager, in the advanced options of the table

Meta / HTML Head tag retrieval

Does anybody know of a tool that i can use to get meta tags from a third party website, something similar to this would be perfect. https://textance.herokuapp.com/rest/title/https%3A%2F%2Fwappler.io

Rename file with variable

Thanks its good for me

Changes to Flows?

Instead of using the success event put it on the updated event from the repeater of the table, the updated event is triggered after the DOM has been updated. It seems to me that the datatable script i…

Database manager use sub tables without prefixes

Hello Wappler Team. Will it be possible in the future to assign sub-tables and M2M tables manually without using prefixes? At my school there is an old working CRM on MySQL in which you can’t change…

Reusable server connect function in node js

Then you can use the library options in the API Actions to do this.

Quick Node Scheduler question - does the scheduler run on a standard 24 hour clock, or from app deployment

Hi all, I’m using a number of node schedulers. One of these is time sensitive. If we take an hourly scheduler for example, what is the starting ‘hour’. For example do all schedulers just run on a 24…

Offcanvas shadowing all screen on visible

Hello, Any idea how to avoid the shadowing that is applying to all the screen when toggling the navbar? It should only shadow the elements outside the canvas itself. Thanks

Database manager - new multi references are confusing, how to rename?

No, users_contactinfo will become sub table of users that is named just contactinfo multi reference are actually exact the same as sub tables but they just contain 2 reference keys inside - one to …

How to connect Google Cloud Firestore to Wappler Project?

I read over some forum posts and there wasn’t a definitive thread that explains how a user could connect DB to Google Cloud Firestore. Anyone have a tut? Or How to? Is this even possible? Additional…

Capacitator Missing - Installation Failed, symlink fails

It looks like you’re installing on a Google Drive mountpoint, which apparently doesn’t support symbolic links. Not sure if this can be fixed, because NPM depends on a filesystem that supports symlinks …

Dmx-google-maps-marker label

Hi, How can we move dmx marker label, so it’s clearly readable on top of the marker? thanks in advance.

To execute a php script directly in Workflows/API

We had a use case to run Ghostscript commands for some PDF manipulation. We created a simple PHP file and called it as an API action in Wappler Server Action. If you need more flexibility or options…

OAuth2 Facebook Login How To Assistance

Hi Scott, what do you mean? What exactly happens and in which of the two cases - then/else? I just tested this and it logs in and redirects perfectly fine. Also why in the else and then steps you h…

Unable to Rename File when using App Connect S3 Upload

I can successfully rename and upload a file to my S3 bucket, but only when I manually enter the filename. If I try using a filename previously saved in a session, it doesn’t upload. I have made …

Tooltip only displays to left of the input field

I have this issue where over one of the last updates my tooltips, which are set as “top” only appear left no matter what I set in properties. I have disabled my style.css file to make sure it is not a…

Collapsible Side Menu

If you haven’t got a solution yet. I may have one for you. I used @ben tutorial in this thread. Combining his other thread here. I created my own css file called offcanvas.css .offcanvas { widt…

Files not uploading remotely

So I’m able to effectively upload image files to an S3 bucket on AWS using the ‘App Connect S3 Upload’ method as described in this tutorial: However, when I implement the older upload method (‘Uplo…

Bit of advice needed on processing a shopping cart

Jesus, why do I give my self difficult tasks! I have a shopping cart, which includes: qty - instore qty - warehouse qty - backordered Now what I need to do in the cart is process a way that if le…

Action Scheduler not working

Hi, I have Action Scheduler, which is working fine in Design view. Once I run it on localhost or Heroku, it’s not working. It’s nodejs project, link here https://street-0222.herokuapp.com/ . It should…

Server Connect With URL Params In Content Page Load

Nice idea this actually works for the page load aspect so there is no bad call at the start due to the params not yet been noticed however it still causes a bad call when switching pages at least if t…

Reference Route from Other Route

What would the syntax be to reference a server connect located inside one route, from a different route. THE PROBLEM You are on route 2 and user enters some form data. User goes back to route 1 and…

HELP: PostgreSQL - could not find driver

Well seems you don’t have installed the Postgres PDO driver for your PHP/Apache server So checks the docs for your local server how to install it.

Styles not opening for button

Maybe your css file is corrupted. Open it in the code editor and check for errors at the bottom of the screen.

Line Chart limit to values

I have a line chart which is getting data that ranges from 160 to 170. The line chart is showing values from 0 to 180. Is there a way to make it only show the actual range of values? The data is co…

Pass Data to Server Connect from Table

Quick Question. I am having troubles Passing the data that is generated in a Table as a Parameter to be passed in a Server Connect API Call. Steps are Below for Functionality 1.) Table Populates fr…

{{(var1.value == guery.name)}} Return: True or False

It is working, after I added: Thanks Teoder!.. all best to you.

Http Security Headers in Wappler (nodejs)

Hi, I would like to know what is the best practice / how you add the following http security headers in Wappler for your site / app (with nodejs) : HTTP Strict Transport Security (HSTS) Content Sec…

Select dropdown puts NULL into a blank entry

Well your input shows null as that is your database value. You don’t need an empty/null database value for this. You can simply add an empty static option in your select <option value=""></option> Ex…

Windows1252 - utf8 before import data

Great! A Linux script is fine Can you maybe try the following on the Linux terminal to see if it works: iconv -f CP1252 -t UTF-8 in.txt | dos2unix > out.txt Query search term for Google: dos2unix w…

Moved from Intel to MacM1 on a project - getting an error opening a project previously developed on Intel

Yes this is a known issue with docker and MySQL on the Arm64 M1 chip. It is actually the fault of MySQL (Oracle ) they haven’t published a MySQL Arm64 image build. So with the fix above you are actu…

Browser Component-Can we have detailed documentation?

Here’s an updated list with a few more options and examples: <ul class="list-group mt-4 mb-3"> <main> <div class="contentArea"> <p><b>Browser component options</b></p> <p…

Date field (not datepicker) validate that date is in the past

Try it with adding dmx-bind:min="'now'.formatDate('yyyy-MM-dd')".

Insert Multiple Objects

Hello! I need to Insert multiple objects into a Database. I know how to insert arrays, but in this particular case I must insert different objects. The main issue is that the form inputs are inside …

Error in send form

I have a button “Test Tribune” on https://www.makkumfriesland.nl/agenda.php, which opens a form in a modal. The form had two send mail server actions. One mail goes to me and one to the client. The m…

Node not found

Hello, Node was installed, but i needed to add the link to the PATH

How to submit a form using CTRL+S

First of all you need to bind this on the page body (App root) not on the form or the button as it makes no sense to use it there, and then you have to prevent the default browser ctrl+s behavior, whi…

Routes - What am I doing wrong here

routes.js is only needed locally for the routing panel to be able to generate the htaccess rules and show your routes. Probably the htaccess r any of your files was missing from the server.

Database disappear in prod and rolled back 3 months ago in dev

Wappler Version : 4.7.3 Operating System : macOS BigSur - Version 11.6 Server Model: NodeJS Database Type: Postrgee 11.1.X Hosting Type: Docker (AWS EC2) Expected behavior My WebApp under constru…

Query aggregation and sub-tables

Actually the aggregate does not apply to sub tables directly. So we should probably disable it. Sub tables has their own query properties - you can double click on them to see their detail query. Th…

NodeJS - Does Security Restrict Redirect from SC?

Hi all, This has been happening since I started this project about 12 months ago however I’m only addressing it now. So, as expected with Nodemon, every time I save a file, Nodemon restarts the app,…

Paged query

You don’t really need to use offset and state with the paging generator. Maybe I don’t quite understand what you are trying to achieve? Maybe this one will help you.

Creating charts with polyfills examples?

I am assembling data online that I’d like to use this way below. Does anybody have some background on how to generate these polyfills charts & views from Filters on database records? I have a Combin…

Leveraging browser caching - node servers

Its luckily a super simple integration, pretend your website is called thesmurf.com Go create a gumlet.com account, create an image source, and point that to your TLD, example https://www.thesmurf.co…

Nested queries / sub table joins for tables created outside of Wappler?

Hi, does the new Nested-Query-Feature recognize sub tables that were created outside of wappler (using table links or link tables for multi-to-multi relations)? Best regards Fabian

How to set query parameter in nodeJS on page, without reloading?

When you scroll through a thread on this forum, it will change the url: it adds the id of the specific post you’re looking at. For example from /35 to /36 etc. See this video and look at the end of t…

Importing data from a spreadsheet?

Hi @riazahmed2019 If you want to import data from a CSV file on your computer, then you need to upload it first and then read the uploaded file content and insert them in the database. Upload the…

Run website on another machine

I tried this and it WORKED.

Working with json mysql field instead of many-to-many table

I want to make use of the new features with the json field to store category IDs instead of a separate many-to-many table which is how I would normally do it. But I just can’t find the documentation f…

Requesting files using API from another Wappler project

When I need to work with files (display/download) in security mode, I use this method: The method works well and allows you to display/download files only to those users who have access to them. …

Update all values in a column

Just make the WHERE the id column is not null - that will include all rows anyway

While loop not working during multiple conditions

I have added 2 snapshot of SA, first one is working fine, but second is entering into infinite loop. Multi conditions in while loop not working

Export CSV

Nevermind, just worked it out path is /public/travel-images/filename.csv not just the path itself.

How To Retain Filters Across Pages

Hi. I have a NodeJS SPA with 1 layout page & 2 content pages. Both content pages have a table with sortable headers and a search input. All of the values, including search, are configured using on-…

S3 putFile (PHP) - keeps causing error

I’m trying to process some images and upload to S3 but the S3 connector in PHP doesn’t want to play ball. Whenever I use the putFile step I get the following: code: 0 file: "/var/www/html/dmxConnectL…

Display number of records vs number allowed

I am trying to add a column in my table repeat. Such as: Where the first number comes from a second data table and the second number is from the main table. Maybe this will help. I have two tables…

Clear Form's Data Object (not inputs) on Form Reset

For server connects, there was a reset option added some time ago. Don’t think such an option exists for Server connect forms yet. Sounds like a good feature requeset. @patrick? So for now, you can …

How to execute a task after a determined time?

Try the Scheduler action in your page.

Get Date Picker to Open Above Input?

Good lord. Of course there is a ‘Drop Up’ option I can check. Gotta be beer time. Solved.

How to create a Validator Extension?

Is it possible to create custom validator with extensions? Let’s say I want to validate document number with check digit in client side. I’ve read other topics about creating custom extensions but co…

Connecting to SFTP with PPK key

Hello George, Good morning. I successfully changed the format and was able to connect If anyone else has the same issue I used the following command ‘puttygen private_key.ppk -O private-openssh -o…

Questions about the Tagify component

I have a superficial knowledge for a full use of Tagify, and I need some clarification I assume that in a mysql database we have an “articles” table with a “category” text field To manage the catego…

Select Option Value not displayed in form input

Aha ok - you don’t assign it on click You can just select the text input > dynamic attributes > value > select the select input.value here. This will show the selected value in the text input.

How to send extra POST parameters with Stripe component?

How can I achieve the following? I have a stripe client side component set up: In the Dynamic Attributes → Line Items I am sending an array of data (shopping cart) In the server action I c…

Trying to group records by month to get totals for each month

what is the most efficient way to get wappler to do this in the query builder? I have an events table which lists events by date with the amount collected for the event. I simply want to write a que…

Examples for admin backend and charts

Hi I am new and looking to know more about creating admin backend and charts in the front end. Thanks

Summernote full screen error

Hi, Summernote’s full screeen option is not working correctly. If I use it I get this error on the console And the editor’s background is transparent. Any ideas? Thanks

Postgres need ILIKE

Hi All I need to do a case insensitive LIKE query in Postgres yet I have no options to use ILIKE, SIMILAR or the lower() option. Example a search for “remove ms” should find “Remove MS”, “remove Ms”…

Clear just one field on form submit

On form success you can set the input value to '' using the dynamic events.

Reusability and passing data to ejs includes/partials

Check this post. There is an example similar to what you are trying.

Nested SPA Layout

Hi, Does anyone know how to create a nested layout? I tried to create a spa page with a nested layout, with sub-menu inside this settings layout. Best regards, Reza B

Variable in repeat pagination problem

Does your repeat have a key value assigned?

Refresh items in parent page (NodeJS)

I have two pages (list and detail). When I go to detail and update some fields by submitting the form and going back to list page, the page load serverconnect isn’t reloaded. How do I tell parent pag…

Sort text as numbers

Hello Wappler, I have text column in my DB which contains numbers I have Bootstrap 5 generated table which has sorting options Currently sorting of such column looks like this: Is it possible to…

Wappler in wsl

Has anyone tried and managed to install and run wappler within ubuntu on wsl?

How to implement a persistent 'rank' for a leaderboard - looking for for some big brain thoughts

Hi all, We have a leaderboard as part of our game that we are developing. Currently the ‘rank’ is based on your position on the leaderboard which is determined by a sort function on a specific column…

Problem to launch a serverconnect after the success of an api

I can not launch my serverconnect after the end of the call of an api the api is being processed the api executed well after a few seconds serverconnect2 not working name server action Tests…

Random Order in a Paged Query

You need to: Use your random view for a regular query On your page add the server action returning this query and the data view component. Select the server action as a data view source. Setup the d…

Where is Layout Option

This may be a dumb question. But, where is the “New Layout” option for php projects? If I click new file, it just asks me for my file name. I don’t get any options for layouts.

Setting and storing session ID securely in Static sites

HTTP Only cookies work only with cookies send from the server and cannot be set with javascript. With javascript there is not a 100% secure way to store data that 3rd party scripts can’t access also. …

How to override query parameter from url?

Hi, I am wondering if this is possible. I have a page with a server connect which loads ads based on a sessionManager variable. Is it possible to override this variable with a parameter in the url? …

NodeJS SPA loader progress bar & icon

Hello Wapplers, I found this website and enjoyed the little icon on top right whenever you clicked a link/changed pages: Misaka It’s like a loading indicator, and if you notice closel…

How to create array from database query?

Maybe just use the where filter for your repeat instead of condition. Then add a setvalue inside the repeat with the data you need. And after that apply the flatten formatter to the repeat, outputting…

Use external modules

I would like to know how I can use other Npm modules other than Wappler’s defaults, and make wappler interact with these external modules. Thanks.

File upload and file extensions .jpg .jpeg

Looking for a little advice, I have a file upload form, that saves to a folder. As a secondary step it creates a smaller thumbnail image too with a Load Image, Resize Image, Save Image My Upload Ste…

Dropzone and Repeat Regions

Dropzone cannot be used in repeat regions.

How to console.log() on NodeJS server?

How to console.log() on NodeJS server? I’m getting an error with a custom query and need to print the current data on the loop

How to Disconnect a User from Socket via Socket

Hi. We have a socket setup where a message is emitted from client every 5 minutes. But for some reason, for 1 user, this has malfunctioned. From their system, its being called every few ms. From wha…

How to setup can show UI Properties

i use wappler pro,mysql,nodejs,build a web app, i sew information ,can use database manager UI Properties, and workflow can use UI properties , but my wappler project ,can not see UI properties , …

Make header change size on scroll

Hello! Just wondering if it is possible in Wappler to make the header “shrink” in size (about 50%) when visitors scroll down the page? Or do I need to add custom code? There is the option to make the…

BS4 Modal and date picker broken from third party code

Hello, I’ve inherited a BS4 project from a person gone from my team, where she was using a third-party template - the whole thing is a little messy and with unexpected behaviors that I cannot reprodu…

SweetAlert2 Tutorial

Hi! A quick tutorial on using SweetAlert2 with Wappler in case someone needs it. SweetAlert2 is a great alternative for the Notify component in Wappler. The way I use it works very well for me, p…

Can't set datetime-local value

From what i see the datetime-local input expects the date in a specific format. Try formatting the dynamic value for it using the FormatDate formatter and yyyy-MM-ddTHH:mm date format.

How To Wait For Select Value to Populate

Hi. I have a pages query in a SA, and the SC on page has binding for offset from query manager and limit from a select/dropdown on the page. Since the SC is auto-loaded, when the page opens, it gets…

Making a nice mobile layout

the styles.css referred to in the Project setup is empty. I added this to it, to set the variables for display: :root { --f7-font-family: sans-serif; --f7-list-item-title-font-weight: 900; --f7-lis…

Error connecting to database since update

It seems like it the DB connection the database was changed from Gunnery to gunnery. I have changed it back and hey presto everything is working again, not sure of this was the cause of the problem bu…

How to troubleshoot localhost didn't send any data

Set the port of Node to port 3000, go to Workflows and there to Server Connect Settings.

Problem with table generator

What is the query you are returning? It’s an object, not an array … that’s why no results are displayed.

Why is Security Identify empty only when I login with Google Connect?

Guys, When I login with a basic username/pwd form, the Security Identify in my Globals has the expected just logged in userID. That very same Security Identify is empty when I login with google. Any …

Modal won't open! console.warn('Unknown component found! ' + tagName);

Hi, new here Great place, great piece of software Trying to open a modal to add a user (have followed many tutorial, but same result) Here’s what my code look like and the warning that I get into …

Access values returned after form submit

AHHH IT NEEDS TO BE “MODAL SHOW” and not “SHOW” - - got it. Thank you.

Hide an element based on local session variable

yes sorry u can do that, i asked about your server language cause with nodejs u have websockets and the data can be updated in real time. But with javascript the only way i can think is for example …

Change Order Icon location

You would need to add some padding to the header text, otherwise it will be on top of the icon - unless you mean you want to swap the position of the text and icons. th { /* text-alig…

How to use security enforcer when there are two security providers❓

So you are using argon hashing for some of the passwords and not for others? That is why you see unauthorized … All your passwords must be hashed using argon hashing algorithm when storing them in t…

Repeated Form - what am I doing wrong?

I have a form that is repeated inside a table. The table creates a list of links and should display the Name of the link a text area where the user can edit the name of the link. But, I can’t get …

Getting started with APIs

Hello All, I’m struggling with understanding APIs. I’ve read an followed this document https://docs.wappler.io/t/using-api-data-source/3670 but I’m getting lost in the instructions and not able to …

Displaying a client side error message after Google Account Connect attempt ⚠

Hi there, I’ve set up a server side error handling for when a non-registered user tries to login with a google account (below). But how do I display a quick “popup” or toast message on the client sid…

Database update, pulling data not working

Hello, I am trying to use the database “update query” to update the database. However, I wrote nearly the same query as my testing database but it is not working for the actual DB. ^ this is the up…

Display Text Centered Vertically in a Display Block

Nevermind, found it. Was overthinking it.

Git manager not working

Hi, I just updated wappler to the latest version (from last week) and now when I try to Pull from remote i get the following error… Any help would be much appreciated!!!

Masonry get images from folder issue

Hello! I’m trying to make a masonry that images display from a folder named “realisations” but nothing show. It is the first time I try this so I might be missing something. I followed the documentat…

Working with arrays stored on a database column

Hello, Further to this topic, I have a column in a table sorting values as ‘1,2,5,7’ . For the sake of an example, they can be category IDs. I have a different table that lists ID_category and catego…

Can’t quote a community topic from mobile device

Just a quick note how to bypass this bug: Just select the text you want to quote and then click on the topic reply button instead of the floating quote button.

Converting Bootstrap 4 site to Bootstrap 5 Modals

I have converted an old BS4 site to BS5 and the modals don’t seem to work. Is there something I have to adjust to get Bootstrap to recognize the modals?

Local Storage not working on iOS (Both Chrome and Safari )

I linked it to a new a subdomain and it’s working now on ios as well as desktop. Will keep trying on earlier subdomain. A bit worrying that the purge and delete on my cdn seems to be a bit unreliable…

Help with List Group

Thank you very much @Teodor Solution code bellow: <div class="container"> <div class="row"> <div class="align-self-start col"> <ul class="list-group list-group-horizontal ali…

How to convert Bootswatch theme to Theme Manager?

How to convert a Bootswatch theme to Wappler’s Theme Manager? Including colors and such

Session variables are not being shared between tabs

Browser sessions are not shared between tabs: If you want to share data between tabs use local storage instead of session storage (browser sessions).

Write log file txt with Asp.net

Hi! I would have to do something like this to write a TXT file log. I found something like this, but I’m reaching for an ASP.net version. Has anyone ever realized such a thing?

How to access session variables from subdomain

My content is on cdn.mysite.com to restrict access Both my homepage mysite.com and cdn.mysite.com are static websites mysite.com is made with Wappler and cdn.mysite.com has a html game (Made by Con…

Setup guidance needed please - using my own server/MSSQL (not local)

I really need to get moving forward but need to understand the setup first. Want to use Node, not PHP I have my own Windows 2018 server and MSSQL instance. Already use node on that server too. D…

Execute Steps

Hello, yes it was removed when we redesigned the server connect panel, after a long discussion about redesigning server connect panel as it was not really needed. Now you just add your steps under ex…

How to write API Action "On Done => do x" in App Flow

Just a clarification here. Actually the flow steps are executed sequentially. The only exception is the Run step, which executes an external action and it goes its own asynchronous way. Server Act…

How to set session variable from Run Action of App Flow- can't see options in UI

Can’t see the usual options in the “Available Actions” to set session variables in UI. Is it to be done directly in the code file of the editor? But how? Thanks

Using Formatters in WHERE in Server Action

Hi. I have been using formatters inside the where bindings since forever on client side. For eg: sc1.data.query1.where(`prop1.lowercase()`, 'hello', '==') But when I tried using the same in a Serve…

Show Dynamic List in a Popover

You can’t add a repeat region inside a popover.

Export PDF api2PDF in custom server S3 or FTP or other

Hello, Good evening, I need your lights, I managed to create my PDF thanks to api2pdf However impossible to save the file on anything other than on the default google drive has anyone tried with Am…

Best way to run sitewide background task, that runs even if page is navigated away from

I want to update user profile on my site with the latest orders , after they make a purchase on my site. It needs a few seconds to retrieve as sometimes it needs multiple tries. I call the API actio…

Insert to Database in Custom Module

Hey @mebeingken, What I have set up is monthly tuition charges. These are broken down per student per week because: Multi-enrolment discounts. Multi-student discounts. Holding fee discounts. When …

Encrypted chat

Hi! Planning to start building a chatting system now. Preferably I’d like the messages in the database table to be encrypted. Can someone push me in the right direction with using the login session…

Q about what I saw in Unwrapped video - form design

from this video https://wapplerunwrapped.online/videoplayer.php?id=17 he takes quite a bit of time to set field lengths on a form. (and if another form was needed elsewhere in the system, he’d be m…

Accessing and modifying value from one element to display in another

Hi! This worked : <script> function myFunction() { Paddle.Product.Prices(12345, 1,function(prices) { console.log(prices); var p…

Missing php file in DMX Connect

On things like security logins, s3 sign download you will see a provider option this is where you choose the providers you defined in globals to use. This is so you only need to define the s3, data…

Import / require components from npm

Hi. I’m trying to use Material Design npm and I don’t understand where to put require or import modules to make it work (after npm install). I will be happy if anyone make an example how to use impor…

Generic Cloud Servers

@George https://www.cloud.it/vps/vps-hosting.aspx Hi George I use NodeJS on Cloud Hetzner and am quite satisfied. I created projects with ease and in one case I was able to retrieve a project with…

Variable Value from DB Not Displaying?

Try this: let url = this.parseRequired(options.url, 'string', 'URL is required'); Without using one of the parse methods, it will only handle static values. Here’s a list that describes better:

Connect to opc ua server

can wappler.io connect to a PLC device (opc ua)?

No Comma At The List's End

Your CSS rule is just fine, that’s the way of doing this.

Troubleshoot site cache

Recently while I’m working on my site in wappler (live) It will crash my web site and I have to contact my host. They tell me they clear the site cache and it’s ok again. How do i troubleshoot someth…

How to download document on google drive

Hello how to download a remote document on google drive and store it locally on the server Thanks

Kraken Authentication Api / how to set up signature

Hello. Anyone tried to access Kraken through Wappler’s Api component? I cannot understand how I must set up the signature to access. Here are example data. Full example data are: Private Key: k…

Can't get Action Scheduler to work

I am just trying to create a simple ticker that counts down. For some reason the tick event for Action Scheduler is not firing. I even added a console.log to check. A button event starts the action s…

MAIL BODY: Embed Images and Output Checkboxes

When see these checkboxes, I never know if I should ever use them, and if I do, what actually happens. Any suggestions? Thank you…

The content of a page in a variable

I would like to retrieve the entire content of an HTML file in a variable, how can I do this thanks all

Has 'Condition' in ServerConnect been updated? (No 'ELSE' displaying)

It’s a space saver right click will show a menu to add else

Api response

Good evening, how to recover the data contained in the response of the api, example with api2pdf, it allows me to easily create a PDF but I would like to recover the data present in the response of t…

Nothing to see on phone or tablet

There’s that element: <div class="y-loading" id="y-loading"> <img src="assets/images/loading.gif" alt=""> </div> which does not get hidden on mobile. Maybe you are using a third party pl…

How to change colour of Checkbox -Bootstrap 5 Custom

Adjust to suit: .form-check-input { border: 2px solid rgba(254, 14, 81, 0.95) }

How to have a header ( before a flex container that is vertically centred on the page)

Have a look at <!doctype html> <html class="h-100"> <head> <base href="/"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> …

Help with 'import' of NPM module for use with a custom Wappler Extension

If anyone else reads this, i was able to get this to work, but after installing the relevant node module (regression.js in my case) i had to re ‘deploy’ the project so that it re-built all the node m…

Multiple Submits On Same Form

Hi, I am building a chat system with file upload. When user selects a file and submits, the server connect form gets submitted with the file and takes some time while the file is uploading. Being a …

Corporate SSL certificate with NGINX

Hello Wapplers, I would like to share with you solution how to add HTTPS support with custom (corporate) certificates for your Wappler web-site based on NGINX reverse proxy. Disclaimer: make sure yo…

How can I rename files when uploading?

Has anyone successfully set up an App Connect S3 File Uploader? I have followed the tutorial https://docs.wappler.io/t/using-app-connect-s3-upload/23862 and I can transfer files. However I can not adj…

Inserting image for certain database cells

Hello guys I’m wondering if any of you guys can help me out with this. I’m trying to make a table from the database which shows images for certain keywords For example, I’ve created a mock data tabl…

Set the TimeZone on Digital Ocean docker?

Ok… I found the solution…!! by default if you bring in a date … it will use the UTC time… {{start_date}} ---- > 2022-03-15T14:35:00.000Z But if you use the date formatter it will take the t…

Browser cache issue

@sid Thank you, this was it, server reboot cleared a stuck process which was a pending OS update, ran the OS update, now page data response is as expected.

Data store update value on top of current value

I’m trying to update a data store record, I need to add to the current value of that record. How can I achieve this? There seems to be no way to select the “this.recordvalue”. If this can’t be done …

Inputting an unknown number of variables in a form and saving them to the DB

Assuming that you get the VARDEF from a SC call/API call you could create all this with a form and some repeats. Then process it in a Wappler API file - no data store required unless you want resilien…

BS5 Tool Tip

Nope. Previous use prior to 5 I never needed it. So now it is needed, eh? I did finally add the BS toggle. That’s when it worked… I just never thought to use the trigger. Thanks Mr. Soory… Duh.

Not understanding Code Suggest / Errors regarding Forms

Why do you have your form tag like: <form id="serverconnectform1" dmx-param="" action="../dmxConnect/api/loginvalidate.php" method="post" /> it should not end with /> but just > as forms are not sel…

Using sessions issue

I’m having problems with obtaining a value that starts as URL parameter. I have a form on a page that is accessed by a url that has a parameter - product_id. I have used ‘Session storage manager to …

Select component show only values not inserted in database

You need two database queries - one, which returns the items stored in the database and another one for the query items: You don’t need to filter the first one, just turn off the output for it. Th…

Does the browser component 'copy' work? If so, how to apply data to be copied

Hey all, Tried using the browser copy component/function - when using it - there is no option to select data for it to copy, but it does present a () so I inserted the data from that row, but no acti…

How would I upload an image on Paste with Summernote?

Hey all, I’ve come to a solution. Thanks @Digo, I had literally just been looking at TinyMCE just before your posted. I’ve now decided to implement this instead of QuillJS for ease of implementation …

How to use theme manager with Bootstrap 5

On your pages if you look under add frameworks Is this also bootstrap 5 local sounds like this could be bootstrap 5 slate?

CORS s3 upload error need updated tutorials for amazon s3

Ok seems I was trying establish a connection using the root / secret key instead of using the keys created for the bucket. Thanks for your help guys.

Guidance on design implementation - Professional Guidance Requested

Looking for insight and ideas on how I might implement the fly-in animations on a home page. Thanks in advance https://inspirothemes.com/polo/home-shop-v2.html

Storing response (json) received by API Form in Session - to use on other pages

Stored the API Form response in a session variable of type array and could access it everywhere after that

Lag in Page Load due to script

Two possible solutions… You could use the Preloader to only show the page when it’s finished loading. Or you could set a ‘hide’ on the container while the server connect action is executing. You co…

Almost there... Node ... database connection on Digital Ocean pointing to 127.0.0.1:3306?

Just make sure you local database connection is called “db” and set it up as you wish.

Framework7: Issue with Swiper and AppConnect Server Action. Help!

Hi guys good morning, So I have Wappler Swiper on my page. <div is=" dmx-swiper " id=" preview " dmx-bind:slides="viewed.data.view_list" dmx-bind:initial-slide="square" vertical="true" auto-height="…

Docker Machines / Certs not pulling with git

The certificate are located in the docker folder of the computer used to create the target: ~/.docker/machine/machines (on mac) sorry I’m not sure what the location is on Windows/Linux Just copy th…

Best Practice: Mobile App With Website (MySQL)

Hi all, I’ll be creating both a website and an app that will use the same database information. I know from the past that in Wappler it was best practice to make two different projects: A website …

How do I reveal the Navbar when scroll direction is up?

You can tell im new to the program, I had it set to show when scroll direction is = -1 , but when page is loaded this value would be 0. I have now set it to: scroll direction <= 0 and this has fixed t…

Copying page results in white page

I expect the answer is: The paths in the new file will need adjusting - ie the references to the css and js files etc.

Unable to make spinner work

Well, don’t use dmx-text here. It replaces the content if the button with the text. Use direct data binding inside the button: {{jsonDS.data.Login[session.data.preferredLanguage]}} >> <span class="sp…

Add quick code commenting

Well … for Mac it’s cmd + / and yes it is working, i just tested this for you again.

Select2 - Update

Multi select is now available in Wappler, thanks to the Tagify component: See:

Select2 Mult Select Usage guidance

Multi select is now available in Wappler, thanks to the Tagify component: See:

Multi-Select Inputs - How to Write an Array to the Database

Multi select is now available in Wappler, thanks to the Tagify component: See:

Multiple Select Form

Multi select is now available in Wappler, thanks to the Tagify component: See:

Use a user-specific Salt to hash passwords

Hi, I am new to Wappler and I think about coverting an application I wrote (currently Xojo Web2.0) to Wappler. For better security we currently use a user-specific Salt which is stored in the Databa…

Problem with Multi Insert

Can’t seem to get a multi insert to work from as follows. I have a repeat region that has two form fields inside. These are multiplied by the number entered in the input field above it. ( ‘how many …

Wss connection issue

When you publish a nodejs application with plesk, you need to turn off proxy mode in Apache & nginx settings. Because Nginx sends proxy requests to Apache and connection cannot be established with nod…

Posting from a multi form control

Your checkboxes must also have the same names ending with [] if you want to post multiple values. Example name="checkbox[]" Then the POST variable with this name will show a comma separated list of …

Help with ternary statement

<input type="hidden" id="inp_user_type_status" name="user_type_status" dmx-bind:value="((chklist_personal_data.data.query.user_type != null) &&(chklist_personal_data.data.query.user_type_override != 1…

API Action (server-side) - how to get status code?

api.status Its not available in picker.

Exit script in appconnect

I seem to be missing something here I am running if statements and if the condition is not met I want the flow to exit. Similar to: function dosomething(invar) { if (invar == false) { return; } …

Slideshow Mobile

How to get a slideshow to fill the viewport height on mobile devices? It seems to work well on desktop but even changing the properties doesn’t affect the viewport height for some reason.

Overflow problems

I managed to fix the problem, seems like it was because I had to set a realtive position to a parent container in order for the overflow to work, thanks anyway

Add Item to Array in a Server Connect

How does one concatenate values into an array in the server connect? As you can see, I have created a null value for the myarry. Then in the repeat I am trying to just add the values to the array and…

Best Version 4 Upgrade Documentation

Antony, the docs site is:

How to add ELSE in Dynamic Events Flow Editor

Just right click and add the Else step.

Working with JSON API, manipulating data and display with repeater (Open Trivia DB)

I am trying to build a quiz website using Open Trivia DB API. Example, https://opentdb.com/api.php?amount=10 The URL will give you a set of questions, with the correct and wrong answers for each of t…

Deleting two files before record

Looks like you have not set it up correctly. Each If File Exists should be followed by a THEN before the file delete like this. In your case the IF is doing nothing and if the file does not exist …

Problem of parser when analyzing data from an external API

Have you checked if your secondary front-end loads the same Javascript Wappler libraries?

Save 'Insert id" as a session to re-use

I’m wanting to pass the insert id from one page to another page and bind it to an insert column. I’m just not sure where in server connect I save the insert id to as a session and how to bind the id v…

Help with DB query output

First you need to group your results by the sam_sip_group_number and then get the results for each of these values in an array. So add a repeat step, after your query and apply the group by formatter…

Repeat loop api call returning 404

API Action failures don’t throw an Exception, hence Try/Catch doesn’t work There’s a feature request for this issue: If the loop stops after a 404 error, you need to untick the “Pass errors” che…

Knex timeout error when directly connecting to database

I’m trying to set up a new direct connection to my database and I get the following error: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?

Node.js server woes continue - Database updates, adds, server actions running after success of others all fail

Going to close this issue - I just went with a docker container and Linode which works and is fairly easy to setup. Got everything up and running except SSL with Traefik. Port already in use which is …

Htaccess file redirect

Hi folks, would anyone know how to create a hatches redirect for example: domain: subdaom.xyz.com redirect to: 0.0.0.0:8050 (where nodeJS site is) however I still need it to show the domain name a…

How to make Medium Editors Functioning in a Modal

Hello guys, It is the default tabindex="-1" property of bootstrap 4 modals which causes the issue with the editor. Removing it should fix this.

Slideshow component for mobile (viewport height)

I´m using the slideshow component and works perfectly on desktop but as you get to a smaller screen the images resize to the width on the parent container instead of covering the viewport height which…

Repeat objects in one 'list'

Hi, I have a simple api with a repeater which contains one query. I would like to merge or join the query result of each repeat into one json output so I can list this result on a page. How can I d…

Not loading the page from the top

Internal link is used for SPA pages, where you only want to refresh the content without reloading the whole page.

How to loop in serverconnect

Is there documentation on how the WHILE statement works in serverconnect? I’m looking for something like a FOR a= 1 to 5 to loop 5 times etc. Thanks,

Best practice to paste Goolge Tags and Facebook Pixel code into website via database?

o well this is what i end up doing … if you might need to do it in the future.

Bootstrap Select - How to add flag images along with text

Well the select control is a form input. You need to use the Dropdown component here for these purposes. You can add your flag icons there in the <a></a> tags.

Added Database Column Datetime - NodeJS

I am building the database and the relative tables. When I add a column called created and try to set it to Datetime with NOW and set the Default to knex.fn.now() by clicking the time icon.

Switch Control - reading static value when unchecked

I’m trying to filter a Data View with a Switch Control. I’m filtering through 9 other fields and this is working fine. I read numerous community threads and reviewing: Nothing seems to assist …

When I change background color in Theme Editor, it changes the background of text input also

Looking at Bootstrap 5 docs https://getbootstrap.com/docs/5.1/forms/form-control/#variables it shows that the $input-bg variable uses the $body-bg variable value, so this is not a bug with the theme m…

How do I catch API Error in case of connection issue?

Sorry all, nevermind. The TRY/CATCH does work. I had another API module in another SC I forgot to delete.

Mailer Setup

Hi Alex, You are not doing it correctly. You don’t need that ‘Setup MAiler’ step in your action. You need to set that up in your Globals now. Then it will be available to you in your Send Mail step. …

Ignore form field insert if blank

It would be more appropriate to use dynamic required/disabled attributes, instead of using a conditional region for fewer fields. dmx-bind:required="somecondition==1"

Help wanted on how to properly save date to database (NodeJS with Postgress)

Hi! I just had the same exact problem. I assume that your local timezone is UTC/GMT +1 so the 1 hour difference that you see is that you see there the UTC time, which means that it’s actually right. …

Security Provider Properties - Secret Key - from data source

Before i put this in as a feature request, i first want to find out if its a valid request. If its possible, is there any reason why it might not be a good idea? @George Scenario. I have multiple cl…

How do I edit the valid/invalid mesages when using forms

You can enter it under the validation rule you applied:

Help needed with syntax for repeating within js - PayPal Checkout Cart

I need to integrate with PayPal for cart payment because the client has used them for years and doesn’t want to change. Their guides are horrid to work with. Information everywhere and it’s hard to w…

Weird caching behaviour when reloading pages

When reloading pages on my server, they alternate between the current version and either an older version or a 404 error. I’ve tested this on multiple browsers. You can check here: eg. https://www.p…

How to import CSV from remote API?

Edit: Currently using the array fields directly, so low priority issue Hi, I’m using API Action to download a CSV file from a remote API. It’s downloaded as a text string, how do I use the Import CS…

App Connect Flow documentation

Is there any documentation on app connect flow other than the introduction? The intro mentions the following use cases which I’m interested in but I can’t find anything other than a few folk asking t…

API "Done" and "Success" Event not firing for some APIs in Client Side API

For Codes in the 200 series the following works case "210": return new ObjectResult("this works") { StatusCode = 210 }; and the following do not work case "210": …

Specific search criteria

I have a very large site that at one point I changed the security provider login page. I originally had a login.asp page that I needed to refer to but now it needs to be mylogin.asp. So if I am sear…

Import csv - data instead of file

Hi, I get csv data (not .csv file) from api, and I want to insert them to db. Is it possible? It looks like Import csv needs file. I tried to use Export csv before Import, to overwrite temp csv file a…

Session Variable getting reset on moving from one page to another

The problem was that i wrote if:'session.data.preferredLanguage=null' instead of if:'session.data.preferredLanguage==null' Working now

Can you suggest how to parse alphanumeric value starting with number or variable name with blank space

You can try something like records['3G/4G'] or records['RATE CUTTER'].

Base 64 Image - upload and save using wappler?

Stumped! Been at this for hours! Hi All, I am using webcam.js to take an image capture. I convert the javascript variable which it produces (base64) into a appconnect variable. I now have the form f…

New Node Server serving pages - DB not connecting

Ok, got it running. Was a db connect setting. Not sure which one since I just kept entering combinations of host name, etc till it worked. What is strange is that I must go in via ssh and start the s…

I am still trying to figure out how to handle YouTube api pageToken

Wappler Team I need some help in understanding what is the best way to return more than the default 50 items the YouTube api gives using the pageToken parameter from the YouTube api documentation. So …

API custom htttp codes

Lasterror seems to only run if the api does not run. api1.status can be used to access the status code

How to access API response , message and status code

I can access the api status as api1.status and the api data just like the json syntax api1.data.xxx

Sqlite3-Error

This looks wrong. Can you please re-select it using the folder icon? The path to the db should look like: not sure why is it wrong in your project.

Advice on flows, local storage & large datasets

Hi, I’m hoping to get a bit of advice… I’m currently re-developing a dashboard that was originally written using React (https://dashboard.ourfish.org). The reason it needs re-developing is due to the…

Form select fields not importing into server connect

For some reason my form import has two select fields missing. Both are for selecting ‘County’ and are identical apart from name and ID. I have been accessing them to use data inserts prior to this and…

Inline flow issue

@Teodor you showed me how to use inline flows to validate each step of a multi-step form by applying them to the ‘Next’ buttons to each step. I am trying to re-create one of the inline flows but now i…

How to create an advanced list filtering

Just add them as separate groups instead and add conditions to each group, where the filters should be applied.

Finally got node.js hosting up and running on Cloudways hosting... well sort of

Just got it working by changing the .htaccess file to: DirectoryIndex disabled RewriteEngine On RewriteRule ^(.*)$ http://localhost:3000/$1 [P,L] RewriteRule ^$ http://localhost:3000/ [P,L]

When does API Event "Done" Run

My Api is running but the dynamic event “Done” is not. I have put a simple debug step in the Done Event but it is not running . Does Done run in all cases or only after success or is there some other …

Image link to external website

Maybe you forgot to add https:// to your links

Cannot Pass Parameter to Page Flow Via dmx.parse

Try this dmx.parse("flow_stripe_error.run({stripe_error_message: ‘“ + result.error.message + “‘})");

Text alignment issue for different viewport sizes

I managed to fix it, I was changing it on the normal view instead of advanced and it was overiding the alignment. Thanks

I want to show on scroll down and hide it on scroll up a side bar, this is possible in wappler?

Add the browser component on the page and use the scroll y offset value to detect when the page has been scrolled down.

Conditional database insert

Just use the condition step in server connect and put the insert in the “then” section.

Trouble connecting with ssh key to hetzner docker server

Ok, You have an SSH key on your computer, it has two parts: Private key - id_rsa Public key - id_rsa.pub Once the public key is uploaded to your VPS, it won’t ask you for a password to login. You…

Dynamic Text+HyperLink+Text

Just don’t use the dmx-text in this case. Bind the data directly like: <label for="input1" class="form-label col-form-label"> {{jsonDS.data.TC1[session.data.preferredLanguage]}} <a dmx-bind:href="jso…

Mssql not updating table

Solved! The field for holding the password in mssql was less than the length of the encryption key. Also, I needed to pass in a value for a field that was set to “not null”.

Detect Pixel Color Of Image

Does anyone know of a lightweight module (nodejs or JavaScript) that will detect a pixels color for example the top left pixel of an image? I am essentially looking to detect if an uploaded image has…

Can you pls confirm these "empty" JWT Signing and OAuth2 php files are normal?

Hmm seems those are placed somehow in your root folder modules and not under their securityProviders, jwt or oauth2 sub folders. Not sure how you manage that, but you can delete and recreate them.

Change the Colour of Bootstrap 5 Button Border

Your <link rel="stylesheet" href="css/style.css" /> include should be after <link rel="stylesheet" href="bootstrap/5/slate/bootstrap.min.css" />

Required configuration option 'client' is missing

Trying to do a save all I got this error. Error exec update query: knex: Required configuration option ‘client’ is missing

Adding options to data store

This how-to shows how to add items to the data store with a button, but does not extend when there are options (radio buttons, checkboxes) such as sizes, colors. Maybe use a form??

Api processing question

I have an API that gets submitted and returns a batch ID number. The batch then will return a result, but i can take up to 2 to 3 minutes before the result is available via the API. Is there a way t…

Use Session Variable in Javascript

You need to use dmx.app.data in front of it and remove the quotes. email: dmx.app.data.session1.data.emailId If the session element is in a content page then add content before session1.

Localised validation error messages for forms

Hello I want to have text input validation errors in different languages. I have a fixed set of supported languages and i am able to use a dropdown list and session storage to store language prefere…

Sever Action Output Timing

You need to encapsulate such code (the response pipe thing only) inside a Promise: You use await to wait till the promise is resolved

Blank date field updating as 12/31/1969 instead of NULL

I have date fields in my sql tables that can be blank and is set to have a default value of null. When I update the table with the date fields left blank, the value 12/31/1969 (or 1969-12-31 in sql t…

Digital Ocean App Platform and Security Provider Restricts

Hi Everyone, I’ve been able to deploy my app onto Digital Ocean’s App Platform. Its connected to an existing Postgres DB cluster that I created thru Wappler DB Manager. My local Wappler target is a W…

Node.js multiple errors

Ah ha! I see what’s been happening. When I first set this up I made a typo in the password (in the database connection in globals). When you save the connection settings there’s no indication that the…

SQLite and Right Joins or Outer Joins Alternatives

During my quest to get more acquainted with NodeJS and SQLite, I ran into this error message: {“status”:“500”,“code”:“SQLITE_ERROR”,“message”:“select profile.* from profile right join login on login.l…

Flow not showing Else

New release v4.6.2 not showing Else in Inflow Condition, only shows then.

Math form functions

Here is my form field where I did the same thing. Maybe it will help you. <input type="hidden" class="form-control form-control-sm" id="hiddenId" name="hiddenId" aria-describedby="input3_help" readon…

How can I find out the address of an external request that calls the API directly?

How can I find out the address of an external request to the API of the application? I went through all the $_SERVER variables, but I can only get the address of the application itself. How can I find…

Then and else missing for the prompt component in flows

I think you are confusing the “prompt” with “confirm”. Only in “confirm” there are conditional then steps available. Otherwise indeed use the “conditional” action.

How Do You Fix SQLite DB Tables When An Update Fails

I’m getting an error that I’m not certain how I should resolve it after reading the error message. I’ve tried to add two more tables to an existing an SQLite DB with two tables. Below is the screensh…

Trigger Modal/Alert Client Side from Server Connect Webhook

For that you would need to set up a websocket to listen for real time updates on server. This is not currently implemented in Wappler although it’s on the roadmap. As a workaround you could use the s…

Masonry not initializing when inside a tab pane

Component like masonry, google maps, swiper and others that rely on the height of the element they are placed into will always have issues with tabs, modals, collapses, initially hidden elements. On …

SQLite set up

Hi all, I’m trying to set up an app with a Sqlite database, but I get stuck at somepointt. Following the @ben’s video (5. The databse) I set up a new projetc, with Docker as hosting and NodeJs as s…

Questions about bootstrap and capacitor for mobile

Decided to give mobile app building a try in wappler, however i have some questions i need answers to, I’ve tried to search for them in the forum but couldn’t find answers. Can we have multiple mai…

Database connections

I’m struggling to fully understand how to properly set up database connections. I have previously managed to setup a Database query that displays data in a repeat region. this works but if I access t…

Handy list for Bootstrap 5 manipulations

Bootstrap utilities are generated with our utility API and can be used to modify or extend our default set of utility classes via Sass. Our utility API is based on a series of Sass maps and functions …

Restricting calendar navigation and available dates

Question #1 answer, yes within, should have made that clearer, apologies @aschoijett! <dmx-calendar dmx-class:disable-prev="(currentStart < varToday.datetime)" dmx-class:disable-next="(currentEnd > v…

Validate an input dependant on other input

Just use: dmx-bind:required="block1.value" And make sure you don’t have just required attribute added, you need it dynamic!

Card Body and Footer not displaying in Repeat

Yes it was. Thanks - back to my CSS lessons

Modal_window.hide not working

Thanks - that worked! I had been saving each time using CTRL + S but it did save when I went to the main page.(and removed some other changes I tried along the way. Data is inserted each time I clic…

Bootstrap 5 Toasts Style

Is it possible to edit the following sass variables in the advanced view of the Theme Manager? $toast-max-width: 350px; $toast-padding-x: .75rem; $toast-padding-y:…

Data not showing from database

Hi, I am trying to pull some data from my database to show it on the page. I followed the instruction from this video When I follow the instruction on 8:46, mine only shows the headings…

Validator error message position

I have an issue with the validator feedback message position with a radio group. Any ideas how I can improve the display from from my current result as shown in screenshots attached. Here’s the layou…

CloudFlare as Axios Response in Network Tab Missing?

SOLVED WITH THIS FOR ANYONE WONDERING const axios = require('axios'); // you will need to install this const { toSystemPath } = require('../../../lib/core/path'); const fs = require('fs') const F…

Client side validation for select input

Yes that’s a bit more complex when also using validation. A solution here can be the inline flows for your next buttons. Run validate for your input(s), then add a 100ms wait, then add a condition w…

Integrate client side validation to Multi-Step form

Well there are dynamic events - on click > input > validate. You can keep the next button enabled and run the validate action instead. It will show the validation message when the input is not filled…

How to upload image with a url in the path

I have a file which I am need to get from a subdomain eg, images.thesite.com With he upload it is done under the domain eg, staff.thesite.com The website is running under the main domain eg. thesit…

Cannot find module 'socket.io-redis'

Now I actually see that you are missing an older redis module that we actually do not use any more. So probably you /lib files aren’t all up to date. Just delete the /lib folder and save a server ac…

Web server log concern - connect.session() MemoryStore is not designed for a production environmen

I’m seeing this on my web server logs - any ideas ? Warning: connect.session() MemoryStore is not designed for a production environment, as it will leak memory, and will not scale past a single pro…

Incremental $_POST var names

You wish I’m failing to understand if this is a PHP or a NodeJS project, so I’m assuming NodeJS. If there’s any difference between NodeJS and PHP is the string concatenation (PHP uses a dot, JavaSc…

Cronjob fatal error includes

Undefined index: REQUEST_METHOD So, turns out you can’t call this script directly. You have to use curl instead: curl http://yourwebsite.com/cron.php This is because $_SERVER['REQUEST_METHOD'] do…

Strange data binding output difference

You can’t use dynamic data without using a dynamic attribute. Your class="" attribute is not dynamic. It must be: dmx-bind:class="'f' + (floorprice > break_even ? 'good' : 'bad')" Or you can just u…

Off-canvas showing behind dimmed out and unable to select anything since update to 4.6.0

Z-index are defined by bootstrap per default: You can override them in theme manager if you need special values and create a custom theme.

Which js file load cordova-capacitor mobile app

Add the following to the bottom of the first Javascript file that loads with your app. This is <project-dir>/www/js/index.js for most Cordova projects. I am trying to enable push notification via…

Delay showing an image

I’ve solved it. Instead of a ternary on the page, I’ve put in a condition in the API and used Set Value to return either the value in the database or the static image via a condition. The page then u…

Submit redirect issue insert and email

Well please check for errors in the console in dev tools as well, when th server action runs. Also set the mailer debug option back to it’s default value 0.

Set Session value form url parameter on page load

I am getting extremely frustrated with what what was once simple tasks in Dreamweaver and dare I say web assist plugins, to now being really confusing with Wappler. For this instance all i am trying …

Complex formula in server action

You need to use the to number formatter in the formula:

Cdo not working in classic asp send mail

Microssoft has removed http://schemas.microsoft.com/cdo/configuration/ used in the mailer.asp script. I was just trying to add a mail reply to an old webapp for a costumer today. Is there a way to wo…

Issues with "project name already in use!"

Are you sure the project is no longer in your project list? Try to locate it and delete again. You can restart Wappler afterwards and check again just to be sure.

Server connect query with multiple rows add to client side array

Hi, I have a query which returns multiple rows and i simply want to add each of the returned rows to an existing client side array - seems like it should be straightforward would appreciate any guid…

Strange Space

I see your mark. However, is it normal for a database to enter a space when the input is empty? The only recourse will be the use of the trim(). It appears it’s the best fix for this issue. Thanks T…

Database Query Sorting Condition

What is this Sorting Condition and how would it be used? Can the sorting be done only if the condition is true?

CSV export/download

You should see your parameters and fill them with the necessary data, here is an example of a link with a parameter:

This is one way to show newest database record on bootstrap icon. (This is a How to Guide for Node.js Project)

If you have a database and you want to get the newest record each time a new entry is made in the database here is a way to do it, but first here is what I am talking about. 1.) Here you can see the …

Wappler Documentation - how was it done?

The docs uses lunr.js for the search. Another good search script is flexsearch. There are several good docs generators, you could try Docusaurus or docsify. You then write the docs in markdown and it…

Node Argon2 login unauthorized?

Thank you thank you! That fixed it. @Teodor what I meant is that I have tried to login with a SHA hash encrypted password. For example: Username: myusername Password: mypassword In the db: 9f338c…

Swiper in different devices

Hi all! Just trying to create a full width, 60vh height background swiper. So that in PC wold be fine a standard fullHD size, but for vertical devices it would be an almost square space. If I set the…

Sha512 encryption not working in a converted NodeJS project - error 401

Do you use the hash formatter for this? It should generate the same hash in NodeJS and .NET. The only thing I can think of is that it maybe in a different case, so that one is uppercase while the othe…

Server Side Variable as String in Javascript Code Question

Try: const srcImgName = this.parse(options.File_Name);

Refresh after login kicks you back out to login

I think you may need to check ‘No Auto Load’ on your logout action. It currently runs when the page loads and logs you out straight away (though doesn’t redirect). When you refresh the page you’re alr…

Grid style calendar

I love the calendar management tools in Wappler. I’ve checked it out and was able to quickly build a calendar using data however I need a view that shows all my employees (or a filtered group) listed …

Seeking Clarity on Login Timeout with Wappler and PHP

When you don’t use the remember me option, as in your example: a cookie won’t be created. I.e. the login will be kept for the current session (or until the browser is closed) In your case, when th…

Can I do a form to insert data with nested data?

Can I do a form to insert data with nested data? Table “products”: name prices (reference to table “prices”) Table “prices”: id currency amount Is it possible to create a form to add a product,…

Can Nodejs handle a .php url file request

Good day Wappler family. I want to rebuild an existing website using Nodejs as the server model. I have remote devices that upload values to be handled by a php script. Is it possible to setup Nodej…

How to set up the initial value for Data Iterator

Hey I am wondering if there is a way to set up the initial value for a Data Iterator? I see the properties have a “Start Index” field, I have been trying to use it but to no effect. What I am trying …

Routing for static serverless sites

The easiest way to do this is to create a folder for each of the pages which includes an index.html page containing the content. The anchor tag will look like. <a href="login/">login</a>

Can i use for loop in frontend?

i just want to populate data like this but for loop is not available in wappler, is there anyone can help me to convert my pure php html to wappler?

How to setup API Action paging?

To close the loop on this. I had to use a Set Value “Count” for the offset and add to it during every repeat. I used that inside of the API to increase the offset each time.

Query Question: If $_Get is in field

I have a situation where I need the dynamic GET value to be listed first. Right now the GET variable is always 4 digits. The noc1, noc2 and noc3 values can be 1-4 digits. I need to get a list of rec…

Database bindings

I am not sure what you are asking in the rest of the post but maybe this will make some sense. <td dmx-text="cost_reason"></td> Is the same as <td>{{cost_reason}}</td> The table generator uses th…

Anyone using Stripe tokenized charging?

I think what you are describing is basically this: initially you create a stripe customer and store that id in your db You collect payment details by creating a setupIntent and then use confirmSetup…

NodeJS Adding Dynamic Modals

Being new to NodeJS, and really wanting to build using its features. However, making the transition from PHP to Node is proving to be quite a challenge. The basic structure is not too difficult. Howe…

nextPageToken

Has anyone figure out a way to handle nextpagetoken from an api call in Wappler. I am still trying to figure out the best way to loop through YouTube nextpagetoken to get all the rows retuned from the…

Bootstrap dropdown Hover Highlight not working after selection

Well … your dropdowns all have a href of href="#" so when you click on them, the URL becomes yoursite.com/page.html# and all become active as all of them point to this specific URL.

Fit image to mobile screen and apply some padding

Well, you need to enable the responsive option for your image in the properties panel.

When using Summernote in a modal the dialog boxes for Inserting Image, Link and File are appearing beneath the modal

From what i see you can fix this by adding this: .note-modal { z-index:1070 !important; } to your custom css file.

Static websites Options while creating new project

No need for a backend(server model) if you are just serving plain html.

Cannot connect to the databse

Hello, I was using Wappler for the past few weeks and now I am facing difficulty in connecting my project to the database that I will need to be working on. At first, I was having difficulty connecti…

Javascript help needed

Hi there! I have 0.1% understanding of Javascript but I think I’m almost there with what I’m trying to achieve, could anyone with a better understanding help me out please? I’m trying to use an emoj…

Setting element Height -different device sizes

You can use vh for height and vw for width: e.g. 20vh (for 20% of the viewport height)

How to upload multiple file fields and include links to each in an email

I have a form that has 3 separate file uploads that are optional. In my server connect I check to see if there is a file to be uploaded and upload it if it is there. I do this for each file upload a…

Binding data in a repeat region

Then just wrap your paragraphs in a repeat region Add a repeat region on the page and put them inside … again you can either use a repeat region or a repeat children region - depends on the layout …

How to return the (webhook) request JSON body

Quick how-to: If you need to use the body of an incoming request (in JSON), for example when working with webhooks and authenticating them. You can use: $_POST.toJSON()

Set build version

Hello, In Wappler I have some way to set build version of my app ?

MySQL Remote connection problem

Further to the above. The default configuration for CSF ports is fine for Wappler to communicate at the host level as is localhost to the hosted site, all good. But for remote connections you will n…

What's turning star rating into a string?⭐

You seem to be trying to apply formatters expecting a number to a string value. Apply the toNumber formatter to the value first and then to the ceil/round.

A security provider using the API of another Wappler app

There is an app A that is hosted on a private server. This server can only be accessed from one ip address. This ip address hosts a second server that is open to the Internet. App B is hosted on this …

Server-side Conditional to set browser form checkboxes "checked" and disabled

In thius PHP project I have a query API that condenses multiple form submissions over multiple days. SELECT apo_Kunden_ID, MAX(int_event1) as int_event1,MAX(int_event2) as int_event2,MAX(int_event3) …

How would i see the POST data from a result in Node?

My payment gateway is returning values in POST with some results so i can do the rest of the transaction… But now im bit stuck on this one… If they returned it as GET… then easy peazy… Before in PHP…

How can I use a dmx-repeat in javascript?

You can’t do it like that. You would have to assign the result array to a variable and use a javascript loop to iterate through it. Something like this: var repeater = dmx.parse('serverconnect1.data.…

Retrieve the values in the array from a repeat

You can use join to make a comma separated string from the original query: qryMatchingKeys.join(',', 'user_id')

Windows 11 - [process exited with code 1] message in terminal

I’s a bug with the new Windows Terminal, change the default terminal to Windows-console-host and you will not get the popups. Setting can be found in the Windows 11 Settings > Privacy & security > For…

How would one extract values from a string

If you have data returned as a string: data: "some&string&goes&here" this: {{data.split('&')[0]}} will return some this: {{data.split('&')[1]}} will return string etc.

Send mail with a progress bar

I put the resolution to my problem, should anyone ever need it first I get the number of addresses to send the message to (addresses.count) So through “repeat”, I send the messages. At the start …

Seperate a URL variable into two separate variables

OK, with the link provided by @TomD I manage to figure it out using split(’-’)[0] for the first and split(’-’)[1] for the second. <dmx-value id="var_val" dmx-bind:value="query.code.split('-')[0] "><…

How to take current time, subtract an hour, and convert to UNIX timestamp?

You can easily see what any of these produce, when you create a set value step and bind any of these as a value for it, then run the server action. Don’t forget to enable output so you can see the va…

Right steps to call API with data from form?

You would define post variables in the api (the thing with all the execution steps) and in the api action itself you would use those post variables where you currently show PARAMs.

Not a "stupid" question.. if you dont know the answer... How to run JS code in NodeJS

@George Im trying to wrap my head around this… I want to know how do you run JS code on your pages with Node JS? I have watched so many tutorial on guys doing great thigs… There is 1000s of videos…

How to join 2 database tables [was: Records]

Hello to all; Can I show a list of records from two different tables in my DB?

Error from offcanvas component

Issue was related to an outdated bootstap5 local file, updating fixed issue

Form won't submit with decimal value

Try adding step="any" To the input (for number, otherwise it will not accept the decimal): <input type="number" step="any"> And see if that rectifies the issue @Heather_Mann?

Inview animation issue

Ok so i’ve adjusted the start to 90% visible… Which appears to have resolved the issue. Why? is a different matter … Cheers!

Realtime Data Update WebSocket for 2 wappler projects with same DB

Can any one help me how to do “Realtime Data Update using WebSocket for 2 wappler projects (Admin and Client) with same DB” ? I have gone through the below document, here websocket is used in same pr…

How to show SA response to a modal instead of using Wappler Notification or Alerts?

Well just use the dynamic data picker and select the values you want to use from your server action.

Can't launch node developer server due to missing modules

Try to run the npm install from the bottom toolbar, there is an icon for that

Swiper - how to play video when the slide is active

Wappler Version : 3.9.5 Operating System : windows 10 Server Model: Nodejs Database Type:mysql Hosting Type: Heroku Bootstrap 5 Expected behavior What do you think should happen? I am using a …

Condition inside Flow not returning TRUE

I removed the whole flow and one container show/hide condition on the page and re-set them and now seems to work fine. Confused but happy it seems fixed.

Passing a List to a ServerConnect using "IN"

The rules for the sql language and for the Wappler action are different. The action adds functionality to make queries easier. The Wappler query action expects an array when using the IN clause. You c…

Orphaned SC API Files

There is currently no an automatic way to find any server actions not being used on any page.

Refresh updated row

When you load the script again, set the offset to use the offset value of the existing action. It’ll be in the dynamic data.

Sharing Production Target with docker

Hello Everyone! I would like to share my production target with another dev. I’m using mac and he is using windows. Should I only send the certificates to him? Thanks!

How to create dynamic checkboxes?

Changing @Teodor 's suggested code worked like this for me – In the browser each input is dynamically produced from the contents of the online “trainings” table – The id and name are alike but most …

Add RAND() to paged query

Have a paged query and I would like to get it the option to select (x amount) of products but have random products picked. Is this even possible ?

Trouble with API output

okay, so it looks like their default is .xml data, so you need to actually change the Data Type from Auto to json to force it. Then the data displays correctly. Thank you for your help.

Lets Encrypt/Traefik - only securing www.domain.com not https://domain.com

Hey team, We are seeing that the domain.com is unsecured, but www.domain.com is secured. I’m sure this is an error that I’ve I’ve created - any guidance on how to correctly setup / rectify would be g…

Dymanically checking an array of checkboxes

Hi, I think there is a tutorial for this in community. Since you have the values comma seprated in single column, you need to split and find the value to check a checkbox. dmx-bind:checked="dbfield…

Argon2 - Database Insert step for Argon2 hashed password doesn't insert password into database

Thanks @Teodor, It helped to recognize issue. It occurred because there was no default value for email in Database Manager. Still I am thinking why I didn’t have this issue with SHA512. Anyway issue…

Force traefik to reissue certificate

OK so here goes (please backup! - I make no guarantees!) SSH into the server and run: sudo nano /var/lib/docker/volumes/wappler-compose_letsencrypt/_data/acme.json move the cursor to the start o…

Client IP Address debacle! Help please

I would use a global: < script type=“application/javascript” > function getIP(json) { document.write("My public IP address is: ", json.ip); dmx.global.set('ipadd',json.ip); } </ script> You can then…

Pagination/paging for SPA's

Hi, I have an SPA layout/master page with Bootstrap 5 Paging Generator on the bottom. I have a dozen content pages I would like to appear when the next (>) and previous (<) chevron icons are selected …

How can I check if mailer works correctly or not

They are the settings I use yes. But the one thing I don’t see there is the SMTP server address. For me it was SMTP Server: blizzard.mxrouting.net It could have been different for you based on reg…

Email Not sending - hellllpppp

Its working… i will describe what i have done and will post it here. thanks for all your help, very much appreciated vitor

Database connection ENOTFOUND

Hi there. Getting this error on digitalocean connecting with managed database: {"status":"500","code":"ENOTFOUND","message":"getaddrinfo ENOTFOUND db","stack":"Error: getaddrinfo ENOTFOUND db\n a…

How to input Boolean in MYSQL table field using Wappler

MySQL doesn’t have a built-in Boolean type. It uses TINYINT(1) instead. Zero is considered as false, and a non-zero value is considered as true. Wrapping a value with ' ' makes it a string, so you a…

Google BigQuery

Is it possible to use Google BigQuery as a data source in Wappler?

Split and input text and add % at start and end of split

So I know there are some smart people out there that could help with this. I have a search input which filters a custom query using LIKE Issus I am having is I need to split the search words and add…

How to store emailid

I am making a static website and I’m also using an unsupported database (Cosmos DB) to store my user accounts so i believe I cannot use the built in login system. In order to display users email id …

SHARP - Stacking Image Processing & Modifying Code

Hey guys, I’m trying to do some heavy image processing and while attempting to “stack” different effects on an image (see screenshot below) it seems like it will only actually “Sharpen” the image onc…

Export to csv only if query is not empty

You could use a condition step with the count formater and then > 0 After that put the export csv in the THEN step

Is the AWS SES transport functional?

Hi @patrick, Even if not in available in the UI is the ses transport for nodemail functional? Can I modify the SC json and add the needed options?

Exported CSV Dynamic Filename and Download & Delete CSV

I’ve only exported files with names which are a mixture of static and dynamic, but I expect the same would apply, eg: /admin/backups/items_{{TIMESTAMP.formatDate("yyyy-MM-dd HH-mm")}}.csv On a succe…

Formatting API Data that is an array in a table?

Pretty much the same as what’s explained in the second half of this tutorial:

Date picker not setting default value

I have an edit Modal that i am opening to update some content including a date. When i setup the generator for the form, i am choosing the Date type for the field. However, i cannot get the date tha…

Dynamic Sortable Table with custom query

I built a Bootstrap 5 table following the instructions at https://docs.wappler.io/t/dynamic-sortable-table/2866 but nothing will sort when I click the sort arrows. Searched through the community for p…

Change data in dynamic table to a link

You need to use the dynamic attributes > link for that, so your link code must be: <a dmx-bind:href="'/exports/' + name">Download</a>

Store SUM of input values from a repeat

If your inputs don’t have a static id then use their name in the expression below: repeat1.items.sum('hoursRate.value') if they have a static id replace the hoursRate with it. And of course change r…

Where query url FIlter

There’s an easier way to do this, as there is a way to conditionally apply the filter only when it returns a value directly in the query builder: Click the condition button and select the same expr…

How to upload html5 games to specific pages of website

If i follow you. Create the folders you need, Export the game content to the required folder Create a link from a menu or buttons to the index.html page in each game folder Upload your site to ser…

Swiper - Slide to Clicked Slide

Hi. I am having an issue with a looped swiper component. When I click on any of the slides, it animates from left to right and makes that slide active. But, this is true only for the first set, and…

Database for beginners Academy / how to

I don’t know their product but I really find vlaue in reading their blog / documentation / academy and amazing “how-to”. It’s really very well explained for people without IT background and the docu…

Bit of help please with a repeat when using an api

Hi guys, So I have an api which returns a number of pages (page: 1) in a query as well as data. I have the repeat for the products and inserts working well, but I want to somehow repeat the whole th…

Pass the GET URL parameter to server action step via $GET.key

Looks like you have mosunderstood how get post work. Maybe read up a bit, i’ll stick to the solution. For your use case here, the SA where you are verifying the UUID, save the uuid in a session varia…

IOS/Android Video Playback

I have searched around and found no results on wappler community to find out how to stop videos from launching to full screen on IOS and Android devices. Does anyone know how to stop a video on a sit…

How to trigger exception inside Try/Catch?

Hello, Can someone tell me how can I intentionally trigger an Exception inside a Try/Catch block? There’s no “Throw Exception” step Thanks!

Routing problems with external admin template for bootstrap 5

Thanks @sid, you were right, something in page was causing the problem, but not precisily my fault. Took me too much time trying to figure it out why this. I hope this helps to others if are planing …

How to add css to node content page

Links to the CSS files (Bootstrap, custom) are added on the layout pages and styles in those css files will automatically apply to all content pages attached to that layout. Is it a custom stylesheet…

Validate Data use advice

A server connect on the client webpage that takes a GET parameter and does the lookup against the DB. If it’s not there, raise an error (e.g. 404) and handle that in the client webpage with a browser …

How to set a default value?

You can make your parameter optional by adding ? after it:

Check if records exists in a table of a different database / LEFT JOIN with 2 databases

I solved the problem by using Join from the Data Transformations. I wasn’t aware that it uses a LEFT JOIN as standard. It would be great if I could set a condition in the Join properties. This shou…

Need some help on double input value from on source

I have a form with a hidden field for id-user and I have a select field in the form that gets the text field and value field from a table “users”. The value field in the select will add the users name…

Insert + many images / best way to proceed (need advice)

Ok. So the term “uploading” here could be “selecting” images. You can show hide sections in the form for your setup. First would show inputs… Second would be like a dropzone where images can be sel…

Displaying setValue inside field on-click

Take a look at my html source. You simply bind the value of the field to the form’s output value. Note that my button calls form.submit() and isn’t a submit type … That’s the key to this.

PHP + Docker: Not uploading images

Yes indeed it is fixed in Wappler 4.5, as mentioned in the release notes:

Deploy / build failure on Mac M1 Arm

Hi, not sure what has happened to my project but for some reason I cannot deploy it locally this evening. It’s been working fine until now, although I think there was a message about updating node mod…

File upload from canvas object

If you use a server connect form then you can use the following: var form = document.getElementById('form1'); form.dmxExtraData['file'] = blob; Change form1 to the id of your form, file is the name …

Dmx.parse Not workin

Right, so add content before var2.

How to export data to CSV?

I see problems on both of your screenshots. The path must be the path to the file you want to export, like /folder/file.csv Export data must be a collection/array - in your case the database query. …

Multi-domain redirect www to apex using docker

Just documenting a solution here after solving for a client… Extending off of the solution from @bpj here: Multiple domains on single docker app Client has multiple domains on the same web app and …

How to: Add multiple values to a single array item (array app connect component)

Hey all, Might not be explaining this perfectly, but I have a form, each form input has an array component associated with it. When a user types in a value into the input and presses enter this send…

Opened a cloned github project and cannot push changes

Getting the following error: Can Push using the github desktop app though.

How to reCAPTCHA inside Conditional Region?

I’m not able to summon reCAPTCHA which located within Conditional Region after the region re-shown. It works well on page load, but doesn’t show up when the conditional region is hidden and shown agai…

Relational DB Linking Question

In the variant table, id should be set as the unique key, not product_id.

How to reverse an email address for obfuscation

This works in set value: {{query.organisationEmail.split('').reverse().join('')}}

URL to Variable

You can access it via the UI after following: Or directly using {{query.product_id}}

Form returns Response has been truncated

Have a CSV file that I upload, it check to see if the product is already in the DB, if it is then it updates the buy price, if not then it inserts a new record. This is done in a repeat. Problem I a…

Is there a way of finding out what modules are used in a node project

OK I’ve officially given up trying to get docker running on my server and get Wappler to connect to it. So back to the other way which is to upload the Nodejs Project to the server. But one thing I …

Has anyone had success adding a Docker/NodeJS to Portainer?

Have been trying to get Wappler to upload to a Docker/Portainer Container for the past few day with no success. Has anyone been able to do this? If so could you give me any pointers.

How to pass session variable to php file without including app connect

PHP is being evaluated on the server and not on the client. You can only pass variables to PHP using the querystring or by using a post request.

Is there an easy way to auto format input field with thousand separator comma?

Is there an easy way to auto format input field with thousand separator comma?

FormatDATE/TIME

Never mind. Figured it out. Case sensitive. Thanks Brad.

OAuth2 Class Not Found Error PHP

That error comes when the file doesn’t exist or the case is incorrect. Check if lib/oauth/Oauth2.php exists and the case matches exactly.

Redirect - Unauthorized

You could set a Dynamic Event attached the Server Action based on the response. Ie, if unauthorised fire the Browser to redirect to the login. Or use a Security Restrict on the Action itself and spe…

How do I use dynamic variable inside PHP tags

Probably used wrong terminology here, sorry The following is an include file used with HTML2PDF. It works well as it is, but I want to make things dynamic. For instance I want to change the include…

Security manager possibly missing a nodejs module

Website works fine on local docker, however when I push it to my server and I try to goto a page that requires login I get this {“status”:“500”,“message”:“Couldn’t find database connection “live”.”,…

Date format in NodeJS is different to PHP

Updated the date/time formatters for nodeJS, you may try them out. util.zip (1.3 KB) This has an updated formatDate function that has support for milliseconds. Place it in lib/core. date.zip (836 B…

Database fields order

No there is no way to order them. We present them in the order they are stored in the database

Adding "spam-safe" backward email address 🛡

Are you looking for this maybe?

Custom query brings back duplicate records on page

When you create a repeat and bind data inside it, you need to pick the data from under repeat, not from server action.

Animations for iview has suddenly stopped working

Nope, on Mac, but I’ve just worked out what it is…nothing to do with Wappler. On my Mac I enabled reduce motion, and this also affected any webpages (did not think it would do that). I’ve just untic…

How to properly use Data Detail from a table within a repeat region (help!)

Hi. For nested data, I would recommend to not use Data Detail component. Instead, just use regular server connect, and use where condition formatter to filter it down to the nested value you are aft…

Problems with stripe payments

Working locally with Docker this does not work, however when put to a live server like Digital Ocean it works, does any one have any idea how to get this to work locally? I have followed the tutorial…

"Undefined Invalid Date" Message in Date/Time Picker For Dates in 2021...!

Antony, there is no year added in your date format. How does the calendar know which year have you selected to mark the correct date or allow selection? That’s why it breaks. You need to add year to y…

How best to unwrap a stringified JSON

You could but it seems a lot of effort for a simple formatter thst doesn’t take additional arguments or has a complex config. You just need to chain .parseJSON() to your stringified value.

NodeJS - ID of the last created user returning Null

NodeJS uses the knex package to build queries, the documentation mentions some problems with MSSQL when triggers are on the table. Knex.js - A SQL Query Builder for Javascript (knexjs.org) How does …

Email if field is changed

Do a single query to get the current values and then use a condition to see if the current value matches the API’s input value - if not, do your email steps…

Sum of value inside a repeat and outside

Use the Global Name, when using Name it will set a variable in the current scope, so the variable is only within the repeat, setting the Global Name will set a global variable.

Show/hide OR

Hello, Your code should be: dmx-show="type_loc.id == 7 || type_loc.id == 9 || type_loc.id == 21" It’s standard js operators

Error Sharp MODULE_NOT_FOUND

As stated in the release notes of the recent Wappler updates, we moved to optional installation of NodeJS modules. So to indicate that you have used the image processor sharp module, you need just to…

Display QueryString / $_GET on client side

It does answer it. Use query.var to get the value.

Database problems

Yes, this can happen from time to time, normally due to a failed update or accidently double submitting a change. Easiest way to fix is to reset the changes history for both targets

Query compared to access

I know this is basic but for some reason I struggle to figure it ou. I want to create a query with all of our turnpike transponders with info r from a separate list of the trucks that have the transp…

Sildershow in Modal - NodeJS - gives [object%20Object] when clicking on it

What are you putting as a Link? Is it a variable? Where the variable comes from? Maybe if it comes from a database query you’re doing something like {{ query }} instead of something like {{ query.da…

How to remove up/down arrows on form input?

SOLVED: This has worked, instead of messing with my bootstrap files, which could change. Put this Style code into the head AFTER all other styling files so that it would override the other styling…

URGENT: Bit of help on routes would be appriciated

@Hyperbytes Hey Brian, I ended up doing it a slightly different way than I was originally planning. I’ve got the router working finally. However rather than doing a query I’ve just set it to a selec…

Can I download a file using API

Hey Everyone, I am trying to download a file using an API request, however the file is not being downloaded, so is this currently possible in wappler? I have tried using a server connect api, and an…

How to handle translations, site w multiple languages

Well you can handle translations really well with app connect dynamic bindings and database with translations. So you can have a server connect action fetching the data for the current language and t…

Error when starting server in node missing module

I had the same issue caused by a Wappler upgrade a few release ago, and solved it by deleting the contents of the Wappler project lib folder and restarting Wappler, this will recreate the contents of …

SHARP - Remove Uploaded Image Background

Looking how to use Sharp (or other free JS method) to remove an image’s background color and make it transparent. Our customers will upload an image (typically with a white background) and I’m lookin…

NodeJS MaxBodyLenght exceded

When receiving data via the API, I ran into a similar problem. @Teodor, please tell me how this problem can be solved in NodeJS?

Split and filter query

Place each condition in a separate group and you can add a condition to each group by clicking on the question mark which will enable/ disable that condition. You will probably need to check if eac…

How to pass an array to an api?

Then what i suggested above is what you need to do. Add a hidden field in your form, use the array component value as a dynamic value for this hidden field and send it to your server action. There, ju…

Filter with input and multi values

Hi and thanks, but autocomplete it’s not good, it’s good with split my config my example works with two values, but it will be necessary to create more variables in order to accept more Thanks

How do I convert Unix Milliseconds to a readable format?

You can a similar expression in Wappler, eg: (var1.value / 1000).toDate().formatDate('dd-M-yyyy, ss')

Server API post JSON data array

It is a good one - will add array compatibility too.

How to paste value from clipboard into an input?

Hi, I’ve successfully implemented copy (or rather Write text to clipboard) feature using browser extension. Now the problem is how to paste the latest value from clipboard to an input? I expected wor…

How to upsert non-null columns (PostgreSQL)

Solved: INSERT INTO user t(id, name, randomStuff) VALUES (:P1, :P2, :P3) ON CONFLICT (id) DO UPDATE SET name=:P2, randomStuff=coalesce(:P3, t.randomStuff); coalesce returns the first non-null arg…

Help using min() function

Does anyone have experience with using the .min() function? I have 2 variables to determine the lowest one: My typed formula isn’t valid… What’s supposed to be there? The magic wand to get to the…

How to run database migration through CLI?

Hi, I’m setting up my NodeJS production deployment using Caprover. Something I haven’t figured out, what’s the command you run to deploy migrations? So I can automatically run that command at each d…

Custom Query Request Failed: error due to SQLeoVQ

I created a normal query and listed the users it shows on the browser, but the error stopped showing, and custom queries are working now. This is what is happening on my machine: I had running the …

Cannot do a basic query with Custom Query > Postgres 'Request Failed: error,'

You shouldn’t develop with your live server as active target. Also develop locally and when done and tested - then just deploy at once. Custom queries take a full round trip to the server to execute …

Dynamic Meta tags?

You’re more likely to get success with dmx-bind:content="DynamicDataGoesHere"

Access Denied with Mysql in docker container

Its Works fine! I was trying to define the ports the same in database connections and project definition. Thanks for your help!

Database insert through a query

Hi all, In the database I’ve got 2 tables, (customer details and bookings) linked trough the ID field as foreign key. I’m building a form, where a new customer would enter his details and in the sam…

Security Providers not working due to invalid name

As a general rule, don’t use dashes in names, underscored are OK. dashes are ok in page names of course. I assume it may confuse the dynamic coding as it could represent a minus sign and the framewo…

Circular progress / dmx-bind doesn't work

Hi. Happy new year! Does anyone know a good library, codepen or something for circular and semi-circular progress bars?

How to send a response with custom header

I’ve set up a public endpoint thru wappler. A webflow form submits to this endpoint. This works great. But now I want to send a response back to the webflow site. I need the response to look like th…

How to get OAuth2 token on client side?

I use Auth0 with Wappler actions like this: From what I’ve seen the token are in the server session and I use redis session so deployment don’t break client session. I’m trying now to use a libra…

Wappler dynamic modal body form doesn't work

I found the mistake. If you first do an offcanvas layer and you open a modal layer from there, the forms do not work and you get many errors in Chrome dev tools (F12) and see there’s warning messages…

Sketch

Hi, Need instructions on video on sketch design to wappler? Also need tutorial on : backend for customer to manage adding their own product and blog if making for a client? Do we have to build an e…

Control bootstrap classes from multiple conditions

Hi. Seems like you need to apply multiple conditional classes. dmx-class:row-col-4="var1.value==0" dmx-class:row-col-3="var1.value==1".... Here, I am assuming you have a variable which has the coun…

Paged Query + Repeat

Paged query returns a different data structure. You need to add .data in Expression:

Create a live iCalendar feed (ics)

Is there way for Wappler to create an iCal feed file (.ics)? I have a database of a schedule of events, and I am wanting to create a live iCalendar feed of the events. Any suggestions?

Slow insert records into the database

@George, have there been any major changes in the repeat component in SC since Wappler ver. 2? It feels like the multi-insert has become slower. Question to the community. Has anyone worked with larg…

Knex migration adds "on update CURRENT_TIMESTAMP" to created_at column

Thanks! Here’s I managed to workaround: table.timestamp('created_at').defaultTo(knex.fn.now()); This will create the column with the default value of CURRENT_TIMESTAMP, but without the “on update” s…

CSV with spaces in headers

Just a share… Been playing around with importing csv files and basically generating tables. Here is a notice: CSV with headers that have a space aka “First Name” gets generated as [‘First Name’] bu…

NodeJS - Condition Server Side not working. But in PHP it does. Same stucture

Well that is why I am asking what exactly do you want to check… If you want to check if the file is selected in the input then use the post var as a condition. If you want to check if a file is uplo…

Theme Manager - How Do I Install Custom Fonts?

This is a Question hoping for a How To procedure. I see questions about unresolved issues with Theme Manager but nothing turns up in the Docs or Tutorials or How To categories about the limitations o…

List of all the dmx functions

Here an overview of the most important attributes and functions All dmx- dom attributes, they work on all element, also elements that are not App Connect components, these attributes always expect ex…

Ho to renew Traefik certificate?

I believe Traefik renews automatically, have you checked the expiration date?

Stripe Webhook: how to test with metadata?

I’ve been struggling with this for weeks… Would love some help! I need to test my webhook by doing something with the MetaData that is sent by Stripe. My set up: I have a paymentintent where I se…

How to delay the stripe client side component?

I’m using stripe connect, I need to add the connected ‘account_id’ to the client side Stripe component. So I get the account_id from the db, and load it in there using a dynamic attribute: However…

Open Modal by link

Have you tried this <a href="#" data-toggle="modal" data-target="#myModal"> Launch modal </a>

Nodejs redirect to intended URL after login

As I continue to recreate my website in nodejs, I find myself going back to my old topics and responses to refresh my memory on how I set things up in php and adapt it to nodejs. In my current todo t…

Error saving page with Server Side Expression

Hi, I get this error when saving my main layout page with this expression: <link rel="stylesheet" href="<%=_('$_SESSION.theme')%>" /> The error: ReferenceError: refreshActionTreeMeta is not defined…

Reconciling Tutorials with Current 4.4.5

I’m working with PHP/MySQL Wappler projects from 2 years ago. I’m trying to conform the new way I create database connections to show a table view of columns using the Bootstrap Table Generator on my…

API Login with Cookie authentication

I need to do login to a OData Rest API (using a GET method) that returns a Set-Cookie header. I’ve used a API Form to make de GET request and was successful, but the Cookie is not stored neither I ca…

NPM Tutorial for a newbie? Node

Hi Guys Im very new to the node thing… so even if this sounds very stupid… I want to do a calanader ics in wappler… so @JonL pointed out a very cool ics-npm Its all great and managed to - install…

Nodejs Setup - Links relative to "root" or "document" whats the best option. Using routing but not SPA

Nodejs Setup - Links relative to “root” or “document” whats the best option. Using routing but not SPA

Create Capacitor Android Mobile Application in Wappler, with Android Studio (GUIDE)

There has been recent discussion on replacing Cordova with Capacitor for building mobile and desktop applications, so thought I’d give it a go to see how simple it is to get an Android Application up …

Wappler app in different country language

Can we make app in english and in different language side by side at same time? And make the input field in other language as well ?

How do I target by key in a repeat

My situation is, I have a fully dynamic site, with a swiper, the slide needs to be controlled by a bunch of sub navigation, because some things are in different conditional areas I can not target the …

How to build a dynamic partial?

In my nodejs content page, I have 4 tables with same content inside. The only changes in this bootstrap table is that the repeat array is filtered based on a value. Now, I want to build these tables a…

Theme Template

Hi All, I’ve adjusted the colours through theme manager but the example here is not updating, even with a refresh. It’s as if another theme style is overriding any changes, is there something else I…

Create Survey Scoring Functionality

I’d like to create functionality where a group of people (say a committee of 5 people) fill out a survey of 8 questions but in order of highest individual priority to lowest individual priority. Total…

Best way to sync between 2 computers

Hi @sevenrice, The best way would be to use the integrated GIT Repositories that Wappler offers. This would allow you to work on any number of computers and share your project with others as well.

Striped Table

PLEASE DELETE THE BUG TEMPLATE DUMMY TEXT BEFORE POSTING THE TOPIC! Wappler Version :4.4.4 Operating System :Windows 10 Server Model: Database Type: myphpadmin SQL Hosting Type: Using the bootst…

Time sheet calculator?

Can I build a time sheet calculator in Wappler? I previously built one by hand in php, and am trying to recreate in Wappler. Thank You

Multiple masonry filters

So I worked it out dmx-bind:repeat=“view_orders.data.repeat.where(query1[0].surName.lowercase(), inp_filtername.value.lowercase(), ‘fuzzySearch’).where(supplier.lowercase(), inp_selSupplier.selected…

Is there a way to stop a form submitting when 'enter' is pressed?

Hey all, Currently if a user hits enter/return on a form input - the form will submit. I think we can improve the UX of our specific scenario by disallowing this and instead triggering form submit on…

Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?

Finally got it to work, i was connecting to the database with port 5432 in server connect, Here is what i tried >> I created a connection pool, and i added the connection pool details along with its…

How to bind class with dynamic class name?

What if you try: dmx-bind:class="'static-part' + dynamic -part"

How to transform JSON to a simple structure?

I think the parse is probably missing in the transform function, since you pass the data as an expression string it must be parsed first. exports.transform0 = function(options) { options = this.par…

Node js layout page

Is it possible to control the size of the content section? I’d like to make it 9 columns wide and have the leftover 3 columns be the same text for all pages and hidden on smaller screens. Thanks in…

Has anyone managed to setup docker and connect to it from aapanel-docker manager 3.4

Running aapanel on ubuntu server which uses the aapanel for web management. I use Docker Manager 3.4 Problem I have is each time I try and connect from Wappler I get Server: ERROR: Cannot connect t…

DataView Filter by Date, and Dynamic Binding on Repeats

In App Connect there is no NOW() available. To get the current date time you need to add the date and time component on the page:

Actual date and time

Hi, There is a {{NOW}} binding available in server actions. You can use that in value part of insert step.

Clarity About Project Updater and My Project Files

Hey there @Teodor… Can you please clarify something for me with the Project Updater. I am currently using Wappler 3.9.7 If I install the latest release and click [Cancel] when the Project Assets Up…