From 03e2a18be1a1c3cc887eb23513691efb58e81ad9 Mon Sep 17 00:00:00 2001 From: electron128 Date: Mon, 4 Jan 2016 11:14:10 +0100 Subject: [PATCH] added readme and todo --- libresapi/src/README.md | 3 +- libresapi/src/webui-src/README.md | 50 +++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 libresapi/src/webui-src/README.md diff --git a/libresapi/src/README.md b/libresapi/src/README.md index 55875c2d6..f16a48fda 100644 --- a/libresapi/src/README.md +++ b/libresapi/src/README.md @@ -3,7 +3,8 @@ libresapi: resource_api and new webinterface * ./api contains a C++ backend to control retroshare from webinterfaces or scripting * ./webfiles contains compiled files for the webinterface -* ./webui contains HTML/CSS/JavaScript source files for the webinterface +* ./webui contains HTML/CSS/JavaScript source files for the webinterface (OLD) +* ./webui-src contains HTML/CSS/JavaScript source files for the webinterface (NEW, webinterface made with mithril.js) Quickinfo for builders and packagers ==================================== diff --git a/libresapi/src/webui-src/README.md b/libresapi/src/webui-src/README.md new file mode 100644 index 000000000..60934e235 --- /dev/null +++ b/libresapi/src/webui-src/README.md @@ -0,0 +1,50 @@ +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 +[ ] use urls/mithril routing for the menu. urls could replace state stored in rs.content +[ ] drag and drop private key upload and import +[ ] link from peer location to chat (use urls and mithril routing) +[ ] add/remove friend, own cert +[ ] 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 +[ ] chat: send_message +[ ] backend: chat typing notifications +[ ] make routines to handle retroshare links +[ ] backend: edit shared folders +[ ] backend: view shared files \ No newline at end of file