Catalyst Knowledgebase
Can we read XML in Catalyst?
You can read XML in Catalyst Node.js functions using npm packages for the same.
Credit Calculation Catalyst Function
The 1500,1000 refers to the number of requests that can be executed concurrently. On an average, 900 - 200 parallel invocations per minute will be the maximum number of function invocations depending on the execution time of 1 - 5s respectively. ...
Facing CORS issue
You need to add the domain from which you are calling your function in the Authorised Domains section present in Authentication Tab of the Catalyst Web Console. Kindly add your domain in the mentioned location and enable CORS and iFrame which will ...
Adding HTML templates to emails sent from Catalyst
You can add html_mode:true to add HTML email templates like in the code snippet attached below. The detailed step by step documentation can be found here : https://catalyst.zoho.com/help/email-templates.html
Support for AS clause in ZCQL
As of now, we do not support the AS clause.
How to merge zoho writer docs using Zoho Catalyst
You can use the Writer Merge document API in the Catalyst functions to merge your documents. You can use the connectors available in Catalyst to refresh your access tokens automatically on expiry. You can find the help documentation for Connectors in ...
Get execution context for functions
We have now introduced the watch mode for the catalyst serve command. This command will help you with hot code replacement once any changes are being done and the code is saved. The command is as follows : catalyst serve —watch
Python Support in Catalyst Functions
We do have the support for Python in our pipeline.
Class to be executed Could not be found
The mentioned error “Class to be executed Could not be found” occurs only if the class file for your function code is missing. If you had uploaded the code via the Catalyst Console, kindly make sure you have uploaded it along with the class files to ...
Basic I/O Function :Troubleshooting Tips
Do check in your code whether you have used context.close() anywhere after the function block as it might close the function before sending the response. This might have caused you the issue. The code within the function block will be executed only ...
Catalyst Function : error": "Error: Cannot find module 'node-fetch'\n
npm package 'fetch' has not been installed. Please install the same using the following command npm install node-fetch
Basic I/O function doesn't accept request body
you have created a Basic IO function for which you have sent the payload in request body. For Basic IO functions, the request data should be sent via the query parameters in GET method.
"cache_value value has exceeded its maximum length".
The error you have faced is due to the exceeding of maximum length for a single cache item and not for a segment. The maximum size for a single cache item is 16000 characters.
How to create a folder in the File Store in the production environment?
You can create folders using Catalyst SDK’s only in the development environment. The folders cannot be created through Catalyst SDK methods in the production environment. Hence, we would suggest you to create the folders in the Filestore only from ...
Request failed with status 401 and code : OAUTH_SCOPE_MISMATCH , message : invalid oauth scope to access this URL
In order to avoid the 401 issue when deleting a file in filestore, kindly update your Catalyst CLI & Node SDK to its latest version and then re login from your CLI by executing the following commands. sudo npm i -g zcatalyst-cli sudo npm i ...
Catalyst File Store ,"message":"socket hang up","value":{"code":"ECONNRESET"}
{"code":"api/request_failure","message":"socket hang up","value":{"code":"ECONNRESET"}}. The ECONNRESET issue might occur if you have not handled the error with a try catch block in your code and the “catalyst serve” command is running. You can check ...
Code sample to upload files in File Store using Java
import java.io.File; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...
ENOENT: no such file or directory, open 'FileName.json'
This error might occur when the file you are trying to read is not present in the current directory. If you have the file in a different directory, then kindly specify proper path or kindly check whether the file is present or not in the current ...
Request failed with status 400 and code : INVALID_INPUT , message : Invalid input value for file.
This error might occur while trying to upload an empty file via SDK.
File upload code samples
For all file operations like uploading, downloading files from the File Store we've created a sample repository that can be accessed here.
File in Catalyst File Store; Get file name
You can use the getFileDetails method available in the Node SDK in order to get the name of a file before downloading it. A sample code snippet for getting file name and other file details is as follows : let filestore = app.filestore(); let ...
Need to access files from File Store for Web Client Hosting
If your application is hosted in Catalyst, then you can use the download link of the file itself to render the same in your Web Client. For Example : <img src=“/baas/v1/project/1611000000****/folder/1611000000012142/file/16110000000*****/download> ...
Catalyst Data Store : API Limit Reached - Error 403
As the message indicates, you have reached the maximum limit for row count in your development environment. You can query the tables in order to find the count of rows in specific table in the ZCQL console. Also, the limit will be 5000 rows per table ...
No relationship between tables X and Y in Catalyst DataStore
As of now, you need to have a relation between two tables you are trying to join in ZCQL and the absence of this has caused you the issue. The condition that has to be used in a join query must be the ROWID of the first table to the foreign key of ...
Catalyst Data Store tables are empty in production
We would suggest you to use the Catalyst CLI/Bulk Write API to perform the bulk write operation in your table in the production environment. You can export the same from development and import it into production. Please check this link for more ...
Need to increase column limit in production
If you would like to increase column limit, kindly write to us at support@zohocatalyst.com
Create the schema for a table in Catalyst DataStore using code
As of now, we do not have the support for creating table via code. The tables can only be created via the Catalyst Console and data for the same can be inserted from the code.
Limit of text data type in Catalyst Data Store
The limit of text datatype in the Catalyst Datastore is 10000. If your message contains more than 10000characters, please consider creating a file in the FileStore and upload the content to it.
Multiline text fields in the Catalyst Data Store
You can create your application with multiline text and rich text fields and use the text datatype available in the Catalyst Datastore in order to save the contents of those fields. You can find the help documentation regarding the same here.
Authentication : Facing invalid client error
This issue might occur if the client gets deleted in the API console. In order to resolve this issue, we would suggest you to navigate to Sign In Method under Authentication tab in Catalyst Console and then disable and enable the Sign In Using Zoho ...
How do I redirect users upon logging in using Catalyst Authentication?
You need to set the redirection URL in your application in your client-package.json file in order to redirect your application to that page after login. You can find the help documentation for the same here.
Facing "Request has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource."
You need to add the domain from which you are calling your function in the Authorised Domains section present in Authentication Tab of the Catalyst Web Console. Kindly add your domain in the mentioned location and enable CORS and iFrame which will ...
Support for signup or sign-in from social accounts
We do have support for authentication from other social accounts, email, etc on the roadmap. Please drop a note with your requirements
Can the signup page be customised according to requirements?
If you are referring to the registration page(sign up page), you can design it as per your requirements. If you are referring to the login iFrame, as of now, we do not have the support for customising the same. We do have it in our pipeline.
Login iFrame and reset password page customization
As of now, the login iFrame and reset password page cannot be changed. We do have the modifying of login iFrame and rest password page in our pipeline.
How can I use a custom form for login, instead of the prebuilt catalyst.auth.signIn("your element id here....");
As of now, it is not possible to have a custom Login UI and still use the Catalyst Authentication feature. The ideal implementation of your custom logic can be determined based on your use case/business logic.