Must-Have Velo Glossary for Coders: 60+ Essential Terms Precisely Explained

Written by velo | Published 2021/04/14
Tech Story Tags: velo | software-development | backend | web-development | wix | beginner | javascript | coding-with-velo

TLDR Velo is a full-stack development platform that empowers you to rapidly build, manage and deploy professional web apps. There are APIs that let you interact with page elements, your site’s database content, and external services. You edit the code for your site in the code panel, which is displayed at the bottom of the Editor. The Code Panel displays your site's code files in tabs and displays your code files. You can connect elements in your site to a database collection using the Connect to Data panel.via the TL;DR App

$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 panel, 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

Backend is the section in the Velo Sidebar Code Files section where you add code that you want to run server-side. Files in Backend with a .js extension, 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, if your site will have security risks if the code runs in the front-end. You can call server-side code from your front-end code using web modules

Code panel

You edit the code for your site in the code panel, which is displayed at the bottom of the Editor.
The Code Panel displays your site's code files in tabs. When you use the Properties 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. 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 in the masterPage.js file. If you have code that relates to all the pages of your site, you would 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.

Content Manager

The Content Manager is where you edit the contents of your database collections. There is a Content Manager in the Editor for your Sandbox Database and in the Wix Database app for your Live Database. Sandbox and Live are not always enabled for your collections. Learn more here.

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

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

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 category page

dynamic category 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 category page, you need to use fields in your collection that identify a group of items in your collection.

Dynamic item page

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 page

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 category pages.

Dynamic page dataset

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

field is the place in your collection where you store data, and is represented as a column in the Content Manager. 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 key

Field Key is the name that you use to refer a field in a collection, in code.
When you add a new field in the Content Manager, you can specify the Field Key. If you don't specify your own Field Key, one is created based on the Field Name. You cannot change the Field Key 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 Content Manager. The Field Name is also used when connecting page elements to a dataset in the Editor.
When you add a new field in the Content Manager, 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 Content Manager, you specify the field type. 
The field type is used when connecting page elements to fields in your collections.

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 monitoring 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 Content Manager. 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.

Local Editor

The local Wix Editor you use to edit your local project's UI and preview the local version of your site.

Local Project

A project that contains all the files for the local version of your site. These include all of your site's code as well as its UI. The project also contains some project configuration files.

Log

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

Log Entry

Velo's site monitoring tool records each Wix site event 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.

Main Field

A collection's Main field is used to enable another collection to connect to it and reference its data.
Every database collection has a Main field. The Main field is indicated by the lock icon next to its field name. By default, the Title field is the Main field. However, you can define any text field in the collection as the Main field. 

Mixin

A mixin is a class containing properties and functions that other classes can use. Instead of defining certain functions and properties over and over again in multiple classes, they’re defined once in a mixin, and then the mixin is added to the relevant classes.
For example, the HiddenCollapsedMixin has properties and functions relating to hiding and collapsing elements. Since you can hide and collapse many types of elements, this mixin is added (mixed in) to the list of properties and functions for text, image, and other elements. You can see which mixins are included for each class in the API Reference under the “Mixes In” heading.

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:
$w.onReady(function() {
// Put all your $w code here
});

Payload

Payload refers to the actual data sent in a message. For Velo's site monitoring feature, the JSON payload is the message included in the site event’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

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

Pull

Calling the pull command in the Velo CLI pulls down the most recent version of your Wix project from the remote repository. Then you can merge the version into your local site and work with it in the Local Editor.

Push

When you are editing a Wix site in a Local Editor, you can push your changes to the remote repository by clicking Push Version. This means the version of the site in your Local Editor becomes the version in the Regular Editor and the latest version in your site history. 

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 Candidate

release candidate 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 release candidates from the Release Manager.

Release Manager

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

Remote Repository

This is where all your site revisions are stored online. When you perform a save in the Regular Editor or push a version from the Local 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 release candidate or monitor site events for a specific revision of your site.

Roles

Together with permissionsroles 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

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.

Structure/Schema

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 Content Manager 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.

Site Monitoring

Velo's site monitoring feature lets you gather information about Wix site events, such as console logs, HTTP functions, and web module functions. You can view live site events in real time, or connect site events to an external monitoring tool to generate event metrics and perform error log analysis. Each site event is represented by a JSON object.

Submit button

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.

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.

Velo Sidebar

The Velo Sidebar 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. 

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.

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.
Let us know if we missed any terms you would find helpful.

Written by velo | Velo is a full-stack development platform that empowers you to rapidly build, manage and deploy professional web apps.
Published by HackerNoon on 2021/04/14