npx -p @vatom/cli vatom auth
npx -p @vatom/cli vatom design new
npm install -g @vatom/cli
vatom auth
vatom design new
If you see this error: gyp: No Xcode or CLT version detected!
, there's an OS Catalina issue. See link below for debugging:
vatom auth
vatom design new
This will create both a 'Design' and a subordinate 'View'. The new 'Design' will be immediately published into Studio and a new 'View' project will be created that you can use for your development.
Follow the steps to create your 'Design' and 'View':
- name
- description
- businessId
- blueprintId
vatom view new
This will create a standalone 'View' and will require assitance from support to associate with a 'Design'.
Follow the steps to create your 'View':
- name
- description
- businessId
- blueprintId
Currently there isn’t a smooth way to mock vAtoms locally. The below manual changes need to be made:
1. Open `App.js` 2. Replace `export default withObject(App)` with `export default App` 3. You will also need to mock an object with whatever its configurable viewArgs will be. See Sample
const App = ({
isLoading,
viewArgs,
getColor,
getFontStyles,
interactWithViewer,
performAction,
object,
toHTML,
}) => {
const App = ({
// isLoading,
// viewArgs,
// getColor,
// getFontStyles,
// interactWithViewer,
// performAction,
// object,
// toHTML,
}) => {
// you'll have to manually create the commented out vatom properties to run locally :( See example:
const viewArgs = { backgroundImage: { type: "image/png", ref: "insert resource url here" }}
<img src={viewArgs.backgroundImage.ref} alt="bg" />
When you’re ready to publish, make sure to revert the above changes you made and run a build.
yarn build || npm build
vatom view publish
There will be a vatom.lock file that generates in the source code with an entrypoint reference (This is/will be the view url).
{
"id": "exIOpXe0fV",
"businessId": "sfpGNTg9PQ",
"entrypoint": "https://views.vatom.com/sfpGNTg9PQ/exIOpXe0fV/index.html" || "", // if this is the initial upload, the entrypoint will be ""
"groupId": "exIOpXe0fV"
}
There will also be a config-schema.json file that generates. This file will be used if you want to take advantage of studio's generic view form arguments. The format is utilizing jsonSchema to generate appropriate form elements for your view. See example below:
{
"$schema": "http://json-schema.org/schema#",
"type": "object",
"required": [],
"additionalProperties": false,
"properties": {
"backgroundImage": {
"title": "Background Image",
"$ref": "https:\/\/schemas.varius.io\/v1\/Image.json",
"default": {
"type": "image/png",
"ref": "https://resources.varius.io/system/defaults/views/reverse-redeem-v1/Before.png"
}
},
"text": {
"title": "Sampe Text Field",
"description": "",
"type": "string"
},
"textColor": {
"title": "Sample Text Color Accessory",
"default": {
"r": 0,
"b": 0,
"g": 0,
"a": 1
},
"description": "Color of the code text background.",
"accessoryTargetPointer": "\/designValues\/varius.placeholder:varius.io:card-v1\/config\/text",
"$ref": "https:\/\/schemas.varius.io\/v1\/Color.json"
},
"codeTextFont": {
"title": "Sample Custom Font",
"default": {
"family": [
"Advent Pro",
"sans-seriff"
],
"style": "normal",
"variant": "normal",
"stretch": "normal",
"weight": 500,
"effects": [],
"size": 1
},
"description": "Font Family",
"accessoryTargetPointer": "\/designValues\/varius.placeholder:varius.io:card-v1\/config\/text",
"$ref": "https:\/\/schemas.varius.io\/v1\/Font.json"
},
"textNudge": {
"title": "SampleText Nudge Accessory",
"default": {
"x": 0,
"y": 20
},
"axis": "vertical",
"accessoryTargetPointer": "\/designValues\/varius.placeholder:varius.io:card-v1\/config\/text",
"$ref": "https:\/\/schemas.varius.io\/v1\/Point.json"
}
}
}
Versioning is currently not supported. If you want to make a new version, you will need to run: vatom design new
vatom plugin new
Follow the steps:
- id
- version
- name
- description
- category
- business Id
- price
- release notes
This will generate a new folder based on the name of the plugin with:
- index.js - this is a sample file & is where you will write your plugin
- 'icon' folder - copy the icon of the plugin here (only .jpg, .jpeg, .png, .gif, .ico file types allowed)
- 'gallery' foler - copy the set of gallery images that represent your plugin here (only .jpg, .jpeg, .png, .gif, .ico file types allowed)
- vatom.lock - stores all the metadata about the plugin along with the entrypoint reference pointing to the hosting location of the plugin
- Ensure you have [Node.js](https://nodejs.org) installed. - Install dependencies: `npm install` - Write your plugin code. For refence, check out the [Vatom Developer Portal](https://developer.vatom.com/plugins/plugins/) - Build the plugin: `npm run build`
When you’re ready to publish, make sure to run a build and then:
vatom plugin publish
To upgrade the version number of your plugin sematically, you can simply run:
vatom plugin version