Wix Blocks: Creating and Managing Collections

3 min read
Wix Blocks is open to all Wix Studio users. To get access to Blocks, join Wix Studio.
Wix Blocks enables you to add collections (databases) to your app. Managing collections in Blocks is similar to managing collections in Wix sites. But, there are a few points that are very different - check them out in this article. 
Tip
Pay attention to collection permissions and their security guidelines.

A Blocks collection is a placeholder

The most important thing to understand about a Blocks collection is that it is a placeholder for the data of any site it's installed on. This is because a Blocks collection can be used on multiple sites - even thousands of them. These sites can be very different from each other and have their own databases. Think about a collection that holds customer information. Every site can have a list of their own customers, and your widget can apply to all of them.

When you create a collection in Blocks, you define the fields of the collection, and make it possible to refer to it in the app's code. You can also add default data in Blocks, but you don’t have to. If you do add default data, it is automatically installed on the site together with the app, and can later be replaced by data from any site the app is installed on. 

If you change the structure of a collection in Blocks in a future version of your app, it impacts any site it's installed on. So work with caution and don't make changes that can break sites. 
Note
Blocks collections are counted under the CMS Item and Collection limit.

About the default data

Data that you add to your  Blocks collections will be imported to the site in which your app is installed, providing your site creators with default data for your app. If you choose to add default data, note that:
  • The site your app is installed on can change that data later.
  • The default data will only be imported in the first installation. If you release a new version of your app and change the data in the collection, it will not override the data that already exists in any site your app is installed on.

To add a collection to your app

  1. Click the Database database icon icon in your app's left menu. 
  2. Click New Collection.
  3. Create a unique namespace for you app, if you haven't already done it. Make the namespace meaningful and clear (if you haven't named your app yet, you will be triggered to name it now). 
  4. Name your collection.
  5. Define the structure of your collection in the CMS
  6. Optional - add items to your collection. This default data will be imported together with your app to any site it’s installed on

See your collection in the editor

When you import a Blocks app that has a collection to your site, the collection will appear in the CMS  collection section, under Your Collections. Your app namespace will appear next to this collection, to indicate that it's from Blocks. From now on you can handle your collection like in any other Wix site. 
Important
If you delete the app from the site, the collection will be deleted as well. 

Access the collection data through code

First, write this import statement in your widget code: 
1import wixData from 'wix-data';
To access your collection and perform various actions, query, insert, etc, use the following syntax with any wix-data API. For example, this is how you query a collection (learn more about your namespace): 
1wixData.query("<yourAppNamespace>/<yourCollectionName>")
2  .find()
3  .then( (results) => {
4    //your code using the "results";
5  });
Learn more about working with the Wix Data API

Did this help?

|