diff --git a/docs/02-Frontend-Developer-Guide.md b/docs/02-Frontend-Developer-Guide.md index 32e31e641..57b1db8a3 100644 --- a/docs/02-Frontend-Developer-Guide.md +++ b/docs/02-Frontend-Developer-Guide.md @@ -13,7 +13,7 @@ you can emit the event to reset zoom level by typing this at the console (there is autocompletion for help): ```javascript -uxbox.main.store.emit_BANG_(uxbox.main.data.workspace.reset_zoom) +app.main.store.emit_BANG_(app.main.data.workspace.reset_zoom) ``` @@ -26,7 +26,7 @@ some annotations on screen, to help understanding what's happening. To activate it, open the javascript console and type ```javascript -uxbox.util.debug.toggle_debug("option") +app.util.debug.toggle_debug("option") ``` Current options are `bounding-boxes`, `group`, `events` and @@ -35,8 +35,8 @@ Current options are `bounding-boxes`, `group`, `events` and You can also activate or deactivate all visual aids with ```javascript -uxbox.util.debug.debug_all() -uxbox.util.debug.debug_none() +app.util.debug.debug_all() +app.util.debug.debug_none() ``` @@ -46,11 +46,11 @@ There are also some useful functions to visualize the global state or any complex object. To use them from clojure: ```clojure -(ns uxbox.util.debug) +(ns app.util.debug) (logjs ) ; to print the value of a variable (tap ) ; to include a function with side effect (e.g. logjs) in a transducer. -(ns uxbox.main.store) +(ns app.main.store) (dump-state) ; to print in console all the global state (dump-objects) ; to print in console all objects in workspace ``` @@ -58,8 +58,8 @@ any complex object. To use them from clojure: But last ones are most commonly used from javscript console: ``` -uxbox.main.store.dump_state() -uxbox.main.store.dump_objects() +app.main.store.dump_state() +app.main.store.dump_objects() ``` @@ -71,17 +71,17 @@ format located in `resources/images/icons`. The gulp task will generate the sprite and the embedd it into the `index.html`. Then, you can reference the icon from the sprite using the -`uxbox.builtins.icons/icon-xref` macro: +`app.builtins.icons/icon-xref` macro: ```clojure (ns some.namespace - (:require-macros [uxbox.builtins.icons :refer [icon-xref]])) + (:require-macros [app.main.ui.icons :refer [icon-xref]])) (icon-xref :arrow) ``` For performance reasons, all used icons are statically defined in the -`src/uxbox/buitings/icons.cljs` file. +`src/app/main/ui/icons.cljs` file. @@ -96,7 +96,7 @@ looks like this: ```json { "auth.email-or-username" : { - "used-in" : [ "src/uxbox/main/ui/auth/login.cljs:61" ], + "used-in" : [ "src/app/main/ui/auth/login.cljs:61" ], "translations" : { "en" : "Email or Username", "fr" : "adresse email ou nom d'utilisateur" @@ -140,7 +140,7 @@ command for reformat the file, and track the usage locations (the "used-in" list) before commiting the file into the repository: ```bash -clojure -Adev locales.clj collect src/uxbox/main/ resources/locales.json +clojure -Adev locales.clj collect src/app/main/ resources/locales.json ``` NOTE: Later, we will need to think and implement the way to export and @@ -154,11 +154,11 @@ You have two aproaches for translate strings: one for general purpose and other specific for React components (that leverages reactivity for language changes). -The `uxbox.util.i18n/tr` is the general purpose function. This is a +The `app.util.i18n/tr` is the general purpose function. This is a simple use case example: ```clojure -(require '[uxbox.util.i18n :refer [tr]) +(require '[app.util.i18n :refer [tr]) (tr "auth.email-or-username") ;; => "Email or Username" @@ -169,7 +169,7 @@ need to pass an additional parameter marked as counter in order to allow the system know when to show the plural: ```clojure -(require '[uxbox.util.i18n :as i18n :refer [tr]]) +(require '[app.util.i18n :as i18n :refer [tr]]) (tr "ds.num-projects" (i18n/c 10)) ;; => "10 projects" @@ -178,11 +178,11 @@ allow the system know when to show the plural: ;; => "1 project" ``` -For React components, you have `uxbox.util.i18n/use-locale` hook -and the `uxbox.util.i18n/t` function: +For React components, you have `app.util.i18n/use-locale` hook +and the `app.util.i18n/t` function: ```clojure -(require '[uxbox.util.i18n :as i18n :refer [t]]) +(require '[app.util.i18n :as i18n :refer [t]]) (mf/defc my-component [props] diff --git a/docs/03-Backend-Developer-Guide.md b/docs/03-Backend-Developer-Guide.md index 7ae14dc19..2f45110e6 100644 --- a/docs/03-Backend-Developer-Guide.md +++ b/docs/03-Backend-Developer-Guide.md @@ -11,7 +11,7 @@ good amount of content (usually used for just test the application or perform performance tweaks on queries). In order to load fixtures, enter to the REPL environment executing the -`bin/repl` script, and then execute `(uxbox.fixtures/run {:preset :small})`. +`bin/repl` script, and then execute `(app.cli.fixtures/run {:preset :small})`. You also can execute this as a standalone script with: @@ -34,8 +34,8 @@ If you have a REPL access to the running process, you can execute it from there: ```clojure -(require 'uxbox.fixtures) -(uxbox.fixtures/run :small) +(require 'app.cli.fixtures) +(app.cli.fixtures/run :small) ``` To access to the running process repl you usually will execute this diff --git a/docs/04-Common-Developer-Guide.md b/docs/04-Common-Developer-Guide.md index 2e203d2b7..3838edf82 100644 --- a/docs/04-Common-Developer-Guide.md +++ b/docs/04-Common-Developer-Guide.md @@ -19,7 +19,7 @@ Example: This asserts are only executed on development mode. On production environment all assets like this will be ignored by runtime. -**spec/assert**: using the `uxbox.common.spec/assert` macro. +**spec/assert**: using the `app.common.spec/assert` macro. Also, if you are using clojure.spec, you have the spec based `clojure.spec.alpha/assert` macro. In the same way as the @@ -30,7 +30,7 @@ Example: ````clojure (require '[clojure.spec.alpha :as s] - '[uxbox.common.spec :as us]) + '[app.common.spec :as us]) (s/def ::number number?) @@ -46,14 +46,14 @@ completely removed. Example: ```clojure -(require '[uxbox.common.spec :as us]) +(require '[app.common.spec :as us]) (us/verify ::number 3) ``` This macro enables you have assetions on production code. -**Why don't use the `clojure.spec.alpha/assert` instead of the `uxbox.common.spec/assert`?** +**Why don't use the `clojure.spec.alpha/assert` instead of the `app.common.spec/assert`?** The uxbox variant does not peforms additional runtime checks for know if asserts are disabled in "runtime". As a result it generates much diff --git a/docs/05-Management-Guide.md b/docs/05-Management-Guide.md index abc218dd4..918b91718 100644 --- a/docs/05-Management-Guide.md +++ b/docs/05-Management-Guide.md @@ -4,12 +4,8 @@ ## Frontend configuration parameters ## -**Only available at build time!** +Not needed. -- `-e UXBOX_PUBLIC_URI=...` (defaults to `http://localhost:6060`) -- `-e UXBOX_GOOGLE_CLIENT_ID=...` (defaults to `true`) -- `-e UXBOX_LOGIN_WITH_LDAP=...` (defaults to `false`) -- `-e UXBOX_DEMO_WARNING=...` (defaults to `true`) ## Backend configuration parameters ## @@ -21,41 +17,41 @@ environment variables. This is a probably incomplete list of available options (with respective defaults): -- `UXBOX_HTTP_SERVER_PORT=6060` -- `UXBOX_PUBLIC_URI=http://localhost:3449` -- `UXBOX_DATABASE_USERNAME=` (default undefined, used from uri) -- `UXBOX_DATABASE_PASSWORD=` (default undefined, used from uri) -- `UXBOX_DATABASE_URI=postgresql://127.0.0.1/uxbox` -- `UXBOX_MEDIA_DIRECTORY=resources/public/media` -- `UXBOX_MEDIA_URI=http://localhost:6060/media/` -- `UXBOX_ASSETS_DIRECTORY=resources/public/static` -- `UXBOX_ASSETS_URI=ehttp://localhost:6060/static/` -- `UXBOX_SENDMAIL_BACKEND=console` -- `UXBOX_SENDMAIL_REPLY_TO=no-reply@nodomain.com` -- `UXBOX_SENDMAIL_FROM=no-reply@nodomain.com` -- `UXBOX_SMTP_HOST=` (default undefined) -- `UXBOX_SMTP_PORT=` (default undefined) -- `UXBOX_SMTP_USER=` (default undefined) -- `UXBOX_SMTP_PASSWORD=` (default undefined) -- `UXBOX_SMTP_SSL=` (default to `false`) -- `UXBOX_SMTP_TLS=` (default to `false`) -- `UXBOX_REGISTRATION_ENABLED=true` -- `UXBOX_REGISTRATION_DOMAIN_WHITELIST=""` (comma-separated domains, defaults to `""` which means that all domains are allowed) -- `UXBOX_DEBUG_HUMANIZE_TRANSIT=true` +- `APP_HTTP_SERVER_PORT=6060` +- `APP_PUBLIC_URI=http://localhost:3449` +- `APP_DATABASE_USERNAME=` (default undefined, used from uri) +- `APP_DATABASE_PASSWORD=` (default undefined, used from uri) +- `APP_DATABASE_URI=postgresql://127.0.0.1/app` +- `APP_MEDIA_DIRECTORY=resources/public/media` +- `APP_MEDIA_URI=http://localhost:6060/media/` +- `APP_ASSETS_DIRECTORY=resources/public/static` +- `APP_ASSETS_URI=ehttp://localhost:6060/static/` +- `APP_SENDMAIL_BACKEND=console` +- `APP_SENDMAIL_REPLY_TO=no-reply@nodomain.com` +- `APP_SENDMAIL_FROM=no-reply@nodomain.com` +- `APP_SMTP_HOST=` (default undefined) +- `APP_SMTP_PORT=` (default undefined) +- `APP_SMTP_USER=` (default undefined) +- `APP_SMTP_PASSWORD=` (default undefined) +- `APP_SMTP_SSL=` (default to `false`) +- `APP_SMTP_TLS=` (default to `false`) +- `APP_REGISTRATION_ENABLED=true` +- `APP_REGISTRATION_DOMAIN_WHITELIST=""` (comma-separated domains, defaults to `""` which means that all domains are allowed) +- `APP_DEBUG_HUMANIZE_TRANSIT=true` -- `UXBOX_LDAP_AUTH_HOST=` (default undefined) -- `UXBOX_LDAP_AUTH_PORT=` (default undefined) -- `UXBOX_LDAP_AUTH_VERSION=3` -- `UXBOX_LDAP_BIND_DN=` (default undefined) -- `UXBOX_LDAP_BIND_PASSWORD=` (default undefined) -- `UXBOX_LDAP_AUTH_SSL=` (default `false`) -- `UXBOX_LDAP_AUTH_STARTTLS=` (default `false`) -- `UXBOX_LDAP_AUTH_BASE_DN=` (default undefined) -- `UXBOX_LDAP_AUTH_USER_QUERY=(|(uid=$username)(mail=$username))` -- `UXBOX_LDAP_AUTH_USERNAME_ATTRIBUTE=uid` -- `UXBOX_LDAP_AUTH_EMAIL_ATTRIBUTE=mail` -- `UXBOX_LDAP_AUTH_FULLNAME_ATTRIBUTE=displayName` -- `UXBOX_LDAP_AUTH_AVATAR_ATTRIBUTE=jpegPhoto` +- `APP_LDAP_AUTH_HOST=` (default undefined) +- `APP_LDAP_AUTH_PORT=` (default undefined) +- `APP_LDAP_AUTH_VERSION=3` +- `APP_LDAP_BIND_DN=` (default undefined) +- `APP_LDAP_BIND_PASSWORD=` (default undefined) +- `APP_LDAP_AUTH_SSL=` (default `false`) +- `APP_LDAP_AUTH_STARTTLS=` (default `false`) +- `APP_LDAP_AUTH_BASE_DN=` (default undefined) +- `APP_LDAP_AUTH_USER_QUERY=(|(uid=$username)(mail=$username))` +- `APP_LDAP_AUTH_USERNAME_ATTRIBUTE=uid` +- `APP_LDAP_AUTH_EMAIL_ATTRIBUTE=mail` +- `APP_LDAP_AUTH_FULLNAME_ATTRIBUTE=displayName` +- `APP_LDAP_AUTH_AVATAR_ATTRIBUTE=jpegPhoto` ## REPL ## @@ -102,6 +98,6 @@ clojure -Adev -X:fn-media-loader :path ../path/to/config.edn If you have a REPL access to the running process, you can execute it from there: ```clojure -(require 'uxbox.media-loader) +(require 'app.cli.media-loader) (uxbox.media-loader/run* "/path/to/config.edn") ```