update: add Matomo and Google analytics + Rewrite readme for a complete configuration
This commit is contained in:
parent
e9a6739b31
commit
e62d32e6ae
149
README.md
149
README.md
@ -1,6 +1,6 @@
|
|||||||
# SiB App
|
# SiB App
|
||||||
|
|
||||||
SiB App is the magic tool that allows the Happy Dev network to thrive in a decentralized way.
|
SiB App is the magic tool that allows the Freelance Network to thrive in a decentralized way.
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
@ -10,7 +10,7 @@ These instructions will get you a copy of the project up and running on your loc
|
|||||||
|
|
||||||
To install SiB App, you'll need:
|
To install SiB App, you'll need:
|
||||||
|
|
||||||
* A SIB server (djangoldp>=0.6.32) with the appropriate modules
|
* A SIB server (djangoldp>=0.6.41) with the appropriate modules
|
||||||
* A Prosody Server (with [appropriate modules](https://git.happy-dev.fr/startinblox/prosody/custom-prosody-modules/)
|
* A Prosody Server (with [appropriate modules](https://git.happy-dev.fr/startinblox/prosody/custom-prosody-modules/)
|
||||||
* A SMTP Server (optional)
|
* A SMTP Server (optional)
|
||||||
* NodeJS on your machine
|
* NodeJS on your machine
|
||||||
@ -19,6 +19,7 @@ Before diving in you have to check your SIB server supports the following LDP pa
|
|||||||
|
|
||||||
* djangoldp_account
|
* djangoldp_account
|
||||||
* djangoldp_circle
|
* djangoldp_circle
|
||||||
|
* djangoldp_dashboard
|
||||||
* djangoldp_joboffer
|
* djangoldp_joboffer
|
||||||
* djangoldp_conversation
|
* djangoldp_conversation
|
||||||
* djangoldp_notification
|
* djangoldp_notification
|
||||||
@ -29,7 +30,7 @@ Before diving in you have to check your SIB server supports the following LDP pa
|
|||||||
|
|
||||||
Those packages are given with the last stable version tested.
|
Those packages are given with the last stable version tested.
|
||||||
|
|
||||||
Refer to the [documentation to install a SIB server](https://git.happy-dev.fr/startinblox/devops/doc/wikis/install_sib_server) with this configuration.
|
Refer to the [documentation to install a SIB server](https://git.startinblox.com/documentation/doc/wikis/devops/install_sib_server) with this configuration.
|
||||||
|
|
||||||
## Build the application
|
## Build the application
|
||||||
|
|
||||||
@ -41,17 +42,7 @@ Get the code of the SIB app on your machine:
|
|||||||
git clone ...
|
git clone ...
|
||||||
```
|
```
|
||||||
|
|
||||||
Then create a `config.json` based on your needs. [The documentation](https://git.happy-dev.fr/startinblox/devops/doc/wikis/build_sib_application) explains the details of this file but for convienence a `config.sample.json` exists in the source.
|
Then create a `config.json` based on your needs, see Mandatory and Optional Modules on this page. For convienence a `config.sample.json` exists in the source.
|
||||||
|
|
||||||
Current Sib App capabilities:
|
|
||||||
|
|
||||||
| Component | Required server packages | Required endpoints |
|
|
||||||
| - | - | - |
|
|
||||||
| Base | `djangoldp_account`, `djangoldp_profile`, `djangoldp_notification`, `oidc_provider` | `users` |
|
|
||||||
| Circles | `djangoldp_circle` | `circles` |
|
|
||||||
| Directory | `djangoldp_account` and `djangoldp_profile` | `users` + `publicDirectory` set to `true` |
|
|
||||||
| Events | `djangoldp_event` | `events`, `typeevents`, `uploads` |
|
|
||||||
| Projects | `djangoldp_project` | `projects`, `customers` |
|
|
||||||
|
|
||||||
Federated Sib App needs to use `config.sample.federated.json` example.
|
Federated Sib App needs to use `config.sample.federated.json` example.
|
||||||
|
|
||||||
@ -76,6 +67,136 @@ Serve, watch files & rebuild on change with this command:
|
|||||||
npm run watch
|
npm run watch
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Mandatory modules
|
||||||
|
|
||||||
|
By default, a SIB App includes only individual chat modules.
|
||||||
|
|
||||||
|
On Server: `djangoldp_account`, `djangoldp_profile`, `djangoldp_notification`, `oidc_provider` packages
|
||||||
|
|
||||||
|
On `config.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"xmpp": "https://jabber.happy-dev.fr/http-bind/",
|
||||||
|
"authority": "http://localhost:8000/",
|
||||||
|
"endpoints": {
|
||||||
|
"users": "http://server.url/users/"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Where:
|
||||||
|
|
||||||
|
* `xmpp` is your Prosody with [appropriate modules](https://git.happy-dev.fr/startinblox/prosody/custom-prosody-modules/) configured on.
|
||||||
|
* `authority` is the OpenID Provider. Usually, if you use `djangoldp-account` it's the same as your djangoldp server.
|
||||||
|
* `endpoints.users` is the API endpoints for Users on your djangoldp server.
|
||||||
|
|
||||||
|
### Optional personalisation
|
||||||
|
|
||||||
|
On `config.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"clientName": "Sib App",
|
||||||
|
"clientLogo": "/images/logo.png",
|
||||||
|
"clientLogoHeight": "32px",
|
||||||
|
"clientCSS": "/path/to/custom.css",
|
||||||
|
"authorityName": "djangoldp-server-name"
|
||||||
|
```
|
||||||
|
|
||||||
|
Where:
|
||||||
|
|
||||||
|
* `clientName` is the name of your SIB App.
|
||||||
|
* `clientLogo` is an URL to a distant logo for your client
|
||||||
|
* `clientLogoHeight` allow a quick fix to manage different height logos
|
||||||
|
* `clientCSS` is an URL to a distant CSS that'll be the last one loaded by the SIB App
|
||||||
|
* `authorityName` is a visual name of your OpenID Provider
|
||||||
|
|
||||||
|
## Optional modules
|
||||||
|
|
||||||
|
### Circles
|
||||||
|
|
||||||
|
Circles are a public group chat. To activate them, you need:
|
||||||
|
|
||||||
|
On Server: `djangoldp_circle` packages
|
||||||
|
|
||||||
|
On `config.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"endpoints": {
|
||||||
|
"circle": "http://server.url/circles/"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Events
|
||||||
|
|
||||||
|
Events allow to create and manage instance-level evenement. To activate them, you need:
|
||||||
|
|
||||||
|
On Server: `djangoldp_event` and `djangoldp_upload` packages
|
||||||
|
|
||||||
|
On `config.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"publicDirectory": true
|
||||||
|
```
|
||||||
|
|
||||||
|
### Project
|
||||||
|
|
||||||
|
(Experimental) Project are a private group chat including Customer and Business Provider management. To activate them, you need:
|
||||||
|
|
||||||
|
On Server: `djangoldp_project` packages
|
||||||
|
|
||||||
|
On `config.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"endpoints": {
|
||||||
|
"projects": "http://server.url/projects/",
|
||||||
|
"customers": "http://server.url/customers/",
|
||||||
|
"businessproviders": "http://server.url/businessproviders/",
|
||||||
|
"skills": "http://server.url/skills/"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Users Directory
|
||||||
|
|
||||||
|
(In development) Directory includes a listing of each users of your app and editable individual profile. To activate them, you need:
|
||||||
|
|
||||||
|
On `config.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"endpoints": {
|
||||||
|
"projects": "http://server.url/projects/",
|
||||||
|
"customers": "http://server.url/customers/",
|
||||||
|
"businessproviders": "http://server.url/businessproviders/",
|
||||||
|
"skills": "http://server.url/skills/"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Dashboard
|
||||||
|
|
||||||
|
(In development) Dashboard includes card generation from HTML. To activate them, you need:
|
||||||
|
|
||||||
|
On `config.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"endpoints": {
|
||||||
|
"dashboard": "http://server.url/dashboard/"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Analytics
|
||||||
|
|
||||||
|
SIB App support Google or Matomo as analytics trackers. To use them, add to your `config.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"analytics": [
|
||||||
|
{
|
||||||
|
"type": "matomo", //Or "google"
|
||||||
|
"url": "https://my-personal-.matomo.cloud/",
|
||||||
|
"id": "1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
## Built With
|
## Built With
|
||||||
|
|
||||||
* [Sib-Core](https://git.happy-dev.fr/startinblox/framework/sib-core/) - An awesome new framework!
|
* [Sib-Core](https://git.happy-dev.fr/startinblox/framework/sib-core/) - An awesome new framework!
|
||||||
|
@ -26,5 +26,6 @@
|
|||||||
"users": "http://localhost:8000/users/",
|
"users": "http://localhost:8000/users/",
|
||||||
"uploads": "http://localhost:8000/upload/"
|
"uploads": "http://localhost:8000/upload/"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"analytics": []
|
||||||
}
|
}
|
||||||
|
@ -15,5 +15,6 @@
|
|||||||
"typeevents": "http://localhost:8000/typeevents/",
|
"typeevents": "http://localhost:8000/typeevents/",
|
||||||
"users": "http://localhost:8000/users/",
|
"users": "http://localhost:8000/users/",
|
||||||
"uploads": "http://localhost:8000/upload/"
|
"uploads": "http://localhost:8000/upload/"
|
||||||
}
|
},
|
||||||
|
"analytics": []
|
||||||
}
|
}
|
||||||
|
@ -43,4 +43,13 @@ html(lang="en")
|
|||||||
include page-events.pug
|
include page-events.pug
|
||||||
|
|
||||||
#admin(hidden).with-sidebar
|
#admin(hidden).with-sidebar
|
||||||
include page-admin.pug
|
include page-admin.pug
|
||||||
|
|
||||||
|
if analytics
|
||||||
|
each provider in analytics
|
||||||
|
if provider.type && provider.url && provider.url
|
||||||
|
sib-analytics(
|
||||||
|
type=`${provider.type}`
|
||||||
|
url=`${provider.url}`
|
||||||
|
id=`${provider.id}`
|
||||||
|
)
|
Loading…
Reference in New Issue
Block a user