From the UTillyty dokuwiki
Differences
This shows you the differences between two versions of the page.
docs:socialuty [2009/12/20 20:34] attilio pavone |
docs:socialuty [2010/02/07 05:27] (current) attilio pavone |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Socialuty ====== | ====== Socialuty ====== | ||
+ | {{:docs:socialuty:su-18x26.png?nolink |socialuty}} | ||
+ | Socialuty aims to be a **__distributed__ social network**: each user can have it's own "//web-pear//" (that could host more than one user, anyway), and comunication among pears is made through the socialuty protocol, just like p2p. | ||
- | Socialuty aims to be a **__distributed__ social network**: each user can have it's own "//web-pear//" (that can host more than one user, anyway), and comunication among pears is made through the socialuty protocol, just in a p2p fashion. | + | Socialuty is also the first "web-app" implementation of the pear in //php//, but ideally anyone could write it's own, even a desktop one. |
- | Socialuty will be also the first "web-app" implementation of the pear in //php//, but ideally anyone could write it's own, even a desktop one, provided she respect the protocol. | + | Users can edit and optionally share **blog, links, photos, calendar, addressbook, files, etc**. |
- | + | The architecture is modular and anyone can write some custom plugins, with the aid of the su API. | |
- | This document is about both the protocol //spec// and the web-app //requirements & design//, written down while on the job... | + | |
- | + | ||
- | Enjoy! | + | |
- | + | ||
- | + | ||
- | ===== Login ===== | + | |
- | + | ||
- | ==== spec ==== | + | |
- | + | ||
- | There is no protocol spec for login: each pear can implement its own. | + | |
- | + | ||
- | + | ||
- | ==== requirements ==== | + | |
- | + | ||
- | To use the app users must be logged in. | + | |
- | + | ||
- | This is done through an html form containing username and password field.\\ | + | |
- | https protocol must be preferred.\\ | + | |
- | Password are stored/sent as MD5 hashes. | + | |
- | + | ||
- | + | ||
- | ==== design ==== | + | |
- | + | ||
- | users table: | + | |
- | + | ||
- | ^ users ^^^ | + | |
- | |**//username//**|''varchar(20) PK'' | | | + | |
- | |//password// |''varchar(20) not null'' |(MD5 hash) | | + | |
- | |//firstname// |''varchar(20) not null'' | | | + | |
- | |//lastname// |''varchar(20) not null'' | | | + | |
- | |//picture// |''varchar(20)'' |(url of the profile picture) | | + | |
- | + | ||
- | + | ||
- | + | ||
- | ===== Registration ===== | + | |
- | + | ||
- | ==== spec ==== | + | |
- | + | ||
- | An user can optionally register to the socialuty.org site as to allow people to find her.\\ | + | |
- | Here is the http to the registration page: | + | |
- | + | ||
- | <code> | + | |
- | + | ||
- | POST /register.php HTTP/1.1 | + | |
- | host: www.socialuty.org | + | |
- | User-Agent: <useragent> | + | |
- | Content-Type: application/x-www-form-urlencoded | + | |
- | Content-Length: <length> | + | |
- | + | ||
- | firstname=[firstname] | + | |
- | &lastname=[lastname] | + | |
- | &country=[country] | + | |
- | &city=[city] | + | |
- | &home=[pear-url] | + | |
- | + | ||
- | + | ||
- | HTTP/1.1 200 OK | + | |
- | Content-Type: text/xml | + | |
- | + | ||
- | <socialuty:response xmlns:socialuty="www.socialuty.org"> | + | |
- | <socialuty:result> | + | |
- | <code>S_OK</ code> | + | |
- | <description>welcome</description> | + | |
- | <details>...</details> | + | |
- | </socialuty:result> | + | |
- | <socialuty:data> | + | |
- | <userid>1234567890</userid> | + | |
- | </socialuty:data> | + | |
- | </socialuty:response> | + | |
- | + | ||
- | </code> | + | |
+ | All content is searchable by tags and each node of the network asks in its neightborood that in turn spread the search to its neightborood and so on. | ||
+ | ===== Software documentation ===== | ||
+ | * [[docs:socialuty:requirements|docs:socialuty:requirements]] |