Initial Checklist
Idea
As a developer building custom web applications within OpenCloud, I need a way to persist and retrieve user-specific application settings in a secure and server-side manner.
Currently, OpenCloud provides a Graph API under /graph/v1.0/ for accessing user-related resources such as /me and /users/{id}. However, there is no mechanism to store custom, application-specific data scoped to a user.
At the same time, OpenCloud already includes an internal Settings Service that appears to support user-scoped configuration via settings bundles, but this functionality is not exposed through a public API.
Problem:
Custom web apps in OpenCloud are typically frontend-only and cannot directly interact with internal backend services like the Settings Service.
As a result:
- there is no native way to persist app-specific user settings within OpenCloud
- developers must build external backends and storage
- existing platform capabilities (Settings Service) cannot be reused
- integration becomes more complex and less consistent
Use Case:
A webmail application running inside OpenCloud needs to store per-user configuration such as:
- IMAP/SMTP server settings
- login identifiers
- user preferences
These settings should:
- be stored server-side
- be scoped to the authenticated user (/me)
- persist across sessions
- be securely handled
Proposed Solution:
Expose a user-scoped settings resource via the existing Graph API, aligned with its current structure.
Example endpoints:
GET /graph/v1.0/me/settings/{appNamespace}
PUT /graph/v1.0/me/settings/{appNamespace}
PATCH /graph/v1.0/me/settings/{appNamespace}
Optional (administrative / service-level access):
GET /graph/v1.0/users/{userId}/settings/{appNamespace}
Example:
PUT /graph/v1.0/me/settings/webmail
{
"imapServer": "imap.example.com",
"smtpServer": "smtp.example.com",
"username": "user@example.com"
}
Design Considerations:
- Namespacing per application ({appNamespace})
- JSON-based schema (flexible structure)
- Storage backed by existing Settings Service
- Access control based on authenticated user context
Optional:
- encryption for sensitive values
- quotas / size limits
- validation hooks
Initial Checklist
Idea
As a developer building custom web applications within OpenCloud, I need a way to persist and retrieve user-specific application settings in a secure and server-side manner.
Currently, OpenCloud provides a Graph API under /graph/v1.0/ for accessing user-related resources such as /me and /users/{id}. However, there is no mechanism to store custom, application-specific data scoped to a user.
At the same time, OpenCloud already includes an internal Settings Service that appears to support user-scoped configuration via settings bundles, but this functionality is not exposed through a public API.
Problem:
Custom web apps in OpenCloud are typically frontend-only and cannot directly interact with internal backend services like the Settings Service.
As a result:
Use Case:
A webmail application running inside OpenCloud needs to store per-user configuration such as:
These settings should:
Proposed Solution:
Expose a user-scoped settings resource via the existing Graph API, aligned with its current structure.
Example endpoints:
Optional (administrative / service-level access):
Example:
Design Considerations:
Optional: