Authentication
You can add users to your application by sending them email invites directly from the console using the User Management feature present in the Authentication component. Your users will then be authenticated based on the authentication type of your preference. You can also add users to your application through code using the Web SDK, Java SDK, Node SDK, Python SDK, or the API, and embed a sign up form in your client application.
You can implement user sign in by first ensuring you enable the Public Sign Up option. This allows the user of your application to sign in to it using the login element that you configure while setting up the authentication. You can also enable Social Logins to let your end users sign in to your application using popular social logins.
You can create new roles by navigating to the Roles section of User Management in Authentication. Roles currently apply only to the Data Store and the File Store. You can define the scopes and permissions of each table for each user role in the Data Store, and the Folder access permissions for each role in the File Store.
You will receive this error if necessary authorization is not provided. To avoid encountering a CORS error, you will need to authorize the domain and enable CORS and iFrame access. You can learn about adding and authorizing domains from this help section.
When the Zoho Social Login has been enabled, a client will be added for your application in the API Console. This issue will occur if the client gets deleted in the API console. To resolve this issue, you must navigate to the Social Login section under Authentication Types in the Authentication component of Catalyst Cloud Scale, and then disable and re-enable the Zoho Social Login.
Because user sign-in is a client side operation, we do not support it through the Java or Node SDK. However, it is available exclusively in the Web SDK.
This issue occurs when you have already logged in with a different account for the application and tried to confirm the password for another account in the same browser window. You can try this again in a different browser or with a different browser profile to resolve this issue.
Data Store
The permitted character limit for the Text datatype in Catalyst Data Store is 10,000 characters.
SELECT *, UPDATE *, INSERT *, DELETE * allow you to fetch a maximum of 300 rows in one query in adherence with the industry standards. If you require more records to be fetched, you can use the LIMIT clause to iterate the query and specify the offset and value accordingly.
To resolve this issue, you must ensure that you set the content-type as application/json while making the POST call to the Insert a New Row In a Table API.
You can create a maximum of 100 columns in a single table in the Data Store.
You will encounter this error if you have not initialized the Catalyst Node.js SDK properly in your function. Follow the steps listed below to ensure you have initialized the Node.js SDK and Data Store properly.
const catalyst = require(“zcatalyst-sdk-node”);
const datastore = catalystApp.datastore(); //Initializing catalystApp variable differs with each function type
File Store
You can upload files to the File Store directly from the Catalyst console or by using Web, Node, Java, or Python SDKs. You can also upload to the File Store using Catalyst APIs.
You can download files from the File Store directly from the Catalyst console or by using Web, Node, Java, or Python SDKs. You can also download from the File Store using Catalyst APIs.
You will not be able to get file’s details while downloading the file. However, you can get the details of a single folder or multiple folders using the Get Folder Details SDKs, and you can get the details of a specific file or multiple files using the Get the Details of a Specific File API and Get the Details of Multiple Files API.
You will encounter this error either when you try to upload an empty file, or if you attempt to upload a file without creating a file object via SDK.
You will get this error if you have inputted the wrong file location or if the file you are trying to read is not present in the current or the temporary directory. If you have stored the file in a different directory, you must then specify its correct path, and you must ensure the file is present in your current function’s directory.
Cache
The maximum length of a cache value is 16,000 characters.
You can only create a cache segment from the Catalyst console. It cannot be done using the APIs. Catalyst also provides an auto-created default segment that you can use.
You can add a key-value pair to a cache segment from the Catalyst console, or using the Java SDK, Node SDK, Python SDK or the Insert a Key-Value Pair In a Cache Segment API.
You can retrieve a value from the cache segment using the Get the Value of a Cache Key API, and Java SDK, Node SDK, and Python SDK.
Cron
You can use Application Alerts to notify you in the event of a failure in Cron, Event Listener or Logs. You can configure email alerts for each time there are failures or for specific event occurrences in any of these components.
Search
You must enable the search index toggle when you create a column in the Data Store to incorporate Cloud Scale search. You can also enable it later for your column by editing it. The search index feature will not be available for columns with the datatype Text and Encrypted Text. The list of all columns with the search index enabled, and the code snippet to incorporate search in your application will be available in your Catalyst console under section Storage -> Search for all development environments.
API Gateway
You can use the API gateway component to solve this purpose. API gateway is an intermediate layer between the client and the server. It acts as a reverse proxy and routes client requests to individual services. After you enable API Gateway for your project, all client requests to access these targets will be handled by this gateway. This helps prevent these components from being directly exposed to the clients by decoupling the clients from services.
You will encounter this error if you enabled the API Gateway component for your project and did not create any APIs for your function endpoints. After you enable the API Gateway, the URLs of your functions and web client will become inaccessible until you create APIs for them. You must therefore immediately create APIs for your functions and client, or disable the API Gateway from the Catalyst console and then access the application URL to resolve the issue.
If you enabled the API Key-based authentication, the authentication is handled by an API key generated by Catalyst for your project automatically. You need to pass the API Key value with the keyname ZCFKEY along with the request header or as a query parameter.
The API Key is the same for all projects in the development environment. When you deploy a Catalyst project to the production environment, Catalyst will provide you a different API key for production. You will therefore have individual API keys for each project in the production environment.
You might face this issue if you do not have the latest API Gateway rules in your local system. When you deploy your entire project from your local system through the CLI, the API Gateway rules are also deployed. If the updated configurations are not present in your local system, the latest rules from the remote console get replaced with the deployed configurations. To resolve this issue, you can perform a catalyst pull to pull all the latest API Gateway rules to your system first, and then deploy your project.
Domain Mappings
Yes, Catalyst enables security for all the domains that you map with your application by providing Group SSL certificates for them for free of cost.
To resolve this error, check if the domain that you want to map with a Catalyst application is already hosted live in your domain provider’s hosting site and then follow the steps below:
Step 1:
Create a CNAME record for your domain in your DNS configuration by adding your subdomain’s value as the Host Name/Alias/CNAME.
For example, if your domain address is “portal.zylker.com”, you must add “portal” as the Host Name/Alias/CNAME value and “catalyst.cs.zohohost.com” as the Destination/Points To value.
Add the domain name in the Catalyst console. Now the process will move to the next step -> Verify Ownership.
Step 2:
Catalyst will now generate a unique hash key value for the specific mapping.
Create a new CNAME record for your domain in your DNS configuration and add the following values:
hash_key.subdomain as Host Name/Alias/CNAME
For example, if the hash key generated by Catalyst is “c12to00001x11pl1234h9e33w44h6789”, and the subdomain is “portal”, you must enter the Host Name as “c12to00001x11pl1234h9e33w44h6789.portal”.
Note: Ensure that you specify the subdomain “catalyst.cs.zohohost.com” as the Destination/Points To value. The changes might take some time to reflect on the DNS server. After the changes are reflected, this will verify your ownership of the domain in Catalyst. You can find the help documentation for the same here.
If the CNAME entry has not been created and mapped to catalyst.cs.zohohost.com, the console will display a “CNAME not mapped correctly” error when you attempt to add it. You can resolve this error by creating a CNAME entry pointing to Catalyst by following the steps given here.