Page created:
Jun 16, 2009 (? ago)
Last modified ? ago
To main page | Opera Unite HowTo's

Persistence & databases


Right now I haven't found a "right" way to make things persistent between connections. The guess is Sandbox filesystem, but at the moment it's simplicity of usage is questionable.

File saving / loading (fileio)

This is recommended (by me) way for now (if you don't want to use Uniteness, which wraps those functions): use JSON state

The easiest way right now to add persistence is to use Sandbox filesystem, follow the link for explanation of how to make data persistent and modify basic example to remember the value.

See file_wrap.js for simple way to deal with files.

It's actually not that slow - see benchmark, use JSON state.

Key-value store

Opera has key-value store, it's limits are kind of unclear yet. See also Widget_object.

REST Databases

Opera Unite does NOT require database to work. It's more of "growing bigger" thing.

Any database with REST interface would probably work great with Opera Unite, the question is which is the simplest to use/install.

Possible choices:

1. CouchDB (REST) Bad thing: doesn't load enough data into memory (very IO-limited).
2. Tokyo Tyrant (REST) Bad thing: isn't Windows-compatible yet.

(This list included Redis, but it turns out it isn't REST)

Since I can't yet make XMLHTTPRequest to access anything, it remains unclear whether it's feasible to use those.


Slava V. [about me]


main page



Last updated


  1. Markuper (HTML templates)
  2. .ua
  3. Opera Unite HowTo's
  4. .us (files)
  5. Distribute Your Application
  6. 24/7 sites (permanent applications - idea) [stub]
  7. Issues
  8. HTTP Connections (AJAX/REST)
  9. Cookies
  10. file_wrap.js - File Wrapper
  11. Basic HowTo: Simple app (tutorial)
  12. Static images, client-side scripts
  13. Application Examples
  14. How to Debug Opera Unite apps
  15. Persistence & databases
  16. Opera Unite benchmark
  17. From PHP to Opera Unite
  18. Uniteness (Framework)
  19. Config.xml
  20. Key-value storage
  21. Widget Object
  22. Notifications (Growl'esque)
  23. Reset (debug)
  24. Cron example
  25. What I meant by CNAMEs
  26. Wish List
  27. Device Unavailable
  28. StopLorem (Opera Unite blogging)
  29. uniteness-0.11
  30. GET/POST data
  31. CRUD And Static (example)
  32. Opera object
  33. URLs
  34. Headers & Redirects
  35. Error Console
  36. JSON State (storing data)
  37. Security
  38. /storage/ (in fileio)
  39. Yusef library
  40. unite_info (a-la php_info)
  41. Javascript Imports
  42. onunload / _close
  43. fileio: Sandboxed Filesystem
  44. Request Hierarchy (like php_info)
  45. Intro: Web Apps with Opera Unite