webpage update

This commit is contained in:
Jan Kaluza 2015-12-03 19:21:17 +01:00
parent b9a87c04c8
commit e16bb5201b
6 changed files with 125 additions and 48 deletions

55
documentation/admin.md Normal file
View file

@ -0,0 +1,55 @@
---
layout: page
title: Spectrum 2
---
#### About
* [What is Spectrum 2?](about.html)
#### Installation
* [Installing using Docker](installation/docker.html)
* [Installing from source code](installation/from_source_code.html)
#### Frontends
* [Frontends overview](frontends/frontends.html)
* [XMPP Frontend](frontends/xmpp.html)
* [Using SSL in server mode](configuration/server_ssl.html)
* [Spectrum 2 as bouncer](configuration/bouncer.html)
* [Slack Frontend](frontends/slack.html)
#### Backends
* [Backends overview](backends/backends.html)
* [Libpurple backend](backends/libpurple.html)
* [Swiften backend](backends/swiften.html)
* [Libcommuni backend](backends/libcommuni.html)
* [Skype backend](backends/skype.html)
* [Twitter backend](backends/twitter.html)
#### Tutorials
* [XMPP Frontend](frontends/xmpp.html)
* [Spectrum 2 in gateway mode](tutorials/gateway_mode.html)
#### Configuration
* [Configuration file description](configuration/config_file.html)
* [MySQL Support](configuration/mysql.html)
* [PostgreSQL Support](configuration/postgresql.html)
* [Logging](configuration/logging.html)
#### Management
* [spectrum2_manager tool](management/spectrum2_manager.html)
* [Getting a backtrace](management/getting_backtrace.html)
* [Munin integration](management/munin.html)
#### Development
* [Spectrum 2 architecture](development/architecture.html)
* [Writing backend in any language (or How the backend works inside)](development/protocol.html)

View file

@ -12,13 +12,15 @@ Spectrum 2 consist of several separate parts which cooperates together. This pag
Directory| Description
---------|------------
./src|Libtransport source codes
./include/transport|Libtransport headers
./include/transport|Libtransport header
./plugin/cpp|Libtransport-plugin source codes
./backends/|Various Spectrum 2 backends source codes
./spectrum/src|Spectrum 2 source codes
./spectrum/src/frontends| Spectrum 2 frontends source codes
## Libtransport
Libtransport is library providing the high-level interface for creating XMPP transports. It's used by the Spectrum 2 and by several transports.
Libtransport is library providing the high-level interface for creating transports. It's used by the Spectrum 2 and by several backends and by all frontends.
Libtransport contains NetworkPluginServer class, which acts as server to which backends connect. Libtransport spawns the backend's processes when they are needed (for example when new user logs in) and destroys them when they are not needed anymore (for example when there are no active users on the backend).
@ -28,17 +30,19 @@ Name| Reason
----|-------
Spectrum 2|It's the Spectrum 2 core
Some backends|Connect the Spectrum2, use of Spectrum 2 database, parsing the config file, ...
Frontends|Core library for frontends development
Libtransport uses:
Name| Reason
-----|-------
Swiften library|Connecting to Jabber sever and sending/receiving data from XMPP users
Swiften library|Historical reasons. It's used as a utils library and basic data structures are represented using classes from Swiften library.
log4cxx|Logging
protobuf|Protocol for libtransport - backends communication
mysql-client|MySQL support
sqlite3|SQLite3 support
pqxx|PostgreSQL support
curl|HTTP requests for OAuth2 and REST frontends
## Libtransport-plugin
@ -74,3 +78,7 @@ Libtransport|Core library...
Backends allow communication with particular legacy network and implements things like logging the user in, sending/receiving messages from legacy network and so on. Backend's life-cycle is controlled by the Spectrum 2 (or better said by the Libtransport's NetworkPluginServer class).
Spectrum 2 spawns the backend and gives it `"--host localhost --port 32453"` parameters. Backend then has to connect the Spectrum 2 located at the given host/port and start receiving the commands sent by the Spectrum 2 main instance. For C++, there is wrapper class called NetworkPlugin which does the parsing and allows programmer to code backend just by implementing few virtual methods.
## Frontends
Frontends allow communication with the network Spectrum 2 users are using. Frontends are statically linked libraries currently. They are implementing `./include/transport/Frontend.h" class.

View file

@ -0,0 +1,28 @@
---
layout: config
title: Spectrum 2
---
## Slack frontend Description
Slack frontend allows users to use Slack as a frontend network for Spectrum 2.
### Configuration
You have to choose this frontend in Spectrum 2 configuration file to use it:
[service]
frontend=slack
## Usage
To use Slack 2 frontend with Spectrum2, you have to add new bot to your Slack team and get the API token. After that, you can use `spectrum2_manager` to set the API token:
$ spectrum2_manager localhost set_oauth2_code API_TOKEN use_bot_token
Use the real JID of your Spectrum 2 instance instead of `localhost`. Use the API token provided by the Slack instead of `API_TOKEN`.
Once you do that, Spectrum 2 will contact the Slack team's primary owner with instructions how to configure it.

View file

@ -3,50 +3,22 @@ layout: page
title: Spectrum 2
---
#### About
## Documentation
* [What is Spectrum 2?](about.html)
<div style="position: relative; width: 330px; height:194px; float:left; color: #222; background-color: #fff;border-radius: 2px;-moz-border-radius: 2px;-webkit-border-radius: 2px; padding: 10px; margin: 0 3px; box-shadow: 0 0 10px rgba(0,0,0,.1); margin-left:50px;">
<h3>User documentation</h3>
<hr/>
This part of documentation is created for Spectrum 2 end users. It documents how to use the Spectrum 2 from user perspective.
<br/>
<a style=" position: absolute;bottom: 10px; right: 10px;" href="/documentation/user.html">Read More</a>
</div>
#### Installation
<div style="position: relative;width: 330px; height:194px; float:left; color: #222; background-color: #fff;border-radius: 2px;-moz-border-radius: 2px;-webkit-border-radius: 2px; padding: 10px; margin: 0 3px; box-shadow: 0 0 10px rgba(0,0,0,.1);margin-left: 50px;">
<h3>Admin documentation</h3>
<hr/>
This part of documentation is created for Spectrum 2 administrator. It documents how to setup, configure and manage Spectrum 2 on your own server.
<a style=" position: absolute;bottom: 10px; right: 10px;" href="/documentation/admin.html">Read More</a>
* [Installing using Docker](installation/docker.html)
* [Installing from source code](installation/from_source_code.html)
</div>
#### Tutorials
* [Spectrum 2 in gateway mode](tutorials/gateway_mode.html)
#### Configuration
* [Configuration file description](configuration/config_file.html)
* [MySQL Support](configuration/mysql.html)
* [PostgreSQL Support](configuration/postgresql.html)
* [Logging](configuration/logging.html)
#### Frontends
* [Frontends overview](frontends/frontends.html)
* [XMPP Frontend](frontends/xmpp.html)
* [Using SSL in server mode](configuration/server_ssl.html)
* [Spectrum 2 as bouncer](configuration/bouncer.html)
* [Slack Frontend](frontends/slack.html)
#### Backends
* [Backends overview](backends/backends.html)
* [Libpurple backend](backends/libpurple.html)
* [Swiften backend](backends/swiften.html)
* [Libcommuni backend](backends/libcommuni.html)
* [Skype backend](backends/skype.html)
* [Twitter backend](backends/twitter.html)
#### Management
* [spectrum2_manager tool](management/spectrum2_manager.html)
* [Getting a backtrace](management/getting_backtrace.html)
* [Munin integration](management/munin.html)
#### Development
* [Spectrum 2 architecture](development/architecture.html)
* [Writing backend in any language (or How the backend works inside)](development/protocol.html)
<div style="clear: both;"></div>

10
documentation/user.md Normal file
View file

@ -0,0 +1,10 @@
---
layout: page
title: Spectrum 2
---
This page is not finished yet and it is known to be insufficient.
#### About
* [What is Spectrum 2?](about.html)

View file

@ -39,10 +39,14 @@ It acts as a transport layer between the users as showed in the animation above.
</div>
<div style="position: relative;width: 220px; height:394px; float:left; color: #222; background-color: #fff;border-radius: 2px;-moz-border-radius: 2px;-webkit-border-radius: 2px; padding: 10px; margin: 0 3px; box-shadow: 0 0 10px rgba(0,0,0,.1);margin-left: 25px;">
<h3>Try it</h3>
<hr/>
You can try Spectrum 2 for free with Slack to connect your team with IRC network.<br/><br/>
<div style="text-align:right;"><a style="" href="http://slack.spectrum.im">Read More</a></div>
<h3>Get it</h3>
<hr/>
You can install it on your own server or use existing public servers.<br/>
<a style=" position: absolute;bottom: 10px; right: 10px;" href="#">Read More</a>
You can also download Spectrum 2 and setup it on your own server.<br/><br/>
<a style=" position: absolute;bottom: 10px; right: 10px;" href="/download">Read More</a>
</div>