Mercurial > libervia-backend
view INSTALL @ 1265:e3a9ea76de35 frontends_multi_profiles
quick_frontend, primitivus: multi-profiles refactoring part 1 (big commit, sorry :p):
This refactoring allow primitivus to manage correctly several profiles at once, with various other improvments:
- profile_manager can now plug several profiles at once, requesting password when needed. No more profile plug specific method is used anymore in backend, instead a "validated" key is used in actions
- Primitivus widget are now based on a common "PrimitivusWidget" classe which mainly manage the decoration so far
- all widgets are treated in the same way (contactList, Chat, Progress, etc), no more chat_wins specific behaviour
- widgets are created in a dedicated manager, with facilities to react on new widget creation or other events
- quick_frontend introduce a new QuickWidget class, which aims to be as generic and flexible as possible. It can manage several targets (jids or something else), and several profiles
- each widget class return a Hash according to its target. For example if given a target jid and a profile, a widget class return a hash like (target.bare, profile), the same widget will be used for all resources of the same jid
- better management of CHAT_GROUP mode for Chat widgets
- some code moved from Primitivus to QuickFrontend, the final goal is to have most non backend code in QuickFrontend, and just graphic code in subclasses
- no more (un)escapePrivate/PRIVATE_PREFIX
- contactList improved a lot: entities not in roster and special entities (private MUC conversations) are better managed
- resources can be displayed in Primitivus, and their status messages
- profiles are managed in QuickFrontend with dedicated managers
This is work in progress, other frontends are broken. Urwid SàText need to be updated. Most of features of Primitivus should work as before (or in a better way ;))
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 10 Dec 2014 19:00:09 +0100 |
parents | 6e08ee45bf0a |
children | 0db0013c59dd |
line wrap: on
line source
You can install SàT automatically using easy_install or pip, and it is available in several GNU/Linux distributions. The full instructions are available on the wiki: http://wiki.goffi.org/wiki/Salut_%C3%A0_Toi Below is are installation instructions, but please check the wiki which may be more up-to-date. *** You can automatically install SàT and its dependencies using easy_install or pip. You will however need to install Python's headers (needed to build some packages), WxPython which is available in most Gnu/Linux distributions, PyGObject and developments version of libxml2 and libxslt (to compile lxml python library). NOTE: pyfeed and xe are mandatory dependencies, they should be on http://pypi.python.org (PYthon Package Index, the official repository for Python projects) and so being automatically installed; but they are not yet there (their author should do it soon), so you have to install them manually until then. You can download them respectively on http://home.avvanta.com/%7Esteveha/pyfeed-0.7.4.tar.gz and http://home.avvanta.com/%7Esteveha/xe-0.7.4.tar.gz, then decompress them and do « python setup.py install » on both. An other way is to use the (insecure) pip options --process-dependency-links and --allow-all-external when installing sat, options which will soon be (or already are) removed from pip. The environment variable SAT_INSTALL customises the installation, it contains flags separated by spaces: - "nopreinstall" skips all preinstallation checks - "autodeb" automatically installs missing packages on Debian-based distributions - "nox" disables installation of X-based packages (WxWidgets), this is useful for servers WxPython and PyGobject are automatically installed on Debian-based distributions if "autodeb" option is set. Indeed, on Debian-based distribution, you can type (with the root account): # apt-get install python-pip python-dev libxml2-dev libxslt-dev # SAT_INSTALL=autodeb pip install . On a *buntu, same commands with sudo: $ sudo apt-get install python-pip python-dev libxml2-dev libxslt-dev $ sudo SAT_INSTALL=autodeb pip install . After installing SàT, you need to install the media: $ mkdir -p ~/sat/media/destination/path $ cd ~/sat/media/destination/path wget ftp://ftp.goffi.org/sat_media/sat_media.tar.bz2 tar -jxvf sat_media.tar.bz2 then, create a ~/.sat.conf file which contains: ### sat.conf ### [DEFAULT] media_dir=~/sat/media/destination/path ### end sat.conf ### Of course, replace ~/sat/media/destination/path with the actual path you want to use. You should now be able to launch sat: - to launch the backend, enter $ sat - to stop the backend, enter: $ sat stop - to launch Primitivus, enter: $ primitivus then create a profile. - to launch Wix, enter $ wix then create a profile. - to use jp, follow its help: $ jp --help For Libervia, the web interface, check http://wiki.goffi.org/wiki/Libervia/en If you need help, come the SàT official XMPP room: sat@chat.jabberfr.org