2016-02-20 12:03:27 -05:00
|
|
|
A new approach to build a webinterface for RS
|
|
|
|
=============================================
|
|
|
|
|
|
|
|
1. get JSON encoded data from the backend, data contains a state token
|
|
|
|
2. render data with mithril.js
|
|
|
|
3. ask the backend if the state token from step 1 expired. If yes, then start again with step 1.
|
|
|
|
|
|
|
|
Steps 1. and 3. are common for most things, only Step 2. differs. This allows to re-use code for steps 1. and 3.
|
|
|
|
|
|
|
|
BUILD / DEVELOPMENT
|
|
|
|
------------
|
|
|
|
|
|
|
|
- install tools
|
|
|
|
sudo apt-get install TODO (insert package names for nodejs, ruby, sass here)
|
|
|
|
- run this once in webui-src directory, to install more tools
|
|
|
|
npm install
|
|
|
|
- start build
|
|
|
|
npm run watch
|
|
|
|
- the build process watches files for changes, and rebuilds and reloads the page. Build output is in ./public
|
|
|
|
- use the --webinterface 9090 command line parameter to enable webui in retroshare-nogui
|
|
|
|
- set the --docroot parameter of retroshare-nogui to point to the "libresapi/src/webui-src/public" directory
|
|
|
|
(or symlink from /usr/share/RetroShare06/webui on Linux, ./webui on Windows)
|
|
|
|
- retroshare-gui does not have a --docroot parameter. Use symlinks then.
|
|
|
|
|
|
|
|
CONTRIBUTE
|
|
|
|
----------
|
|
|
|
|
|
|
|
- if you are a web developer or want to become one
|
|
|
|
get in contact!
|
|
|
|
- lots of work to do, i need you!
|
|
|
|
|
|
|
|
TODO
|
|
|
|
----
|
|
|
|
[ ] make stylesheets or find reusable sass/css components
|
|
|
|
google material design has nice rules for color, spacing and everything: https://www.google.de/design/spec/material-design/introduction.html
|
|
|
|
[ ] find icons, maybe use google material design iconfont
|
|
|
|
[X] use urls/mithril routing for the menu. urls could replace state stored in rs.content
|
|
|
|
[X] drag and drop private key upload and import
|
|
|
|
[ ] link from peer location to chat (use urls and mithril routing)
|
|
|
|
[X] add/remove friend, own cert
|
|
|
|
[X] downloads, search
|
|
|
|
[ ] make reusable infinite list controller, the js part to load data from Pagination.h (tweak Pagination.h to make everything work)
|
|
|
|
should provide forward, backward and follow-list-end
|
|
|
|
[ ] backend: view/create identities
|
|
|
|
[ ] backend: chat lobby participants list
|
2016-02-20 13:37:31 -05:00
|
|
|
[X] chat: send_message
|
2016-02-20 12:03:27 -05:00
|
|
|
[ ] backend: chat typing notifications
|
|
|
|
[ ] make routines to handle retroshare links
|
|
|
|
[ ] backend: edit shared folders
|
|
|
|
[ ] backend: view shared files
|
|
|
|
[ ] redirect if a url is not usable in the current runstate (e.g. redirect from login page to home page, after login)
|
|
|
|
[X] sort friendslist
|