aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Creating-Templates.md2
-rw-r--r--doc/DerivedTheme1.md28
-rw-r--r--doc/Features.md4
-rw-r--r--doc/Primary-Directory.md2
-rw-r--r--doc/Privacy.md3
-rw-r--r--doc/Tags-and-Mentions.md4
-rw-r--r--doc/Widgets.md16
-rw-r--r--doc/addons.bb21
-rw-r--r--doc/ca/Privacy.md78
-rw-r--r--doc/ca/TermsOfService.md8
-rw-r--r--doc/ca/about.bb27
-rw-r--r--doc/ca/accounts_profiles_channels_basics.bb19
-rw-r--r--doc/ca/admins.bb15
-rw-r--r--doc/ca/channels.bb32
-rw-r--r--doc/ca/develop.bb34
-rw-r--r--doc/ca/features.bb202
-rw-r--r--doc/ca/first-post.bb3
-rw-r--r--doc/ca/general.bb20
-rw-r--r--doc/ca/main.bb12
-rw-r--r--doc/ca/members.bb25
-rw-r--r--doc/ca/profiles.bb37
-rw-r--r--doc/ca/registration.bb35
-rw-r--r--doc/ca/what_is_zot.bb61
-rw-r--r--doc/cloud.bb4
-rw-r--r--doc/comanche.bb4
-rw-r--r--doc/context/admin/security/help.html3
-rw-r--r--doc/context/channel/help.html24
-rw-r--r--doc/context/cloud/help.html22
-rw-r--r--doc/context/mail/help.html10
-rw-r--r--doc/context/network/help.html26
-rw-r--r--doc/context/photos/help.html22
-rw-r--r--doc/context/profile/help.html22
-rw-r--r--doc/database/db_term.bb22
-rw-r--r--doc/de/general.bb4
-rw-r--r--doc/dev-function-overview.md2
-rw-r--r--doc/dev_beginner.bb2
-rw-r--r--doc/directories.bb2
-rw-r--r--doc/extra_features.bb4
-rw-r--r--doc/faq_developers.bb8
-rw-r--r--doc/faq_members.bb2
-rw-r--r--doc/features.bb4
-rw-r--r--doc/federate.bb71
-rw-r--r--doc/filesync.md61
-rw-r--r--doc/fr/about.bb25
-rw-r--r--doc/fr/git_for_non_developers.bb73
-rw-r--r--doc/fr/main.bb12
-rw-r--r--doc/git_for_non_developers.bb2
-rw-r--r--doc/hidden_configs.bb170
-rw-r--r--doc/hook/discover_by_webbie.bb1
-rw-r--r--doc/hook/discover_channel_webfinger.bb14
-rw-r--r--doc/hook/module_mod_aftercontent.bb2
-rw-r--r--doc/hook/module_mod_content.bb2
-rw-r--r--doc/hooklist.bb2
-rw-r--r--doc/roles.md10
-rw-r--r--doc/tags_and_mentions.bb4
-rw-r--r--doc/to_do_code.bb6
56 files changed, 1199 insertions, 131 deletions
diff --git a/doc/Creating-Templates.md b/doc/Creating-Templates.md
index 6de627f39..fc3f18dd3 100644
--- a/doc/Creating-Templates.md
+++ b/doc/Creating-Templates.md
@@ -18,7 +18,7 @@ view/php/default.php
<html>
<head>
<title><?php if(x($page,'title')) echo $page['title'] ?></title>
- <script>var baseurl="<?php echo $a->get_baseurl() ?>";</script>
+ <script>var baseurl="<?php echo z_root() ?>";</script>
<?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?>
</head>
<body>
diff --git a/doc/DerivedTheme1.md b/doc/DerivedTheme1.md
index 805d6b614..b120c628c 100644
--- a/doc/DerivedTheme1.md
+++ b/doc/DerivedTheme1.md
@@ -38,7 +38,7 @@ Inside it, put the following information - edit as needed
function mytheme_init(&$a) {
- $a->theme_info['extends'] = 'redbasic';
+ App::$theme_info['extends'] = 'redbasic';
}
@@ -63,7 +63,6 @@ In it, put the following:
That's it. This tells the software to read the PCSS information for the redbasic theme first, and then read our CSS file which will just consist of changes we want to make from our parent theme (redbasic).
-
Now create the actual CSS file for your theme. Put it in view/theme/mytheme/css/style.css (where we just told the software to look for it). For our example, we'll just change the body background color so you can see that it works. You can use any CSS you'd like.
@@ -74,4 +73,29 @@ Now create the actual CSS file for your theme. Put it in view/theme/mytheme/css
You've just successfully created a derived theme. This needs to be enabled in the admin "themes" panel, and then anybody on the site can use it by selecting it in Settings->Display Settings as their default theme.
+**Lesson 2**
+
+If you want to use the redbasic schemas for your derived theme, you have to do a bit more.
+
+Do everything as above, but don't create view/theme/mytheme/php/style.php, but copy instead view/theme/redbasic/php/style.php to view/theme/mytheme/php/style.php. Modify that file and remove (or comment out) these two lines:
+
+ if(local_channel() && App::$channel && App::$channel['channel_theme'] != 'redbasic')
+ set_pconfig(local_channel(), 'redbasic', 'schema', '---');
+
+Also add this line at the bottom:
+
+ echo @file_get_contents('view/theme/mytheme/css/style.css');
+
+To show the schema selector you have to copy view/theme/redbasic/tpl/theme_settings.tpl to view/theme/mytheme/tpl/theme_settings.tpl. Modify that file and replace the lines:
+
+ {{if $theme == redbasic}}
+ {{include file="field_select.tpl" field=$schema}}
+ {{/if}}
+
+with:
+
+ {{include file="field_select.tpl" field=$schema}}
+
+
+
#include doc/macros/main_footer.bb;
diff --git a/doc/Features.md b/doc/Features.md
index 5a1e8c747..3c5105582 100644
--- a/doc/Features.md
+++ b/doc/Features.md
@@ -57,9 +57,9 @@ Private messages are encrypted during transport and storage. In this day and age
This provides the ability to select posts by date ranges
-**Collections Filter**
+**Privacy Group Filter**
-Enable widget to display stream posts only from selected collections. This also toggles the outbound permissions while you are viewing a collection. This is analogous to Google "circles" or Disapora "aspects".
+Enable widget to display stream posts only from selected groups of connection. This also toggles the outbound permissions while you are viewing a privacy group. This is analogous to Google "circles" or Disapora "aspects".
**Saved Searches**
diff --git a/doc/Primary-Directory.md b/doc/Primary-Directory.md
index 37b0c0431..92460c346 100644
--- a/doc/Primary-Directory.md
+++ b/doc/Primary-Directory.md
@@ -12,7 +12,7 @@ There are certain scenarios where you might want your own directory-server that
* On the hub that will be the Directory Server, open the .htconfig.php file and set:
- `$a->config['system']['directory_mode'] = DIRECTORY_MODE_PRIMARY;`
+ `App::$config['system']['directory_mode'] = DIRECTORY_MODE_PRIMARY;`
By default it should already be set as **DIRECTORY_MODE_NORMAL**, so just edit that line to say **DIRECTORY_MODE_PRIMARY**
diff --git a/doc/Privacy.md b/doc/Privacy.md
index ff5eac181..511293c52 100644
--- a/doc/Privacy.md
+++ b/doc/Privacy.md
@@ -48,10 +48,9 @@ Content (especially status posts) that you share with other networks or that you
Comments to posts that were created by others and posts which are designated as forum posts belong to you as the creator/author, but the distribution of these posts is not under your direct control. These posts/comments MAY be re-distributed to others, and MAY be visible to anybody on the internet. In the case of comments, the creator of the "first message" in the thread to which you are replying controls the distribution of all comments and replies to that message.
-
**Private Information**
-$Projectname developers will ensure that any content you provide which is designated as PRIVATE will be protected against eavesdropping - to the best of their ability. Private content is generally hidden or obscured even from hub administrators. It is also stripped from email notifications. It is difficult but NOT impossible for this content to be seen by a hub administrator. End to end encryption is provided as an optional feature and this CANNOT be seen, even by a determined administrator.
+$Projectname developers will ensure that any content you provide which is designated as PRIVATE will be protected against eavesdropping - to the best of their ability. Private channel content CAN be seen in the database of every involved hub administrator, but private messages are obscured in the database. The latter means that it is very difficult, but NOT impossible for this content to be seen by a hub administrator. Private channel content and private messages are also stripped from email notifications. End to end encryption is provided as an optional feature and this CANNOT be seen, even by a determined administrator.
##Identity Privacy
diff --git a/doc/Tags-and-Mentions.md b/doc/Tags-and-Mentions.md
index 84442dd7a..f01b0ee74 100644
--- a/doc/Tags-and-Mentions.md
+++ b/doc/Tags-and-Mentions.md
@@ -11,9 +11,9 @@ When you start to mention somebody, it will create an auto-complete box to selec
**Private Mentions**
-If you wish to restrict a post to a single person or a number of people, you can do this by selecting channels or collections from the privacy tool. You can also just tag them with a privacy tag. A privacy tag is a name preceded by the two characters @! - and in addition to tagging these channels, will also change the privacy permissions of the post to include them (and perhaps restrict the post from "everybody" if this was the default). You can have more than one privacy tag, for instance @!bob and @!linda will send the post only to Bob and Linda (in addition to any recipients you selected with the privacy selector - if any).
+If you wish to restrict a post to a single person or a number of people, you can do this by selecting channels or privacy groups from the privacy tool. You can also just tag them with a privacy tag. A privacy tag is a name preceded by the two characters @! - and in addition to tagging these channels, will also change the privacy permissions of the post to include them (and perhaps restrict the post from "everybody" if this was the default). You can have more than one privacy tag, for instance @!bob and @!linda will send the post only to Bob and Linda (in addition to any recipients you selected with the privacy selector - if any).
-You may also tag public collections. When you create or edit a collection, there is a checkbox to allow the group members to be seen by others. If this box is checked for a collection and you tag (for instance) @!Friends - the post will be restricted to the Friends collection. Check that the collection is public before doing this - as there is no way to take back a post except to delete it. The collection name will appear in the post and will alert members of that collection that they are members of it.
+You may also tag privacy groups which are "public". When you create or edit a privacy group, there is a checkbox to allow the group members to be seen by others. If this box is checked for a group and you tag (for instance) @!Friends - the post will be restricted to the Friends group. Check that the group is public before doing this - as there is no way to take back a post except to delete it. The group name will appear in the post and will alert members of that group that they are members of it.
diff --git a/doc/Widgets.md b/doc/Widgets.md
index baacffd6f..8442bf687 100644
--- a/doc/Widgets.md
+++ b/doc/Widgets.md
@@ -15,7 +15,7 @@ Some/many of these widgets have restrictions which may restrict the type of page
* args: count - number of items to return (default 24)
<br />&nbsp;<br />
-* collections - collection selector for the current logged in channel
+* collections - privacy group selector for the current logged in channel
* args: mode - one of "conversation", "group", "abook" depending on module
<br />&nbsp;<br />
@@ -74,8 +74,11 @@ Some/many of these widgets have restrictions which may restrict the type of page
* suggestedchats - "interesting" chatrooms chosen for the current observer
-* item - displays a single webpage item by mid
- * args: mid - message_id of webpage to display (must be webpage, not a conversation item)
+* item - displays a single webpage item by mid or page title
+ * args:
+ * channel_id - channel that owns the content, defualt is the profile_uid
+ * mid - message_id of webpage to display (must be webpage, not a conversation item)
+ * title - URL page title of webpage (must provide one of either title or mid)
<br />&nbsp;<br />
* photo - display a single photo
@@ -85,6 +88,13 @@ Some/many of these widgets have restrictions which may restrict the type of page
* style - CSS style string
<br />&nbsp;<br />
+* cover_photo - display the cover photo for the selected channel
+ * args:
+ * channel_id - channel to use, default is the profile_uid
+ * style - CSS style string (default is dynamically resized to width of region)
+<br />&nbsp;<br />
+
+
* photo_rand - display a random photo from one of your photo albums. Photo permissions are honoured
* args:
* album - album name (very strongly recommended if you have lots of photos)
diff --git a/doc/addons.bb b/doc/addons.bb
index a6d2cfc2f..67282521f 100644
--- a/doc/addons.bb
+++ b/doc/addons.bb
@@ -1,19 +1,22 @@
[h3]Plugins/Addons[/h3]
[list=1]
[*] abcjsplugin - Create musical scores in your posts
+[*] adultphotoflag - prevents nsfw photos from being displayed in public albums
[*] bbmath - use complex math expressions in your posts
[*] bookmarker - replace #^ with bookmark link in posts
[*] buglink - provide a bug reporting icon in the lower-left corner of every page
[*] calc - a scientific calculator
+[*] chess - cross domain identity aware interactive chess games
[*] chords - generate fingering charts and alternatives for every known guitar chord
[*] custom_home - set a custom page as the hub start page
-[*] diaspora - crosspost to a Diaspora account (different from the built-in Diaspora emulator)
+[*] dfedfix - fixes some federation issues with Diaspora releases around aug-sep 2015
+[*] diaspora - Diaspora protocol emulator
+[*] diaspost - crosspost to a Diaspora account (different from the Diaspora protocol emulator)
[*] dirstats - show some interesting statistics generated by the driectory server
[*] donate - provides a project donation page
[*] dwpost - crosspost to Dreamwidth
-[*] embedly - use the embedly (formerly ooehmbed) service to embed media from many providers
[*] extcron - use an external cron service to run your hub's scheduled tasks
-[*] flattr - provides a "Flattr Us" button
+[*] flattrwidget - provides a "Flattr Us" button
[*] flip - create upside down text
[*] fortunate - displays random quote (fortune cookie). Requires setting up a fortune server.
[*] frphotos - import photo albums from Friendica
@@ -26,12 +29,16 @@
[*] libertree - crosspost to Libertree
[*] likebanner - create a "like us on red#matrix" banner image
[*] ljpost - crosspost to LiveJournal
+[*] logrot - logfile rotation utility
[*] mahjongg - Chinese puzzle game
[*] mailhost - when using multiple channel clones, select one to receive email notifications
[*] mayan_places - set location field to a random city in the Mayan world
[*] morechoice - additional gender/sexual-preference choices for profiles (not safe for work)
[*] moremoods - Additional mood options
[*] morepokes - additional poke options (not safe for work)
+[*] msgfooter - provide legal or other text on each outgoing post
+[*] noembed - use noembed.com as an addition to Hubzilla's native oembed functionality (currently broken)
+[*] nofed - prevent "federation" of channel posts, maintains all interaction on your site
[*] nsabait - add random terrorism related hashtags to your posts
[*] nsfw - Highly recommended plugin to collpase posts with inappropriate content
[*] openclipatar - choose a profile photo from hundreds of royalty free images
@@ -42,21 +49,29 @@
[*] qrator - generate QR code images
[*] rainbowtag - display your tag and category clouds in colours
[*] randpost - post/reply bot based on and requires fortunate
+[*] redfiles - import file storage from redmatrix
+[*] redphotos - import photo albums from redmatrix
[*] redred - Crosspost to another Red Matrix or Hubzilla channel
[*] rtof - Crosspost to Friendica
+[*] sendzid - add 'zid' auth parmaters to all outbound links, not just in-network links
+[*] skeleton - sample addon/plugin to demonstrate plugin development
[*] smiley_pack - extend the built-in smilie (emoticon) support
[*] smileybutton - provides a smiley selector on the post window
[*] startpage - set a personal preferred page to redirect after logging in.
+[*] statistics_json - Diaspora statistics generator
[*] statusnet - GNU-social and StatusNet crosspost [zrl=[baseurl]/help/addons_gnusocial]Posting To Gnu Social[/zrl]
[*] superblock - Highly recommended - completely block an offensive channel from your stream
+[*] testdrive - Turns your hub into a test drive site with accounts that expire after a trail period.
[*] tictac - 3D tic-tac-toe
[*] torch - flashlight app
[*] tour - feature tour for new members
[*] twitter - crosspost to Twitter
[*] upload_limits - discover what server setting (there are a few) may be causing large photo uploads to fail
[*] visage - show visitors to your channel
+[*] wholikesme - provides a page to display what connections have 'liked' your posts the most
[*] webRTC - use an external server (mayfirst.org) to negotiate webRTC hookups
[*] wppost - crosspost to WordPress (or other wordpress XMLRPC service)
+[*] xmpp - XMPP chat based on converse.js
[/list]
[h3]Addon Repositories[/h3]
diff --git a/doc/ca/Privacy.md b/doc/ca/Privacy.md
new file mode 100644
index 000000000..918657497
--- /dev/null
+++ b/doc/ca/Privacy.md
@@ -0,0 +1,78 @@
+Política de Privacitat
+======================
+
+
+##Sumari##
+
+
+Q: Qui pot veure el meu contingut?
+
+A: Per defecte TOTHOM A INTERNET, EXCEPTE que ho hagis restringit. $Projectname permet te triar el nivell de privacitat que desitgis. El contingut restringit no serà visible als "espies de la xarxa " ni als anunciants. Estarà protegit contra l'espionatge per estranys - de la millor manera que sabem. Administradors de nodes amb habilitats i paciència suficients poden ser capaços d'espiar a algunes comunicacions privades però han de invertir molt esforç per fer-ho. Hi maneres de Privacitat en $Projectname que són fins i tot resistents a escoltes il·legals pels administradors de nodes hàbils i decidits.
+
+Q: Pot el meu contingut ser censurat?
+
+A: $Projectname (la xarxa de nodes) NO POT censurat el teu contingut. Els administradors de servidor i del node estan subjectes a les lleis locals i poden suprimir contingut censurable des del seu lloc/node. Qualsevol POT convertir-se en un administrador de node, inclòs tu; i per tant publicar contingut que d'altra manera podria ser censurat. Encara i això estaràs subjecte a les teves lleis locals. Es la teva decisió.
+
+
+##Definicions
+
+**$Projectname**
+
+Coneguda d'un altre forma com "la xarxa", Hubzilla és una col·lecció d'equips individuals/servidors (àlies nodes) que connecten entre si per formar una xarxa cooperativa més gran.
+
+**node (hub)**
+
+Un equip individual o un servidor connectat a $Projectname. Aquests són proporcionats per un **administrador del node** i poden ser públics o privats, de pagament o gratuïts.
+
+**administrador del node**
+
+L'operador del sistema d'un node individual.
+
+##Polítiques
+
+**Informació Pública**
+
+Qualsevol informació o cualsevol cosa publicada per tu a $Projectname POT ser pública o visible a qualsevol a Internet. En la mesura que sigui possible, $Projectname te permet protegir el contingut i restringir qui pot veure-ho.
+
+La teva foto de perfil, el nom del teu canal, i la ubicació (URL o adreça de xarxa) del seu canal són visibles per a qualsevol persona a Internet i els controls de privacitat no afectaràn la visualització d'aquests elements.
+
+POTS proporcionar, a més, un altra informació de perfil. Qualsevol informació que proporcionis en el teu perfil públic **per defecte** POT ser transmesa a altres centres en $Projectname i, a més, és possible que aparegui en el directori del canal. POTS restringir la visualització d'aquesta informació de perfil. Es POT restringir (permets que visualitzin), només als membres del teu nucli, o només les connexions (amics), o altres conjunts limitats de espectadors com desitgis. Si vols que el teu perfil estigui restringit, has d'establir la configuració de privacitat adequada, o simplement NO PROPORCIONIS informació addicional.
+
+**Contingut**
+
+El contingut que proporciones (missatges d'estat, fotos, arxius, etc.) et pertany a tu. Per defecte a $Projectname és publica contingut de forma oberta i visible per qualsevol en internet (PÚBLIC). POTS controlar això a la seva configuració del canal i restringir els permisos per defecte o pot restringir la visibilitat de qualsevol article únic publicat per separat (PRIVAT). Els desenvolupadors $Projectname s'han d'assegurat que el contingut restringit és visible NOMÉs per als que estan a la llista d'autoritzats - han emprat el millor d'ells per això.
+
+El contingut (especialment les entrades d'estat) que es comparteixen amb altres xarxes o que has fet visible a qualsevol a Internet (PÚBLIC) no poden ser retirats (esborrats) fàcilment un cop que ha estat publicats. Pot haver estat compartit amb altres xarxes i posat a disposició a través de feeds RSS/Atom. També pot haver estat sindicat en altres llocs $Projectname. Pot aparèixer en les xarxes d'espionatge i recerques a Internet. Si no desitges aquest comportament per defecte, si et plau, ajusta la configuració del canal i restringeix qui pot veure el teu contingut.
+
+**Comentaris i entrades a Forums**
+
+Els comentaris als llocs que es van crear per altres i entrades que es designen com missatges al fòrum pertanyen tant a tu com al creador/autor, però la distribució d'aquests llocs no està sota el teu control directe. Aquestes entrades/comentaris es poden tornar a distribuir als altres, i pot ser visible per qualsevol en internet. En el cas dels comentaris, el creador del "primer missatge" al fil al qual està responent controla la distribució de tots els comentaris i respostes a aquest missatge.
+
+
+**Informació Privada**
+
+Els desenvolupadors de $Projectname aseguraràn que cualsevol contingut que creis designat com PRIVAT estarà protegit contra estaràn protegits contra les escoltes - han emprat el millor d'ells per això. El contingut privat generalment s'amaga o enfosqueix fins i tot als administradors de nodes. També s'eliminen les notificacions per correu electrònic. És difícil, però no impossible que aquest contingut sigui vist per un administrador de node. El xifrat extrem a extrem es facilita com una característica opcional i fa el contingut, NO VISIBLE, fins i tot per un administrador determinat a veure'l.
+
+##Privacitat de la Identitat
+
+La Privacitat per la teva identitat és un altre aspecte. En tenir una identitat descentralitzada a $Projectname, la seva privacitat s'estén més enllà del seu node d'inici. Si vols tenir el control complet de la teva privacitat i seguretat has d'executar el teu propi centre en un servidor dedicat. Per a moltes persones, això és complicat i pot esgotar les seves habilitats tècniques. Així que anem a enumerar algunes precaucions que pots fer per assegurar la teva privacitat tant com sigui possible.
+
+Una identitat descentralitzat té molts avantatges i te dóna un munt de característiques interessants, però has de ser conscient del fet que la teva identitat és coneguda per altres centres de la xarxa $Projectname. Un d'aquests avantatges és que altres canals poden servir contingut personalitzat i permetrà veure el contingut privat (com fotos privades que altres volen compartir amb vostè). Per això els canals necessiten saber qui ets. Però entenem que de vegades aquests altres canals en saben més de tu del que pugui desitjar. Per exemple, el plug-in Visage pot dir-li al propietari d'un canal l'última vegada que vas visitar el seu perfil. Pots renunciar fàcilment a aquest baix nivell de seguiment, que creiem inofensiu.
+
+* Pots activar [No Em Segueixis (anglès:Do Not Track (DNT))](http://donottrack.us/) al teu navegador web. Respectem aquesta nova política de privacitat proposada. Tots en navegadors moderns soporten DNT. Trobaràs als ajustos de privacitat del teu navegador web o sino pots consultar el manual del navegador. Això no afectarà la funcionalitat de $Projectname. Aquest ajust, segurament, es suficient per la majoria de la gent.
+
+* Pots [deshabilitar publicacions](ajustos) del teu canal al nostre canal de directoris. Si vols que la gent trobi el teu canal, has de facilitar la teva direcció del canal a ell(a). Pensem que això es un bon indicador que, en aquest cas, vols es un extra de privacitat i automaticament s'activarà "No Em Segueixis" (DNT).
+
+* Pots tenir un node blocat. Això significa que tots els canals i contingut en aquest node no es públic i invisible al món exterior. Això és quelcom que només ho pot fer l'administrador del teu node. També es respecta això i automàticament s'activa DNT si és sel·leccionat.
+
+###Censura
+
+$Projectname és una xarxa global que inclou a totes les religions i cultures. Això no implica que tots els membres de la xarxa pensin de la mateixa manera que tu pel que fa en temes polèmics, i algunes persones poden sentir una forta oposició al contingut que publiquis. En general, si desitjes publicar alguna cosa que saps que no és universalment acceptable, el millor enfocament consisteix a restringir l'audiència utilitzant els controls de privacitat a un petit cercle d'amics.
+
+$Projectname com un proveïdor de la xarxa no pot censurar el contingut. No obstant això, els administradors de node poden censurar qualsevol contingut que apareix en el seu centre per complir amb les lleis locals o fins i tot el seu judici personal. La seva decisió serà inapel·lable. Si té problemes amb qualsevol administrador de node, pots moure el teu compte i publicacions a un altre lloc que estigui més d'acord amb les teves expectatives. Si us plau comprova (periòdicament) les [Condicions d'ús](help/TermsOfService) del teu centre per aprendre sobre les normes o directrius. Si el teu contingut consisteix en un material que és il·legal o que pugui causar problemes, es recomana ENCARIDAMENT a allotjar tu mateix (convertir-te en un administrador de node). Podràs trobar que el teu contingut està bloquejat en alguns centres, però $Projectname, com a xarxa, no pot bloquejar una vegada publicat.
+
+$Projectname RECOMANA que els administradors de nodes ofereixin un període de gràcia de 1-2 dies entre advertir al titular d'un compte, que hi ha contingut que ha de ser eliminat, i l'eliminació física o desactivació del compte. Això li donarà al propietari del contingut l'oportunitat d'exportar els seus canal de meta-dades i importar-lo a un altre lloc. En rares ocasions el contingut pot ser de tal naturalesa que es justifiqui l'eliminació immediata del compte. Aquesta és una decisió del node, no és una decisió de $Projectname.
+
+Si normalment i regularment publiques contingut per a adults o de caràcter ofensiu, es recomana ENCARIDAMENT que marquis el compte com "NSFW" (No segur per al treball). Això evitarà que es mostri la teva foto de perfil al directori, excepte per als espectadors que han optat per desactivar el "mode segur". Si la teva foto de perfil es considera per a adults o ofensiu pels administradors de directori, l'administrador del directori POT marcar la teva foto de perfil com NSFW. Actualment no hi ha un sistema oficial per revertir aquesta decisió. Així DEURIES marcar tu mateix, el teu compte, com a NSFW si és probable que no sigui apropiat per a audiències generals.
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/ca/TermsOfService.md b/doc/ca/TermsOfService.md
new file mode 100644
index 000000000..51d786683
--- /dev/null
+++ b/doc/ca/TermsOfService.md
@@ -0,0 +1,8 @@
+Termes del Servei
+================
+Aquest node Hubzilla encara no te Termes del Servei. Estic buscant un model adient.....
+En resum empreu el servei respectant els altres i no cometeu il·legalitats. Aquest node no s'identifica amb les opinions dels usuaris ni es responsablilitza de les mateixes.
+
+
+#include doc/SiteTOS.md;
+
diff --git a/doc/ca/about.bb b/doc/ca/about.bb
new file mode 100644
index 000000000..0edd09221
--- /dev/null
+++ b/doc/ca/about.bb
@@ -0,0 +1,27 @@
+[b]Que és[/b]
+
+$Projectname és una xarxa de comunicacions descentralitzades, que permet comunicacions lliures de censura, amb privacitat, i per tant lliure de les urpes opressores de gegants contemporanis de comunicació corporativa. Aquests gegants funcionen principalment com xarxes d''espionatge per a cobrar a clients de totes les classes i tipus, a més de monopolitzar i centralitzar Internet; una característica que no formava part dels objectius originals i revolucionàries que van produir la World Wide Web.
+
+$Projectname és gratuït i de codi obert. Està dissenyat per a creixèr des de una raspberry pi de 35€, fins el màxim de la gama de servidors AMD i servidors empresarials de múltiples nuclis que funcionen amb Intel Xeon. Pot ser utilitzat per a suportar la comunicació entre uns pocs individus, o l'escalar a molts milers i més.
+
+$Projectname pretén ser àgil i capaç de treballar amb múltiples recursos informàtics. És fàcil d'utilitzar pels usuaris habituals d''ordinadors, així com per administradors de sistemes i desenvolupadors.
+
+
+La forma d'utilitzar depèn de com voleu utilitzar-lo.
+
+Està escrit en el llenguatge de scripting PHP, pel que és trivial instal·lar-lo en qualsevol plataforma d'allotjament en ús avui en dia. Això inclou l'auto-allotjament a casa, en els proveïdors d'allotjament, com ara [url=http://mediatemple.com/]Media Temple[/url] i [url=http://www.dreamhost.com/]Dreamhost[/url], o en servidors virtuals i dedicats, oferts per gràcia de [url=https://www.linode.com]Linode[/url], [url=http://greenqloud.com]GreenQloud[/url] o [url=https://aws.amazon.com]Amazon AWS[/url].
+
+
+En altres paraules, $Projectname es pot executar en qualsevol plataforma informàtica que vingui amb un servidor web, una base de dades compatible amb MySQL i el llenguatge de scripting PHP.
+
+
+
+De pas, $Projectname ofereix una sèrie de atractius únics:
+
+[b]Identificació amb un sol clic d'usuari:[/b] vol dir que pot accedir a llocs en $Projectname simplement fent clic als enllaços a llocs remots. L''autenticació passa automàgicament en segon plà. Oblida't de recordar múltiples noms d'usuari amb múltiples contrasenyes en accedir a diferents llocs en línia.
+
+[b]La clonació:[/b] de les identitats en línia. La seva presència en línia ja no ha d'estar lligat a un sol servidor, nom de domini o adreça IP. Pot clonar i importar la seva identitat (o canal com en diem) a un altre servidor (o, en un concentrasor com son coneguts els servidors a $Projectname). Ara, si el seu concentrador/servidor cau, no et preocupis, els teus contactes, missatges [i]*[/i], i els missatges de [i]*[/i] automàgicament segueixen estant disponibles i accessibles al seu canal clonat. [i](*: només es perden els missatges i els missatges a partir del moment en que va clonar el seu canal)[/i]
+
+[b]Privacitat:[/b] les identitats a $Projectname (Zot identificadors) es poden eliminar, salvar/descarregar i clonar. L'usuari té el control total de les seves dades. Si vostè decideix esborrar tot el seu contingut i esborrar la seva ID Zot, tot el que has de fer és fer clic a un enllaç i s'eliminen immediatament d concentrador/servidor. No hi ha preguntes, sense problemes.
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/ca/accounts_profiles_channels_basics.bb b/doc/ca/accounts_profiles_channels_basics.bb
new file mode 100644
index 000000000..0f8c22c04
--- /dev/null
+++ b/doc/ca/accounts_profiles_channels_basics.bb
@@ -0,0 +1,19 @@
+[size=large][b]Comptes, Perfils i Canals[/b][/size]
+
+Una vegada t'has registrat amb un [i]compte[/i] al servei, també has de crear un [i]perfil[/i] i un [i]canal[/i].
+
+[b]Compte[/b]
+Tens i]un[/i] compte. Això consisteix en una adreça de correu electrònic i una contrasenya. Amb el teu compte pots accedit al teu perfil i al teu canal.
+[i]Pensa en el teu compte com una via per autenticar-te al teu lloc $Projectname. Et permet fer coses com, crear perfils i canals amb els que podràs amb altres persones.[/i]
+
+[b]Perfil[/b]
+Segurament t'has registrat a altres serveis a internet, com fòrums, o comunicacions en línia. Per a tots ells proveeixes alguna informació de tu, data de naixement, país, edat, i que es el que d'agrada. [observer=1]If you like you can see your profile here: [baseurl]/profile/[observer.webname] and edit it by clicking on the pencil icon next to your avatar image. [/observer]
+Unlike other services $Projectname offers you the advantage of creating [i]many more profiles[/i]. That way you are able to distinguish between profiles targeted specially at everyone (your public profile), your work mates, your family and your partner.
+[i]Think of your profile as the basic information about yourself you tell other people.[/i]
+
+[b]Channel[/b]
+During the registration you created your first [i]channel[/i]. Yes, besides several profiles you are able to have several channels. This might be a bit confusing in the beginning, but let's clear things up. You already have created one channel. You can use this one for the public, to communicate with people about every day life. But perhaps you are an avid book reader and many people are bored by that. So you open a [i]second channel[/i] just for the book lovers, where you all can talk about books as much as you like. Obviously this is a new stream of posts, with a new profile (... or new profile[i]s[/i] ...) and completely different contacts. Some connections might exist in both channels, but there will be some that are exclusive to only one of both. You yourself just switch between both of them just like you would in real life switch when talking to people you meet on the street or people you meet specially to talk about books. You can even connect to yourself, or better: to your other channel. :)
+[i]Think of a channel as different spaces dedicated to different topics where you meet with different people.[/i]
+
+#include doc/macros/main_footer.bb;
+
diff --git a/doc/ca/admins.bb b/doc/ca/admins.bb
new file mode 100644
index 000000000..74847ab72
--- /dev/null
+++ b/doc/ca/admins.bb
@@ -0,0 +1,15 @@
+[h2]Documentació per a Administradors de Concentradors (dits Hubs en anglès)[/h2]
+
+[h3]Administradors[/h3]
+
+[zrl=[baseurl]/help/install]Instal·lació[/zrl]
+[zrl=[baseurl]/help/red2pi]Instal·lant $Projectname en una Raspberry Pi[/zrl]
+[zrl=[baseurl]/help/Hubzilla_on_OpenShift]$Projectname en OpenShift[/zrl]
+[zrl=[baseurl]/help/troubleshooting]Consells per solucionar problemes[/zrl]
+[zrl=[baseurl]/help/hidden_configs]Afinant Configuracions ocultes de $Projectname[/zrl]
+[zrl=[baseurl]/help/faq_admins]FAQ Per als Administradors[/zrl]
+[zrl=[baseurl]/help/service_classes]Classes de Serveis[/zrl]
+[zrl=[baseurl]/help/directories]Treballant amb i configuració de directoris[/zrl]
+[zrl=[baseurl]/help/theme_management]Gestió de Temes[/zrl]
+
+
diff --git a/doc/ca/channels.bb b/doc/ca/channels.bb
new file mode 100644
index 000000000..898e919b0
--- /dev/null
+++ b/doc/ca/channels.bb
@@ -0,0 +1,32 @@
+[b]Canals[/b]
+
+
+
+Els canals són simplement col·leccions de continguts emmagatzemats en un sol lloc. Un canal pot representar qualsevol cosa. Podria representi, un lloc web, un fòrum, àlbums de fotos, qualsevol cosa. Per a la majoria de la gent, el seu primer canal serà &quot;Ell&quot; mateix.
+
+Les característiques més importants d'un canal que &quot;em&quot; representa són:
+
+Comunicacions segures i privades &quot;lliures d'spam&quot;
+
+Identitat i &quot;un sol inici de sessió &quot; a través de tota la xarxa
+
+Controls de privacitat i permisos que s'estenen a tota la xarxa
+
+Serveis de directori (com una guia telefònica)
+
+En resum, una cadena que et representa a tú mateix és &quot;jo, a l'Internet &quot;.
+
+Hauràs de crear el teu primer canal com a part del procés de registre. També pots crear canals additonal des del menú &quot;Selecciona canal &quot;.
+
+Se li demanarà que proporcioni un nom de canal, i un curt sobrenom. Per a un canal que et representa a tu mateix, és una bona idea utilitzar el teu nom real per assegurar-se que els teus amics puguin trobar-te, i connectar al teu canal. El sobrenom curt s'utilitzarà per generar un nom &quot;intermediari&quot;. Això és una mica com un nom d'usuari, i es veurà com una adreça de correu electrònic, prenent forma sobrenom@domini. Has de pensar una mica en que desitges utilitzar aquí. Imagina a algú demanant la teu nom intermediari i haver de dir-los que és &quot;Crema-miss_issipi.123&quot;. &quot;cremamississipi&quot; seria una opció molt millor.
+
+Una vegada que hagis creat el teu canal, se't portarà a la pàgina de configuració, que permet definir el teu canal, i establir els teus permisos predeterminats.
+
+Un cop fet això, el canal està llest per utilitzar. En [observer=1][observer.url][/observer][observer=0]example.com/channel/username[/observer] trobaràs el teu canal de &quot;flux&quot;. Aquí és on apareixerà la teva activitat recent, en ordre cronològic invers. Si publica a la casella &quot;compartir&quot;, apareixerà l'entrada a la part superior del teu flux. També trobaràs enllaços a totes les altres àrees de comunicació per aquest canal. El fitxa &quot;en quant a &quot; conté el teu &quot;perfil&quot;, la pàgina de fotos conté àlbums de fotos, i la pàgina d'esdeveniments conté esdeveniments compartits per tu i els teus contactes.
+
+La pàgina &quot;Xarxa&quot; conté tots els missatges recents de tota la xarxa $Projectname, de nou amb sentit cronològic invers. Els missatges exactes que apareixen aquí depenen en gran mesura dels teus permisos. En la teva forma més permissiva, rebràs missatges de desconeguts. A l'altre extrem de l'escala, podràs veure els missatges de només els seus amics - o si ets realment antisocial, només els teus propis missatges.
+
+Com s'ha esmentat al principi, són possibles molts altres tipus de canal, però, el procediment de creació és el mateix. La diferència entre els canals es troba principalment en els permisos assignats. Per exemple, una cadena per a l'intercanvi de documents amb els seus col.legues a la feina, és millor si canvieu valors més permissius per &quot;Em pot escriure en el meu&quot; públic &quot;magatzem d'arxius &quot;, que un compte personal. Per obtenir més informació, consulteu la secció de permisos.
+
+
+#include doc/macros/main_footer.bb; \ No newline at end of file
diff --git a/doc/ca/develop.bb b/doc/ca/develop.bb
new file mode 100644
index 000000000..7e82049c7
--- /dev/null
+++ b/doc/ca/develop.bb
@@ -0,0 +1,34 @@
+[h2]Documentació per Desenvolupadors[/h2]
+
+[h3]Documentació Tècnica[/h3]
+[zrl=[baseurl]/help/Zot---A-High-Level-Overview]Una vista en profunditat a Zot[/zrl]
+[zrl=[baseurl]/help/zot]Una introducció a Zot[/zrl]
+[zrl=[baseurl]/help/zot_structures]Estuctures a Zot[/zrl]
+[zrl=[baseurl]/help/comanche]Descripcions de Pàgina a Comanche[/zrl]
+[zrl=[baseurl]/help/Creating-Templates]Creant Plantilles a Comanche[/zrl]
+[zrl=[baseurl]/help/Widgets]Artilugis[/zrl]
+[zrl=[baseurl]/help/plugins]Complements[/zrl]
+[zrl=[baseurl]/help/hooklist]Ganxos (detallat - en construcció)[/zrl]
+[zrl=[baseurl]/help/doco]Documentació[/zrl]
+[zrl=[baseurl]/help/DerivedTheme1]Creant Temes Derivats[/zrl]
+[zrl=[baseurl]/help/schema_development]Esquemes[/zrl]
+[zrl=[baseurl]/help/Translations]Traduccions[/zrl]
+[zrl=[baseurl]/help/developers]Desenvolupadors[/zrl]
+[zrl=[baseurl]/help/intro_for_developers]Introducció per Desenvolupadors[/zrl]
+[zrl=[baseurl]/help/database]Documentació del esquema de la base de dades[/zrl]
+[zrl=[baseurl]/help/api_functions]Funcions de la API[/zrl]
+[zrl=[baseurl]/help/api_posting]Entrades a $Projectname emprant la API[/zrl]
+[zrl=[baseurl]/help/developer_function_primer]Funcions Red 101[/zrl]
+[zrl=[baseurl]/doc/html/]Refrència del Codi (Doxygen generat - ajust de cookies)[/zrl]
+[zrl=[baseurl]/help/to_do_doco]Llista de Pendents per a la Documentació del Projecte $Projectname[/zrl]
+[zrl=[baseurl]/help/to_do_code]Llista de Pendents per a Desenvolupadors[/zrl]
+[zrl=[baseurl]/help/roadmap]Full de ruta[/zrl]
+[zrl=[baseurl]/help/git_for_non_developers]Git per a No-Desenvolupadors[/zrl]
+[zrl=[baseurl]/help/dev_beginner]Manual pas-a-pas per a desenvolupadors principiants[/zrl]
+
+[h3]Preguntes Més Freqüents (FAQ) Per Desenvolupadors[/h3]
+[zrl=[baseurl]/help/faq_developers]FAQ Per Desenvoupadors[/zrl]
+
+[h3]Recursos Externs[/h3]
+[url=https://zothub.com/channel/one]Development Channel[/url]
+[url=https://federated.social/channel/postgres]Postgres-specific $Projectname Admin Support Channel[/url]
diff --git a/doc/ca/features.bb b/doc/ca/features.bb
new file mode 100644
index 000000000..320f52c62
--- /dev/null
+++ b/doc/ca/features.bb
@@ -0,0 +1,202 @@
+[b][size=36]Característiques[/size][/b]
+
+[b][size=24]$Projectname en Poques Paraules[/size][/b]
+
+TL;DR
+
+$Projectname proveeix publicacions i comunicacions socials distribuïdes amb [b]permisos descentralitzats[/b].
+
+Així, que vol dir "permisos descentralitzats"? Em donen la habilitat de compàrtir quelcom al meu lloc web (fotos, mitjans, arxius, pàgines web, etc.) Aamb persones específiques en llocs completament diferents - encara que no necesàriament amb [i]tothom[/i] en aquests llocs web; i no es necessita tenir un usuari i contrasenya en aquests altres llocs web per poder fer-ho ni per poder tafanejar el que ells han compartit amb mi. Ells tenen un usuari i contrasenya al seu lloc web i "màgica autenticació" entre llocs web afiliats a la xarxa. També, al esser centralitzat, no hi ha terceres parts que puguin saltar-se els permisos i veure el que estàs fent a la xarxa.
+
+$Projectname combina moltes característiques dels blocs tradicionals, les xarxes socials i els mitjans de comunicació, sistemes de gestió de continguts i emmagatzematge en el núvol personal en un marc de treball fàcil d'utilitzar. Cada node de la xarxa pot funcionar independent o enllaçar amb altres nodes per crear una súper-xarxa; deixant la privacitat sota el control de l'editor original.
+
+$Projectname és una aplicació de servidor web de codi obert escrit originalment en PHP/MySQL i és fàcilment instalable per aquells amb habilitats d'administració web bàsiques. També s'estén fàcilment a través de plugins i temes i altres eines de tercers.
+
+[b][size=24]Característiques de $Projectname[/size][/b]
+
+
+$Projectname és un tot terreny per a la publicació web i una xarxa de comunicacions amb diverses característiques úniques. Està dissenyat per a ser utilitzat per la gamma més àmplia de persones a la web, dels blocaires no tècnics, als programadors de PHP experts i administradors de sistemes experimentats.
+
+A aquesta pàgina s'enumeren algunes de les característiques fonamentals de $Projectname que s'inclouen amb la versió oficial. Igual que amb la majoria del programari lliure i de codi obert, pot haver moltes altres extensions, complements, plugins, temes i configuracions que estan limitats només per les necessitats i la imaginació dels membres.
+
+[b][size=24]Construït per la Privacitat i la Llibertat[/size][/b]
+
+Un dels objectius de disseny de $Projectname és permetre la comunicació fàcil a la web, mentre que preserva la intimitat, si així es desitja pels membres. Per aconseguir aquest objectiu, $Projectname inclou una sèrie de característiques que permeten nivells arbitraris de privacitat:
+
+[b]Control Lliscant d'Afinitat[/b]
+
+En afegir connexions en $Projectname, els membres tenen l'opció d'assignar nivells de "afinitat" (el prop que la seva amistat és amb el contacte) per a la nova connexió. Per exemple, quan s'afegeix a algú que resulta ser una persona a la que segueixes el seu bloc, podries assignar al seu canal un nivell d'afinitat de &quot;Coneguts&quot;.
+
+D'altra banda, quan s'afegeix el canal d'un amic, que pot ser col·locat sota el nivell d'afinitat de &quot;Amics&quot;.
+
+En aquest punt, l'eina [i]Control Lliscant d'Afinitat[/i] de $Projectname, que en general apareix a la part superior de la teva pàgina, ajusta el contingut de la pàgina per incloure als que estan dins del rang afinitat desitjada. No es mostraran Canals fora d'aquest rang, llevat que s'ajusti el Control Lliscant per incloure'ls.
+
+El Control Lliscant D'Afinitat permet filtrar instantàniament grans quantitats de contingut, agrupats per nivells de proximitat.
+
+[b]Filtre de Connexions[/b]
+
+Tens la capacitat de controlar amb precisió el que apareix en el teu flux emprant opcionalment el "filtre de connexió". Quan s'activa, l'editor de connexió proporciona entrades per a la selecció de criteris que ha de ser aparellat amb la finalitat d'incloure o excloure un lloc específic d'un canal específic. Una vegada que un missatge s'ha permès, tots els comentaris a aquest lloc se'ls permet, independentment de si s'ajusten als criteris de selecció. Pots seleccionar paraules que si estàn presents al bloc o assegurar-te que està inclosses en el teu flux. Les expressions regulars es poden usar per al control encara més fi, així com hashtags o fins i tot l'idioma detectat del lloc.
+
+[b]Llista de Control d'Accés[/b]
+
+En compartir el contingut, els membres tenen l'opció de restringir qui veu el contingut. En fer clic al cadenat sota de la casella de compartir, un pot triar els destinataris desitjats del lloc, fent clic en els seus noms.
+
+Un cop enviat, el missatge serà visible únicament pel remitent i els destinataris seleccionats. En altres paraules, el missatge no apareixerà al mur públic.
+
+Llistes de Control d'Accés es poden aplicar als continguts i missatges, fotos, esdeveniments, pàgines web, sales de xat i arxius.
+
+[b]Inici de Sessió Únic[/b]
+
+Les Llistes de Control d'Accés treballen per a tots els canals a la xarxa gràcies a la nostra tecnologia única d'inici de sessió únic. La majoria dels enllaços interns proporcionen una identitat símbolica que pot ser verificada en altres llocs $Projectname i s'utilitza per controlar l'accés als recursos privats. Entres una vegada al teu concentrador. Després d'això, l'autenticació de tots els recursos de $Projectname és "màgia".
+
+
+[b]WebDAV activa l'Emagatzematge d'Arxius[/b]
+
+Els arxius poden ser enviats a la teva àrea d'emmagatzematge personal utilitzant les teves utilitats del sistema operatiu (arrossegar i deixar anar en la majoria dels casos). Pots protegir aquests arxius amb la Llista de Control d'Accés amb qualsevol combinació de membres de $Projectname (incloent alguns membres d'altres terceres xarxes) o fer-los públics.
+
+[b]Foto Àlbums[/b]
+
+Salva Fotos en Àlbums. Totes les fotografies es poden protegir mitjançant llistes de control d'accés.
+
+[b]Calendari d'Esdeveniments[/b]
+
+Creació i gestió d'esdeveniments i tasques, que també poden ser protegits amb llistes de control d'accés. Els esdeveniments poden ser importats/exportats a un altre programari amb el format estàndard de la indústria vCalendar/iCal i compartida en els llocs amb els altres. Esdeveniments d'aniversari s'agreguen automàticament dels teus amics i es tradueixen a la seva zona horària correcta així sabràs exactament quan es produeix l'aniversari - no importa on et trobis en el món en relació amb la persona de l'aniversari. Els esdeveniments es creen normalment amb taulells d'assistència perquè els teus amics i connexions puguin confirmar la seva assistència a l'instant.
+
+[b]Sales de Xat[/b]
+
+Pots crear qualsevol nombre de sales de xat personals i permetre l'accés a través de llistes de control d'accés. Aquestes solen ser més segures que XMPP, IRC, i altres transports de missatgeria instantània, encara que també permetem l'ús d'aquests altres serveis a través de connectors.
+
+[b]Constructor de Pàgines Web[/b]
+
+$Projectname té moltes eines de creació de "Gestió de Contingut" per a la creació de pàgines web, incloent l'edició disposició, menús, blocs, widgets, i pàgina/contingut per regions. Totes aquestes poden ser d'accés controlat perquè les pàgines resultants siguin privades per al seu públic objectiu.
+
+[b]Apps/Aplicacions[/b]
+
+Apps poden ser construïdes i distribuïdes pels membres. Aquestes aplicacions són diferents del tradicional "bloqueig pel proveïdor" perquè són controlats completament per l'autor - que pot proporcionar control d'accés a les pàgines d'aplicacions de destinació i la càrrega consegüent per a aquest accés. La majoria de les aplicacions en $Projectname són gratuïtes i es poden crear fàcilment per aquells que no tenen coneixements de programació.
+
+[b]Disposició[/b]
+
+La disposició de la pàgina es basa en un llenguatge de descripció anomenat Comanche. $Projectname en si mateix està escrit amb dissenys de Comanche i es poden canviar. Això permet un nivell de personalització que no se sol trobar en els anomenats "entorns multiusuari".
+
+[b]Favorits[/b]
+
+Compartir i guardar/administrar els enllaços de favorits proporcionats en les converses.
+
+
+[b]Xifrat de missatges privats i Dubtes sobre la confidencialitat[/b]
+
+El correu privat s'emmagatzema en un format ocult. Si bé això no és a prova de bales, en general, evita l'espionatge informal per l'administrador del lloc o ISP.
+
+Cada canal de $Projectname té el seu propi conjunt únic de claus RSA (de 4096 bits) públiques i privades associades, que es genera quan es crea primer els canals. Això s'utilitza per protegir els missatges privats i missatges en trànsit.
+
+A més, els missatges poden ser creats utilitzant "xifrat d'extrem a extrem", que no pot ser llegit per els operadors $Projectname o ISPs o algú que no coneixi el codi d'accés.
+
+Els missatges públics en general, no es xifren en trànsit o en l'emmagatzematge.
+
+Els missatges privats poden ser retirats (com si no s'hagués enviat), encara que no es garanteix que el destinatari no l'ha llegit abans que l'hagis retirat.
+
+Entrades i missatges poden ser creats amb una data de venciment, moment en el qual s'eliminaran/borraran en el lloc del destinatari.
+
+
+[b]Servei de Federació[/b]
+
+A més de l'afegit (addon) "connectors d'entrades creuades" a una varietat de xarxes alternatives, no hi ha suport natiu per a la importació de continguts de RSS/Atom i usar això per crear canals especials. A més, una implementació experimental, però de treball del protocol de la Diàspora permet la comunicació amb la gent en les xarxes socials friendica i Diàspora descentralitzats. Actualment això es va marcar experimental a causa de que aquestes xarxes no tenen el mateix nivell de funcions de privacitat i encriptació i habilitats com $Projectname i poden presentar riscos per a la privacitat.
+També hi ha suport experimental per a l'autenticació OpenID que es pot utilitzar en les llistes de control d'accés. Aquest és un treball en progrés. El seu concentrador $Projectname pot ser utilitzat com un proveïdor d'OpenID per autenticar als serveis externs que utilitzen aquesta tecnologia.
+Els canals poden tenir permisos per convertir-se en "canals derivats" on dos o més canals existents es combinen per crear un nou canal d'actualitat.
+
+[b]Col·leccions[/b]
+
+"Col·leccions" és la nostra implementació de grups de privacitat, que és similar a Google "Cercles" i "Aspectes" de Diaspora. Això li permet filtrar el flux entrant per col·leccions o grups, i automàticament configurar la llista de control d'accés sortint a només aquells en la Col·lecció quan publiqui. Pots obviar tot això en qualsevol moment (abans d'enviar l'entrada).
+
+
+[b]Serveis de Directori [/b]
+
+Oferim fàcil accés a un directori de membres i proporcionem eines descentralitzades capaçes de proporcionar amics "suggerits". Els directoris són llocs normals $Projectname que han optat per acceptar la funció de servidor de directori. Això requereix més recursos que la majoria dels llocs típics pel que no és el predeterminat. Els Directoris estan sincronitzats i reflecteixen el que tots ells contenen amb informació actualitzada sobre tota la xarxa (subjecte a demores normals de propagació).
+
+
+[b]TLS/SSL[/b]
+
+Els concentradors de $Projectname que empran TLS/SSL, les comunicacions entre client i servidor son encriptades via TLS/SSL. Donades les recents revelacions en els mitjans de comunicació en relació amb, la vigilància global i l'elusió de xifrat pel NSA i GCHQ, és raonable suposar que les comunicacions HTTPS-protegides es poden veure compromeses de diverses maneres. Les comunicacions privades són en conseqüència xifrades en un nivell superior abans d'enviar-les fora del lloc.
+
+[b]Ajustos del Canals[/b]
+
+Quan es crea un canal, es tria un rol al que s'apliquen una sèrie d'ajustos de seguretat i privacitat preconfigurats. Aquests són elegits per les millors pràctiques per mantenir la privacitat en els nivells requerits.
+
+Si escolliu un paper privacitat "personalitzat", cada canal permet permisos de gra fi que es fixaràn per a diferents aspectes de la comunicació. Per exemple, sota la capçalera &quot;Ajusts de Seguretat i Privacitat&quot;, cada aspecte a la banda esquerra de la pàgina, té sis (6) Opcions possibles de visualització/accés, que es poden seleccionar fent clic al menú desplegable. També hi ha una sèrie d'altres opcions de privacitat que pots editar.
+
+Les opcions són:
+ - Ningú, excepte tu mateix.
+ - Només aquells que es permeten específicament.
+ - Qualsevol persona en la seva llibreta d'adreces.
+ - Qualsevol en aquest lloc web.
+ - Qualsevol persona en aquesta xarxa.
+ - Qualsevol autenticat.
+ - Qualsevol persona a Internet.
+
+[b]Forums Públics i Privats[/b]
+
+Els fòrums són típicament canals que poden estar obertes a la participació de múltiples autors. Actualment existeixen dos mecanismes per pujar als fòrums: 1) els missatges "de mur a mur" i 2) a través de les etiquetes de foro @menció. Els fòrums poden ser creats per qualsevol persona i s'utilitzats per a qualsevol propòsit. El directori conté una opció per buscar fòrums públics. Als Fòrums privats només es poden fer entrades pels membres i sovint només son vistos pels membres.
+
+
+[b]Clonat de Comptes[/b]
+
+Els Comptes a $Projectname es refereixen com a [i]identitats nómades[/i], perquè la identitat d'un membre no està lligada al concentrador/servidor on es va crear originalment. Per exemple, quan es crea un compte de Facebook o Gmail, que està lligat a aquests serveis. No poden funcionar sense Facebook.com o Gmail.com.
+
+Per contra, imagina que has creat una identitat a $Projectname anomenada [b]tina@Hubzillahub.com[/b]. Aquesta es pot clonar a un altre hub de $Projectname amb el mateix nom o un altre de diferent: per exemple [b]viuPerSempre@HubzillaHub.info[/b]
+
+Tots dos canals estan ara sincronitzats, el que significa que tots els seus contactes i preferències es dupliquen en el teu clon. No importa si s'envia un missatge des del seu hub original o el nou centre. Els missatges/emtrades seran reflectits/des en tots dos comptes.
+
+Aquesta és una característica bastant revolucionària, si tenim en compte alguns dels escenaris:
+
+ - Què passa si el concentrador/servidor on la identitat es basa cau sobtadament fora de línia? Sense clonació, un membre no pot comunicar fins que aquest centre torna a estar de nou en línia (sens dubte molts de vosaltres heu vist i maleït el Twitter "Fail Whale"). Amb la clonació, es pot iniciar la sessió al compte clonat, i la vida continua feliços per sempre. - L'administrador del teu concentrador/servidor ja no es pot permetre el luxe de pagar el concentrador/servidor $Projectname que ofereix gratuitament. Llavors anuncia que el centre serà tancant en dues setmanes. Això li dóna temps suficient als socis/partíceps per clonar la seva identitat/s i preservar les seves relacions de $Projectname, amics i contingut. - Què passa si la teva identitat està subjecta a la censura del govern? El teu proveïdor del concentrador/servidor pot ser obligat a eliminar el teu compte, juntament amb les identitats i dades associades. Amb la clonació, a $Projectname ofereixes [b]resistència a la censura[/b]. Pots tenir centenars de clons, si vols, amb noms totalment diferents, i existents en molts centres diferents, escampats a tot l'Internet.
+
+$Projectname ofereix noves i interesants possibilitats per a la privacitat. Pots llegir més a la pàgina &lt;&lt;Bones Pràctiques en Comunicacions Privades&gt;&gt;.
+
+A tenir en compte. Per a una explicació completa de la clonació d'identitat, llegir el &lt;HOW TO CLONE MY IDENTITY&gt;.
+
+[b]Perfils Multiples[/b]
+
+Es poden crear qualsevol nombre de perfils amb informació diferent i es poden fer-se visible/s a alguns de les teves connexions/amics. Un perfil "per defecte" es pot veure per qualsevol persona i pot contenir informació limitada, amb més informació disponible per grups o persones seleccionades. Això vol dir que el perfil (i el contingut del lloc) per als teus amics bevedors de cervesa pot ser diferents del que presentes als seus companys de treball, i també completament diferent del que és visible per al públic en general.
+
+[b]Còpies de Seguretat del Compte[/b]
+
+Hubzilla ofereix una còpia de seguretat del compte, amb un simple clic, on pots descarregar una còpia de seguretat completa del teu perfil(s).
+
+Les còpies de seguretat es poden utilitzar per clonar o restaurar un perfil.
+
+[b]Eliminació del Compte[/b]
+
+Els comptes poden ser [b]esborrats immediatament[/b] fent clic en un enllaç. [b]Això és així[/b]. Tot el contingut associat s'elimina de la xarxa (això inclou els missatges i qualsevol altre tipus de contingut produït pel perfil suprimit). Depenent del nombre de connexions que té, el procés d'eliminació de contingut remot podria portar el seu temps, però està previst que passi tan aviat com sigui possible.
+
+[b][size=20]Creació de Contingut[/size][/b]
+
+[b]Escribint Entrades[/b]
+
+$Projectname suporta un nombre de diferents alternatives per afegir contingut amb text enriquit. La opció per defecte es una variant personalitzada de _BBcode, ajustada per al seu ús a $Projectname. Pots activar l'ús de Markdown (un llenguatge de marques) fàcil de treballar amb ell. Un editor visual també es pot emprar. El editor visual tradicionalment emprat en $Projectname va tenir seriosos problemes i ha estat eliminat. Estem actualment buscant un substitut.
+
+Quant creem &quot;llocs Web&quot;, El contingut espot afegir en HTML, Markdown, BBcode, i/o text plà.
+
+[b]Esborrat del contingut[/b]
+Qualsevol contingut creat a $Projectname roman sota el control del membre (o canal) que el va crear originalment. En qualsevol moment, un membre pot esborrar un missatge o un rang de missatges. El procés d'esborrat assegura que el contingut es eliminat, indiferentment de on es va publicar si en el canal primari (l'inicial)del concentrador/servidor o en altre qualsevol on el canal es va autenticar remotament via Zot ($Projectname communicació i protocol d'autenticació).
+
+[b]Multimedia[/b]
+Igual que qualsevol altre sistema modern de blocs, xarxes socials, o d'un servei de micro-blogging, $Projectname és compatible amb la càrrega d'arxius, la incorporació dels vídeos, l'enllaç de pàgines web.
+
+[b]Vista Prèvia/Edició[/b]
+Les entrades es poder pre visualitzar abans d'enviar-les i reeditar desprès de ser enviades.
+
+[b]Votacions/Consens[/b]
+El missatges poden convertir-se en "consensos", són articles que ofereixen als lectors una forma de retroalimentació, es recopilen en comptadors de "d'acord", "en desacord" i "abstenir-se". Que permeten mesurar l'interès per les idees i crear enquestes informals.
+
+
+[b]Estenent $Projectname[/b]
+
+$Projectname es pot estendre per diferents nombre de vies, a través de la personalització del lloc, la teva personalització, ajustos optatius, temes i addons/plugins.
+
+[b]API[/b]
+
+Una API està disponible per al seu ús per serveis de terceres part. Està basat originalment en una de les primeres API's de Twitter(de la que existeixen cents d'eines de terceres parts). S'està ampliant actualment per proporcionar accés a les instal·lacions i capacitats que són específiques de $Projectname. L'accés pot ser proporcionada per usuari/contrasenya o OAuth i es proporciona registre de clients d'aplicacions OAuth.
+
+
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/ca/first-post.bb b/doc/ca/first-post.bb
new file mode 100644
index 000000000..0702e20bf
--- /dev/null
+++ b/doc/ca/first-post.bb
@@ -0,0 +1,3 @@
+[size=large]La teva primera entrada[/size]
+
+... pendent de ser escrita ...
diff --git a/doc/ca/general.bb b/doc/ca/general.bb
new file mode 100644
index 000000000..f7d556130
--- /dev/null
+++ b/doc/ca/general.bb
@@ -0,0 +1,20 @@
+[h2]Informació del Projecte/Lloc[/h2]
+
+[zrl=[baseurl]/help/Privacy]Politica de Privacitat[/zrl]
+
+[zrl=[baseurl]/help/history]Història de $Projectname[/zrl]
+
+[h3]Recursos Externs[/h3]
+[zrl=[baseurl]/help/external-resource-links]Enllaços a Recursos Externs[/zrl]
+
+[url=https://github.com/redmatrix/hubzilla]Lloc Web Principal[/url]
+
+[url=https://github.com/redmatrix/hubzilla-addons]Complements del Lloc Web[/url]
+
+[url=[baseurl]/help/credits]Credits en $Projectname[/url]
+
+[h3]Sobre Aquest Node $Projectname[/h3]
+[zrl=[baseurl]/help/TermsOfService]Termes de Servei per a AQUEST Node[/zrl]
+[zrl=[baseurl]/siteinfo]Informació del Node[/zrl]
+[zrl=[baseurl]/siteinfo/json]Informació Tècnica Detallada en format JSON d'aquest Node[/zrl]
+
diff --git a/doc/ca/main.bb b/doc/ca/main.bb
new file mode 100644
index 000000000..77e935718
--- /dev/null
+++ b/doc/ca/main.bb
@@ -0,0 +1,12 @@
+[zrl=[baseurl]/help/about][b]Que és $Projectname?[/b][/zrl]
+$Projectname és una plataforma de comunicació i publicació descentralitzada que et permet mantenir el control de les teves necessitats de comunicació, gràcies a l'encriptació automàtica i control d'accés de gra fi. Éts tu, i només tu qui decideixes qui pot veure les teves coses.
+
+[zrl=[baseurl]/help/features][b]Característiques de $Projectname[/b][/zrl]
+
+$Projectname ja s'està executant com una xarxa distribuïda global i demostra la seva versatilitat i escalabilitat des de independent fins a grans llocs.
+Penseu en plataformes independents de comunicació de la família, de comunitats en línia distribuïdes, fòrums de suport, blocs i pàgines web. O proveïdors de continguts professionals amb canals premium comercials i accés de continguts específics. El que vulguis, $Projectname és allà per atendre la teva creativitat.
+
+[zrl=[baseurl]/help/what_is_zot][b]Tens Zot? Be, Deuries.[/b][/zrl]
+Zot és el gran nou protocol de communicació inventat especialment per a $Projectname. Com a membre, ja no estàs lligat a un sol lloc o concentrador (hub) gràcies a les "identitats nòmades". Migra fàcilment a un altre servidor i manté els teus contactes intactes, o clona i executa el mateix canal en diversos servidors. Encara que un d'ells tanqui, no es perd res. A més, una vegada que estàs dins de $Projectname no hi ha necessitat d'autenticar dues vegades, fins i tot quan s'accedeix des d'un altre lloc $Projectname. Zot és el que difèrencia $Projectname de qualsevol altre projecte.
+
+
diff --git a/doc/ca/members.bb b/doc/ca/members.bb
new file mode 100644
index 000000000..bfd636b8e
--- /dev/null
+++ b/doc/ca/members.bb
@@ -0,0 +1,25 @@
+[h2]Documentació per a Membres del Concentrador[/h2]
+
+[h3]Començant[/h3]
+[zrl=[baseurl]/help/registration]Registrant un Compte[/zrl]
+[zrl=[baseurl]/help/accounts_profiles_channels_basics]Tu a $Projectname: breument comptes, perfils i canals[/zrl]
+[zrl=[baseurl]/help/profiles]Perfils[/zrl]
+[zrl=[baseurl]/help/channels]Canals[/zrl]
+[zrl=[baseurl]/help/roles]Permisos per roles i tipus de Canals[/zrl]
+[zrl=[baseurl]/help/first-post]La teva primera entrada[/zrl]
+[zrl=[baseurl]/help/connecting_to_channels]Connectant Amb Altres Canals[/zrl]
+[zrl=[baseurl]/help/permissions]Permisos I Encriptació: Tu Tens El Control[/zrl]
+[zrl=[baseurl]/help/cloud]Emmagatzegament Al Núbol[/zrl]
+[zrl=[baseurl]/help/remove_account]Esborrar un Canal o un Compte[/zrl]
+
+[h3]Ajuda per als Membres[/h3]
+[zrl=[baseurl]/help/tags_and_mentions]Etiquetes i Mencions[/zrl]
+[zrl=[baseurl]/help/webpages]Pàgines Web[/zrl]
+[zrl=[baseurl]/help/bbcode]Referència BBcode per a entrades i comentaris[/zrl]
+[zrl=[baseurl]/help/checking_account_quota_usage]Comprovant la Quota d'Ús del Compte[/zrl]
+[zrl=[baseurl]/help/cloud_desktop_clients]Clients d'Escriptori al Núbol[/zrl]
+[zrl=[baseurl]/help/AdvancedSearch]Cerca Avançada al Directori[/zrl]
+[zrl=[baseurl]/help/addons]Ajuda pels Addons[/zrl]
+[zrl=[baseurl]/help/diaspora_compat]Compatibilitat de Comunicacions amb Diaspora (Diaspora i Friendica)[/zrl]
+[zrl=[baseurl]/help/faq_members]FAQ Per Membres[/zrl]
+[zrl=[baseurl]/help/bugs]Errors, Assumptes, i les coses que arriben de cop a la nit...[/zrl]
diff --git a/doc/ca/profiles.bb b/doc/ca/profiles.bb
new file mode 100644
index 000000000..513bf5fed
--- /dev/null
+++ b/doc/ca/profiles.bb
@@ -0,0 +1,37 @@
+[b]Profiles[/b]
+
+$Projectname has unlimited profiles. You may use different profiles to show different &quot;sides of yourself&quot; to different audiences. This is different to having different channels. Different channels allow for completely different sets of information. You may have a channel for yourself, a channel for your sports team, a channel for your website, or whatever else. A profile allows for finely graded &quot;sides&quot; of each channel. For example, your default public profile might say &quot;Hello, I'm Fred, and I like laughing&quot;. You may show your close friends a profile that adds &quot;and I also enjoy dwarf tossing&quot;.
+
+You always have a profile known as your &quot;default&quot; or &quot;public&quot; profile. This profile is always available to the general public and cannot be hidden (there may be rare exceptions on privately run or disconnected sites). You may, and probably should restrict the information you make available on your public profile.
+
+That said, if you want other friends to be able to find you, it helps to have the following information in your public profile...
+
+[ul][*]Your real name or at least a nickname everybody knows
+[*]A photo of you
+[*]Your location on the planet, at least to a country level.[/ul]
+
+In addition, if you'd like to meet people that share some general interests with you, please take a moment and add some &quot;Keywords&quot; to your profile. Such as &quot;music, linux, photography&quot; or whatever. You can add as many keywords as you like.
+
+To create an alternate profile, first go to [zrl=[baseurl]/settings/features]Settings &gt; Additional Features[/zrl] and enable &quot;Multiple Profiles&quot; there, otherwise you won't have the ability to use more than just your default profile.
+
+Then select &quot;Edit Profiles&quot; from the menu of your $Projectname site. You may edit an existing profile, change the profile photo, add things to a profile or create a new profile. You may also create a &quot;clone&quot; of an existing profile if you only wish to change a few items but don't wish to enter all the information again. To do that, click on the profile you want to clone and choose &quot;Clone this profile&quot; there.
+
+In the list of your profiles, you can also choose the contacts who can see a specific profile. Just click on &quot;Edit visibility&quot; next to the profile in question (only available for the profiles that are not your default profile) and then click on user images to add them to or remove them from the group of people who can see this profile.
+
+Once a profile has been selected, when the person views your profile, they will see the private profile you have assigned. If they are not authenticated, they will see your public profile.
+
+There is a setting which allows you to publish your profile to a directory and ensure that it can be found by others. You can change this setting on the &quot;Settings&quot; page.
+
+If you do not wish to be found be people unless you give them your channel address, you may leave your profile unpublished.
+
+[b]Keywords and Directory Search[/b]
+
+On the directory page, you may search for people with published profiles. Currently, only the name field and the keywords are searched. You may also include such keywords in your default profile - which may be used to search for common interests with other members. Keywords are used in the channel suggestion tool and although they aren't visible in the directory, they are shown if people visit your profile page.
+
+On your Connnections page and in the directory there is a link to &quot;Suggestions&quot; or &quot;Channel Suggestions&quot;, respectively. This will find channels who have matching and/or similar keywords. The more keywords you provide, the more relevant the search results that are returned. These are sorted by relevance.
+
+See Also
+
+[zrl=[baseurl]/help/AdvancedSearch]Advanced Searching[/zrl]
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/ca/registration.bb b/doc/ca/registration.bb
new file mode 100644
index 000000000..ae779e0b7
--- /dev/null
+++ b/doc/ca/registration.bb
@@ -0,0 +1,35 @@
+[size=large][b]Registre[/b][/size]
+
+No tots els llocs $Projectname permeten la inscripció oberta. Si es permet el registre, veureu un enllaç de &quot; Registre &quot; immediatament sota de l'entrada a la pàgina principal del lloc. Seguint aquest enllaç et portarà a la pàgina de registre del lloc. En alguns llocs es pot redirigir a un altre lloc que permet registres. Com tots els llocs $Projectname estan vinculats, no importa on resideix el teu compte.
+
+[b]La Teva Adreça de Correu Electrònic[/b]
+
+Si us plau introdueix la teva adreça de correu electrònic vàlida. La teva adreça de correu electrònic mai es farà pública. Aquesta adreça s'utilitzarà per activar el teu compte, que (opcionalment) enviarà notificacions de correu electrònic per als missatges entrants o articles, [i]i per recuperar contrasenyes perdudes[/i].
+
+[b]Contrasenya[/b]
+
+Introdueix una contrasenya de la teva elecció, i repeix-la en la segona casella per assegurar-te que es va escriure correctament. Com $Projectname ofereix una identitat descentralitzada, Es pot accedir al teu compte en molts altres llocs web no només en el que t'has donat d'alta.
+
+[b]Termes Del Servei[/b]
+
+Clica a l'enllaç per llegir els [zrl=[baseurl]/help/TermsOfService]Termes de Servei[/zrl] del lloc. Una vegada llegits, marca la casella al formulari de registre per confirmar.
+
+[b]Registre[/b]
+
+Una vegada que hagis proporcionat els detalls necessaris, fes clic al botó "Registrar-se". Alguns llocs poden requerir l'aprovació de l'administrador abans de processar el registre, s'avisarà si aquest és el cas. Si us plau, mira el teu correu electrònic (incloent carpetes d'spam) per poder finalitzar la teva aprovació de registre.
+
+[b]Crear un Canal[/b]
+
+A continuació, se et presentarà la pantalla &quot; Afegir un canal&quot;. Normalment, el primer canal serà un que et representa - pel que l'ús del seu propi nom (o pseudònim) com el nom del canal és una bona idea. El nom de la cadena ha de ser pensat com un títol o descripció breu del teu canal. El &quot; triar un sobrenom curt &quot; és similar a un &quot;nom d'usuari &quot;. Farem servir tot el que entra aquí per crear una adreça de canal, que altres persones utilitzaran per connectar-se amb tu, i que utilitzaràs per iniciar sessió en altres llocs. Això s'assembla a una adreça de correu electrònic, i pren la forma nickname@siteyouregisteredat.xyz
+
+Quan es crea el teu canal se't portarà directament a la pàgina de configuració on pots definir permisos, habilitar les funcions, etc. Totes aquestes coses es tracten a la secció corresponent dels fitxers d'ajuda.
+
+Veure Tambè
+[zrl=[baseurl]/help/accounts_profiles_channels_basics]Lo Basic sobre Identitats dins $Projectname[/zrl]
+[zrl=[baseurl]/help/accounts]Comptes[/zrl]
+[zrl=[baseurl]/help/profiles]Perfils[/zrl]
+[zrl=[baseurl]/help/permissions]Permisos[/zrl]
+[zrl=[baseurl]/help/remove_account]Eliminar Compte[/zrl]
+
+#include doc/macros/main_footer.bb;
+
diff --git a/doc/ca/what_is_zot.bb b/doc/ca/what_is_zot.bb
new file mode 100644
index 000000000..df1f15921
--- /dev/null
+++ b/doc/ca/what_is_zot.bb
@@ -0,0 +1,61 @@
+[b]Qué és Zot?[/b]
+
+Zot és el protocol que fa funcionar $Projectname, proveeix tres Característiques esencials: Comunicacions, Identitat, i Control d'Accéss.
+
+Les funcionalitats que proveeix es poden describir de la següent manera:
+
+ - una relació en línia es només un munt de permisos
+ - internet és només un altre carpeta
+
+[b][size=20]Comunicacions[/size][/b]
+
+Zot és un protocol revolucionari que ofereix [i]comunicacions descentralitzades[/i] i [i]gestió d'identitat[/i] en tota la malla (o entrallat de connexions). El resultat es una plataforma que proveeix serveis web comparables amb els que ofereixen les grans companyies, però sense elles ni els seus problemes de privacitat, la seva insaciable necessitat de beneficis, ni la seva idea dels jardins-privats.
+
+Comunicacions i xarxes socials són una part integral del teixit. Qualsevol canal (i qualsevol servei ofert per aquest canal) por fer ús complert de les grans caracteristiques de comunicació social a escala global. Aquestes comunicacions poden ser públiques o privades - i comunicacions privades no es limiten a encriptar totalment l'enviament, sino que també encripten l'emmagatzegament per tal d'impedir que, administradors de sistemes murris o proveidors de servei, accidental o intencionadament tafanegin o revelin dades personals.
+
+Zot permet un ampli vental de serveis en segon plà per a la xarxa, des de oferir suggeriments d'amics, a serveis de directori. També pot realitzar altres coses que normalment només són possibles en un proveïdor centralitzat, com missatges &quot;de mur a mur&quot;. Perfils particulars/múltiples es poden crear fàcilment i el contingut del web es pot adaptar a l'espectador a través del [i]Control Lliscant d'Afinitat[/i].
+
+No trobaràs, de cap manera, aquestes característiques en altres serveis de comunicació descentralitzades. A més de proporcionar la descentralització de concentradors (servidors), potser la característica més innovadora i interessant de Zot és el subministrament de serveis [i]d'identitat descentralitzada[/i].
+
+[b][size=20]Identitat[/size][/b]
+
+La capa que permet identitat mitjançant Zot es única. Facilita [i]l'identificació única invisible[/i] al llarg de tots els llocs de la malla.
+
+També ofereix [i]identitat nómada[/i], de tal forma que les teves comunicacions amb amics, familiars , i qualsevol amb el que et comuniquis no s'han de veure afectats per la pérdua (caiguda, desconnexió) temporal/permanent del teu node de comunicació primari.
+
+Les parts importants de la teva identitat i les relacions es poden copiar a una memòria USB, o el teu ordinador portàtil, i poden aparèixer en qualsevol node de la xarxa en qualsevol moment - amb tots els teus amics i preferències intactes.
+
+Fonamentalment, aquestes instàncies (identitats) nòmades es mantenen en sincronia per tal que qualsevol instància pugui fer-se càrrec si un altre està en perill o danyada. Això el protegeix contra no només d'una fallada del sistema, sinó també de sobrecàrregues temporals del lloc i/o la manipulació governamental o censura.
+
+Identitat nòmada, inici de sessió únic, i nodes $Projectname descentralitzats, al nostre parer, introduir un alt grau de grau de [i]resiliència[/i] i [i]persistència[/i] en les comunicacions d'Internet, que són profundament necessàries en direcció contrària de les tendències mundials cap a la centralització corporativa, així com la vigilància governamental indiscriminada i la censura.
+
+Com naveges per la xarxa, els canals de visualització i el seu contingut únic, que es produeix sobre la marxa, fins i tot a través de centres de servidors completament diferents. No hi ha contrasenyes per entrar. No hi ha res a escriure. No tens que posar teu nom en cada nou lloc que visites.
+
+Com Zot pot fer això? En diem [i]identificació-màgica[/i], perquè $Projectname oculta els detalls de les complexitats que van a l'inici únic de sessió, les identitats nòmades, i l'experiència de navegació a la xarxa. Aquest és un dels objectius de disseny de $Projectname: per augmentar la privacitat i la llibertat a la xarxa, alhora que redueix la complexitat i el tedi interposat per la necessitat d'introduir noves contrasenyes i noms d'usuari per a cada vista diferent, que pots visitar en línia.
+
+Entrar com a usuari només una vegada en el teu centre d'origen (o qualsevol centre de recolçament nòmada que hagis triat). Això permet accedir a tots els serveis autenticats en qualsevol lloc de la malla - com ara anar a comprar, blocs, fòrums, i l'accés a la informació privada. Això és igual que els serveis oferts pels grans proveïdors de les empreses amb enormes bases de dades d'usuaris; però, pots ser un membre d'aquesta comunitat, així com un servidor en aquesta xarxa emprant un RasberryPi de 35$. La teva contrasenya no s'emmagatzema en un miler de diferents llocs, o encara pitjor, només en uns pocs llocs com Google i Facebook, fora del teu control directe.
+
+No pots ser silenciat. No pots ser eliminat de la xarxa, llevat que triïs per sortir, tu mateix.
+
+[b][size=20]Control d'Accés[/size][/b]
+
+La capa de identitat de Zot permet proporcionar permisos específics a qualsevol contingut que desitgis publicar - i aquests permisos s'estenen per $ProjectName. Això és com tenir un sol súper gran espai web format per un exèrcit de petits llocs web individuals - i on cada canal a la xarxa pot controlar completament les seves preferències de privacitat i ús compartit dels recursos web que creen.
+
+Actualment, la xarxa suporta comunicacions, àlbums de fotos, esdeveniments, i arxius. Això s'ampliarà en el futur per proporcionar serveis de gestió de continguts (pàgines web) i instal·lacions d'emmagatzematge en el núvol, com biblioteques WebDAV i multimèdia. Cada objecte i la forma en què es comparteix i amb qui està completament sota el teu control.
+
+Aquest tipus de control està disponible en grans proveïdors de serveis com Facebook i Google, ja que poseeixen la base de dades d'usuari. Dins de la xarxa, no hi ha necessitat d'un gran usuari de base de dades a la teva màquina - perquè la xarxa [i]és[/i] la teva base de dades d'usuari. Té essencialment infinita capacitat (limitada pel nombre total de nodes en línia a través d'Internet), i s'estén entre centenars, i potencialment milions d'ordinadors.
+
+L'accés pot ser concedit o negat per a qualsevol recurs, a qualsevol canal, o qualsevol grup de canals; en qualsevol lloc dins de la malla. Altres podràn accedir al teu contingut si els permets fer-ho, i ni tan sols cal tenir un compte al node. Les teves fotos privades no es poden veure, perquè els permissos realment funcionen; no són un complement que s'ha afegit a l'últim moment. Si no ets a la llista d'espectadors permesos per a una foto en particular, tu no la veuràs.
+
+[b][size=18]Recursos Addicionals i Enllaços[/size][/b]
+
+Per més detalla, informació tècnica sobre Zot, clica sobre algún dels següents enllaços:
+
+ - [url=https://github.com/friendica/red/wiki/Zot---A-High-Level-Overview]Vista per experts (en anglès)[/url]
+
+ - [url=https://github.com/friendica/red/wiki/zot]Especificació pel desenvolupament de Zot (en anglès)[/url]
+
+ - [url=https://github.com/redmatrix/hubzilla/blob/master/include/zot.php]Referència per la implementació de Zot en PHP (en anglès)[/url]
+
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/cloud.bb b/doc/cloud.bb
index 20498e6a5..3e0ac1fd3 100644
--- a/doc/cloud.bb
+++ b/doc/cloud.bb
@@ -10,7 +10,7 @@ On many public servers there may be limits on disk usage.
The quickest and easiest way to share files is through file attachments. In the row of icons below the status post editor is a tool to upload attachments. Click the tool, select a file and submit. After the file is uploaded, you will see an attachment code placed inside the text region. Do not edit this line or it may break the ability for your friends to see the attachment. You can use the post permissions dialogue box or privacy hashtags to restrict the visibility of the file - which will be set to match the permissions of the post your are sending.
-To delete attachments or change the permissions on the stored files, visit [observer.baseurl]/filestorage/{{username}}&quot; replacing {{username}} with the nickname you provided during channel creation.
+To delete attachments or change the permissions on the stored files, visit [observer.baseurl]/cloud/{{username}}&quot; replacing {{username}} with the nickname you provided during channel creation.
[b]Web Access[/b]
@@ -22,6 +22,6 @@ See: [zrl=[baseurl]/help/cloud_desktop_clients]Cloud Desktop Clients[/zrl]
[b]Permissions[/b]
-When using WebDAV, the file is created with your channel's default file permissions and this cannot be changed from within the operating system. It also may not be as restrictive as you would like. What we've found is that the preferred method of making files private is to first create folders or directories; then visit &quot;filestorage/{{username}}&quot;; select the directory and change the permissions. Do this before you put anything into the directory. The directory permissions take precedence so you can then put files or other folders into that container and they will be protected from unwanted viewers by the directory permissions. It is common for folks to create a &quot;personal&quot; or &quot;private&quot; folder which is restricted to themselves. You can use this as a personal cloud to store anything from anywhere on the web or any computer and it is protected from others. You might also create folders for &quot;family&quot; and &quot;friends&quot; with permission granted to appropriate collections of channels.
+When using WebDAV, the file is created with your channel's default file permissions and this cannot be changed from within the operating system. It also may not be as restrictive as you would like. What we've found is that the preferred method of making files private is to first create folders or directories; then visit &quot;filestorage/{{username}}&quot;; select the directory and change the permissions. Do this before you put anything into the directory. The directory permissions take precedence so you can then put files or other folders into that container and they will be protected from unwanted viewers by the directory permissions. It is common for folks to create a &quot;personal&quot; or &quot;private&quot; folder which is restricted to themselves. You can use this as a personal cloud to store anything from anywhere on the web or any computer and it is protected from others. You might also create folders for &quot;family&quot; and &quot;friends&quot; with permission granted to appropriate privacy groups.
#include doc/macros/main_footer.bb;
diff --git a/doc/comanche.bb b/doc/comanche.bb
index 2eaa15deb..6a96d5251 100644
--- a/doc/comanche.bb
+++ b/doc/comanche.bb
@@ -27,8 +27,8 @@ Currently there are five layout templates, unless your site provides additional
edgesthree - three column layout with fixed side margins
full - three column layout with fixed side margins and adds a "header" region beneath the navigation bar
- [b]redable[/b]
- A template for reading longer texts. Three columns: aside, content and right_aside.
+ [b]redable[/b] (sic)
+ A template for reading longer texts full screen (so without navigation bar). Three columns: aside, content and right_aside.
For maximum readability it is advised to only use the middle content column.
[b]zen[/b]
diff --git a/doc/context/admin/security/help.html b/doc/context/admin/security/help.html
new file mode 100644
index 000000000..e9a741a5e
--- /dev/null
+++ b/doc/context/admin/security/help.html
@@ -0,0 +1,3 @@
+<h3>Security Settings</h3>
+<p>This page contains various administrator settings related to security.</p>
+<p>To save any changes you make to these settings, you must press the Submit button.</p> \ No newline at end of file
diff --git a/doc/context/channel/help.html b/doc/context/channel/help.html
new file mode 100644
index 000000000..810913ff3
--- /dev/null
+++ b/doc/context/channel/help.html
@@ -0,0 +1,24 @@
+<script>
+ var contextualHelp1 = function (target, openSidePanel) {
+ $("#help-content").removeClass('help-content-open'); // Close the help panel
+ $("#navbar-collapse-1").removeClass('in'); // Collapse the navbar for small screens
+ if (openSidePanel) {
+ $("main").addClass('region_1-on'); // Open the side panel to highlight element
+ } else {
+ $("main").removeClass('region_1-on');
+ }
+ // Animate the page scroll to the element and then pulse the element to direct attention
+ $('html,body').animate({scrollTop: $(target).offset().top - $('#navbar-collapse-1').height() - 20}, 'slow');
+ for (i = 0; i < 3; i++) {
+ $(target).fadeTo('slow', 0.1).fadeTo('slow', 1.0);
+ }
+ }
+</script>
+<dl class="dl-horizontal">
+ <dt>General</dt>
+ <dd>This is the home page of a channel. It is similar to someone's profile "wall" in a social network context. Posts created by the channel are displayed according to the observer's viewing permissions.</dd>
+ <dt>Create a Post</dt>
+ <dd>If you have permission to create posts on the channel page, then you will see the post editor at the top.</dd>
+ <dt><a href='#' onclick='contextualHelp1("#tabs-collapse-1", 0); return false;' title="Click to highlight element...">Channel Content Tabs</a></dt>
+ <dd>The channel content tabs are links to other content published by the channel. The <b>About</b> tab links to the channel profile. The <b>Photos</b> tab links to the channel photo galleries. The <b>Files</b> tab links to the general shared files published by the channel.</dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/cloud/help.html b/doc/context/cloud/help.html
new file mode 100644
index 000000000..105947517
--- /dev/null
+++ b/doc/context/cloud/help.html
@@ -0,0 +1,22 @@
+<script>
+ var contextualHelp1 = function (target, openSidePanel) {
+ $("#help-content").removeClass('help-content-open'); // Close the help panel
+ $("#navbar-collapse-1").removeClass('in'); // Collapse the navbar for small screens
+ if (openSidePanel) {
+ $("main").addClass('region_1-on'); // Open the side panel to highlight element
+ } else {
+ $("main").removeClass('region_1-on');
+ }
+ // Animate the page scroll to the element and then pulse the element to direct attention
+ $('html,body').animate({scrollTop: $(target).offset().top - $('#navbar-collapse-1').height() - 20}, 'slow');
+ for (i = 0; i < 3; i++) {
+ $(target).fadeTo('slow', 0.1).fadeTo('slow', 1.0);
+ }
+ }
+</script>
+<dl class="dl-horizontal">
+ <dt>General</dt>
+ <dd>This page displays a channel's "cloud" files. The files visible to the observer depend on the individual file permissions set by the channel owner. If you have permission to create/upload files you will see control buttons above the file list.</dd>
+ <dt><a href='#' onclick='contextualHelp1("#tabs-collapse-1", 0); return false;' title="Click to highlight element...">Channel Content Tabs</a></dt>
+ <dd>The channel content tabs are links to other content published by the channel. The <b>About</b> tab links to the channel profile. The <b>Photos</b> tab links to the channel photo galleries. The <b>Files</b> tab links to the general shared files published by the channel.</dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/mail/help.html b/doc/context/mail/help.html
new file mode 100644
index 000000000..a2361a135
--- /dev/null
+++ b/doc/context/mail/help.html
@@ -0,0 +1,10 @@
+<dl class="dl-horizontal">
+ <dt>General</dt>
+ <dd>The messages displayed in private mail are visible only to you and the single recipient. </dd>
+ <dt>Combined View</dt>
+ <dd>Complete conversations can be viewed in a continuous thread by selecting <b>Combined View</b>. Available conversations are displayed beneath the menu in the side panel.</dd>
+ <dt>Inbox/Outbox</dt>
+ <dd>Individual sent messages are viewed by selecting <b>Outbox</b>, and incoming messages are viewed using the <b>Inbox</b> filter.</dd>
+ <dt>New Message</dt>
+ <dd>Individual messages have delivery reports that can be viewed using the drop-down menu. Messages can also be recalled from the same menu, which can prevent the recipient from viewing the message <i>if they have not already read it</i>.</dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/network/help.html b/doc/context/network/help.html
new file mode 100644
index 000000000..956af7380
--- /dev/null
+++ b/doc/context/network/help.html
@@ -0,0 +1,26 @@
+<script>
+ var contextualHelp1 = function (target, openSidePanel) {
+ $("#help-content").removeClass('help-content-open'); // Close the help panel
+ $("#navbar-collapse-1").removeClass('in'); // Collapse the navbar for small screens
+ if (openSidePanel) {
+ $("main").addClass('region_1-on'); // Open the side panel to highlight element
+ } else {
+ $("main").removeClass('region_1-on');
+ }
+ // Animate the page scroll to the element and then pulse the element to direct attention
+ $('html,body').animate({scrollTop: $(target).offset().top - $('#navbar-collapse-1').height() - 20}, 'slow');
+ for (i = 0; i < 3; i++) {
+ $(target).fadeTo('slow', 0.1).fadeTo('slow', 1.0);
+ }
+ }
+</script>
+<dl class="dl-horizontal">
+ <dt>General</dt>
+ <dd>The network page displays a stream of posts and conversations, typically ordered by the most recently updated. This page is highly customizable.</dd>
+ <dt><a href='#' onclick='contextualHelp1("#profile-jot-wrapper", 0); return false;' title="Click to highlight element...">Create a Post</a></dt>
+ <dd>At the top of the page there is a text box that says "Share". Clicking this box opens a new post editor. The post editor is customizable, but the basic editor provides fields for a post body and an optional post <b>Title</b>. Buttons below the text area to the left provide shortcuts to text formatting and inserting links, images, and other data into the post. The buttons to the right provide a post preview, the post permissions setting, and a <b>Submit</b> button to send the post.</dd>
+ <dt><a href='#' onclick='contextualHelp1("#group-sidebar", 1); return false;' title="Click to highlight element...">Privacy Groups</a></dt>
+ <dd>The privacy groups you have created are displayed in the side panel. Selecting them filters posts to those created by channels in the chosen group.</dd>
+ <dt><a href='#' onclick='$("#dbtn-acl").click(); return false;' title="Click to highlight element...">Post Permissions</a></dt>
+ <dd>The access control list (ACL) is what you use to set who can see your new post. Pressing the ACL button beside the Submit button will display a dialog in which you can select what channels and/or privacy groups can see the post. You can also select who is explicitly denied access. For example, say you are planning a surprise party for a friend. You can send an invitation post to everyone in your <b>Friends</b> group <i>except</i> the friend you are surprising. In this case you "show" the <b>Friends</b> group but "don't show" that one person.</dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/photos/help.html b/doc/context/photos/help.html
new file mode 100644
index 000000000..f41611f8d
--- /dev/null
+++ b/doc/context/photos/help.html
@@ -0,0 +1,22 @@
+<script>
+ var contextualHelp1 = function (target, openSidePanel) {
+ $("#help-content").removeClass('help-content-open'); // Close the help panel
+ $("#navbar-collapse-1").removeClass('in'); // Collapse the navbar for small screens
+ if (openSidePanel) {
+ $("main").addClass('region_1-on'); // Open the side panel to highlight element
+ } else {
+ $("main").removeClass('region_1-on');
+ }
+ // Animate the page scroll to the element and then pulse the element to direct attention
+ $('html,body').animate({scrollTop: $(target).offset().top - $('#navbar-collapse-1').height() - 20}, 'slow');
+ for (i = 0; i < 3; i++) {
+ $(target).fadeTo('slow', 0.1).fadeTo('slow', 1.0);
+ }
+ }
+</script>
+<dl class="dl-horizontal">
+ <dt>General</dt>
+ <dd>This page displays a channel's photo albums. The images visible to the observer depend on the individual image permissions.</dd>
+ <dt><a href='#' onclick='contextualHelp1("#tabs-collapse-1", 0); return false;' title="Click to highlight element...">Channel Content Tabs</a></dt>
+ <dd>The channel content tabs are links to other content published by the channel. The <b>About</b> tab links to the channel profile. The <b>Photos</b> tab links to the channel photo galleries. The <b>Files</b> tab links to the general shared files published by the channel.</dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/profile/help.html b/doc/context/profile/help.html
new file mode 100644
index 000000000..0d4abb8cb
--- /dev/null
+++ b/doc/context/profile/help.html
@@ -0,0 +1,22 @@
+<script>
+ var contextualHelp1 = function (target, openSidePanel) {
+ $("#help-content").removeClass('help-content-open'); // Close the help panel
+ $("#navbar-collapse-1").removeClass('in'); // Collapse the navbar for small screens
+ if (openSidePanel) {
+ $("main").addClass('region_1-on'); // Open the side panel to highlight element
+ } else {
+ $("main").removeClass('region_1-on');
+ }
+ // Animate the page scroll to the element and then pulse the element to direct attention
+ $('html,body').animate({scrollTop: $(target).offset().top - $('#navbar-collapse-1').height() - 20}, 'slow');
+ for (i = 0; i < 3; i++) {
+ $(target).fadeTo('slow', 0.1).fadeTo('slow', 1.0);
+ }
+ }
+</script>
+<dl class="dl-horizontal">
+ <dt>General</dt>
+ <dd>This is the profile page of a channel. It typically displays information describing the channel. If the channel represents a person in a social network, for example, then the profile might provide contact information and other personal details about the person. Channels can have multiple profiles, where the displayed profile depends on the observer.</dd>
+ <dt><a href='#' onclick='contextualHelp1("#tabs-collapse-1", 0); return false;' title="Click to highlight element...">Channel Content Tabs</a></dt>
+ <dd>The channel content tabs are links to other content published by the channel. The <b>About</b> tab links to the channel profile. The <b>Photos</b> tab links to the channel photo galleries. The <b>Files</b> tab links to the general shared files published by the channel.</dd>
+</dl> \ No newline at end of file
diff --git a/doc/database/db_term.bb b/doc/database/db_term.bb
index c0546cc6a..e1f6415fa 100644
--- a/doc/database/db_term.bb
+++ b/doc/database/db_term.bb
@@ -1,27 +1,27 @@
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]tid[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]tid[/td][td]sequential index[/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]aid[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]aid[/td][td]channel_account_id of the controlling channel[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]uid[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]uid[/td][td]channel_id of the controlling channel[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]oid[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]oid[/td][td]DB index of linked thing[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]otype[/td][td][/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]otype[/td][td]type of linked thing[/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]type[/td][td][/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]type[/td][td]taxonomy type (See Tag/term types in boot.php)[/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]term[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]term[/td][td]the actual taxonomy term[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]url[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]url[/td]relevant link (for tags and mentions, a link to the associated resource)[td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]imgurl[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]imgurl[/td][td]rarely used - an image associated with this taxonomy term[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]term_hash[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]term_hash[/td][td]unique hash for this entry[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]parent_hash[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]parent_hash[/td][td]for hierarchical taxonomies, the hash of the relevant parent[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
[/table]
diff --git a/doc/de/general.bb b/doc/de/general.bb
index 61cc955bb..eb1c0f158 100644
--- a/doc/de/general.bb
+++ b/doc/de/general.bb
@@ -7,8 +7,8 @@
[h3]Externe Ressourcen[/h3]
[zrl=[baseurl]/help/external-resource-links]Links zu externen Ressourcen[/zrl]
-[url=https://github.com/redmatrix/redmatrix]Haupt-Website[/url]
-[url=https://github.com/redmatrix/redmatrix-addons]Addons-Website[/url]
+[url=https://github.com/redmatrix/hubzilla]Haupt-Website[/url]
+[url=https://github.com/redmatrix/hubzilla-addons]Addons-Website[/url]
[url=[baseurl]/help/credits]$Projectname Credits[/url]
diff --git a/doc/dev-function-overview.md b/doc/dev-function-overview.md
index e228268dd..1ef80d343 100644
--- a/doc/dev-function-overview.md
+++ b/doc/dev-function-overview.md
@@ -21,7 +21,7 @@ Returns the global app structure ($a).
* App::get_observer()
-(App:: is usually assigned to the global $a), so $a->get_observer() or get_app()->get_observer() - returns an xchan structure representing the current viewer if authenticated (locally or remotely).
+(App:: is usually assigned to the global $a), so App::get_observer() or App::get_observer() - returns an xchan structure representing the current viewer if authenticated (locally or remotely).
* get_config($family,$key), get_pconfig($uid,$family,$key)
diff --git a/doc/dev_beginner.bb b/doc/dev_beginner.bb
index 729625713..4cf1ca591 100644
--- a/doc/dev_beginner.bb
+++ b/doc/dev_beginner.bb
@@ -242,7 +242,7 @@ Befor you register a first user switch off the registration mails.
Open /var/www/.htconfig.php
and make sure "0" is set in this line
[code]
-$a->config['system']['verify_email'] = 0;
+App::$config['system']['verify_email'] = 0;
[/code]
You should be able to change the file as "yourself" (instead of using root or www-data).
diff --git a/doc/directories.bb b/doc/directories.bb
index d81dd84c5..60a0b624d 100644
--- a/doc/directories.bb
+++ b/doc/directories.bb
@@ -30,7 +30,7 @@ To configure this, please look in your .htconfig.php file for the following text
// DIRECTORY_MODE_PRIMARY = main directory server
// DIRECTORY_MODE_STANDALONE = "off the grid" or private directory services
-$a->config['system']['directory_mode'] = DIRECTORY_MODE_STANDALONE;
+App::$config['system']['directory_mode'] = DIRECTORY_MODE_STANDALONE;
[/code]
diff --git a/doc/extra_features.bb b/doc/extra_features.bb
index ed513eeb3..9fb43d9a1 100644
--- a/doc/extra_features.bb
+++ b/doc/extra_features.bb
@@ -47,9 +47,9 @@ Private messages are encrypted during transport and storage. In this day and age
This provides the ability to select posts by date ranges
-[b]Collections Filter[/b]
+[b]Privacy Group Filter[/b]
-Enable widget to display stream posts only from selected collections. This also toggles the outbound permissions while you are viewing a collection. This is analogous to Google &quot;circles&quot; or Disapora &quot;aspects&quot;.
+Enable widget to display stream posts only from selected privacy groups. This also toggles the outbound permissions while you are viewing a group. This is analogous to Google &quot;circles&quot; or Disapora &quot;aspects&quot;.
[b]Saved Searches[/b]
diff --git a/doc/faq_developers.bb b/doc/faq_developers.bb
index 603cf238f..5da2c19ff 100644
--- a/doc/faq_developers.bb
+++ b/doc/faq_developers.bb
@@ -8,22 +8,22 @@ $a is a class defined in boot.php and passed all around $Projectname as a global
We don't ever create more than one instance and always modify the elements of the single instance. The mechanics of this are somewhat tricky. If you have a function that is passed $a and needs to modify $a you need to declare it as a reference with '&' e.g.
-[code]function foo(&$a) { $a->something = 'x'; // whatever };
+[code]function foo(&$a) { App::$something = 'x'; // whatever };
*or* access it within your function as a global variable via get_app()
function foo() {
$a = get_app();
- $a->something = 'x';
+ App::$something = 'x';
}
-function foo($a) { $a->something = 'x'; };
+function foo($a) { App::$something = 'x'; };
will *not* change the global app state.
function foo() {
- get_app()->something = 'x';
+ App::$something = 'x';
}
[/code]
diff --git a/doc/faq_members.bb b/doc/faq_members.bb
index 9d42d97ad..7af61df9b 100644
--- a/doc/faq_members.bb
+++ b/doc/faq_members.bb
@@ -8,7 +8,7 @@ Short anser: No, there isn't. There are reasons. You are able to change permisso
If a posting is public this is even harder, as the $Projectname is a global network and there is no way to follow a post, let alone reclaim it reliably. Other networks that may receive your post have no reliable way to delete or reclaim the post.
[h3]I downloaded my channel and imported it (cloned my identity) to another site but there is no content, no posts, no photos. What is wrong???[/h3]
-To be honest: Nothing. That's the way it is right now. Technically it is surely possible to take at least your own posts and maybe even files with you, but this has simply put not implemented yet. When creating this feature we thought that keeping all your contacts was more important. Your friends have already seen your old content. Once we find someone willing to implement this, it will be done. :)
+Posts and photos/files are provided separately from the channel basic information. This is due to memory limitations dealing with years of conversations and photo archives. Posts and conversations can be synced separately from the basic channel information. Photos and file archives can be transferred using a plugin tool such as 'redfiles', which is currently listed as "experimental". When creating this feature we thought that keeping all your contacts was the most important task. Your friends have already seen your old content. Posts/conversations were next in priority and these may now be synced. Files and photos are the last bit to get completely working. Once we find someone willing to finish implementing this, it will be done. :)
[h3]I can't see private resources[/h3]
You have probably disabled third party cookies. You need to enable them for remote authentication to work.
[h3]There are a lot of foreign language posts. Let's auto-translate them.[/h3]
diff --git a/doc/features.bb b/doc/features.bb
index 2d9849d4e..3daf403c3 100644
--- a/doc/features.bb
+++ b/doc/features.bb
@@ -106,9 +106,9 @@ There is also experimental support for OpenID authentication which may be used i
Channels may have permissions to become "derivative channels" where two or more existing channels combine to create a new topical channel.
-[b]Collections[/b]
+[b]Privacy Groups[/b]
-"Collections" is our implementation of privacy groups, which is similar to Google "Circles" and Diaspora "Aspects". This allows you to filter your incoming stream by collections or groups, and automatically set the outbound Access Control List to only those in the Collection when you post. You may over-ride this at any time (prior to sending the post).
+Our implementation of privacy groups is similar to Google "Circles" and Diaspora "Aspects". This allows you to filter your incoming stream by selected groups, and automatically set the outbound Access Control List to only those in that privacy group when you post. You may over-ride this at any time (prior to sending the post).
[b]Directory Services[/b]
diff --git a/doc/federate.bb b/doc/federate.bb
new file mode 100644
index 000000000..9137ec160
--- /dev/null
+++ b/doc/federate.bb
@@ -0,0 +1,71 @@
+[h2]Creating protocol federation services[/h2]
+
+There are three main components to writing federation plugins. These are:
+
+[1] Channel discovery and making connections
+[2] Sending posts/messages
+[3] Receiving posts/messages
+
+In addition, federation drivers must handle
+
+[4] differences in privacy policies (and content formats)
+
+
+[h3]Making connections[/h3]
+
+The core application provides channel discovery in the following sequence:
+
+[1] Zot channel discovery
+[2] Webfinger (channel@hub) lookup
+ [2.1] RFC7033 webfinger
+ [2.2] XRD based webfinger (old style)
+[3] URL discovery (currently only used to discover RSS feeds)
+[4] If all of these fail, the network is "unknown" and we are unable to communicate with or connect with the channel. An 'xchan' record [i]may[/i] still be created [b]if[/b] there is enough information known to identify a unique channel.
+
+Any of the lookup services may be bound to a plugin and extended. When a channel is discovered, we create an 'xchan' record which is a platform neutral representation of the channel identity. If we need to send information to the channel, a 'hubloc' (hub location) record is also generally required. A 'follow' plugin hook is provided to bypass webfinger and this discovery sequence completely.
+
+The final step in gluing this together is to create an 'abook' record, which attaches an xchan in a relationship to a local channel with a given set of permissions.
+
+For networks which do not support nomadic identity, your plugin must also set "abook_instance" which is a comma-separated list of local URLs that the remote channel is connected with. For instance if your member was connected to my channel clone at https://example.com, the abook_instance for that connection would read 'https://example.com'. If you also connected to my clone at https://abc.example.com, the string would be changed to 'https://example.com,https://abc.example.com'. This allows local channels to differentiate which instance a given remote channel is connected with and avoid delivery failures to those channels from other clone instances.
+
+A federation plugin for a webfinger based system needs only to examine the webfinger or XRD results and identify a protocol stack which can be used to connect or communicate. Then create an xchan record with the given 'xchan_network' type and a hubloc record with the same 'hubloc_network' with the information given. Currently the plugin will need to create the entire record, but in the future this will be extended so that the plugin only need identify a network name and the record will be populated with all other known values.
+
+An xchan record is always required in order to connect. To connect, create an abook record with the desired permissions.
+
+Additional information that your plugin requires for communication can be stored in the xconfig table and/or abconfig table if there is no convenient or appropriate table column in the xchan or hubloc tables.
+
+When a connection is made, we generally call the notifier (include/notifier.php) to send a message to the remote channel. This is bound to the hook 'permissions_create'. Your plugin will need to handle this in order to send a "follow" or "make friends" message to the other network.
+
+Notes: The first stage zot lookup will be replaced with a webfinger lookup. This work is in progress. A separate lookup was required initially as webfinger does not allow non-SSL connections. We will provide non-SSL zot lookups (usually test and development sites) via the "old" XRD based webfinger to avoid this limitation.
+
+The core application will attempt to create xchan records for projects identified as members of the "open web"; currently Hubzilla, Friendica, Diaspora, GNU-Social and Pump.io. This is so that comments can be passed amongst project sites and the network correctly identified. A federation plugin is required to fully federate with other networks, but comments may be passed to sites without such a plugin installed so that there are no unexplained holes in conversations.
+
+The core application must also provide signing ability for Diaspora comments since they require a special signing format and must be signed by the comment author regardless of whether that channel federates with Diaspora. The owner of the conversation may federate with Diaspora so the comments must be signed. This is unfortunate but necessary.
+
+
+[h3]Sending Messages[/h3]
+
+Whenever any message is sent (with the sole exception of directory communications), we invoke the notifier (include/notifier.php), and pass it the type of message and generally an identifier to lookup the information being sent from the database (items or conversational things, private mail, permissions updates, etc.).
+
+The notifier has several hooks which may be used by plugins in different ways, depending on how their delivery loop works. For different message types and complex delivery situations you may need to tie into multiple hooks. The 'permissions_create' hook was mentioned in the first section. There is also a 'permissions_update' message if permissions have changed and the other end of the link needs to be advised. Few services will provide or handle this (as their permissions are static), but it is also used for instance to send profile and profile photo update messages and you may wish to handle this.
+
+The next plugin hook is 'notifier_process'. It is passed an array providing the complete state of the notifier and is called once per notifier invocation. It contains the complete list of recipients (with xchan_network set for each).
+
+There is also 'notifier_hub' which like 'notifier_process' is passed the complete state of the notifier, but the difference is that it is called for each individual hub or distinct URL delivery and may be matched on the hubloc_network type. Hub delivery is much more efficient than recipient delivery but may not be suitable for all protocol stacks.
+
+
+Your plugin will be required to understand the message state and recipients and translate the sent item to the desired format. You will also be required to check privacy and block communication to anybody but the intended recipients - *if* it is a private communication. The plugin will often at this point stick the message into the queue and return the queue id to the notifier.
+
+
+Queue handlers exist already for simple posted data. If you create a queue entry with 'post' type we'll open an HTTP POST request and post the data provided and acknowledge success or failure. You can create other forms of communication by providing a different outq_driver type and handling the processing of queue requests yourself. Delivery reporting is available if you wish to acknowledge different error conditions, or anything beyond success/failure. Advanced delivery reporting will also require a custom queue type. The basic 'post' type only deals with success (communication successful with the remote site) and failure.
+
+
+
+[h3]Receiving Messages[/h3]
+
+
+Receiving messages from the remote network will probably require a 'receive' endpoint or module dedicated to your network communication protocol. This is a URL route that your plugin may need to register with the'module_loaded' hook. You module will then take responsibility for importing any data which arrives at that endpoint and translating it to the format required for this project and storing the resulting data. The basic structure we use is an extensible activitystream item but with slightly different field names and several optional fields. It can be easily mapped to an activitystream. Additional data can be stored in the "iconfig" table. item_store() and item_store_update() are generally used to store the data and send appropriate notifications. Similiar facilities are available for private mail and profile information.
+
+
+
+
diff --git a/doc/filesync.md b/doc/filesync.md
new file mode 100644
index 000000000..4c64bdb09
--- /dev/null
+++ b/doc/filesync.md
@@ -0,0 +1,61 @@
+File Sync and Clone
+===================
+
+
+
+File cloning across multiple instances of a channel is a very hard problem, due to the nature of PHP memory allocation. This needs to be handled dramatically differently than cloning or syncing of other information. (Processing one large video file or 40-50 photos could exhaust memory). Therefore we can't easily just dump all the data to a dump file and sequentially process it. Loading the dump file itself is likely to exhaust memory.
+
+There are also two primary operations we are considering. The first is the hardest - saving and then importing all your channel information into a new channel clone. The second is synchronising file changes as they occur across two or more "active" clones.
+
+For the first cut at this tool we will concentrate on the second case, while trying to maintain some measure of compatibility with the first case so that we can re-use the same tools.
+
+Meta Data
+=========
+
+
+First we need the metadata for the file in order to precisely re-construct its structure on another site. This requires the following information:
+
+'attach' structure (without file contents - which is the default) for the file itself **and** its parent directories so that we can re-create its precise place in the file system, since we do not know if the parent directory has been imported previously or ever.
+
+'photo' structure for any photo elements which were created as a result of uploading this file into the system. This typically contains several different 'scales' or thumbnail images, some of which may be cropped for profile photo use or cover photo use. We need to retain the cropping information which is not present in the metadata, but only in the stored data. The actual thumbnail image data may or may not be included in the metadata. A cover photo of large scale (scale #7) could potentially cause memory issues. Not as bad as a 100M video, but if you have several of these they could add up.
+
+'item' entries which are linked to this file. These can be file share activities, the "parent item" linked to photos, and any attached conversation items (photo likes, comments, etc.)
+
+All of these items will require URL replacement and re-signing of the item as they are relocated to another site.
+
+
+File Data
+=========
+
+Then we have the actual file data we need to reconstruct the file. This needs to be stored separately from the meta-data to avoid memory exhaustion when processing. The actual file data can be used to reconstruct the attach structure and the first four photo scales. If this is a photo, we need access to the "#4 scale" (profile photo) and the #7 scale (cover photo) as they were originally cropped. All other thumbnails can be generated from these.
+
+
+
+File Sync
+=========
+
+
+We will consider this operation first because it is probably the most straightforward to implement. When a photo is added to or removed or changed from the source system, we will send a clone sync packet to all known clones containing the metadata - but **no file data** . We can only send one sync packet per file operation that needs to be synced.
+
+The receiving end will create and perform URL translation on all the metadata structures and store them. Then it will need to fetch the actual data. Assuming CURL supports streaming, an authenticated request is sent to the original site and the original file is requested and streamed directly to disk (bypassing all processing). If photo scale #4 or scale #7 is required, these are requested and stored into their respective structures. We're assuming in this case that the cover photo large scale will not exhaust memory. If CURL cannot be made to support streaming, request packets need to be queued and sent to the origination site to obtain "chunks" of the file and re-assembled once all chunks have been retrieved.
+
+The authenticated request depends on the mechanism. For CURL streaming, some signed secret with a timestamp will probably need to be generated and posted to the file origination site. Then the data can be retrieved with minimal internal processing and dumped directly to disk using stdio buffering. In the case of a zot request, the zot request packet will be validated, however scheduling chunk batches and re-assembling them could be tricky.
+
+
+File Backup/Restore
+===================
+
+This is much more complicated as we do not have an authenticate web server to request data from. The metadata can be mostly the same, but we need some form of signalling that we will not be fetching the file via the web. This will likely require a client side process to parse each metadata file and locate a file on disk which it is associated with. Then the data would need to be streamed to the destination server with a special endpoint designed for this task. A java app might be the best option here to retain platform neutrality.
+
+Another option would be to use WebDAV for this step. The metadata files would be uploaded first, and then the data files. If a data file corresponded to an existing metadata file, the metadata would be processed; the file stored appropriately, and the metadata file then removed. In this case, photos of scales 4 and 7 would need to be provided in the metadata.
+
+
+Optionally, this step could also be performed with a filesystem local to the destination server. This would be the highest performance, and a suite of shell-based tools (in the case of Linux) could perform the "client-side" of the task.
+
+The complexity of this task mandates careful planning into how the data is organised and stored and if necessary backed up remotely or transmitted for backup by the source website.
+
+
+Backward Compatibility
+======================
+
+There are some obvious issues with making data available for backup or cloning which existed on the system prior to the existence of restore/sync tools. To keep the tools themselves relatively uncomplicated (to the extent possible given the constraints) backward compatibility may have to be preformed by dedicated plugin or addon. \ No newline at end of file
diff --git a/doc/fr/about.bb b/doc/fr/about.bb
new file mode 100644
index 000000000..7988c777e
--- /dev/null
+++ b/doc/fr/about.bb
@@ -0,0 +1,25 @@
+
+$Projectname est un réseau de communication décentralisé, qui a pour but de proposer un moyen de communication qui est résistant à la censure, respecte la confidentialité et qui est indépendant des grandes companies mondiales. Ces companies géantes fonctionnent comme des espions. Ce sont des monopoles centralisés sur internet. A l'orignie internet ne fonctionnait pas ainsi, il était décentralisé.
+
+$Projectname est libre et open source. Il est conçu pour pouvoir monter en charge depuis un petite Raspberry Pi jusqu'à un serveur puissant à plusieurs coeurs. Il peut être utilisé pour servir de moyen de communication entre quelques individus mais peut monter pour héberger plusieurs milliers d'utilisateurs.
+
+$Projectname a pour but d'être utilisable sans documentation. Il est facile à utiliser pour un usage quotidien pour un utilisateur moyen mais aussi par des administrateurs système ou des développeurs.
+
+Comment utiliser ? Cela dépend de ce que vous voulez en faire.
+
+Il est écrit en php. Cela le rend facile à installer sur des hébergement actuels.
+
+It is written in the PHP scripting language, thus making it trivial to install on any hosting platform in use today comme par exemple [url=http://mediatemple.com/]Media Temple[/url] ou bien [url=http://www.dreamhost.com/r.cgi?455365/]Dreamhost[/url] ou bien encore [url=https://www.linode.com]Linode[/url], [url=http://greenqloud.com]GreenQloud[/url] ou [url=https://aws.amazon.com]Amazon AWS[/url]. Il fonctionne aussi trés bien sur un VPS de OVH.
+
+En d'autres mots, $Projectname peut tourner sur n'importe quelle plateforme qui a un serveur web, une base de donnée mysql et du php.
+
+
+En plus, $Projectname offre un grand nombre de suppléments :
+
+[b]Identification en un clic :[/b] cela signifie que vous pouvez accéder à d'autres sits $Projectname simplement en cliquant sur un lien. L'authentificaiton se fera alors automatiquement sans mot de passe. Oubliez le temps ou il vous fallait un grand nom de mot de passe pour aller sur différents sites.
+
+[b]Clone :[/b] Votre présence en ligne n'a plus besoin d'être faite sur un seul et unique site. Vous pouvez cloner ou importer votre identité (on peut aussi dire votre canal) sur un autre serveur (hub). Si votre serveur principal a des problème et s'arrête, pas de problème, vos contacts, vos messages seront continueront automatiquement à être accessible grĉe à votre canal clone. [i](*: Pour le moment seul les messages sont clonés)[/i]
+
+[b]Confidentialité :[/b] Votre identité $Projectname (Zot IDs) peut être supprimé, sauvegardé ou cloné. L'utilisateur à le total contrôle sur ses donnés. Et si vous décidez de supprimer totalement votre compte avec tous le contenu, tout ce que vous avez à faire est de cliquer sur le bouton de suppression du compte. C'est immédiat. Aucune question ne vous sera posé sur la raion. Vous être libre de le faire quand vous voulez.
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/fr/git_for_non_developers.bb b/doc/fr/git_for_non_developers.bb
new file mode 100644
index 000000000..9e2448e68
--- /dev/null
+++ b/doc/fr/git_for_non_developers.bb
@@ -0,0 +1,73 @@
+[b]Git pour les non développeurs[/b]
+
+Bon vous traduivez ou contribuez à un thème et chaque fois que vous faites un pull request, vous devez parler avec un des développeurs avant que vos changements soient pris en compte.
+
+Vous devez trouver un petit tutorial pour vous aider à maintenair les choses synchronisé. C'est trés facile
+
+
+
+After you've created a fork of the repo (just click &quot;fork&quot; at github), you need to clone your own copy.
+
+For the sake of examples, we'll assume you're working on a theme called redexample (which does not exist).
+
+[code]git clone https://github.com/username/red.git[/code]
+
+Once you've done that, cd into the directory, and add an upstream.
+
+[code]
+cd red
+git remote add upstream https://github.com/redmatrix/redmatrix
+[/code]
+
+From now on, you can pull upstream changes with the command
+[code]git fetch upstream[/code]
+
+Before your changes can be merged automatically, you will often need to merge upstream changes.
+
+[code]
+git merge upstream/master
+[/code]
+
+You should always merge upstream before pushing any changes, and [i]must[/i] merge upstream with any pull requests to make them automatically mergeable.
+
+99% of the time, this will all go well. The only time it won't is if somebody else has been editing the same files as you - and often, only if they have been editing the same lines of the same files. If that happens, that would be a good time to request help until you get the hang of handling your own merge conflicts.
+
+Then you just need to add your changes [code]git add view/theme/redexample/[/code]
+
+This will add all the files in view/theme/redexample and any subdirectories. If your particular files are mixed throughout the code, you should add one at a time. Try not to do git add -a, as this will add everything, including temporary files (we mostly, but not always catch those with a .gitignore) and any local changes you have, but did not intend to commit.
+
+Once you have added all the files you have changed, you need to commit them. [code]git commit[/code]
+
+This will open up an editor where you can describe the changes you have made. Save this file, and exit the editor.
+
+Finally, push the changes to your own git
+[code]git push[/code]
+
+And that's it, your repo is up to date!
+
+All you need to do now is actually create the pull request. There are two ways to do this.
+
+The easy way, if you're using Github is to simply click the green button at the top of your own copy of the repository, enter a description of the changes, and click 'create pull request'. The
+main repository, themes, and addons all have their main branch at Github, so this method can be used most of the time.
+
+Most people can stop here.
+
+Some projects in the extended RedMatrix ecosphere have no Github presence, to pull request these is a bit different - you'll have to create your pull request manually. Fortunately, this isn't
+much harder.
+
+[code]git request-pull -p <start> <url>[/code]
+
+Start is the name of a commit to start at. This must exist upstream. Normally, you just want master.
+
+URL is the URL of [i]your[/i] repo.
+
+One can also specify <end>. This defaults to HEAD.
+
+Example:
+[code]
+git request-pull master https://example.com/project
+[/code]
+
+And simply send the output to the project maintainer.
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/fr/main.bb b/doc/fr/main.bb
new file mode 100644
index 000000000..e46d0440a
--- /dev/null
+++ b/doc/fr/main.bb
@@ -0,0 +1,12 @@
+
+[zrl=[baseurl]/help/about][b]$Projectname c'est quoi ?[/b][/zrl]
+$Projectname est un logiciel de publication et de communication décentralisé qui vous permet de garder le contrôle de vos besoins et de vos données. C'est vous et seulement vous qui décidez qui vous autorisez à voir vos publications.
+
+
+[zrl=[baseurl]/help/features][b]$Projectname fonctionalités[/b][/zrl]
+$Projectname est un réseau global distribué qui est souple et peut monter en puissance depuis un petit site d'une personne jusqu'à pouvant héberger une communauté de nombreuses personnes.
+
+$Projectname fonctionne en tant que réseau global distribué. Il est souple et peut monter en puissance. On peut l'utiliser pour une famille, pour une communauté en ligne, pour des forums, des blogs et des pages web.
+
+[zrl=[baseurl]/help/what_is_zot][b]Zot c'est quoi ?[/b][/zrl]
+Zot est un protocole de communication inventé spécialement pour $Projectname. En tant que membre vous n'êtes plus lié à un site web unique ou à un hub grâce à l'identité nomade. Vous pouvez migrer facilement sur d'autres serveurs et garder vos contacts. Vous pouvez aussi cloner votre cannal et il se trouvera sur plusieurs serveurs. Au cas ou un serveur ne fonctionnerait plus, vous ne perdrez pas vos données. En plus si vous êtes dans $Projectname vous n'aurez plus besoin de vous identifier plusieurs fois même pour accéder à l'autres site $Projectname site. Zot est donc le coeur de $Projectname.
diff --git a/doc/git_for_non_developers.bb b/doc/git_for_non_developers.bb
index b0a623104..80c11024b 100644
--- a/doc/git_for_non_developers.bb
+++ b/doc/git_for_non_developers.bb
@@ -14,7 +14,7 @@ Once you've done that, cd into the directory, and add an upstream.
[code]
cd red
-git remote add upstream https://github.com/redmatrix/redmatrix
+git remote add upstream https://github.com/redmatrix/hubzilla
[/code]
From now on, you can pull upstream changes with the command
diff --git a/doc/hidden_configs.bb b/doc/hidden_configs.bb
index 8a02a23f2..520abc22b 100644
--- a/doc/hidden_configs.bb
+++ b/doc/hidden_configs.bb
@@ -3,7 +3,7 @@
$Projectname contains many configuration options hidden from the main admin panel.
These are generally options considered too niche, confusing, or advanced for
-the average member. These settings can be activated from the the top level Red
+the average member. These settings can be activated from the the top level web
directory with the syntax [code]util/config cat key value[/code] for a site
configuration, or [code]util/pconfig channel_id cat key value[/code] for a
member configuration.
@@ -11,14 +11,14 @@ member configuration.
This document assumes you're an administrator.
[b]pconfig[/b]
- [b]system > user_scalable[/b]
+ [b]system.user_scalable[/b]
Determine if the app is scalable on touch screens. Defaults to on, to
disable, set to zero - real zero, not just false.
- [b]system > always_my_theme[/b]
+ [b]system.always_my_theme[/b]
Always use your own theme when viewing channels on the same hub. This
will break in some quite imaginative ways when viewing channels with
theme dependent Comanche.
- [b]system > paranoia[/b]
+ [b]system.paranoia[/b]
Sets the security level of IP checking. If the IP address of a logged-in session changes
apply this level to determine if the account should be logged out as a security breach.
Options are:
@@ -26,151 +26,185 @@ This document assumes you're an administrator.
1 - check 3 octets
2 - check 2 octets
3 - check for any difference at all
- [b]system > prevent_tag_hijacking[/b]
+ [b]system.prevent_tag_hijacking[/b]
Prevent foreign networks hijacking hashtags in your posts and directing them at its own resources.
- [b]system > blocked[/b]
+ [b]system.blocked[/b]
An array of xchans blocked by this channel. Technically, this is a
hidden config and does belong here, however, addons (notably
superblock) have made this available in the UI.
- [b]system > default_cipher[/b]
+ [b]system.default_cipher[/b]
Set the default cipher used for E2EE items.
- [b]system > network_page_default[/b]
+ [b]system.network_page_default[/b]
Set default params when viewing the network page. This should contain
the same querystring as manual filtering.
- [b]system > display_friend_count[/b]
+ [b]system.display_friend_count[/b]
Set the number of connections to display in the connections profile
widget.
- [b]system > taganyone[/b]
+ [b]system.taganyone[/b]
Requires the config of the same name to be enabled. Allow the @mention tagging
of anyone, whether you are connected or not. This doesn't scale.
- [b]system > startpage[/b]
+ [b]system.startpage[/b]
Another of those technically hidden configs made available by addons.
Sets the default page to view when logging in. This is exposed to the
UI by the startpage addon.
- [b]system > forcepublicuploads[/b]
+ [b]system.forcepublicuploads[/b]
Force uploaded photos to be public when uploaded as wall items. It
makes far more sense to just set your permissions properly in the first
place. Do that instead.
- [b]system > do_not_track[/b]
+ [b]system.do_not_track[/b]
As the browser header. This will break many identity based features.
You should really just set permissions that make sense.
[b]Site config[/b]
- [b]system > taganyone[/b]
+ [b]system.taganyone[/b]
Allow the @mention tagging of anyone whether you are connected or not.
- [b]system > directorytags[/b]
- Set the number of keyword tags displayed on the directory page.
- [b]system > startpage[/b]
+ [b]system.directorytags[/b]
+ Set the number of keyword tags displayed on the directory page. Default is 50 unless set to a
+ positive integer.
+ [b]system.disable_directory_keywords[/b]
+ If '1', do not show directory keywords. If the hub is a directory server, prevent returning
+ tags to any directory clients. Please do not set this for directory servers in the RED_GLOBAL realm.
+ [b]system.disable_dreport[/b]
+ If '1', don't store or link to delivery reports
+ [b]system.startpage[/b]
Set the default page to be taken to after a login for all channels at
this website. Can be overwritten by user settings.
- [b]system > projecthome[/b]
- Set the project homepage as the homepage of your hub.
- [b]system > workflow_channel_next[/b]
- The page to direct users to immediately after creating a channel.
- [b]system > max_daily_registrations[/b]
+ [b]system.projecthome[/b]
+ Set the project homepage as the homepage of your hub. (Obsolete)
+ [b]system.auto_channel_create[/b]
+ Add the necessary form elements to create the first channel on the account registration page, and create it
+ (possibly following email validation or administrator approval). This precludes the ability to import a channel
+ from another site as the first channel created on this site for a new account.
+ Use with system.default_permissions_role to streamline registration.
+ [b]system.default_permissions_role[/b]
+ If set to a valid permissions role name, use that role for
+ the first channel created by a new account and don't ask for the "Channel Type" on
+ the channel creation form. Examples of valid names are: 'social', 'social_restricted', 'social_private',
+ 'forum', 'forum_restricted' and 'forum_private'.
+ Read more about permissions roles [zrl=[baseurl]/help/roles]here[/zrl].
+ [b]system.workflow_channel_next[/b]
+ The page to direct new members to immediately after creating a channel.
+ [b]system.workflow_register_next[/b]
+ The page to direct members to immediately after creating an account (only when auto_channel_create or UNO is enabled).
+ [b]system.max_daily_registrations[/b]
Set the maximum number of new registrations allowed on any day.
Useful to prevent oversubscription after a bout of publicity
for the project.
- [b]system > tos_url[/b]
+ [b]system.tos_url[/b]
Set an alternative link for the ToS location.
- [b]system > block_public_search[/b]
+ [b]system.block_public_search[/b]
Similar to block_public, except only blocks public access to
search features. Useful for sites that want to be public, but
keep getting hammered by search engines.
- [b]system > paranoia[/b]
+ [b]system.proc_run_use_exec
+ If 1, use the exec system call in proc_run to run background tasks. By default
+ we use proc_open and proc_close. On some (currently rare) systems this does not work well.
+ [b]system.paranoia[/b]
As the pconfig, but on a site-wide basis. Can be overwritten
by member settings.
- [b]system > openssl_conf_file[/b]
+ [b]system.transport_security_header[/b]
+ if non-zero and SSL is being used, include a strict-transport-security header on webpages
+ [b]system.poke_basic[/b]
+ Reduce the number of poke verbs to exactly 1 ("poke"). Disable other verbs.
+ [b]system.openssl_conf_file[/b]
Specify a file containing OpenSSL configuration. Read the code first.
If you can't read the code, don't play with it.
- [b]system > optimize_items[/b]
+ [b]system.optimize_items[/b]
Runs optimise_table during some tasks to keep your database nice and
defragmented. This comes at a performance cost while the operations
are running, but also keeps things a bit faster while it's not.
There also exist CLI utilities for performing this operation, which you
may prefer, especially if you're a large site.
- [b]system > expire_limit
+ [b]system.expire_limit
Don't expire any more than this number of posts per channel per
expiration run to keep from exhausting memory. Default 5000.
- [b]system > dlogfile[/b]
+ [b]system.dlogfile[/b]
Logfile to use for logging development errors. Exactly the same as
logger otherwise. This isn't magic, and requires your own logging
statements. Developer tool.
- [b]system > authlog[/b]
+ [b]system.authlog[/b]
Logfile to use for logging auth errors. Used to plug in to server
side software such as fail2ban. Auth failures are still logged to
the main logs as well.
- [b]system > hide_in_statistics[/b]
+ [b]system.hide_in_statistics[/b]
Tell the red statistics servers to completely hide this hub in hub lists.
- [b]system > reserved_channels[/b]
+ [b]system.reserved_channels[/b]
Don't allow members to register channels with this comma separated
list of names (no spaces)
- [b]system > auto_follow[/b]
+ [b]system.auto_follow[/b]
Make the first channel of an account auto-follow channels listed here - comma separated list of webbies (member@hub addresses).
- [b]system > admin_email[/b]
+ [b]system.admin_email[/b]
Specifies the administrator's email for this site. This is initially set during install.
- [b]system > cron_hour[/b]
+ [b]system.cron_hour[/b]
Specify an hour in which to run cron_daily. By default with no config, this will run at midnight UTC.
- [b]system > minimum_feedcheck_minutes[/b]
+ [b]system.minimum_feedcheck_minutes[/b]
The minimum interval between polling RSS feeds. If this is lower than the cron interval, feeds will be polled with each cronjob. Defaults to 60 if not set. The site setting can also be over-ridden on a channel by channel basis by a service class setting aptly named 'minimum_feedcheck_minutes'.
- [b]system > blacklisted_sites[/b]
+ [b]system.blacklisted_sites[/b]
An array of specific hubs to block from this hub completely.
- [b]system > ignore_imagick[/b]
+ [b]system.ignore_imagick[/b]
Ignore imagick and use GD, even if imagick is installed on the server. Prevents some issues with PNG files in older versions of imagick.
- [b]system > no_age_restriction[/b]
+ [b]system.no_age_restriction[/b]
Do not restrict registration to people over the age of 13. This carries legal responsibilities in many countries to require that age be provided and to block all personal information from minors, so please check your local laws before changing.
- [b]system > override_poll_lockfile[/b]
+ [b]system.override_poll_lockfile[/b]
Ignore the lock file in the poller process to allow more than one process to run at a time.
- [b]system > projecthome[/b]
+ [b]system.projecthome[/b]
Display the project page on your home page for logged out viewers.
- [b]system > sellpage[/b]
+ [b]system.sellpage[/b]
A URL shown in the public sites list to sell your hub - display service classes, etc.
- [b]randprofile > check[/b]
+ [b]randprofile.check[/b]
When requesting a random profile, check that it actually exists first
- [b]randprofile > retry[/b]
+ [b]randprofile.retry[/b]
Number of times to retry getting a random profile
- [b]system > photo_cache_time[/b]
+ [b]system.photo_cache_time[/b]
How long to cache photos, in seconds. Default is 86400 (1 day).
Longer time increases performance, but it also means it takes longer for changed permissions to apply.
- [b]system > poco_rating_enable[/b]
+ [b]system.poco_rating_enable[/b]
Distributed reputation reporting and data collection may be disabled. If your site does not participate in distributed reputation you will also not be able to make use of the data from your connections on other sites. By default and in the absence of any setting it is enabled. Individual members can opt out by restricting who can see their connections or by not providing any reputation information for their connections.
- [b]system > register_link[/b]
+ [b]system.register_link[/b]
path to direct to from the "register" link on the login form. On closed sites this will direct to 'pubsites'. For open sites it will normally redirect to 'register' but you may change this to a custom site page offering subscriptions or whatever.
- [b]system > max_import_size[/b]
+ [b]system.max_import_size[/b]
If configured, the maximum length of an imported text message. This is normally left at 200Kbytes or more to accomodate Friendica private photos, which are embedded.
- [b]system > tempdir[/b]
- Place to store temporary files, default is defined in the PHP configuration
- [b]system > uploaddir[/b]
- Location to upload files (default is system.tempdir)
- [b]system > disable_discover_tab[/b]
+ [b]system.tempdir[/b]
+ Place to store temporary files (currently unused), default is defined in the PHP configuration
+ [b]system.uploaddir[/b]
+ Location to upload files (default is system.tempdir, currently used only by js_upload plugin)
+ [b]system.disable_discover_tab[/b]
This allows you to completely disable the ability to discover public content from external sites.
- [b]system > sys_expire_days[/b]
+ [b]system.sys_expire_days[/b]
How many days to keep discovered public content from other sites
- [b]system > openssl_encrypt[/b]
+ [b]system.openssl_encrypt[/b]
Use openssl encryption engine, default is false (uses mcrypt for AES encryption)
- [b]system > max_tagged_forums[/b]
+ [b]system.max_tagged_forums[/b]
Spam prevention. Limits the number of tagged forums which are recognised in any post. Default is 2. Only the first 'n' tags will be delivered as forums, the others will not cause any delivery.
- [b]system > openssl_conf_file[/b]
+ [b]system.openssl_conf_file[/b]
Needed in some Windows installations to locate the openssl configuration file on the system.
- [b]system > hide_help[/b]
+ [b]system.hide_help[/b]
Don't display help documentation link in nav bar
- [b]system > expire_delivery_reports[/b]
- Expiration in days for delivery reports - default 30
+ [b]system.expire_delivery_reports[/b]
+ Expiration in days for delivery reports - default 10
+ [b]system.platform_name[/b] *
+ What to report as the platform name in webpages and statistics. (*) Must be set in .htconfig.php
+ [b]system.hide_version[/b] *
+ If true, do not report the software version on webpages and tools. (*) Must be set in .htconfig.php
+ [b]system.hidden_version_siteinfo[/b]
+ If true, do not report the software version on siteinfo pages (system.hide_version also hides the version on these pages, this setting *only* hides the version on siteinfo pages).
+ [b]system.email_notify_icon_url[/b]
+ URL of image (32x32) to display in email notifications (HTML bodies).
[b]Directory config[/b]
[b]Directory search defaults[/b]
- [b]directory > safemode[/b]
+ [b]directory.safemode[/b]
0 or 1.
- [b]directory > globaldir[/b]
+ [b]directory.globaldir[/b]
0 or 1. Default 0. If you visit the directory on a site you'll just see the members of that site by default. You have to go through an extra step to see the people in the rest of the network; and by doing so there's a clear delineation that these people *aren't* members of that site but of a larger network.
- [b]directory > pubforums[/b]
+ [b]directory.pubforums[/b]
0 or 1. Public forums *should* be default 0.
[b]Directory server configuration (see [zrl=[baseurl]/help/directories]help/directories[/zrl])[/b]
- [b]system > directory_server[/b]
- [b]system > directory_primary[/b]
- [b]system > directory_realm[/b]
- [b]system > realm_token[/b]
- [b]system > directory_mode[/b]
+ [b]system.directory_server[/b]
+ [b]system.directory_primary[/b]
+ [b]system.directory_realm[/b]
+ [b]system.realm_token[/b]
+ [b]system.directory_mode[/b]
diff --git a/doc/hook/discover_by_webbie.bb b/doc/hook/discover_by_webbie.bb
deleted file mode 100644
index f9228932e..000000000
--- a/doc/hook/discover_by_webbie.bb
+++ /dev/null
@@ -1 +0,0 @@
-[h2]discover_by_webbie[/h2]
diff --git a/doc/hook/discover_channel_webfinger.bb b/doc/hook/discover_channel_webfinger.bb
new file mode 100644
index 000000000..b0eb5f2c4
--- /dev/null
+++ b/doc/hook/discover_channel_webfinger.bb
@@ -0,0 +1,14 @@
+[h2]discover_channel_webfinger[/h2]
+
+Called after performing channel discovery using RFC7033 webfinger and where the channel is not recognised as zot.
+
+Passed an array:
+
+ address: URL or address that is being discovered
+ success: set to true if the plugin discovers something
+ webfinger: array of webfinger links (output of webfinger_rfc7033())
+
+
+ if your plugin indicates success you are expected to generate and populate an xchan (and hubloc) record prior to returning.
+
+ \ No newline at end of file
diff --git a/doc/hook/module_mod_aftercontent.bb b/doc/hook/module_mod_aftercontent.bb
index 5d48435b8..04e3c8d88 100644
--- a/doc/hook/module_mod_aftercontent.bb
+++ b/doc/hook/module_mod_aftercontent.bb
@@ -8,5 +8,5 @@ The hook data for this call consists of an array
This element contains the HTML content which was prepared for this page by calling the module_content() function. It is invoked after the content has been created. It does not contain the result of AJAX or asynchronous page load calls.
- The current module may be determined by lookin at $a->module
+ The current module may be determined by lookin at App::$module
diff --git a/doc/hook/module_mod_content.bb b/doc/hook/module_mod_content.bb
index 39f5743b1..eef5b7ba5 100644
--- a/doc/hook/module_mod_content.bb
+++ b/doc/hook/module_mod_content.bb
@@ -6,5 +6,5 @@ The hook data for this call consists of an array
This element contains the HTML content before calling the module_content() function. It is invoked before the content region has been populated. This may or may not be empty as there may be other processes or addons generating content prior to your hook handler is run. Be certain to preserve any current content. Typically anything you add here will be placed at the top of the content region of the page, but in any event prior to the main content region being generated.
- The current module may be determined by lookin at $a->module
+ The current module may be determined by lookin at App::$module
diff --git a/doc/hooklist.bb b/doc/hooklist.bb
index 9172628a0..bae641585 100644
--- a/doc/hooklist.bb
+++ b/doc/hooklist.bb
@@ -127,7 +127,7 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/directory_item]directory_item[/zrl]
Called when generating a directory listing for display
-[zrl=[baseurl]/help/hook/discover_by_webbie]discover_by_webbie[/zrl]
+[zrl=[baseurl]/help/hook/discover_channel_webfinger]discover_channel_webfinger[/zrl]
Called when performing a webfinger lookup
[zrl=[baseurl]/help/hook/display_item]display_item[/zrl]
diff --git a/doc/roles.md b/doc/roles.md
index 5d8d07113..a7608ff90 100644
--- a/doc/roles.md
+++ b/doc/roles.md
@@ -11,11 +11,11 @@ The channel is a typical social networking profile. By default posts and publish
**Restricted**
-By default all posts and published items are sent to your 'Friends' collection and not made public. New friends are added to this collection. You can over-ride this and create a public post or published item if you desire. You are listed in the directory. Your online presence (for chat) and your connections (friends) are visible to your profile viewers.
+By default all posts and published items are sent to your 'Friends' privacy group and not made public. New friends are added to this privacy group. You can over-ride this and create a public post or published item if you desire. You are listed in the directory. Your online presence (for chat) and your connections (friends) are visible to your profile viewers.
**Private**
-By default all posts and published items are sent to your 'Friends' collection. New friends are added to this collection. You can over-ride this and create a public post or public item if you desire. You are NOT listed in the directory. Only your connections can see your other connections. Your online presence is hidden.
+By default all posts and published items are sent to your 'Friends' privacy group. New friends are added to this privacy group. You can over-ride this and create a public post or public item if you desire. You are NOT listed in the directory. Only your connections can see your other connections. Your online presence is hidden.
##Forum
@@ -27,11 +27,11 @@ The channel is a typical forum. By default posts and published items are public.
**Restricted**
-By default all posts and published items are sent to the channel's 'Friends' collection. New friends are added to this collection. Members may post by @mention+ or wall-to-wall post, but posts and replies may also be seen by other receipients of the top-level post who are not members. The channel is visible in the directory. Members must be manually added by the forum owner.
+By default all posts and published items are sent to the channel's 'Friends' privacy group. New friends are added to this privacy group. Members may post by @mention+ or wall-to-wall post, but posts and replies may also be seen by other receipients of the top-level post who are not members. The channel is visible in the directory. Members must be manually added by the forum owner.
**Private**
-By default all posts and published items are sent to your 'Friends' collection. New friends are added to this collection. The owner can over-ride this and create a public post or public item if desired. Members cannot. You are NOT listed in the directory. Only your connections can see your other connections. Your online presence is hidden. Members must be manually added by the forum owner. Posting by @mention+ is disabled. Posts can only be made via wall-to-wall posts, and sent to members of the 'Friends' collection. They are not publicly visible.
+By default all posts and published items are sent to your 'Friends' privacy group. New friends are added to this privacy group. The owner can over-ride this and create a public post or public item if desired. Members cannot. You are NOT listed in the directory. Only your connections can see your other connections. Your online presence is hidden. Members must be manually added by the forum owner. Posting by @mention+ is disabled. Posts can only be made via wall-to-wall posts, and sent to members of the 'Friends' privacy group. They are not publicly visible.
##Feed
@@ -44,7 +44,7 @@ Similiar to Social - Mostly Public, but tailored for RSS feed sources. Items may
**Restricted**
-Not listed in directory. Online presence is meaningless, therefore hidden. Feed is published only to members of the 'Friends' collection. New connections are automatically added to this collections. Members must be manually approved by the channel owner.
+Not listed in directory. Online presence is meaningless, therefore hidden. Feed is published only to members of the 'Friends' privacy group. New connections are automatically added to this privacy group. Members must be manually approved by the channel owner.
##Special
diff --git a/doc/tags_and_mentions.bb b/doc/tags_and_mentions.bb
index d638492bb..29dfe0fbe 100644
--- a/doc/tags_and_mentions.bb
+++ b/doc/tags_and_mentions.bb
@@ -31,9 +31,9 @@ Some connections in the mention auto-complete box behave differently than others
[b]Private Mentions[/b]
-If you wish to restrict a post to a single person or a number of people, you can do this by selecting channels or collections from the privacy tool. You can also just tag them with a privacy tag. A privacy tag is a name preceded by the two characters @! - and in addition to tagging these channels, will also change the privacy permissions of the post to only include them. You can have more than one privacy tag, for instance @!bob and @!linda will send the post only to Bob and Linda. This mechanism over-rides the privacy selector.
+If you wish to restrict a post to a single person or a number of people, you can do this by selecting channels or privacy groups from the privacy tool. You can also just tag them with a privacy tag. A privacy tag is a name preceded by the two characters @! - and in addition to tagging these channels, will also change the privacy permissions of the post to only include them. You can have more than one privacy tag, for instance @!bob and @!linda will send the post only to Bob and Linda. This mechanism over-rides the privacy selector.
-You may also tag public collections. When you create or edit a collection, there is a checkbox to allow the group members to be seen by others. If this box is checked for a collection and you tag (for instance) @!Friends - the post will be restricted to the Friends collection. Check that the collection is public before doing this - as there is no way to take back a post except to delete it. The collection name will appear in the post and will alert members of that collection that they are members of it.
+You may also tag privacy groups which are "public". When you create or edit a privacy group, there is a checkbox to allow the group members to be seen by others. If this box is checked for a group and you tag (for instance) @!Friends - the post will be restricted to the Friends group. Check that the group is public before doing this - as there is no way to take back a post except to delete it. The group name will appear in the post and will alert members of that group that they are members of it.
[b]Mentions and Comments[/b]
diff --git a/doc/to_do_code.bb b/doc/to_do_code.bb
index 57f4b2e01..d0860cf3a 100644
--- a/doc/to_do_code.bb
+++ b/doc/to_do_code.bb
@@ -8,7 +8,6 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]SAML 2.0 and OpenID Connect provider functionality[/li]
[li]Create bug tracker module[/li]
[li]Filing posts - provide a dropdown menu integrated with the 'post actions menu'[/li]
-[li]integrate Mozilla Persona (possibly via plugin) https://github.com/mozilla/id-specs/blob/prod/browserid/index.md and become an idP[/li]
[li]translation plugins - moses or apertium[/li]
[li]plugins - provide 'disable' which is softer than 'uninstall' for those plugins which create additional DB tables[/li]
[li]Infinite scroll improvements (i.e. embedded page links) see http://scrollsample.appspot.com/items [/li]
@@ -18,9 +17,7 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]Integrate the &quot;open site&quot; list with the register page[/li]
[li]Support comments and member notes on documentation pages (to achieve an effect similar to php.net)[/li]
[li]Support comments on webpages[/li]
-[li]implement oembed provider interface[/li]
[li]refactor the oembed client interface so that we can safely sandbox remote content[/li]
-[li]Many modern social apps now have both a profile photo and a "cover photo". Add support for this. [/li]
[li]Write more webpage layouts[/li]
[li]Write more webpage widgets[/li]
[li]restricted access OAuth clients[/li]
@@ -35,12 +32,9 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]API extensions, for Twitter API - search, friending, threading. For Red API, lots of stuff[/li]
[li]Import channel from Diaspora/Friendica (Diaspora partially done)[/li]
[li]MediaGoblin photo "crosspost" connector[/li]
-[li]Create management page/UI for extensible profile fields[/li]
-[li]Create interface to include/exclude and re-order standard profile fields[/li]
[li]App taxonomy[/li]
[li]Customisable App collection pages[/li]
[li]replace the tinymce visual editor and/or make the visual editor pluggable and responsive to different output formats. We probably want library/bbedit for bbcode. This needs a fair bit of work to catch up with our &quot;enhanced bbcode&quot;, but start with images, links, bold and highlight and work from there.[/li]
-[li]Photos module - turn photos into normal conversations and fix tagging[/li]
[li]Create mobile clients for the top platforms - which involves extending the API so that we can do stuff far beyond the current crop of Twitter/Statusnet clients. Ditto for mobile themes. We can probably use something like the Friendica Android app as a base to start from.[/li]
[li](in progress Habeas Codice) Implement owned and exchangeable &quot;things&quot;.[/li]
[li]Family Account creation - using service classes (an account holder can create a certain number of sub-accounts which are all tied to their subscription - if the subscription lapses they all go away).[/li]