Update Asset (zeysdk update)
Update an existing asset's configuration in your ZeyOS application.
zeysdk update <ASSET_CLASS>/<FILENAME> [options]
Parameters
| Parameter | Description | Required | Example |
|---|---|---|---|
ASSET_CLASS | Asset type (resources, services, weblets) | ✅ | services |
FILENAME | Name of existing asset file | ✅ | daily-backup.ixml |
Options
| Option | Description | Default |
|---|---|---|
--verbose | Show detailed progress output | false |
Service Types
| Type | Description | Schedule | Interval |
|---|---|---|---|
TIMING | Scheduled task | Time (0-2359) | Minutes |
REMOTECALL | External API call | N/A | N/A |
AFTER_CREATION | Post-create hook | N/A | N/A |
BEFORE_MODIFICATION | Pre-update hook | N/A | N/A |
AFTER_MODIFICATION | Post-update hook | N/A | N/A |
AFTER_CREATION_MODIFICATION | Combined hook | N/A | N/A |
BEFORE_DELETION | Pre-delete hook | N/A | N/A |
AFTER_DELETION | Post-delete hook | N/A | N/A |
Weblet Types
| Type | Description | Width/Height |
|---|---|---|
INTEGRATED | In-app weblet | Required |
STANDALONE | Independent window | Required |
DETACHED | Floating window | Required |
POPUP_FRAMED | Modal with frame | Required |
POPUP_PLAIN | Modal without frame | Required |
EMBEDDED_FRAMED | Inline with frame | Optional |
EMBEDDED_COLLAPSED | Collapsible panel | Optional |
EMBEDDED_PLAIN | Inline without frame | Optional |
Update Examples
Updating a Service
zeysdk update services/daily-backup.ixml
Before:
{
"services": {
"daily-backup": {
"name": "Daily Backup",
"type": "TIMING",
"schedule": 100,
"interval": 1440,
"entity": "documents",
"mimetype": "application/ixml+xml"
}
}
}
After update prompts:
{
"services": {
"daily-backup": {
"name": "Daily Backup Service",
"type": "TIMING",
"schedule": 200, // Changed to 02:00 AM
"interval": 720, // Changed to twice daily
"entity": "documents,contacts",
"mimetype": "application/ixml+xml"
}
}
}
Updating a Weblet
zeysdk update weblets/customer-view.ixml
Before:
{
"weblets": {
"customer-view": {
"name": "Customer View",
"type": "POPUP_FRAMED",
"width": 800,
"height": 600,
"langaliases": {
"en": "Customer View"
},
"mimetype": "application/ixml+xml"
}
}
}
After update prompts:
{
"weblets": {
"customer-view": {
"name": "Customer Details",
"type": "INTEGRATED", // Changed type
"width": 1024, // Updated width
"height": 768, // Updated height
"color": "#4287f5", // Added color
"svgpath": "M10 10h100v100h-100z", // Added icon
"langaliases": {
"en": "Customer Details",
"de": "Kundendetails", // Added translation
"es": "Detalles del Cliente"
},
"mimetype": "application/ixml+xml"
}
}
}
Updating a Resource
zeysdk update resources/company-logo.png
Before:
{
"resources": {
"company-logo": {
"name": "Logo",
"public": 0,
"mimetype": "image/png"
}
}
}
After update prompts:
{
"resources": {
"company-logo": {
"name": "Company Brand Logo", // Updated name
"public": 1, // Made public
"mimetype": "image/png"
}
}
}
Error Handling
| Error | Description | Resolution | Example |
|---|---|---|---|
| Invalid asset class | Unsupported type | Use correct class | services/backup.ixml not service/backup.ixml |
| Missing app.json | Config file not found | Initialize app | Run zeysdk create first |
| Asset not found | Asset doesn't exist | Create asset | Run zeysdk add first |
| Invalid filename | Bad characters | Use valid chars | Use backup-daily.ixml not backup/daily.ixml |
| Invalid type | Wrong service/weblet type | Use valid type | Use TIMING not SCHEDULED |
| Invalid schedule | Bad time format | Use 0-2359 | Use 2330 for 11:30 PM |
| Invalid interval | Non-positive number | Use > 0 | Use 1440 for daily |
| Invalid dimensions | Non-numeric width/height | Use pixels | Use 800 not 800px |