You can install CloudWall as a set of files at a static hosting, or as a couchapp into your CouchDB, which is preferable. If chose latter, you need CouchDB installed and properly configured, please follow instructions to fulfill prerequisites.
Preferable hosting for CloudWall is native CouchDB. There are two ways to install CloudWall into Couch.
First way is to download cw-2.4.2.json, then put it into any CouchDB bucket you like, and then run
Second way is to replicate from the repo DB, and, optionally, setup
vhosts configuration. To replicate CloudWall dev stand, create below doc in the
_replicator bucket of your CouchDB:
Please, don‘t make sync continuous, repo is of very limited capacity!
Above code installs CloudWall and Photon, which is alternative CouchDB admin panel.
CloudWall now can be started from
mydomain.com/cloudwall/_design/cw24/index.html. Bit long URL, to make it shorter set up domain binding.
When runs as a Couch hosted app, CloudWall dev stand checks if user is authorized by CouchDB. If not, user is asked to log in to CouchDB.
If user has
_admin role, CloudWall automatically creates new remote CouchDB bucket to store user’s profile and apps. If user isn’t admin, one of admins should create profile bucket for the user manually. Use widget at right to derive new DB name from username.
If required remote bucket exists, user is prompted to enter PIN code for local prfile, protecting sensitive data when stored inside user’s browser.
Custom builds may not require local profiles, so it‘s possible to build CW-based system not requiring a remote DB for each user.
To bind your CloudWall instance to a dedicated subdomain, first create valid DNS A-record, pointing to CouchDB IP. Then go to CouchDB config editor, and create/modify below keys:
This will make CloudWall reachable at
cw.mydomain.com/, the domain root. Note, that dev stand’s rewrite rules also make entire CouchDB available from the domain root, to allow in-domain auth and DB sync.
cw.mydomain.com/_photon/ runs Photon dashboard.
profile.json attachment of
_design/cw24 contains default user profile, which includes default list of DBs user connects at start. Edit this attach to make up the list.
Download cw-2.4.2-static.tgz, unpack it and point your site root to
index.html. That is all.
profile.json contains default user profile, which includes default list of buckets a user connects at start.
‘Create profile’ dialog
When user runs
_design/cw24/index.html on a new device, CloudWall requests local user profile set up. There are two ways:
If you run CloudWall first time, your local profile is created automatically. It‘s a special local DB, containing system apps, list of your DBs and their syncs, your cryptokeys, list of read docs and last seen revisions, and so on.
This local DB is named ‘System DB’ and keeps all sensitive information encrypted and protected by PIN code. You should provide one to protect your passwords and cryptokeys.
CloudWall will asks for PIN, if any, on every page reload, so do not make it excessively complex.
‘Link with existing profile’ dialog
If you already use CloudWall, you have System DB inside your device‘s browser. System DB is just one of local buckets, so it may be synced with remote CouchDB. It means you can have a remote copy of your profile.
If one device‘s System DB is synced with a CouchDB bucket, you may sync it back to new device — and have same set of DBs and apps on both devices.
To link new device with your account, click ‘link accounts’ at right bottom. Provide URL of a remote CouchDB bucket with your profile, credentials — and you’re done.
On start you will see Dashboard, which is basically a list of buckets. Dashboard also opens when you click top left logo.
Each card is a bucket. Each bucket may be configured to sync with several remote or local buckets, and each sync may be filtered.
If profile is editable, last card contains profile actions: you can add more buckets. Also you can configure existing buckets, changing syncs, icon, or removing (detaching) bucket completely.
To avoid browser connections pool exhaustion, buckets may sync not only continuously, but also intermittently, in pre-defined intervals.
Clicking bucket title in Dashboard opens another app, Bucket Shell, which is default bucket browser. It provides navigation, apps and editors start, filtering and basic search. All screenshots below are showing Bucket Shell.
profile.json file/attachment was not changed, on the first start you should probably see Demo & Docs bucket, with appearing (syncing in) demo apps, samples and CloudWall documentation. It might look like this:
Each member of the doc list has 2 clickable zones: title, which opens doc, and icon which opens doc properties popup. So icon behaves somehow like right mouse click, calling context menu, this approach is useful for touch devices.
Doc info dialog also provides several additional operations, like copying/cloning, raw JSON view, diff, delete and hide.
Left column is a list of available filtering options. Tagging docs effectively substitutes folder organization.
CloudWall installs several apps in local System DB, they are available system-wide in each bucket. Apps are divided into two big classes: “just apps” and editors. On the screenshots below “just apps” go first, list of editors goes second.
Each editor is specially intended for processing its own type of document, so documents of a type receive their editor icon. Clicking a doc in a list will run editor, which then opens the doc. “Just apps” are more generic, they are not bound to specific doc type.
There are 15 apps, editors and utilities out of the box:
You can view/edit each app’s source code. To view/edit source code of any built-in app, open System bucket, then click app’s icon in docs list, and then click Edit command button in the doc info popup.
CloudWall was created inside CloudWall, so its sources exist only like a set of CouchDB docs. To get sources you need CloudWall running. Then, step by step:
lab, create the bucket, and then open it with Shell.
https://s3-eu-west-1.amazonaws.com/cdn.cloudwall.me/2.4/cw-2.4.2-dev.jsonfor the app.
After process finished, the dump downloader closes, and bucket shell should show something like this:
This set of CloudWall sources is enough to re-build CloudWall. The builder is in
CW 2.4 Full build doc, opening it and clicking ‘To Couch’ button builds
_design/cw24 ddoc in current bucket.