Velo Glossary

Let us know if we missed any terms you would find helpful.

Tip: See the full Velo API reference to start coding on your Wix site.

$w

$w is the syntax, or set of rules, that you use in your code to select an element on your page. To select an element, type $w in the code editor (Wix Studio), or the code editor (Wix Editor), then enclose the name of the element in parenthesis and quotes, and add a hashtag before the element name. For example, $w('#myButton'). Once you select an element, you can use the APIs to work with its properties and functions in your code.

API

Velo APIs are sets of properties and functions that let you use code to control your site's functionality. There are APIs that let you interact with page elements, your site’s database content, and external services. The APIs also give you access to information about your site and its visitors.

Backend

The Backend section is located in the Public & Backend section of the Code sidebar (Wix Studio), or the Code sidebar (Wix Editor). This is where you add code that you want to run server-side. Backend files and code are not publicly accessible from your site. You may want some of your code to run server-side and not in the front-end; for example, your site might be exposed to security risks if the code runs in the front-end.

You can call server-side code from your front-end code using web modules, and even test your backend code in the editor using Functional testing.

Blocks

Wix Blocks allows you to build your own Velo packages, and reuse your code across multiple Wix sites.

Calculated fields

When you create a dynamic page, Velo calculates what the URL would be for any items that could appear on that page. The prefix and dynamic sections of that URL are added to each item in your collection as a calculated field. The dynamic page you create can display any item whose calculated field is the same as the prefix and dynamic sections you define when you create the page.

Code packages

Code packages are pre-written code, also known as code libraries that you can add to your site(s). Using code packages is a great way to minimize your development time and the amount of code you need to write. There are 2 types of code packages: Velo Packages and npm Packages. You can add these packages in the Code Packages section of the Code sidebar. You can also create your own Velo Package using Wix Blocks.

Code editor

You edit the code for your site in the code editor (Wix Studio), or in the code editor (Wix Editor), located at the bottom of the editor.

The code editor displays your site's code files in tabs. When you use the Properties and Events panel to add an event to your element, the code for that event is automatically placed in the tab for that page's code. If you have code that relates to a specific page only, you would add it here.

When an element appears on all your site pages and you want to add functionality to it that will be consistent across your site, add that code in the masterPage.js file in the Page Code section of the Code sidebar (Wix Studio), or the Code sidebar (Wix Editor). When you use the Properties panel to add an event to your element that appears on all pages, the code for that event is automatically placed there. If you have code that relates to all the pages of your site, add it here.

Connect to data panel

To work with connecting to data, you need to connect elements on your page to a dataset using the Connect to Data panel. To open the panel, click the Connect to Data icon for your element. 

Connecting to data

Connecting to Data is the process of connecting your elements to a collection. You can bind your elements to a collection to display content or to capture user input. To bind your elements to a collection you need to have a dataset on your page.

CMS

The Content Management System (CMS) is where you edit the contents of your database collections. There is a CMS in the Editor for your Sandbox Database and in the Wix Database app for your Live Database. Sandbox and Live are not always enabled in the CMS.

Database

A database is made up of one or more collections. You can add as many collections as you need to your database to manage your site's content.

Your site has two databases that are separate but related to each other. One database is your site's Sandbox database, and the other is your site's Live database. The Sandbox database is where you work while developing your site. The Live database is what your visitors interact with when your site is published. You add a collection to your database in the Editor, and when you publish your site its live version is added to the Live database. You view the Live database in the Wix Database App.

Sandbox and Live are not always enabled for your collections. Learn more here.

Database collection

A database collection is a table of data that you can use in a Wix site. Each row in the table represents an item in the collection. Each column in the table is a field in your collection, which can be of a specific data type. You can connect elements in your site to fields in your collection using connecting to data.

Dataset

A dataset is a component that you add to your page that enables you to connect the elements on your page to your collections. A dataset controls which collection is available for your elements to use, whether your elements can display, add to, or modify the items in your collection, as well as how the data is sorted or filtered. You can use a dataset on a regular page as well as a dynamic page. Datasets are not displayed in your published site.

Dataset mode

The dataset mode is a setting that controls what the elements that are connected to your collection can do with the collection's data. Options are Read & Write, Read-only, and Write-only. 

Dynamic item page

A dynamic item page is a dynamic page that is used to display one item from your collection at a time. When you create the URL for a dynamic item page, you need to use a field in your collection that uniquely identifies each item in your collection.

Dynamic list page

A dynamic list page is a dynamic page that is used to display a number of items from your collection that all match the same criteria. When you create the URL for a dynamic list page, you need to use fields in your collection that identify a group of items in your collection.

Dynamic page

A dynamic page is a page you design with one layout that can be used over and over again, each time displaying a different item or items from your database collection. The actual content a dynamic page displays is determined by its URL. There are two types of dynamic pages, dynamic item pages and dynamic list pages.

Dynamic page dataset

A dynamic page dataset is a component that is added to your page automatically when you create a dynamic page. Like a regular dataset, it enables you to connect the elements on your page to your collections. It also allows you to add more filters and to sort the content on your page. 

Element ID

The element ID is the name assigned to an element in your site. When you hover over or select an element in the Wix Editor, you can see the the element’s ID following the hashtag.

Velo assigns a default ID to every element you add to your site. You can change the ID in the Properties panel

The ID is used to identify the element in your code. For example, to work with an element named myButton, you would write $w(“#myButton”) in your code.

Event

An event is something that can happen to an element, usually as the result of a user action. For example, onClick is the event that occurs when a user clicks an element. If you want your site to do something, or react, when an event occurs to your element, you add an event handler to your element. 

Event handler

An event handler is the function that holds the code you want to run when an event occurs to an element. Your site watches elements to see if events happen to them. If an event happens that has an event handler, the code in the event handler function will run.

Field

A field is the place in your collection where you store data, and is represented as a column in the CMS. Every item in your collection is made up of one or more fields that can be of type Text, Image, Boolean, Number, Date and Time, or Rich Text. Collections also have default system fields that are hidden by default. 

Field ID

A field ID is the name that you use to refer a field in a collection, in code.

When you add a new field in the CMS, you can specify the field ID. If you don't specify your own field ID, one is created based on the Field Name. You cannot change the field ID once the field has been created.

Field name

The Field Name is the label you see at the top of the column for that field in the CMS. The Field Name is also used when connecting page elements to a dataset in the Editor.

When you add a new field in the CMS, you specify the Field Name. You can change the Field Name after the field has been created, and all connections to that field will be updated. 

Field type

The Field Type defines what kinds of data the field contains. The field type can be Text, Image, Boolean, Number, Date and Time, Rich Text, URL, or Document. When you add a new field in the CMS, you specify the field type. 

The field type is used when connecting page elements to fields in your collections.

Functional testing

With functional testing, you can easily and quickly test and debug your backend code directly in the Velo code editor. Functional Testing saves you the time and effort of building your own system for triggering and testing your backend functions. 

Hook

A hook is code that runs before or after certain interactions with your site. Data hooks run code before or after certain interactions with your site's collections. Data binding router hooks allow you to intercept the process of a dynamic page's data getting bound to the page. Some data binding router hooks can be used with router pages as well.

HTTP Endpoint

The URL where a web service can be accessed by an application. In Velo, web services built on HTTP endpoints are used to connect site logging tools and external database collections to Wix sites. 

HTTP Functions

HTTP functions let you create functions to expose the functionality of your site as a service. That means other people can use the functionality of your site by writing code that calls your site's API as defined by Velo Functions you create.

Interaction

An interaction is custom functionality you add that allows your site to respond to events that occur in your site. 

Item

An item is one record in a collection and is represented as a row in the CMS. Every item in your collection is made up of one or more fields.

Live database

The Live database is the database that is associated with your published site. The data in the Live database is what is visible on your published site when you display data. It is also the database where data you collect in your live site is stored. You can sync between databases and copy data from the Sandbox to your Live database, or overwrite your Live data to your Sandbox to work with it in the Editor.

Sandbox and Live are not always enabled for your collections. Learn more here.

Log

Collection of log entries associated with the same Wix site and namespace. Each log has a labels section, which indicates the log’s site URL and namespace.

Log Entry

Wix Logs displays logs as a single log entry in JSON format. You can view log entries in real time as they’re recorded, or connect them to an external monitoring tool for analysis.

Logs

Wix Logs lets you gather information about logs, HTTP functions, and web module functions. You can view logs in real time, or connect logs to an external monitoring tool to generate event metrics and perform error log analysis. Each log is represented by a JSON object.

Monitoring Dashboard

Velo's built-in Monitoring Dashboard is a tool for monitoring site performance. You can access the Monitoring Dashboard in the Developer Tools section of the Code sidebar. It’s important to track your code’s performance on sites containing backend code and Wix Data API requests. You can also use Velo’s site logging tool to monitor your site’s performance.

onReady

When a page loads in a browser, it's possible for the code on the page to run before the page finishes loading. This can cause an error if your code tries to reference an element in the page before it's loaded.

Because of this, you need to make sure that all the elements on your page have loaded before you try to access them using code. You do this is by including all your code that uses the $w selector in the function that is added by default to the top of every page's code:

Copy

Payload

Payload refers to the actual data sent in a message. For Velo's site logging feature, the JSON payload is the message included in the site activity’s log entry, such as an error message or console log.

Permissions

Permissions give you control over which visitors are allowed to interact with the data in your collections and what they are allowed to do. The available permissions are create, read, update, and delete. You can assign different permissions to different roles

Primary field

A collection's Primary field is used to enable another collection to connect to it and reference its data. 

Every database collection has a Primary field. The Primary field is indicated by the lock icon next to its field name. By default, the Title field is the Primary field. However, you can define any text field in the collection as the Primary field. 

Promise

A JavaScript function that returns a promise is returning a contract to eventually produce a return value when an asynchronous operation is completed. A Promise is said to be fulfilled or resolved when its value is finally known.

There are two main ways to work with promises that are returned from a function:

  • then( ) - Allows you more control, but is a bit more complicated.
  • async/await - Allows you to work with asynchronous code as if it were synchronous.

Properties panel

The Properties panel lets you work with Velo on the elements in your site. You can use the Properties panel to add event handlers to your elements and define their default behavior when your page loads.

Public/front-end

The Public section of the Code sidebar Code Files section contains files that are publicly accessible from your site. The code you add here runs in the front-end, or client. 

Query

A query is a request for information from a database collection. For example, you might want to retrieve a list of all of the site members in your Members collection who live in a specific country. You can query your collections using the wix-data query function.

Regular editor

The remote Wix Editor you use to edit and preview your site's UI and code.

Release manager

In the Release Manager you can see the current published version of your site and the current test site. You can also create, edit, and delete test site versions.

Remote repository

This is where all your site revisions are stored online. When you perform a save in the Editor, a new site revision is added to your Site History in the remote repository.

Repeaters

Repeaters allow you to create one layout for a group of elements. The repeater then uses that layout for each Repeater Item it displays. Each Repeater Item uses the same layout but displays different content.

You can use Repeaters to display static content, meaning you set the elements' content for each Repeater Item in the Editor and it doesn't change. You can also connect Repeaters to the data in a collection. Each Repeater Item then uses the same element layout to display different content in your collection, based on how you connect your elements.

Revision

Every time you manually save or publish your site following a change, a new revision of your site is created. You can view and manage your revisions in your Site History. You can also create a test site or monitor Wix Logs for a specific revision of your site.

Roles

Together with permissions, roles give you control over which visitors are allowed to interact with the data in your collections and what they are allowed to do. Every person that visits your site falls into one of four roles, and you can assign specific permissions to each role. Possible roles are admin, site member author, site member, and anyone. 

Router

A router lets you customize exactly how your site handles incoming requests. You can customize what happens when your site receives a request to display a page. You can also control the information that search engines use to index the pages in your site.

Sandbox database

The Sandbox database is the database that is associated with your site in the Wix Editor. Data in the Sandbox is not visible on your published site unless you sync your collection with your Live database. Data in the Sandbox is affected by your actions in Preview mode.

Sandbox and Live are not always enabled for your collections. Learn more here.

Schema/structure

A database schema is the definition of a database's structure. In Velo, the schema defines which fields are in each of your collections and their type. However, in some cases, your collections can contain fields that are not part of the schema.

When you create a new field in the CMS in the Sandbox database, the field is added to the schema. The schema is synced from your Sandbox collections to your Live collections when you publish your site. Syncing a collection's data will not sync the collection's schema.

Scope

A scope defines which elements you can select with a selector function, such as $w( ), and how those elements behave when they are selected. Depending on which context you received a selector function from, it will either select from the global scope or the repeated item scope.

Service plugin

Velo service plugins (formerly SPIs) allow you to extend and customize your site’s functionality. You can use service plugins to inject your own custom logic into a part of an existing app’s flow. You can also use service plugins to integrate with 3rd-party services so that your Wix site and the external services can communicate seamlessly.

The Code sidebar in Wix Editor, or Code sidebar in Wix Studio, shows all of the files that make up your site, including pages, lightboxes, files, routers, and database collections. Working in the sidebar, you can perform a variety of actions that affect your site.

Submit button

A Submit button is a button that you add to a page with User Input elements that enable visitors to submit data they have entered, to your collection.

You create a Submit button by adding a regular button to your page and setting its Link connects to action to Submit in the Connect Button panel.

Sync (copy/overwrite)

Sync allows you to move your data between your Sandbox and Live databases. You can copy selected or all items in a collection from a Sandbox collection to the live version of that collection. You can also overwrite a Sandbox collection with all the data from the live version, or overwrite all your Sandbox collections with the data from their live versions. You can only initiate sync operations from the Sandbox database. 

Sandbox and Live are not always enabled for your collections. Learn more here.

System fields

System fields are fields that are added automatically to each collection, are hidden by default, and cannot be edited. System fields are ID, Date Created, Last Updated, and Owner. 

Test site

A test site is a version of your site that you may release to a percentage of your site visitors so that you can test that it's working before publishing. You can manage your test sites from the Release Manager.

User input elements

User Input elements allow you to capture and store user data in a database collection. To use User Input elements, you need to connect them to a dataset whose mode is set to either Write-only or Read & Write.

Validating

Validating is the process of ensuring that data that visitors enter into a user input element matches your criteria for that data and what you expect them to enter. You can validate user input with the Settings panel or with code.

Wix database app

The Wix Database app is in the My Account section of your site. This is where you manage your Live database collections.

Web modules

Web modules enable you to write functions that run server-side in the backend, and easily call them in your client-side code. With web modules you can import functions from backend into files or scripts in public, knowing they will run server-side. Velo handles all the client-server communication required to enable this access.

Did this help?