aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Comparison-of-activity-stream-networks.md4
-rw-r--r--doc/Developers.md4
-rw-r--r--doc/Plugins.md6
-rw-r--r--doc/Primary-Directory.md (renamed from doc/Primary-Directory)0
-rw-r--r--doc/Privacy.md33
-rw-r--r--doc/README.md45
-rw-r--r--doc/Remove-Account.md1
-rw-r--r--doc/Widgets.md8
-rw-r--r--doc/addons.bb2
-rw-r--r--doc/addons_gnusocial.bb7
-rw-r--r--doc/admins.bb12
-rw-r--r--doc/campaign.bb2
-rw-r--r--doc/classRedmatrix_1_1Import_1_1Import-members.html131
-rw-r--r--doc/classRedmatrix_1_1Import_1_1Import.html446
-rw-r--r--doc/database.bb124
-rw-r--r--doc/database/db_abook.bb (renamed from doc/db_abook.bb)0
-rw-r--r--doc/database/db_account.bb (renamed from doc/db_account.bb)0
-rw-r--r--doc/database/db_addon.bb (renamed from doc/db_addon.bb)0
-rw-r--r--doc/database/db_app.bb (renamed from doc/db_app.bb)0
-rw-r--r--doc/database/db_attach.bb (renamed from doc/db_attach.bb)0
-rw-r--r--doc/database/db_auth_codes.bb (renamed from doc/db_auth_codes.bb)0
-rw-r--r--doc/database/db_cache.bb (renamed from doc/db_cache.bb)0
-rw-r--r--doc/database/db_channel.bb (renamed from doc/db_channel.bb)0
-rw-r--r--doc/database/db_chat.bb (renamed from doc/db_chat.bb)0
-rw-r--r--doc/database/db_chatpresence.bb (renamed from doc/db_chatpresence.bb)0
-rw-r--r--doc/database/db_chatroom.bb (renamed from doc/db_chatroom.bb)0
-rw-r--r--doc/database/db_clients.bb (renamed from doc/db_clients.bb)0
-rw-r--r--doc/database/db_config.bb (renamed from doc/db_config.bb)0
-rw-r--r--doc/database/db_conv.bb (renamed from doc/db_conv.bb)0
-rw-r--r--doc/database/db_event.bb (renamed from doc/db_event.bb)0
-rw-r--r--doc/database/db_fcontact.bb (renamed from doc/db_fcontact.bb)0
-rw-r--r--doc/database/db_ffinder.bb (renamed from doc/db_ffinder.bb)0
-rw-r--r--doc/database/db_fserver.bb (renamed from doc/db_fserver.bb)0
-rw-r--r--doc/database/db_fsuggest.bb (renamed from doc/db_fsuggest.bb)0
-rw-r--r--doc/database/db_group_member.bb (renamed from doc/db_group_member.bb)0
-rw-r--r--doc/database/db_groups.bb (renamed from doc/db_groups.bb)0
-rw-r--r--doc/database/db_hook.bb (renamed from doc/db_hook.bb)0
-rw-r--r--doc/database/db_hubloc.bb (renamed from doc/db_hubloc.bb)0
-rw-r--r--doc/database/db_issue.bb (renamed from doc/db_issue.bb)0
-rw-r--r--doc/database/db_item.bb (renamed from doc/db_item.bb)0
-rw-r--r--doc/database/db_item_id.bb (renamed from doc/db_item_id.bb)0
-rw-r--r--doc/database/db_likes.bb (renamed from doc/db_likes.bb)0
-rw-r--r--doc/database/db_mail.bb (renamed from doc/db_mail.bb)0
-rw-r--r--doc/database/db_manage.bb (renamed from doc/db_manage.bb)0
-rw-r--r--doc/database/db_menu.bb (renamed from doc/db_menu.bb)0
-rw-r--r--doc/database/db_menu_item.bb (renamed from doc/db_menu_item.bb)0
-rw-r--r--doc/database/db_notify.bb (renamed from doc/db_notify.bb)0
-rw-r--r--doc/database/db_obj.bb (renamed from doc/db_obj.bb)0
-rw-r--r--doc/database/db_outq.bb (renamed from doc/db_outq.bb)0
-rw-r--r--doc/database/db_pconfig.bb (renamed from doc/db_pconfig.bb)0
-rw-r--r--doc/database/db_photo.bb (renamed from doc/db_photo.bb)0
-rw-r--r--doc/database/db_poll.bb (renamed from doc/db_poll.bb)0
-rw-r--r--doc/database/db_poll_elm.bb (renamed from doc/db_poll_elm.bb)0
-rw-r--r--doc/database/db_profdef.bb (renamed from doc/db_profdef.bb)0
-rw-r--r--doc/database/db_profext.bb (renamed from doc/db_profext.bb)0
-rw-r--r--doc/database/db_profile.bb (renamed from doc/db_profile.bb)0
-rw-r--r--doc/database/db_profile_check.bb (renamed from doc/db_profile_check.bb)0
-rw-r--r--doc/database/db_register.bb (renamed from doc/db_register.bb)0
-rw-r--r--doc/database/db_session.bb (renamed from doc/db_session.bb)0
-rw-r--r--doc/database/db_shares.bb (renamed from doc/db_shares.bb)0
-rw-r--r--doc/database/db_sign.bb (renamed from doc/db_sign.bb)0
-rw-r--r--doc/database/db_site.bb (renamed from doc/db_site.bb)0
-rw-r--r--doc/database/db_source.bb (renamed from doc/db_source.bb)0
-rw-r--r--doc/database/db_spam.bb (renamed from doc/db_spam.bb)0
-rw-r--r--doc/database/db_sys_perms.bb (renamed from doc/db_sys_perms.bb)0
-rw-r--r--doc/database/db_term.bb (renamed from doc/db_term.bb)0
-rw-r--r--doc/database/db_tokens.bb (renamed from doc/db_tokens.bb)0
-rw-r--r--doc/database/db_updates.bb (renamed from doc/db_updates.bb)0
-rw-r--r--doc/database/db_verify.bb (renamed from doc/db_verify.bb)0
-rw-r--r--doc/database/db_vote.bb (renamed from doc/db_vote.bb)0
-rw-r--r--doc/database/db_xchan.bb (renamed from doc/db_xchan.bb)0
-rw-r--r--doc/database/db_xchat.bb (renamed from doc/db_xchat.bb)0
-rw-r--r--doc/database/db_xconfig.bb (renamed from doc/db_xconfig.bb)0
-rw-r--r--doc/database/db_xign.bb (renamed from doc/db_xign.bb)0
-rw-r--r--doc/database/db_xlink.bb (renamed from doc/db_xlink.bb)0
-rw-r--r--doc/database/db_xprof.bb (renamed from doc/db_xprof.bb)0
-rw-r--r--doc/database/db_xtag.bb (renamed from doc/db_xtag.bb)0
-rw-r--r--doc/de/features.bb75
-rw-r--r--doc/de/main.bb1
-rw-r--r--doc/dev_beginner.bb6
-rw-r--r--doc/develop.bb34
-rw-r--r--doc/developers.bb2
-rw-r--r--doc/diaspora_compat.md6
-rw-r--r--doc/encryption.bb2
-rw-r--r--doc/external-resource-links.bb2
-rw-r--r--doc/faq_developers.bb1
-rw-r--r--doc/features.bb6
-rw-r--r--doc/general.bb20
-rw-r--r--doc/hidden_configs.bb1
-rw-r--r--doc/history.md19
-rw-r--r--doc/html/index.php7
-rw-r--r--doc/install/sample-lighttpd.conf90
-rw-r--r--doc/install/sample-nginx.conf142
-rw-r--r--doc/main.bb80
-rw-r--r--doc/members.bb24
-rw-r--r--doc/plugins.bb4
-rw-r--r--doc/red2pi.bb4
-rw-r--r--doc/roadmap.bb2
-rw-r--r--doc/to_do_code.bb3
-rw-r--r--doc/to_do_doco.bb23
-rw-r--r--doc/troubleshooting.bb2
-rw-r--r--doc/what_is_zot.bb2
102 files changed, 889 insertions, 494 deletions
diff --git a/doc/Comparison-of-activity-stream-networks.md b/doc/Comparison-of-activity-stream-networks.md
index 9d8972d7c..d76ae1006 100644
--- a/doc/Comparison-of-activity-stream-networks.md
+++ b/doc/Comparison-of-activity-stream-networks.md
@@ -4,7 +4,7 @@ The goal of this table was to provide an overview of the security and privacy pr
| project | license | distributed | supports node isolation | server-to-server encryption | 1-click E2EE* | database encryption sceme | supports cloning[^5] | encryption of private messages | PFS chat | wall-to-wall interaction | supports post editing and unsend private message | other |
|-----------+---------------+-------------+-------------------------+-------------------------------------------+------------------------------------------+-----------------------------------------------------+-------------------------+-------------------------------------------------------------------------------------------------+-----------------------------------------------+--------------------------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------------|
-| redmatrix | ISC aka MIT | yes | yes | Zot (PKI) + TLS | yes (via JavaScript, AES-256) | content obfuscation, private keys hidden in the DB. | yes, partly implemented | impossible to message privately in plaintext | no | yes, multiple separated channels possible within one account | yes | privacy built in, run your own @ home, nodes are called hubs |
+| hubzilla | ISC aka MIT | yes | yes | Zot (PKI) + TLS | yes (via JavaScript, AES-256) | content obfuscation, private keys hidden in the DB. | yes, partly implemented | impossible to message privately in plaintext | no | yes, multiple separated channels possible within one account | yes | privacy built in, run your own @ home, nodes are called hubs |
| diaspora | AGPLv3orlater | yes | no[^1] | PKI + SSL/TLS[^1] | no[^2] | mostly plaintext | no | ? | no | yes, no naming policy | no | nodes are called pods |
| facebook | proprietary | no | no | planned, probably not implemented yet[^3] | implemented but not offered to users[^4] | unknown | no, walled garden | no, 3-d party plugin Cryptocat and pidgin is availiable but the user is not informed about this | no, with Cryptocat: yes, with pidgin+OTR: yes | only one wall allowed | only post editing | "real name"-policy enforced, advertising-driven, for profit company US-based |
| twitter | proprietary | no | no | unknown | no | unknown, probably none | no, walled garden | no | no | yes | only post editing | advertising-driven, for profit company US-based |
@@ -20,4 +20,4 @@ This table was edited with emacs using org-mode.
[^4]: http://www.computerworld.com/article/2488773/cybercrime-hacking/facebook-holds-back-on-end-to-end-encryption.html
-[^5]: see the redmatrix help files for details about this feature.
+[^5]: see the hubzilla help files for details about this feature.
diff --git a/doc/Developers.md b/doc/Developers.md
index e6f113bca..b19b4fc2f 100644
--- a/doc/Developers.md
+++ b/doc/Developers.md
@@ -1,4 +1,4 @@
-Red Developer Guide
+Developer Guide
===================
**Here is how you can join us.**
@@ -8,7 +8,7 @@ doing development.
Create your own github account.
-You may fork/clone the Red repository from [https://github.com/redmatrix/redmatrix.git](https://github.com/redmatrix/redmatrix.git).
+You may fork/clone the Red repository from [https://github.com/redmatrix/hubzilla.git](https://github.com/redmatrix/hubzilla.git).
Follow the instructions provided here: [http://help.github.com/fork-a-repo/](http://help.github.com/fork-a-repo/)
to create and use your own tracking fork on github
diff --git a/doc/Plugins.md b/doc/Plugins.md
index f92f4c3f2..90ff0fb7d 100644
--- a/doc/Plugins.md
+++ b/doc/Plugins.md
@@ -1,3 +1,4 @@
+
Creating Plugins/Addons for the $Projectname
==========================================
@@ -7,6 +8,7 @@ So you want to make the $Projectname do something it doesn't already do. There a
In your $Projectname folder/directory, you will probably see a sub-directory called 'addon'. If you don't have one already, go ahead and create it.
+
mkdir addon
Then figure out a name for your addon. You probably have at least a vague idea of what you want it to do. For our example I'm going to create a plugin called 'randplace' that provides a somewhat random location for each of your posts. The name of your plugin is used to find the functions we need to access and is part of the function names, so to be safe, use only simple text characters.
@@ -99,8 +101,8 @@ Let's go ahead and add some code to implement our post_local hook handler.
if(local_channel() != $item['uid']) /* Does this person own the post? */
return;
- if(($item['parent']) || ($item['item_restrict'])) {
- /* If the item has a parent, or item_restrict is non-zero, this is a comment or something else, not a status post. */
+ if(($item['parent']) || (! is_item_normal($item))) {
+ /* If the item has a parent, or isn't "normal", this is a comment or something else, not a status post. */
return;
}
diff --git a/doc/Primary-Directory b/doc/Primary-Directory.md
index 37b0c0431..37b0c0431 100644
--- a/doc/Primary-Directory
+++ b/doc/Primary-Directory.md
diff --git a/doc/Privacy.md b/doc/Privacy.md
index fd6df6315..ff5eac181 100644
--- a/doc/Privacy.md
+++ b/doc/Privacy.md
@@ -1,25 +1,28 @@
-#Privacy Policy
+Privacy Policy
+==============
+
+
+##Summary##
-##Summary
Q: Who can see my content?
-A: By default ANYBODY on the internet, UNLESS you restrict it. The $Projectname allows you to choose the privacy level you desire. Restricted content will NOT be visible to spy networks and their advertisers. It will be protected against eavesdropping by outsiders - to the best of our ability. Hub administrators with sufficient skills and patience MAY be able to eavesdrop on some private communications but they must expend effort to do so. Privacy modes exist within the $Projectname which are even resistant to eavesdropping by skilled and determined hub administrators.
+A: By default ANYBODY on the internet, UNLESS you restrict it. $Projectname allows you to choose the privacy level you desire. Restricted content will NOT be visible to "spy networks" and advertisers. It will be protected against eavesdropping by outsiders - to the best of our ability. Hub administrators with sufficient skills and patience MAY be able to eavesdrop on some private communications but they must expend effort to do so. Privacy modes exist within $Projectname which are even resistant to eavesdropping by skilled and determined hub administrators.
Q: Can my content be censored?
-A: The $Projectname (the network) CANNOT censor your content. Server and hub administrators are subject to local laws and MAY remove objectionable content from their site/hub. Anybody MAY become a hub administrator, including you; and therefore publish content which might otherwise be censored. You still MAY be subject to local laws.
+A: $Projectname (the network) CANNOT censor your content. Server and hub administrators are subject to local laws and MAY remove objectionable content from their site/hub. Anybody MAY become a hub administrator, including you; and therefore publish content which might otherwise be censored. You still MAY be subject to local laws.
##Definitions
**$Projectname**
-Otherwise referred to as "the network", the $Projectname is a collection of individual computers/servers (aka **hubs**) which connect together to form a larger cooperative network.
+Otherwise referred to as "the network", $Projectname is a collection of individual computers/servers (aka **hubs**) which connect together to form a larger cooperative network.
**hub**
-An individual computer or server connected to the $Projectname. These are provided by a **hub administrator** and may be public or private, paid or free.
+An individual computer or server connected to $Projectname. These are provided by a **hub administrator** and may be public or private, paid or free.
**hub administrator**
@@ -29,7 +32,7 @@ The system operator of an individual hub.
**Public Information**
-Any information or anything posted by you within the $Projectname MAY be public or visible to anybody on the internet. To the extent possible, the $Projectname allows you to protect content and restrict who can view it.
+Any information or anything posted by you within $Projectname MAY be public or visible to anybody on the internet. To the extent possible, $Projectname allows you to protect content and restrict who can view it.
Your profile photo, your channel name, and the location (URL or network address) of your channel are visible to anybody on the internet and privacy controls will not affect the display of these items.
@@ -37,7 +40,7 @@ You MAY additionally provide other profile information. Any information which yo
**Content**
-Content you provide (status posts, photos, files, etc.) belongs to you. The $Projectname default is to publish content openly and visible to anybody on the internet (PUBLIC). You MAY control this in your channel settings and restrict the default permissions or you MAY restrict the visibility of any single published item separately (PRIVATE). The $Projectname developers will ensure that restricted content is ONLY visible to those in the restriction list - to the best of their ability.
+Content you provide (status posts, photos, files, etc.) belongs to you. The $Projectname default is to publish content openly and visible to anybody on the internet (PUBLIC). You MAY control this in your channel settings and restrict the default permissions or you MAY restrict the visibility of any single published item separately (PRIVATE). $Projectname developers will ensure that restricted content is ONLY visible to those in the restriction list - to the best of their ability.
Content (especially status posts) that you share with other networks or that you have made visible to anybody on the internet (PUBLIC) cannot easily be taken back once it has been published. It MAY be shared with other networks and made available through RSS/Atom feeds. It may also be syndicated on other $Projectname sites. It MAY appear on spy networks and internet searches. If you do not wish this default behaviour please adjust your channel settings and restrict who can see your content.
@@ -48,25 +51,27 @@ Comments to posts that were created by others and posts which are designated as
**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. This is a side effect of the physical laws of the universe. Unfortunately, if a database needs to decrypt a post at display time, it must have the means to decrypt the post! End to end encryption is also provided 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 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.
##Identity Privacy
-Privacy for your identity is another aspect. Because you have a decentralized identity in the $Projectname, your privacy extends beyond your home hub. If you want to have complete control of your privacy and security you should run your own hub on a dedicated server. For many people, this is complicated and may stretch their technical abilities. So let's list a few precautions you can make to assure your privacy as much as possible.
+Privacy for your identity is another aspect. Because you have a decentralized identity in $Projectname, your privacy extends beyond your home hub. If you want to have complete control of your privacy and security you should run your own hub on a dedicated server. For many people, this is complicated and may stretch their technical abilities. So let's list a few precautions you can make to assure your privacy as much as possible.
A decentralized identity has a lot of advantages and gives you al lot of interesting features, but you should be aware of the fact that your identity is known by other hubs in the $Projectname network. One of those advantages is that other channels can serve you customized content and allow you to see private things (such as private photos which others wish to share with you). Because of this those channels need to know who you are. But we understand that sometimes those other channels know more from you than you might desire. For instance the plug-in Visage that can tell a channel owner the last time you visit their profile. You can easily OPT-OUT of this low level and we think, harmless tracking.
-* You can enable [Do Not Track (DNT)](http://donottrack.us/) in your web browser. We respect this new privacy policy proposal. All modern browsers support DNT. You will find it in the privacy settings of your browsers or else you can consult the web browser's manual. This will not affect the functionality of the $Projectname. This setting is probably enough for most people.
+* You can enable [Do Not Track (DNT)](http://donottrack.us/) in your web browser. We respect this new privacy policy proposal. All modern browsers support DNT. You will find it in the privacy settings of your browsers or else you can consult the web browser's manual. This will not affect the functionality of $Projectname. This setting is probably enough for most people.
+
*You can [disable publication](settings) of your channel in our channel directory. If you want people to find your channel, you should give your channel address directly to them. We think this is a good indication that you prefer extra privacy and automatically enable "Do Not Track" if this is the case.
+
* You can have a blocked hub. That means that all channels and content on that hub is not public, and not visible to the outside world. This is something only your hub administrator can do. We also respect this and automatically enable "Do Not Track" if it is set.
###Censorship
-The $Projectname is a global network which is inclusive of all religions and cultures. This does not imply that every member of the network feels the same way you do on contentious issues, and some people may be STRONGLY opposed to the content you post. In general, if you wish to post something that you know may nor be universally acceptable, the best approach is to restrict the audience using privacy controls to a small circle of friends.
+$Projectname is a global network which is inclusive of all religions and cultures. This does not imply that every member of the network feels the same way you do on contentious issues, and some people may be STRONGLY opposed to the content you post. In general, if you wish to post something that you know may nor be universally acceptable, the best approach is to restrict the audience using privacy controls to a small circle of friends.
-The $Projectname as a network provider is unable to censor content. However, hub administrators MAY censor any content which appears on their hub to comply with local laws or even personal judgement. Their decision is final. If you have issues with any hub administrator, you may move your account and postings to another site which is more in line with your expectations. Please check (periodically) the [Terms of Service](help/TermsOfService) of your hub to learn about any rules or guidelines. If your content consists of material which is illegal or may cause issues, you are STRONGLY encouraged to host your own (become a hub administrator). You may still find that your content is blocked on some hubs, but the $Projectname as a network cannot block it from being posted.
+$Projectname as a network provider is unable to censor content. However, hub administrators MAY censor any content which appears on their hub to comply with local laws or even personal judgement. Their decision is final. If you have issues with any hub administrator, you may move your account and postings to another site which is more in line with your expectations. Please check (periodically) the [Terms of Service](help/TermsOfService) of your hub to learn about any rules or guidelines. If your content consists of material which is illegal or may cause issues, you are STRONGLY encouraged to host your own (become a hub administrator). You may still find that your content is blocked on some hubs, but $Projectname as a network cannot block it from being posted.
-The $Projectname RECOMMENDS that hub administrators provide a grace period of 1-2 days between warning an account holder of content that needs to be removed and physically removing or disabling the account. This will give the content owner an opportunity to export their channel meta-data and import it to another site. In rare cases the content may be of such a nature to justify the immediate termination of the account. This is a hub decision, not a $Projectname decision.
+$Projectname RECOMMENDS that hub administrators provide a grace period of 1-2 days between warning an account holder of content that needs to be removed and physically removing or disabling the account. This will give the content owner an opportunity to export their channel meta-data and import it to another site. In rare cases the content may be of such a nature to justify the immediate termination of the account. This is a hub decision, not a $Projectname decision.
If you typically and regularly post content of an adult or offensive nature, you are STRONGLY encouraged to mark your account "NSFW" (Not Safe For Work). This will prevent the display of your profile photo in the directory except to viewers that have chosen to disable "safe mode". If your profile photo is found by directory administrators to be adult or offensive, the directory administrator MAY flag your profile photo as NSFW. There is currently no official mechanism to contest or reverse this decision, which is why you SHOULD mark your own account NSFW if it is likely to be inappropriate for general audiences.
diff --git a/doc/README.md b/doc/README.md
index 68183577e..90585a906 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -1,11 +1,42 @@
-![the $Projectname](images/rm-480x115.png)
-The $Projectname (aka "red") is an open source webapp platform providing a complete **decentralised** publishing, sharing, and communications system. It combines communications (private messaging, chat and social networking), and media management (photos, events, files, web pages, app distribution) with enough features to make your head spin.
+Hubzilla
+========
-What makes the $Projectname unique is what we call "magic authentication" - which is based on our groundbreaking work in decentralised identity services. This ties all $Projectname sites and channels together into a single super-network where the boundaries between different websites are blurred or seemingly non-existent; where "who you are" has nothing to do with "what computer you're connected to", and where website content can adapt itself according to who is viewing it.
+###Websites. Redefined.
-Warning: After experiencing magic authentication and nomadic identity, you may find it disconcerting and a bit "primitive" to go back to the old internet. You shouldn't need hundreds of different passwords to use the web ... or be totally isolated from your friends and family because a server or router in another country is having "*issues*".
-For the average person, the biggest advantage of decentralised identity is that you decide who you want to share your stuff with, and if somebody isn't on your list, they're not going to see it. It's all under your control (we're big on privacy). Use the $Projectname as a social network or a business website or for personal cloud storage or media publishing - or any number of other uses; limited only by your imagination.
-
-The $Projectname is free and open source distributed under the MIT license.
+![Hubzilla](images/ghash-32.png)
+
+**What are Hubs?**
+
+Hubs are independent general-purpose websites that not only connect with their associated members and viewers, but also connect together to exchange personal communications and other information with each other.
+This allows hub members on any hub to securely and privately share anything; with anybody, on any hub - anywhere; or share stuff publicly with anybody on the internet if desired.
+
+**Hubzilla** is the server software which makes this possible. It is a sophisticated and unique combination of an open source content management system and a decentralised identity, communications, and permissions framework and protocol suite, built using common webserver technology (PHP/MySQL/Apache, although Mariadb or Postgres and Nginx could also be used - we're pretty easy). The end result is a level of systems integration, privacy control, and communications features that you wouldn't think are possible in either a content management system or a decentralised communications network. It also brings a new level of cooperation and privacy to the web and introduces the concept of personally owned "single sign-on" to web services across the entire internet.
+
+Hubzilla hubs are
+
+* decentralised
+* inherently social
+* optionally inter-networked with other hubs
+* privacy-enabled (privacy exclusions work across the entire internet to any registered identity on any compatible hubs)
+
+Possible website applications include
+
+* decentralised social networking nodes
+* personal cloud storage
+* file dropboxes
+* managing organisational communications and activities
+* collaboration and community decision-making
+* small business websites
+* public and private media/file libraries
+* blogs
+* event promotion
+* feed aggregation and republishing
+* forums
+* dating websites
+* pretty much anything you can do on a traditional blog or community website, but that you could do better if you could easily connect it with other websites or privately share things across website boundaries.
+
+
+
+This project is under development and is not yet available for general use. \ No newline at end of file
diff --git a/doc/Remove-Account.md b/doc/Remove-Account.md
index e846f0366..a8ef733a6 100644
--- a/doc/Remove-Account.md
+++ b/doc/Remove-Account.md
@@ -14,6 +14,7 @@ Visit the URL
https://yoursite/removeme
(replace 'yoursite' with the domain name of your $Projectname site).
+
You will need to confirm your password and the channel you are currently logged into will be removed.
This is irreversible.
diff --git a/doc/Widgets.md b/doc/Widgets.md
index d9df66eee..a225f5ef3 100644
--- a/doc/Widgets.md
+++ b/doc/Widgets.md
@@ -99,6 +99,14 @@ Some/many of these widgets have restrictions which may restrict the type of page
* channel_id - if not your own
<br />&nbsp;<br />
+* tasklist - provide a task or to-do list for the currently logged-in channel.
+ * args:
+ * all - display completed tasks if all is non-zero.
+<br />&nbsp;<br />
+
+* forums - provide a list of connected public forums with unseen counts for the current logged-in channel.
+<br />&nbsp;<br />
+
Creating New Widgets
====================
diff --git a/doc/addons.bb b/doc/addons.bb
index 120f668ae..1be88150d 100644
--- a/doc/addons.bb
+++ b/doc/addons.bb
@@ -61,7 +61,7 @@
[h3]Addon Repositories[/h3]
-[url=https://github.com/redmatrix/redmatrix-addons]https://github.com/redmatrix/redmatrix-addons[/url] Main project addon repository
+[url=https://github.com/redmatrix/hubzilla-addons]https://github.com/redmatrix/hubzilla-addons[/url] Main project addon repository
[url=https://github.com/23n/red-addons]https://github.com/23n/red-addons[/url] Oliver's repository (mayan_places and flip)
diff --git a/doc/addons_gnusocial.bb b/doc/addons_gnusocial.bb
index ff3aefe45..dfdce5f6a 100644
--- a/doc/addons_gnusocial.bb
+++ b/doc/addons_gnusocial.bb
@@ -10,13 +10,14 @@ Next, click the link to Register a new application. That brings up the new appli
Icon. I uploaded the $Projectname icon located at this link, after saving it to my computer:
-https://github.com/redmatrix/redmatrix/blob/master/images/rm-32.png
+https://github.com/redmatrix/hubzilla/blob/master/images/rm-32.png
-Name. Give the application an appropriate name. I called mine redmatrix. You might prefer r2g.
+Name. Give the application an appropriate name. I called mine hubzilla. You might prefer r2g.
Description. Use this field to describe the purpose of the application. I put something to the effect of use for crossposting from $Projectname to GNUsocial.
-Source URL. Put the main domain name of the Red site you're using. Don't forget to put the "s" in https://yourredmatrixsite.com. If your Red installation is a subdomain, that would probably be called for.
+
+Source URL. Put the main domain name of the Red site you're using. Don't forget to put the "s" in https://yourhubzillasite.com. If your Red installation is a subdomain, that would probably be called for.
Organization. Since $Projectname is unorganized, I put that. If you use your installation for a group or business, that might be a good option.
diff --git a/doc/admins.bb b/doc/admins.bb
new file mode 100644
index 000000000..d4e90c8a3
--- /dev/null
+++ b/doc/admins.bb
@@ -0,0 +1,12 @@
+[h2]Documentation for Hub Administrators[/h2]
+
+[h3]Administrators[/h3]
+
+[zrl=[baseurl]/help/install]Install[/zrl]
+[zrl=[baseurl]/help/red2pi]Installing $Projectname on the Raspberry Pi[/zrl]
+[zrl=[baseurl]/help/troubleshooting]Troubleshooting Tips[/zrl]
+[zrl=[baseurl]/help/hidden_configs]Tweaking $Projectname's Hidden Configurations[/zrl]
+[zrl=[baseurl]/help/faq_admins]FAQ For Admins[/zrl]
+[zrl=[baseurl]/help/service_classes]Service Classes[/zrl]
+
+
diff --git a/doc/campaign.bb b/doc/campaign.bb
index 68a2ac63d..48f28f0c0 100644
--- a/doc/campaign.bb
+++ b/doc/campaign.bb
@@ -153,7 +153,7 @@ Each contributor at this level gets their own $Projectname virtual private serve
We're a handful of volunteers, and we understand that not everyone can contribute by donating money. There are many other ways you can in getting the Matrix to version 1.0!
-First, you can checkout our source code on github: https://github.com/redmatrix/redmatrix
+First, you can checkout our source code on github: https://github.com/redmatrix/hubzilla
Maybe you can dive in and help us out with some development.
diff --git a/doc/classRedmatrix_1_1Import_1_1Import-members.html b/doc/classRedmatrix_1_1Import_1_1Import-members.html
new file mode 100644
index 000000000..d5e2f9277
--- /dev/null
+++ b/doc/classRedmatrix_1_1Import_1_1Import-members.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Hubzilla: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Hubzilla
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('classHubzilla_1_1Import_1_1Import.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Hubzilla\Import\Import Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f">$credentials</a></td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc">$itemlist</a></td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c">$items</a></td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6">$src_items</a></td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a">convert_child</a>($child)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218">convert_item</a>($item_ident)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6">convert_taxonomy</a>($item_ident)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8">get_children</a>($item_ident)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">get_credentials</a>()</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2">get_item</a>($item_ident)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059">get_item_ident</a>($item)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">get_itemlist</a>()</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c">get_taxonomy</a>($item_ident)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">run</a>()</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc">store</a>($item, $update=false)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content --> \ No newline at end of file
diff --git a/doc/classRedmatrix_1_1Import_1_1Import.html b/doc/classRedmatrix_1_1Import_1_1Import.html
new file mode 100644
index 000000000..9a7128d65
--- /dev/null
+++ b/doc/classRedmatrix_1_1Import_1_1Import.html
@@ -0,0 +1,446 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Hubzilla: Hubzilla\Import\Import Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Hubzilla
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('classHubzilla_1_1Import_1_1Import.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="#pri-attribs">Private Attributes</a> &#124;
+<a href="classHubzilla_1_1Import_1_1Import-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">Hubzilla\Import\Import Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a24134929d9a8a682da2036a0bf326367"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">get_credentials</a> ()</td></tr>
+<tr class="separator:a24134929d9a8a682da2036a0bf326367"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a855cd5a79b95d269ae8737fae774e3bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">get_itemlist</a> ()</td></tr>
+<tr class="separator:a855cd5a79b95d269ae8737fae774e3bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a772c28edf36aaf8e66007a95004c4059"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059">get_item_ident</a> ($item)</td></tr>
+<tr class="separator:a772c28edf36aaf8e66007a95004c4059"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27987a41cb703a796f1821baeb4774a2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2">get_item</a> ($item_ident)</td></tr>
+<tr class="separator:a27987a41cb703a796f1821baeb4774a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3c6472bea1a44025bc2e152604eb20c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c">get_taxonomy</a> ($item_ident)</td></tr>
+<tr class="separator:ae3c6472bea1a44025bc2e152604eb20c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57561904b0f127e0d9a3e2c33688daf8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8">get_children</a> ($item_ident)</td></tr>
+<tr class="separator:a57561904b0f127e0d9a3e2c33688daf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a107703a43a1b0ceb2af7ae470cb3f218"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218">convert_item</a> ($item_ident)</td></tr>
+<tr class="separator:a107703a43a1b0ceb2af7ae470cb3f218"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addf6e53dacd971eaab49be4b17a767d6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6">convert_taxonomy</a> ($item_ident)</td></tr>
+<tr class="separator:addf6e53dacd971eaab49be4b17a767d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5434325afb2c633c52540127d717800a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a">convert_child</a> ($child)</td></tr>
+<tr class="separator:a5434325afb2c633c52540127d717800a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33ed595de044c0ec1cd84cca719e31dc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc">store</a> ($item, $update=false)</td></tr>
+<tr class="separator:a33ed595de044c0ec1cd84cca719e31dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d138a9a7d4f79b81d3446ca216a602c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">run</a> ()</td></tr>
+<tr class="separator:a8d138a9a7d4f79b81d3446ca216a602c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:ad0d2bdc3b388220479063915b4f5c2fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc">$itemlist</a> = null</td></tr>
+<tr class="separator:ad0d2bdc3b388220479063915b4f5c2fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c2eeba8d0cba3e7c12a2c45ba0fbc6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6">$src_items</a> = null</td></tr>
+<tr class="separator:a88c2eeba8d0cba3e7c12a2c45ba0fbc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a05dac405ccc5b617b7b7b3c8ed783c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c">$items</a> = null</td></tr>
+<tr class="separator:a0a05dac405ccc5b617b7b7b3c8ed783c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a864aac9fadb4846f5d9f840e8e0f440f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f">$credentials</a> = null</td></tr>
+<tr class="separator:a864aac9fadb4846f5d9f840e8e0f440f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a5434325afb2c633c52540127d717800a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::convert_child </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$child</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a107703a43a1b0ceb2af7ae470cb3f218"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::convert_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="addf6e53dacd971eaab49be4b17a767d6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::convert_taxonomy </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a57561904b0f127e0d9a3e2c33688daf8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::get_children </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a24134929d9a8a682da2036a0bf326367"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::get_credentials </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a27987a41cb703a796f1821baeb4774a2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::get_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a772c28edf36aaf8e66007a95004c4059"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::get_item_ident </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a855cd5a79b95d269ae8737fae774e3bc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::get_itemlist </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae3c6472bea1a44025bc2e152604eb20c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::get_taxonomy </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8d138a9a7d4f79b81d3446ca216a602c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::run </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a33ed595de044c0ec1cd84cca719e31dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::store </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a864aac9fadb4846f5d9f840e8e0f440f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::$credentials = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">Hubzilla\Import\Import\get_credentials()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad0d2bdc3b388220479063915b4f5c2fc"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::$itemlist = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">Hubzilla\Import\Import\get_itemlist()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0a05dac405ccc5b617b7b7b3c8ed783c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::$items = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a88c2eeba8d0cba3e7c12a2c45ba0fbc6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::$src_items = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/Import/<a class="el" href="Importer_8php.html">Importer.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content --> \ No newline at end of file
diff --git a/doc/database.bb b/doc/database.bb
index 7be6735c9..fe193cf7f 100644
--- a/doc/database.bb
+++ b/doc/database.bb
@@ -1,66 +1,66 @@
[h2]Database Tables[/h2]
[table]
[tr][th]Table[/th][th]Description[/th][/tr]
-[tr][td][zrl=[baseurl]/help/db_abook]abook[/zrl][/td][td]connections of local channels[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_account]account[/zrl][/td][td]service provider account[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_addon]addon[/zrl][/td][td]registered plugins[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_app]app[/zrl][/td][td]personal app data[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_attach]attach[/zrl][/td][td]file attachments[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_auth_codes]auth_codes[/zrl][/td][td]OAuth usage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_cache]cache[/zrl][/td][td]OEmbed cache[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_channel]channel[/zrl][/td][td]local channels[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_chat]chat[/zrl][/td][td]chat room content[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_chatpresence]chatpresence[/zrl][/td][td]channel presence information for chat[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_chatroom]chatroom[/zrl][/td][td]data for the actual chat room[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_clients]clients[/zrl][/td][td]OAuth usage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_config]config[/zrl][/td][td]main configuration storage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_conv]conv[/zrl][/td][td]Diaspora private messages meta conversation structure[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_event]event[/zrl][/td][td]Events[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_fcontact]fcontact[/zrl][/td][td]friend suggestion stuff (obsolete)[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_ffinder]ffinder[/zrl][/td][td]friend suggestion stuff (obsolete)[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_fserver]fserver[/zrl][/td][td]obsolete[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_fsuggest]fsuggest[/zrl][/td][td]friend suggestion stuff (unused)[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_group_member]group_member[/zrl][/td][td]privacy groups (collections), group info[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_groups]groups[/zrl][/td][td]privacy groups (collections), member info[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_hook]hook[/zrl][/td][td]plugin hook registry[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_hubloc]hubloc[/zrl][/td][td]Red location storage, ties a hub location to an xchan[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_issue]issue[/zrl][/td][td]future bug/issue database[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_item]item[/zrl][/td][td]all posts and webpages[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_item_id]item_id[/zrl][/td][td]other identifiers on other services for posts[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_likes]likes[/zrl][/td][td]likes of 'things'[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_mail]mail[/zrl][/td][td]private messages[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_manage]manage[/zrl][/td][td]may be unused in Red, table of accounts that can "su" each other[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_menu]menu[/zrl][/td][td]webpage menu data[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_menu_item]menu_item[/zrl][/td][td]entries for webpage menus[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_notify]notify[/zrl][/td][td]notifications[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_obj]obj[/zrl][/td][td]object data for things (x has y)[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_outq]outq[/zrl][/td][td]Red output queue[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_pconfig]pconfig[/zrl][/td][td]personal (per channel) configuration storage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_photo]photo[/zrl][/td][td]photo storage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_poll]poll[/zrl][/td][td]data for polls[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_poll_elm]poll_elm[/zrl][/td][td]data for poll elements[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_profdef]profdef[/zrl][/td][td]custom profile field definitions[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_profext]profext[/zrl][/td][td]custom profile field data[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_profile]profile[/zrl][/td][td]channel profiles[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_profile_check]profile_check[/zrl][/td][td]DFRN remote auth use, may be obsolete[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_register]register[/zrl][/td][td]registrations requiring admin approval[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_session]session[/zrl][/td][td]web session storage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_shares]shares[/zrl][/td][td]shared item information[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_sign]sign[/zrl][/td][td]Diaspora signatures. To be phased out.[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_site]site[/zrl][/td][td]site table to find directory peers[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_source]source[/zrl][/td][td]channel sources data[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_spam]spam[/zrl][/td][td]unfinished[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_sys_perms]sys_perms[/zrl][/td][td]extensible permissions for OAuth[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_term]term[/zrl][/td][td]item taxonomy (categories, tags, etc.) table[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_tokens]tokens[/zrl][/td][td]OAuth usage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_updates]updates[/zrl][/td][td]directory sync updates[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_verify]verify[/zrl][/td][td]general purpose verification structure[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_vote]vote[/zrl][/td][td]vote data for polls[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xchan]xchan[/zrl][/td][td]list of known channels in the universe[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xchat]xchat[/zrl][/td][td]bookmarked chat rooms[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xconfig]xconfig[/zrl][/td][td]as pconfig but for channels with no local account[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xign]xign[/zrl][/td][td]channels ignored by friend suggestions[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xlink]xlink[/zrl][/td][td]"friends of friends" linkages derived from poco, also ratings storage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xprof]xprof[/zrl][/td][td]if this hub is a directory server, contains basic public profile info of everybody in the network[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xtag]xtag[/zrl][/td][td]if this hub is a directory server, contains tags or interests of everybody in the network[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_abook]abook[/zrl][/td][td]connections of local channels[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_account]account[/zrl][/td][td]service provider account[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_addon]addon[/zrl][/td][td]registered plugins[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_app]app[/zrl][/td][td]personal app data[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_attach]attach[/zrl][/td][td]file attachments[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_auth_codes]auth_codes[/zrl][/td][td]OAuth usage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_cache]cache[/zrl][/td][td]OEmbed cache[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_channel]channel[/zrl][/td][td]local channels[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_chat]chat[/zrl][/td][td]chat room content[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_chatpresence]chatpresence[/zrl][/td][td]channel presence information for chat[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_chatroom]chatroom[/zrl][/td][td]data for the actual chat room[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_clients]clients[/zrl][/td][td]OAuth usage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_config]config[/zrl][/td][td]main configuration storage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_conv]conv[/zrl][/td][td]Diaspora private messages meta conversation structure[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_event]event[/zrl][/td][td]Events[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_fcontact]fcontact[/zrl][/td][td]friend suggestion stuff (obsolete)[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_ffinder]ffinder[/zrl][/td][td]friend suggestion stuff (obsolete)[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_fserver]fserver[/zrl][/td][td]obsolete[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_fsuggest]fsuggest[/zrl][/td][td]friend suggestion stuff (unused)[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_group_member]group_member[/zrl][/td][td]privacy groups (collections), group info[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_groups]groups[/zrl][/td][td]privacy groups (collections), member info[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_hook]hook[/zrl][/td][td]plugin hook registry[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_hubloc]hubloc[/zrl][/td][td]Red location storage, ties a hub location to an xchan[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_issue]issue[/zrl][/td][td]future bug/issue database[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_item]item[/zrl][/td][td]all posts and webpages[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_item_id]item_id[/zrl][/td][td]other identifiers on other services for posts[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_likes]likes[/zrl][/td][td]likes of 'things'[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_mail]mail[/zrl][/td][td]private messages[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_manage]manage[/zrl][/td][td]may be unused in Red, table of accounts that can "su" each other[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_menu]menu[/zrl][/td][td]webpage menu data[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_menu_item]menu_item[/zrl][/td][td]entries for webpage menus[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_notify]notify[/zrl][/td][td]notifications[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_obj]obj[/zrl][/td][td]object data for things (x has y)[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_outq]outq[/zrl][/td][td]Red output queue[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_pconfig]pconfig[/zrl][/td][td]personal (per channel) configuration storage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_photo]photo[/zrl][/td][td]photo storage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_poll]poll[/zrl][/td][td]data for polls[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_poll_elm]poll_elm[/zrl][/td][td]data for poll elements[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_profdef]profdef[/zrl][/td][td]custom profile field definitions[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_profext]profext[/zrl][/td][td]custom profile field data[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_profile]profile[/zrl][/td][td]channel profiles[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_profile_check]profile_check[/zrl][/td][td]DFRN remote auth use, may be obsolete[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_register]register[/zrl][/td][td]registrations requiring admin approval[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_session]session[/zrl][/td][td]web session storage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_shares]shares[/zrl][/td][td]shared item information[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_sign]sign[/zrl][/td][td]Diaspora signatures. To be phased out.[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_site]site[/zrl][/td][td]site table to find directory peers[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_source]source[/zrl][/td][td]channel sources data[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_spam]spam[/zrl][/td][td]unfinished[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_sys_perms]sys_perms[/zrl][/td][td]extensible permissions for OAuth[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_term]term[/zrl][/td][td]item taxonomy (categories, tags, etc.) table[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_tokens]tokens[/zrl][/td][td]OAuth usage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_updates]updates[/zrl][/td][td]directory sync updates[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_verify]verify[/zrl][/td][td]general purpose verification structure[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_vote]vote[/zrl][/td][td]vote data for polls[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xchan]xchan[/zrl][/td][td]list of known channels in the universe[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xchat]xchat[/zrl][/td][td]bookmarked chat rooms[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xconfig]xconfig[/zrl][/td][td]as pconfig but for channels with no local account[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xign]xign[/zrl][/td][td]channels ignored by friend suggestions[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xlink]xlink[/zrl][/td][td]"friends of friends" linkages derived from poco, also ratings storage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xprof]xprof[/zrl][/td][td]if this hub is a directory server, contains basic public profile info of everybody in the network[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xtag]xtag[/zrl][/td][td]if this hub is a directory server, contains tags or interests of everybody in the network[/td][/tr]
[/table]
diff --git a/doc/db_abook.bb b/doc/database/db_abook.bb
index a34e51996..a34e51996 100644
--- a/doc/db_abook.bb
+++ b/doc/database/db_abook.bb
diff --git a/doc/db_account.bb b/doc/database/db_account.bb
index 354f2d3a8..354f2d3a8 100644
--- a/doc/db_account.bb
+++ b/doc/database/db_account.bb
diff --git a/doc/db_addon.bb b/doc/database/db_addon.bb
index afa06d56c..afa06d56c 100644
--- a/doc/db_addon.bb
+++ b/doc/database/db_addon.bb
diff --git a/doc/db_app.bb b/doc/database/db_app.bb
index 7076bffdd..7076bffdd 100644
--- a/doc/db_app.bb
+++ b/doc/database/db_app.bb
diff --git a/doc/db_attach.bb b/doc/database/db_attach.bb
index 4514c87f8..4514c87f8 100644
--- a/doc/db_attach.bb
+++ b/doc/database/db_attach.bb
diff --git a/doc/db_auth_codes.bb b/doc/database/db_auth_codes.bb
index c60f064a4..c60f064a4 100644
--- a/doc/db_auth_codes.bb
+++ b/doc/database/db_auth_codes.bb
diff --git a/doc/db_cache.bb b/doc/database/db_cache.bb
index 02c292f20..02c292f20 100644
--- a/doc/db_cache.bb
+++ b/doc/database/db_cache.bb
diff --git a/doc/db_channel.bb b/doc/database/db_channel.bb
index 215db3fb7..215db3fb7 100644
--- a/doc/db_channel.bb
+++ b/doc/database/db_channel.bb
diff --git a/doc/db_chat.bb b/doc/database/db_chat.bb
index 6221f36e2..6221f36e2 100644
--- a/doc/db_chat.bb
+++ b/doc/database/db_chat.bb
diff --git a/doc/db_chatpresence.bb b/doc/database/db_chatpresence.bb
index cdc948a60..cdc948a60 100644
--- a/doc/db_chatpresence.bb
+++ b/doc/database/db_chatpresence.bb
diff --git a/doc/db_chatroom.bb b/doc/database/db_chatroom.bb
index b2da762cf..b2da762cf 100644
--- a/doc/db_chatroom.bb
+++ b/doc/database/db_chatroom.bb
diff --git a/doc/db_clients.bb b/doc/database/db_clients.bb
index d342b529f..d342b529f 100644
--- a/doc/db_clients.bb
+++ b/doc/database/db_clients.bb
diff --git a/doc/db_config.bb b/doc/database/db_config.bb
index f32d3c259..f32d3c259 100644
--- a/doc/db_config.bb
+++ b/doc/database/db_config.bb
diff --git a/doc/db_conv.bb b/doc/database/db_conv.bb
index ba1ba7f01..ba1ba7f01 100644
--- a/doc/db_conv.bb
+++ b/doc/database/db_conv.bb
diff --git a/doc/db_event.bb b/doc/database/db_event.bb
index 7c31d7fde..7c31d7fde 100644
--- a/doc/db_event.bb
+++ b/doc/database/db_event.bb
diff --git a/doc/db_fcontact.bb b/doc/database/db_fcontact.bb
index 9bd8c20fe..9bd8c20fe 100644
--- a/doc/db_fcontact.bb
+++ b/doc/database/db_fcontact.bb
diff --git a/doc/db_ffinder.bb b/doc/database/db_ffinder.bb
index c20158d56..c20158d56 100644
--- a/doc/db_ffinder.bb
+++ b/doc/database/db_ffinder.bb
diff --git a/doc/db_fserver.bb b/doc/database/db_fserver.bb
index 4c4b0b530..4c4b0b530 100644
--- a/doc/db_fserver.bb
+++ b/doc/database/db_fserver.bb
diff --git a/doc/db_fsuggest.bb b/doc/database/db_fsuggest.bb
index 9da1f2f6d..9da1f2f6d 100644
--- a/doc/db_fsuggest.bb
+++ b/doc/database/db_fsuggest.bb
diff --git a/doc/db_group_member.bb b/doc/database/db_group_member.bb
index d31fa1edb..d31fa1edb 100644
--- a/doc/db_group_member.bb
+++ b/doc/database/db_group_member.bb
diff --git a/doc/db_groups.bb b/doc/database/db_groups.bb
index 03e4fe2d7..03e4fe2d7 100644
--- a/doc/db_groups.bb
+++ b/doc/database/db_groups.bb
diff --git a/doc/db_hook.bb b/doc/database/db_hook.bb
index 6e8e907a1..6e8e907a1 100644
--- a/doc/db_hook.bb
+++ b/doc/database/db_hook.bb
diff --git a/doc/db_hubloc.bb b/doc/database/db_hubloc.bb
index e4ab7159d..e4ab7159d 100644
--- a/doc/db_hubloc.bb
+++ b/doc/database/db_hubloc.bb
diff --git a/doc/db_issue.bb b/doc/database/db_issue.bb
index 0a6f2912b..0a6f2912b 100644
--- a/doc/db_issue.bb
+++ b/doc/database/db_issue.bb
diff --git a/doc/db_item.bb b/doc/database/db_item.bb
index b31823d6c..b31823d6c 100644
--- a/doc/db_item.bb
+++ b/doc/database/db_item.bb
diff --git a/doc/db_item_id.bb b/doc/database/db_item_id.bb
index b77ae2d1a..b77ae2d1a 100644
--- a/doc/db_item_id.bb
+++ b/doc/database/db_item_id.bb
diff --git a/doc/db_likes.bb b/doc/database/db_likes.bb
index 118c9a87e..118c9a87e 100644
--- a/doc/db_likes.bb
+++ b/doc/database/db_likes.bb
diff --git a/doc/db_mail.bb b/doc/database/db_mail.bb
index 0628584ae..0628584ae 100644
--- a/doc/db_mail.bb
+++ b/doc/database/db_mail.bb
diff --git a/doc/db_manage.bb b/doc/database/db_manage.bb
index a0fdf5aa6..a0fdf5aa6 100644
--- a/doc/db_manage.bb
+++ b/doc/database/db_manage.bb
diff --git a/doc/db_menu.bb b/doc/database/db_menu.bb
index 5b478115d..5b478115d 100644
--- a/doc/db_menu.bb
+++ b/doc/database/db_menu.bb
diff --git a/doc/db_menu_item.bb b/doc/database/db_menu_item.bb
index b14aac5e4..b14aac5e4 100644
--- a/doc/db_menu_item.bb
+++ b/doc/database/db_menu_item.bb
diff --git a/doc/db_notify.bb b/doc/database/db_notify.bb
index 42f9350e5..42f9350e5 100644
--- a/doc/db_notify.bb
+++ b/doc/database/db_notify.bb
diff --git a/doc/db_obj.bb b/doc/database/db_obj.bb
index cc5e75598..cc5e75598 100644
--- a/doc/db_obj.bb
+++ b/doc/database/db_obj.bb
diff --git a/doc/db_outq.bb b/doc/database/db_outq.bb
index 970f99de5..970f99de5 100644
--- a/doc/db_outq.bb
+++ b/doc/database/db_outq.bb
diff --git a/doc/db_pconfig.bb b/doc/database/db_pconfig.bb
index 2ac36e61a..2ac36e61a 100644
--- a/doc/db_pconfig.bb
+++ b/doc/database/db_pconfig.bb
diff --git a/doc/db_photo.bb b/doc/database/db_photo.bb
index 6a0cdf362..6a0cdf362 100644
--- a/doc/db_photo.bb
+++ b/doc/database/db_photo.bb
diff --git a/doc/db_poll.bb b/doc/database/db_poll.bb
index 57d808b71..57d808b71 100644
--- a/doc/db_poll.bb
+++ b/doc/database/db_poll.bb
diff --git a/doc/db_poll_elm.bb b/doc/database/db_poll_elm.bb
index fd649d5a6..fd649d5a6 100644
--- a/doc/db_poll_elm.bb
+++ b/doc/database/db_poll_elm.bb
diff --git a/doc/db_profdef.bb b/doc/database/db_profdef.bb
index a0904fd79..a0904fd79 100644
--- a/doc/db_profdef.bb
+++ b/doc/database/db_profdef.bb
diff --git a/doc/db_profext.bb b/doc/database/db_profext.bb
index ada9dce2a..ada9dce2a 100644
--- a/doc/db_profext.bb
+++ b/doc/database/db_profext.bb
diff --git a/doc/db_profile.bb b/doc/database/db_profile.bb
index 83db75713..83db75713 100644
--- a/doc/db_profile.bb
+++ b/doc/database/db_profile.bb
diff --git a/doc/db_profile_check.bb b/doc/database/db_profile_check.bb
index 3be64c5da..3be64c5da 100644
--- a/doc/db_profile_check.bb
+++ b/doc/database/db_profile_check.bb
diff --git a/doc/db_register.bb b/doc/database/db_register.bb
index 50672b5e1..50672b5e1 100644
--- a/doc/db_register.bb
+++ b/doc/database/db_register.bb
diff --git a/doc/db_session.bb b/doc/database/db_session.bb
index d7ff0482d..d7ff0482d 100644
--- a/doc/db_session.bb
+++ b/doc/database/db_session.bb
diff --git a/doc/db_shares.bb b/doc/database/db_shares.bb
index be5255c03..be5255c03 100644
--- a/doc/db_shares.bb
+++ b/doc/database/db_shares.bb
diff --git a/doc/db_sign.bb b/doc/database/db_sign.bb
index e80ea7ef3..e80ea7ef3 100644
--- a/doc/db_sign.bb
+++ b/doc/database/db_sign.bb
diff --git a/doc/db_site.bb b/doc/database/db_site.bb
index 8dea4dae6..8dea4dae6 100644
--- a/doc/db_site.bb
+++ b/doc/database/db_site.bb
diff --git a/doc/db_source.bb b/doc/database/db_source.bb
index 92850a82e..92850a82e 100644
--- a/doc/db_source.bb
+++ b/doc/database/db_source.bb
diff --git a/doc/db_spam.bb b/doc/database/db_spam.bb
index b75e1edd3..b75e1edd3 100644
--- a/doc/db_spam.bb
+++ b/doc/database/db_spam.bb
diff --git a/doc/db_sys_perms.bb b/doc/database/db_sys_perms.bb
index 04416a26b..04416a26b 100644
--- a/doc/db_sys_perms.bb
+++ b/doc/database/db_sys_perms.bb
diff --git a/doc/db_term.bb b/doc/database/db_term.bb
index c0546cc6a..c0546cc6a 100644
--- a/doc/db_term.bb
+++ b/doc/database/db_term.bb
diff --git a/doc/db_tokens.bb b/doc/database/db_tokens.bb
index 35da2458c..35da2458c 100644
--- a/doc/db_tokens.bb
+++ b/doc/database/db_tokens.bb
diff --git a/doc/db_updates.bb b/doc/database/db_updates.bb
index f2e25d84c..f2e25d84c 100644
--- a/doc/db_updates.bb
+++ b/doc/database/db_updates.bb
diff --git a/doc/db_verify.bb b/doc/database/db_verify.bb
index 9d01181c5..9d01181c5 100644
--- a/doc/db_verify.bb
+++ b/doc/database/db_verify.bb
diff --git a/doc/db_vote.bb b/doc/database/db_vote.bb
index 0b9a423eb..0b9a423eb 100644
--- a/doc/db_vote.bb
+++ b/doc/database/db_vote.bb
diff --git a/doc/db_xchan.bb b/doc/database/db_xchan.bb
index fd1d68296..fd1d68296 100644
--- a/doc/db_xchan.bb
+++ b/doc/database/db_xchan.bb
diff --git a/doc/db_xchat.bb b/doc/database/db_xchat.bb
index 0897408d1..0897408d1 100644
--- a/doc/db_xchat.bb
+++ b/doc/database/db_xchat.bb
diff --git a/doc/db_xconfig.bb b/doc/database/db_xconfig.bb
index 111d1ce3a..111d1ce3a 100644
--- a/doc/db_xconfig.bb
+++ b/doc/database/db_xconfig.bb
diff --git a/doc/db_xign.bb b/doc/database/db_xign.bb
index e216e11cc..e216e11cc 100644
--- a/doc/db_xign.bb
+++ b/doc/database/db_xign.bb
diff --git a/doc/db_xlink.bb b/doc/database/db_xlink.bb
index 2eefec14a..2eefec14a 100644
--- a/doc/db_xlink.bb
+++ b/doc/database/db_xlink.bb
diff --git a/doc/db_xprof.bb b/doc/database/db_xprof.bb
index d98fb3f17..d98fb3f17 100644
--- a/doc/db_xprof.bb
+++ b/doc/database/db_xprof.bb
diff --git a/doc/db_xtag.bb b/doc/database/db_xtag.bb
index 1e6fb9961..1e6fb9961 100644
--- a/doc/db_xtag.bb
+++ b/doc/database/db_xtag.bb
diff --git a/doc/de/features.bb b/doc/de/features.bb
index 3e882b7b4..6bee360eb 100644
--- a/doc/de/features.bb
+++ b/doc/de/features.bb
@@ -1,34 +1,23 @@
-[h1][b]$Projectname-Features[/b][/h1]
+[size=large][b]Features der $Projectname[/b][/size]
-[h1]$Projectname kurz zusammengefasst[/h1]
+Die $Projectname ist ein Allzweck-Kommunikationsnetzwerk mit einigen einzigartigen Features. Sie wurde für eine große Bandbreite von Nutzern entwickelt, von Nutzern sozialer Netzwerke über technisch nicht interessierte Blogger bis hin zu PHP-Experten und erfahrenen Systemadministratoren.
-tl;dr
-
-$Projectname stellt verteiltes Web-Publishing und soziale Kommunikation mit [b]dezentraler Rechteverwaltung[/b] zur Verfügung.
-
-Aber was genau ist eine dezentrale Rechteverwaltung? Sie gibt mir die Möglichkeit, etwas auf einem Website (Fotos, Medien, Dateien, Webseiten etc.) mit bestimmten Personen auf anderen Websites zu teilen – aber nicht unbedingt mit [i]allen[/i] auf diesen Websites. Und: Sie brauchen kein Konto auf meiner Website und müssen sich auf meiner Website nicht extra einloggen, um sich die Dinge anzusehen, die ich mit ihnen geteilt habe. Sie haben ein Konto auf ihrer Heimat-Website, und „Magic Authentication“ zwischen den Websites besorgt den Rest. Da das Netzwerk dezentral aufgebaut ist, gibt es auch keinen einzelnen Betreiber des Netzwerks, der an der Rechteverwaltung vorbei alles sehen kann.
-
-$Projectname kombiniert viele Features von tradionellen Blogs, sozialen Netzwerken und Medien, Content-Management-Systemen und persönlichem Cloud-Speicher auf einer einfach zu nutzenden Plattform. Jeder Hub (Web-Server) in der Matrix kann isoliert operieren oder sich mit anderen Hubs zu einem Super-Netzwerk vereinen. Die Kontrolle über die Privatsphäre hat immer derjenige, der die Inhalte veröffentlicht.
-
-$Projectname ist ein Open-Source Webserver-Applikation, geschrieben ursprünglich für PHP/MySQL. Mit minimaler Erfahrung als Admin ist sie leicht zu installieren. Sie kann auch durch Plugins und Themes und weitere Angebote von Drittanbietern erweitert werden.
-
-[h1][b]$Projectname-Features[/b][/h1]
-
-$Projectname ist ein Allzweck-Web-Publishing- und Kommunikationsnetzwerk mit einigen einzigartigen Features. Sie wurde für eine große Bandbreite von Nutzern entwickelt, von Nutzern sozialer Netzwerke über technisch nicht interessierte Blogger bis hin zu PHP-Experten und erfahrenen Systemadministratoren.
-
-Diese Seite listet einige der Kern-Features von $Projectname auf, die in der offiziellen Distribution enthalten sind. Wie immer bei freier Open-Source-Software sind den Möglichkeiten keine Grenzen gesetzt. Beliebige Erweiterungen, Addons, Themes und Konfigurationen sind möglich.
+Diese Seite listet einige der Kern-Features von Red auf, die in der offiziellen Distribution enthalten sind. Wie immer bei freier Open-Source-Software sind den Möglichkeiten keine Grenzen gesetzt. Beliebige Erweiterungen, Addons, Themes und Konfigurationen sind möglich.
[h2]Entwickelt für Privatsphäre und Freiheit[/h2]
-Eines der Design-Ziele von $Projectname ist einfache Kommunikations über das Web, ohne die Privatsphäre zu vernachlässigen, wenn die Nutzer das wünschen. Um dieses Ziel zu erreichen, verfügt $Projectname über einige Features, die beliebige Stufen des Privatsphäre-Schutzes ermöglichen:
+Eines der Design-Ziele von Red ist einfache Kommunikations über das Web, ohne die Privatsphäre zu vernachlässigen, wenn die Nutzer das Wünschen. Um dieses Ziel zu erreichen, verfügt Red über einige Features, die beliebige Stufen des Privatsphäre-Schutzes ermöglichen:
[b]Beziehungs-Tool[/b]
Wenn Du in der $Projectname einen Kontakt hinzufügst (und das Beziehungs-Tool aktiviert hast), hast Du die Möglichkeit, einen „Grad der Freundschaft“ zu bestimmen. Bespiel: Wenn Du ein Blog eines Bekannten hinzufügst, könntest Du ihm den Freundschaftsgrad „Bekannte“ (Acquaintances) geben.
+
+[img]https://friendicared.net/photo/b07b0262e3146325508b81a9d1ae4a1e-0.png[/img]
+
Wenn Du aber den privaten Kanal eines Freundes hinzufügst, wäre der Freundschaftsgrad „Freunde“ vermutlich passender.
-Wenn Du allen Kontakten solche Freundschaftsgrade zugeordnet hast, kannst Du mit dem Beziehungs-Tool, das (sofern aktiviert) oben auf Deiner Matrix-Seite erscheint, bestimmen, welche Inhalte Du sehen willst. Indem Du die Schieberegler einstellst, legst Du fest, was angezeigt wird – nur Kanäle mit einem Freundschaftsgrad innerhalb des eingestellten Bereichs werden angezeigt
+Wenn Du allen Kontakten solche Freundschaftsgrade zugeordnet hast, kannst Du mit dem Beziehungs-Tool, das (sofern aktiviert) oben auf Deiner Matrix-Seite erscheint, bestimmen, welche Inhalte Du sehen willst. Indem Du die Schieberegler so einstellst, dass der linke auf „Ich“ und der rechte auf „Freunde“ steht, kannst Du dafür sorgen, dass nur Inhalte von Kontakten angezeigt werden, deren Freundschaftsgrad sich irgendwo im Bereich zwischen „Ich“, „Beste Freunde“ und „Freunde“ bewegt. Alle anderen Kontakte, zum Beispiel solche mit einem Freundschaftsgrad in der Nähe von „Bekannte“, werden nicht angezeigt.
Das Beziehungs-Tool erlaubt blitzschnelles Filtern von großen Mengen Inhalt, gruppiert nach Freundschaftsgrad.
@@ -42,7 +31,7 @@ Solche Zugriffsrechte gibt es bei Beiträgen, Fotos, Terminen, Webseiten, Chat-R
[b]Ein Passwort für alle $Projectname-Server (Single Sign-on)[/b]
-Zugriffsrechte funktionieren in der gesamten Matrix mit allen Kanälen. Die meisten Links, die innerhalb von $Projectname verlinken, enthalten Deine Identität (zid), so dass der Zielserver Dich direkt anmelden kann. Du kannst Dich aber auch so auf jedem $Projectname-Server mit Deiner $Projectname-Identität anmelden und erhältst dann Zugriff auf die Inhalte, die für Dich freigegeben sind.
+Zugriffsrechte funktionieren in der gesamten $Projectname mit allen Kanälen. Die meisten Links, die innerhalb der $Projectname verlinken, enthalten deine Identität (zid), so dass der Zielserver Dich direkt anmelden kann. Du kannst Dich aber auch so auf jedem $Projectname-Server mit Deinem $Projectname-Identität anmelden und erhältst dann Zugriff auf die Inhalte, die für Dich freigegeben sind.
Du loggst Dich nur einmal auf Deinem Heimatserver ein. Ab dann funktioniert die Authentifizierung gegenüber anderen $Projectname-Servern „magisch“ von selbst.
@@ -56,7 +45,7 @@ Stelle Deine Fotos online in Alben zur Verfügung. Auch hier kann der Zugriff ü
[b]Terminkalender[/b]
-Im eingebauten Terminkalender kannst Du Termine erstellen und verwalten. Auch hier greifen die Zugriffsrechte für andere. Termine können im vcalendar/iCal-Format exportiert und mit anderen geteilt werden. Wenn Deine Kontakte ihren Geburtstag in ihr Profil eingetragen haben, werden diese Geburtstage automatisch zu Deinem Kalender hinzugefügt – mit entsprechender Anpassung der Zeitzone, so dass Du nie zu früh oder zu spät gratulierst. Termine werden normalerweise mit Teilnehmerzählern erstellt, so dass Deine Freunde und Verbindungen sofort zu- oder absagen können.
+Im eingebauten Terminkalender kannst Du Termine erstellen und verwalten. Auch hier greifen die Zugriffsrechte für andere. Termine können im vcalendar/iCal-Format exportiert und mit anderen geteilt werden. Wenn Deine Kontakte ihren Geburtstag in ihr Profil eingetragen haben, werden diese Geburtstage automatisch zu Deinem Kalender hinzugefügt – mit entsprechender Anpassung der Zeitzone, so dass Du nie zu früh oder zu spät gratulierst.
[b]Chat-Räume[/b]
@@ -64,7 +53,7 @@ Du kannst Chaträume erstellen und über die Zugriffsrechte nur bestimmten Nutze
[b]Erstellen von Webseiten[/b]
-In $Projectname gibt es Werkzeuge für „Content Management“, mit denen Du einfache Webseiten erstellen kannst, aber auch komplexe Layouts, Menüs, Blöcke und Widgets. Auch hier greifen die Zugriffsrechte, so dass die entstandenen Seiten nur von denen betrachtet werden können, denen Du das Recht dazu eingeräumt hast.
+In der $Projectname gibt es Werkzeuge für „Content Management“, mit denen Du einfache Webseiten erstellen kannst, aber auch komplexe Layouts, Menüs, Blöcke und Widgets. Auch hier greifen die Zugriffsrechte, so dass die entstandenen Seiten nur von denen betrachtet werden können, denen Du das Recht dazu eingeräumt hast.
[b]Apps[/b]
@@ -72,7 +61,7 @@ $Projectname-Mitglieder könnnen Apps erstellen und verteilen. Anders als bei an
[b]Layout[/b]
-Das Seiten-Layout basiert auf eine Beschreibungssprache namens Comanche. $Projectname ist selbst in Comanche-Layouts verfasst, die man verändern kann. Dadurch ist eine sehr starke Anpassung an die eigenen Bedürfnisse möglich, wie man sie so in Multi-User-Umgebungen normalerweise nicht findet.
+Das Seiten-Layout basiert auf eine Beschreibungssprache namens Comanche. Die $Projectname ist selbst in Comanche-Layouts verfasst, die man verändern kann. Dadurch ist eine sehr starke Anpassung an die eigenen Bedürfnisse möglich, wie man sie so in Multi-User-Umgebungen normalerweise nicht findet.
[b]Lesezeichen[/b]
@@ -80,9 +69,9 @@ Du kannst Lesezeichen teilen, speichern und verwalten, direkt aus den Unterhaltu
[b]Verschlüsselung privater Nachrichten[/b]
-Nachrichten mit eingeschränktem Empfängerkreis werden mit einem symmetrischen 256-bit-AES-CBC-Schlüssel verschlüsselt, der seinerseits mit Public-Key-Kryptografie auf Basis von 4096-bittigen RSA-Schlüsseln geschützt (nochmal verschlüsselt) wird, die mit dem sendenden Kanal verbunden sind. Diese Nachrichten werden auch auf anderen $Pojectname-Servern verschlüsselt gespeichert.
+Nachrichten mit eingeschränktem Empfängerkreis werden mit einem symmetrischen 256-bit-AES-CBC-Schlüssel verschlüsselt, der seinerseits mit Public-Key-Kryptografie auf Basis von 4096-bittigen RSA-Schlüsseln geschützt (nochmal verschlüsselt) wird, die mit dem sendenden Kanal verbunden sind. Diese Nachrichten werden auch auf anderen Red-Servern verschlüsselt gespeichert.
-Jeder $Projectname-Kanal hat seinen eigenes 4096-bit-RSA-Schlüsselpaar, das erzeugt wird, wenn der Kanal erstellt wird.
+Jeder Red-Kanal hat seinen eigenes 4096-bit-RSA-Schlüsselpaar, das erzeugt wird, wenn der Kanal erstellt wird.
Zusätzlich können Nachrichten mit Ende-zu-Ende-Verschlüsselung versehen werden, so dass weder $Projectname-Server-Administratoren noch ISPs irgendetwas mitlesen können, solange sie nicht über das Passwort verfügen.
@@ -94,15 +83,15 @@ Alle Nachrichten können mit einem „Verfallsdatum“ versehen werden. Zu diese
[b]Verbindung zu anderen Diensten[/b]
-Neben Plugins, die das „crossposten“ zu diversen anderen Netzwerk erlauben, wird der Import von RSS/Atom-Feeds nativ unterstützt, auch, um mit diesen Inhalten spezielle Kanäle zu erstellen. Außerdem kann über das Diaspora-Protokoll mit Kontakten in den Netzwerken Friendica und Diaspora kommuniziert werden. Diese Unterstützung ist als experimentell eingestuft, da diese Netzwerke nicht die gleichen Möglichkeiten wie $Projectname in Sachen Privatsphäre und Verschlüsselung bieten, so dass Kommunikation mit ihnen zu Privatsphäreproblemen führen könnte.
+Neben Plugins, die das „crossposten“ zu diversen anderen Netzwerk erlauben, wird der Import von RSS/Atom-Feeds nativ unterstützt, auch, um mit diesen Inhalten spezielle Kanäle zu erstellen. Außerdem kann über das Diaspora-Protokoll mit Kontakten in den Netzwerken Friendica und Diaspora kommuniziert werden. Diese Unterstützung ist als experimentell eingestuft, da diese Netzwerke nicht die gleichen Möglichkeiten wie die $Projectname in Sachen Privatsphäre und Verschlüsselung bieten, so dass Kommunikation mit ihnen zu Privatsphäreproblemen führen könnte.
-Weiterhin wird OpenID auf experimenteller Ebene unterstützt und kann bei den Zugriffsrechten genutzt werden, um Inhalte für per OpenID authentifizierte Nutzer freizugeben. An dieser Funktion wird noch gearbeitet. Jeder $Projectname-Hub kann außerdem als OpenID-Provider dienen.
+Weiterhin wird OpenID auf experimenteller Ebene unterstützt und kann bei den Zugriffsrechten genutzt werden, um Inhalte für per OpenID authentifizierte Nutzer freizugeben. An dieser Funktion wird noch gearbeitet.
Die Inhalte von Kanälen können als Quellen für andere Kanäle dienen (wenn der Kanalinhaber das erlaubt), so dass Themen-Kanäle mit den Inhalten von zwei oder mehr Kanälen erstellt werden können.
[b]Sammlungen[/b]
-„Sammlungen“ sind unsere Implementierung von Privatsphäregruppen, ähnlich den „Kreisen“ bei Google+ und den „Aspekten“ bei Diaspora. Sammlungen können zur Filterung der angezeigten Nachrichten genutzt werden (nur Threads anzeigen, die von einem Mitglied dieser Sammlung gestartet wurden), aber auch zum Setzen von Zugriffsrechten (bevor der Beitrag abgeschickt wird).
+„Sammlungen“ sind unsere Implementation von Privatsphäregruppen, ähnlich den „Kreisen“ bei Google+ und den „Aspekten“ bei Diaspora. Sammlungen können zur Filterung der angezeigten Nachrichten genutzt werden (nur Threads anzeigen, die von einem Mitglied dieser Sammlung gestartet wurden), aber auch zum Setzen von Zugriffsrechten.
[b]Verzeichnisdienste[/b]
@@ -110,7 +99,7 @@ Wir stellen einfachen Zugriff auf ein Mitgliederverzeichnis zur Verfügung, samt
[b]TLS/SSL[/b]
-$Projectname-Server, die TLS/SSL benutzen, verschlüsseln ihre Kommunikation vom Server zum Nutzer mit SSL. Nach den aktuellen Enthüllungen über das Umgehen von Verschlüsselung durch NSA, GHCQ und andere Dienste, sollte man jedoch nicht mehr davon ausgehen, dass diese Verbindungen nicht mitgelesen werden können. Private Kommunikation (nicht komplett öffentliche Beiträge) wird darüberhinaus zusätzlich verschlüsselt, bevor sie von einem Server zum anderen geschickt wird.
+Red-Server, die TLS/SSL benutzen, verschlüsseln ihre Kommunikation vom Server zum Nutzer mit SSL. Nach den aktuellen Enthüllungen über das Umgehen von Verschlüsselung durch NSA, GHCQ und andere Dienste, sollte man jedoch nicht mehr davon ausgehen, dass diese Verbindungen nicht mitgelesen werden können.
[b]Kanal-Einstellungen[/b]
@@ -118,13 +107,15 @@ Wenn ein Kanal erstellt wird, muss eine bestimmte Zugriffsrechte-Kategorie (z.B.
Wenn Du die Experten-Kategorie wählst, kannst Du detaillierte Zugriffseinstellungen für verschiedenste Aspekte der Kommunikation festlegen. Unter den „Sicherheits- und Privatsphäre-Einstellungen“ kann für jeden Punkt auf der linken Seite eine von 7-8 möglichen Optionen aus dem Menü gewählt werden. Daneben gibt es diverse weitere Einstellmöglichkeiten zum Thema Privatsphäre.
+[img]https://friendicared.net/photo/0f5be8da282858edd645b0a1a6626491.png[/img]
+
Die Optionen für die einzelnen Punkte (z.B., wer Deine normalen Beiträge sehen kann) sind:
[ul][*]Niemand außer Du selbst
[*]Nur die, denen Du es explizit erlaubst
[*]Angenommene Verbindungen
[*]Beliebige Verbindungen
[*]Jeder auf diesem Website
-[*]Alle $Projectname-Nutzer
+[*]Alle Red-Nutzer
[*]Jeder authentifizierte
[*]Jeder im Internet[/ul]
@@ -134,19 +125,19 @@ Foren sind Kanäle, in denen mehrere Nutzer als Autoren fungieren können; eine
[b]Klone[/b]
-Konten in der $Projectname werden auch als [i]nomadische Identitäten[/i] bezeichnet. Nomadisch, weil bei anderen Diensten die Identität eines Nutzers an den Server oder die Plattform gebunden ist, auf der er ursprünglich erstellt wurde. Ein Facebook- oder Gmail-Konto ist and diese Dienste gekettet. Er funktioniert nicht ohne Facebook.com bzw. Gmail.com.
+Konten in der $Projectname werden auch als [i]nomadische Identitäten[/i] bezeichnet (eine ausführliche Erklärung dazu gibt es unter [url=[baseurl]/help/what_is_zot]What is Zot?[/url]). Nomadisch, weil bei anderen Diensten die Identität eines Nutzers an den Server oder die Plattform gebunden ist, auf der er ursprünglich erstellt wurde. Ein Facebook- oder Gmail-Konto ist and diese Dienste gekettet. Er funktioniert nicht ohne Facebook.com bzw. Gmail.com.
-Bei $Projectname ist das anders. Sagen wir, Du hast eine $Projectname-Indentität namens tina@$projectnamehub.com. Die kannst Du auf einen anderen Server klonen, mit dem gleichen oder einem anderen Namen, zum Beispiel lebtEwig@matrixserver.info.
+Bei Red ist das anders. Sagen wir, Du hast eine Red-Indentität namens tina@redhub.com. Die kannst Du auf einen anderen Server klonen, mit dem gleichen oder einem anderen Namen, zum Beispiel lebtEwig@matrixserver.info.
Beide Kanäle sind jetzt miteinander synchronisiert, das heißt, dass alle Kontakte und Einstellungen auf dem Klon immer die gleichen sind wie auf dem ursprünglichen Kanal. Es ist egal, ob Du eine Nachricht von dort aus oder vom Klon aus schickst. Alle Nachrichten sind in beiden Klonen vorhanden.
Das ist ein ziemlich revolutionäres Feature, wenn man sich einige Szenarien dazu ansieht:
-[ul][*]Was passiert, wenn ein Server, auf dem sich Deine Identität befindet, plötzlich offline ist (sicher haben viele von Euch den Twitter-„Fail Whale“ gesehen und verflucht)? Ohne Klone ist der Nutzer nicht in der Lage zu kommunizieren, bis der Server wieder online ist. Mit Klonen loggst Du Dich einfach bei Deinem geklonten Kanal ein und lebst glücklich bis an Dein Ende.
-[*]Der Administrator Deines $Projectname-Hubs kann es sich nicht länger leisten, seinen für alle kostenlosen Server zu bezahlen. Er gibt bekannt, dass der Server in zwei Wochen vom Netz gehen wird. Zeit genug, um Deine $Projectname-Kanäle auf andere Server zu klonen und somit Verbindungen und Freunde zu behalten.
-[*]Was, wenn Dein Kanal staatlicher Zensur unterliegt? Dein Server-Admin könnte gezwungen werden, Dein Konto und alle damit verbundenen Kanäle und Daten zu löschen. Durch Klone bietet $Projectname Zensur-Resistenz. Wenn Du willst, kannst Du hunderte von Klonen haben, alle mit unterschiedlichen Namen und auf unterschiedlichen Servern überall im Internet.[/ul]
+[ul][*]Was passiert, wenn ein Server, auf dem sich Deine Identität befindet, plötzlich offline ist? Ohne Klone ist der Nutzer nicht in der Lage zu kommunzieren, bis der Server wieder online ist. Mit Klonen loggst Du Dich einfach bei Deinem geklonten Kanal ein und lebst glücklich bis an Dein Ende.
+[*]Der Administrator Deines Red-Servers kann es sich nicht länger leisten, seinen für alle kostenlosen Server zu bezahlen. Er gibt bekannt, dass der Server in zwei Wochen vom Netz gehen wird. Zeit genug, um Deine Red-Kanäle auf andere Server zu klonen und somit Verbindungen und Freunde zu behalten.
+[*]Was, wenn Dein Kanal staatlicher Zensur unterliegt? Dein Server-Admin wird gezwungen, Dein Konto und alle damit verbundenen Kanäle und Daten zu löschen. Durch Klone bietet die $Projectname Zensur-Resistenz. Wenn Du willst, kannst Du hunderte von Klonen haben, alle mit unterschiedlichen Namen und auf unterschiedlichen Servern überall im Internet.[/ul]
-$Projectname bietet interessante, neue Möglichkeiten in Bezug auf die Privatsphäre. Mehr dazu unter „Tipps und Tricks zur privaten Kommunikation“.
+Red bietet interessante, neue Möglichkeiten in Bezug auf die Privatsphäre. Mehr dazu unter „Tipps und Tricks zur privaten Kommunikation“.
Klone unterliegen einigen Restriktionen. Eine vollständige Erklärung zum Klonen von Identitäten gibt es unter „Klone“.
@@ -156,7 +147,7 @@ Jeder Kanal kann beliebig viele Profile mit unterschiedlichen Informationen defi
[b]Kanal-Backups[/b]
-In $Projectname gibt es ein einfaches Ein-Klick-Backup, mit dem Du ein komplettes Backup Deiner Kanal-Einstellungen und Verbindungen herunterladen kannst.
+In Red gibt es ein einfaches Ein-Klick-Backup, mit dem Du ein komplettes Backup Deiner Kanal-Einstellungen und Verbindungen herunterladen kannst.
Solche Backups sind ein Weg, um Klone zu erstellen, und können genutzt werden, um einen Kanal wiederherzustellen.
@@ -168,26 +159,22 @@ Konten und Kanäle können sofort gelöscht werden, indem Du einfach auf einen L
[b]Beiträge schreiben[/b]
-$Projectname unterstützt diverse verschiedene Wege, um Inhalte mit Auszeichnung (z.B. fett, kursiv, farbig etc.) zu erstellen. Voreinstellung ist die $Projectname-Variante von BBCode (wie in vielen Web-Foren) mit einigen Ergänzungen, die nur hier funktionieren. Du kannst auch Markdown benutzen, wenn Dir das leichter fällt. Bis vor kurzem konnte auch ein grafischer Editor eingesetzt werden, der jedoch große Probleme aufwies und deshalb entfernt wurde. Wir suchen gerade nach einer Alternative.
+Red unterstützt diverse verschiedene Wege, um Inhalte mit Auszeichnung (z.B. fett, kursiv, farbig etc.) zu erstellen. Voreinstellung ist die $Projectname-Variante von BBCode (wie in vielen Web-Foren) mit einigen Ergänzungen, die nur hier funktionieren. Du kannst auch Markdown benutzen, wenn Dir das leichter fällt. Bis vor kurzem konnte auch ein grafischer Editor eingesetzt werden, der jedoch große Probleme aufwies und deshalb entfernt wurde. Wir suchen gerade nach einer Alternative.
Webseiten können neben BBCode und Markdown auch in HTML und Plain Text erstellt werden.
[b]Inhalte löschen[/b]
-Alle Inhalte in der $Projectname bleiben unter der Kontrolle des Mitglieds (bzw. Kanals), der sie ursprünglich erstellt hat. Alle Beiträge können jederzeit gelöscht werden, egal, ob sie auf dem Heimat-Server des Nutzers oder auf einem anderen Server erstellt wurden, an dem der Nutzer via Zot (Kommuikations- und Authentifizierungsprotokoll von $Projectname) angemeldet war.
+Alle Inhalte in der $Projectname bleiben unter der Kontrolle des Mitglieds (bzw. Kanals), der sie ursprünglich erstellt hat. Alle Beiträge können jederzeit gelöscht werden, egal, ob sie auf dem Heimat-Server des Nutzers oder auf einem anderen Server erstellt wurden, an dem der Nutzer via Zot angemeldet war.
[b]Medien[/b]
-Genau wie jedes andere Blog-System, soziale Netzwerk oder Mikro-Blogging-Dienst unterstützt $Projectname das Hochladen von Dateien, das Einbetten von Bildern und Videos und das Verlinken von Seiten.
+Genau wie jedes andere Blog-System, soziale Netzwerk oder Mikro-Blogging-Dienst unterstützt Red das Hochladen von Dateien, das Einbetten von Bildern und Videos und das Verlinken von Seiten.
[b]Vorschau/Editieren[/b]
Vor dem Absenden kann eine Vorschau von Beiträgen betrachtet werden. Außerdem können Beiträge auch nach dem Absenden noch verändert werden.
-[b]Umfragen[/b]
-
-Beiträge können als Umfragen gestaltet werden – die Leser können dann mittels entsprechender Buttons zustimmen, ablehnen oder sich enthalten, was ähnlich wie „Likes“ am Beitrag sichtbar wird. Dadurch kannst Du abschätzen, wie gut neue Ideen ankommen, oder informelle Umfragen starten.
-
[b]$Projectname erweitern[/b]
Die $Projectname kann auf vielerlei Art erweitert werden: Durch Server-Anpassung, persönliche Anpassung, setzen von Optionen, Themes und Addons/Plugins.
diff --git a/doc/de/main.bb b/doc/de/main.bb
index 1bfac634b..f310d0ab5 100644
--- a/doc/de/main.bb
+++ b/doc/de/main.bb
@@ -78,7 +78,6 @@ Zot ist das großartige neue Kommunikationsprotokoll, das extra für die RedMatr
[url=https://zothub.com/channel/one]Entwickler-Kanal[/url]
[url=https://federated.social/channel/postgres]Postgres-spezifischer Admin-Support-Kanal[/url]
-
[url=[baseurl]/help/credits]$Projectname Credits[/url]
[h3]Über diesen Red-Server[/h3]
diff --git a/doc/dev_beginner.bb b/doc/dev_beginner.bb
index 33b0edc95..729625713 100644
--- a/doc/dev_beginner.bb
+++ b/doc/dev_beginner.bb
@@ -174,8 +174,8 @@ It is a good idea to read the whole manual! Git is different to other version co
Now you should
[list]
[*] create an account at github.com
-[*] fork https://github.com/redmatrix/redmatrix
-[*] fork https://github.com/redmatrix/redmatrix-addons
+[*] fork https://github.com/redmatrix/hubzilla
+[*] fork https://github.com/redmatrix/hubzilla-addons
[/list]
If you not want to use GIT from the command line - there is a usefull Eclipse plugin named ""Eclipse Mylyn to GitHub connector".
@@ -362,7 +362,7 @@ surfer@debian:/var/www$ git checkout -b dev_beginning
Make sure your local repository is up-to-date with the main project.
Add the original repository as a remote named “upstream” if not done yet
[code]
-surfer@debian:/var/www$ git remote add upstream https://github.com/redmatrix/redmatrix
+surfer@debian:/var/www$ git remote add upstream https://github.com/redmatrix/hubzilla
[/code]
Fetch the newest work from that remote
diff --git a/doc/develop.bb b/doc/develop.bb
new file mode 100644
index 000000000..c46447cce
--- /dev/null
+++ b/doc/develop.bb
@@ -0,0 +1,34 @@
+[h2]Documentation for Developers[/h2]
+
+[h3]Technical Documentation[/h3]
+[zrl=[baseurl]/help/Zot---A-High-Level-Overview]A high level overview of Zot[/zrl]
+[zrl=[baseurl]/help/zot]An introduction to Zot[/zrl]
+[zrl=[baseurl]/help/zot_structures]Zot Stuctures[/zrl]
+[zrl=[baseurl]/help/comanche]Comanche Page Descriptions[/zrl]
+[zrl=[baseurl]/help/Creating-Templates]Creating Comanche Templates[/zrl]
+[zrl=[baseurl]/help/Widgets]Widgets[/zrl]
+[zrl=[baseurl]/help/plugins]Plugins[/zrl]
+[zrl=[baseurl]/help/doco]Contributing Documentation[/zrl]
+[zrl=[baseurl]/help/DerivedTheme1]Creating Derivative Themes[/zrl]
+[zrl=[baseurl]/help/schema_development]Schemas[/zrl]
+[zrl=[baseurl]/help/Translations]Translations[/zrl]
+[zrl=[baseurl]/help/developers]Developers[/zrl]
+[zrl=[baseurl]/help/intro_for_developers]Intro for Developers[/zrl]
+[zrl=[baseurl]/help/database]Database schema documantation[/zrl]
+[zrl=[baseurl]/help/api_functions]API functions[/zrl]
+[zrl=[baseurl]/help/api_posting]Posting to the red# using the API[/zrl]
+[zrl=[baseurl]/help/developer_function_primer]Red Functions 101[/zrl]
+[zrl=[baseurl]/doc/html/]Code Reference (Doxygen generated - sets cookies)[/zrl]
+[zrl=[baseurl]/help/to_do_doco]To-Do list for the Red Documentation Project[/zrl]
+[zrl=[baseurl]/help/to_do_code]To-Do list for Developers[/zrl]
+[zrl=[baseurl]/help/roadmap]Version 3 roadmap[/zrl]
+[zrl=[baseurl]/help/git_for_non_developers]Git for Non-Developers[/zrl]
+[zrl=[baseurl]/help/dev_beginner]Step-for-step manual for beginning developers[/zrl]
+
+[h3]Frequently Asked Questions For Developers[/h3]
+[zrl=[baseurl]/help/faq_developers]FAQ For Developers[/zrl]
+
+[h3]External Resources[/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/developers.bb b/doc/developers.bb
index bec9914c8..e9dddc695 100644
--- a/doc/developers.bb
+++ b/doc/developers.bb
@@ -9,7 +9,7 @@ doing development.
Create your own github account.
-You may fork/clone the Red repository from [url=https://github.com/redmatrix/redmatrix.git]https://github.com/redmatrix/redmatrix.git[/url]
+You may fork/clone the Red repository from [url=https://github.com/redmatrix/hubzilla.git]https://github.com/redmatrix/hubzilla.git[/url]
Follow the instructions provided here: [url=http://help.github.com/fork-a-repo/]http://help.github.com/fork-a-repo/[/url]
to create and use your own tracking fork on github
diff --git a/doc/diaspora_compat.md b/doc/diaspora_compat.md
index eb7ec656d..255b565a2 100644
--- a/doc/diaspora_compat.md
+++ b/doc/diaspora_compat.md
@@ -1,12 +1,12 @@
##Diaspora Compatibility
-Diaspora protocol compatibility is presently considered an ***experimental*** feature. It may not be available on all sites and presents some serious compatibility issues with redmatrix. At the moment these compatibility issues will be shared with "Friendica-over-Diaspora" protocol communications.
+Diaspora protocol compatibility is presently considered an ***experimental*** feature. It may not be available on all sites and presents some serious compatibility issues with hubzilla. At the moment these compatibility issues will be shared with "Friendica-over-Diaspora" protocol communications.
Private mail retraction (unsend) will not be possible on Diaspora.
Private posts and their associated comments are sent in plaintext email notifications in Diaspora and Friendica. This is a major privacy issue and affects any private communications you have where *any* member of the conversation is on another network. Be aware of it.
-Access control only works on posts and comments. Diaspora members will get permission denied trying to access any other access controlled redmatrix objects such as files, photos, webpages, chatrooms, etc. In the case of private photos that are linked to posts, they will see a "prohibited sign" instead of the photo. Diaspora has no concept of private media. There is no workaround except to make your media resources public (to everybody on the internet).
+Access control only works on posts and comments. Diaspora members will get permission denied trying to access any other access controlled hubzilla objects such as files, photos, webpages, chatrooms, etc. In the case of private photos that are linked to posts, they will see a "prohibited sign" instead of the photo. Diaspora has no concept of private media. There is no workaround except to make your media resources public (to everybody on the internet).
Edited posts will not be delivered. Diaspora members will see the original post/comment without edits. There is no mechanism in the protocol to update an existing post. We cannot delete it and submit another invisibly because the message-id will change and we need to keep the same message-id on our own network. The only workaround is to delete the post/comment and do it over. We may eventually provide a way to delete the out of date copy only from Diaspora and keep it intact on networks that can handle edits.
@@ -32,7 +32,7 @@ Community tags will not work. We will send a tagging activity as a comment. It w
Privacy tags (@!somebody) will not be available to Diaspora members. These tags may have to be stripped or obscured to prevent them from being hijacked - which could result in privacy issues.
-Plus-tagged redmatrix forums should work from Diaspora.
+Plus-tagged hubzilla forums should work from Diaspora.
Premium channel redirects will not be sent. If you allow Diaspora connections, they will not see that you have a premium channel.
diff --git a/doc/encryption.bb b/doc/encryption.bb
index ae51bd9fa..9985f4b33 100644
--- a/doc/encryption.bb
+++ b/doc/encryption.bb
@@ -2,6 +2,7 @@
Full disclosure: The encryption $Projectname uses per default is not absolutely waterproof. There [i]are[/i] known procedures to circumvent it. [i]But[/i] this takes a lot of effort and needs to be done individually for each channel. And to make this clear: Other services store your messages in plaintext, therefore we regard this approach as a [i]significant[/i] improvement for your privacy. Plus you are always free to use further encryption and password protection if you so desire.
+
To explain this in more detail:
- each channel has its key pair
@@ -13,4 +14,5 @@ So what is the scope of security? Full disclosure: This might be great, but it i
We believe that the NSA-level dragnet plaintext extracting mass surveillance is probably not possible due to the design of the zot protocol. Dedicated attacks including hacking into one hub to obtain the server logs and database only partly reveal what is going on between people communication between different hubs. We believe that this makes it much more expensive for state-level attackers to access your content in $Projectname.
+
We gladly accept help improving the security of the system and auditing it as well.
diff --git a/doc/external-resource-links.bb b/doc/external-resource-links.bb
index f5f87aef7..412e84467 100644
--- a/doc/external-resource-links.bb
+++ b/doc/external-resource-links.bb
@@ -15,6 +15,6 @@
[*][url=https://addons.mozilla.org/en-US/firefox/addon/redshare/]Redshare for Firefox[/url]
[*][url=https://github.com/cvogeley/red-for-android]Red for Android[/url]
[*][url=https://github.com/zzottel/feed2red]feed2red.pl (posts Atom/RSS feeds to channel)[/url]
-[*][url=https://wordpress.org/plugins/redmatrix-wp/]WordPress gateway (combine with wppost addon for full features)[/url]
+[*][url=https://wordpress.org/plugins/hubzilla-wp/]WordPress gateway (combine with wppost addon for full features)[/url]
#include doc/macros/main_footer.bb;
diff --git a/doc/faq_developers.bb b/doc/faq_developers.bb
index 6591de3f2..027efe8f4 100644
--- a/doc/faq_developers.bb
+++ b/doc/faq_developers.bb
@@ -5,6 +5,7 @@
[h3]What does $a mean?[/h3]
$a is a class defined in boot.php and passed all around $Projectname as a global reference variable. It defines everything necessary for the $Projectname application: Server variables, URL arguments, page structures, layouts, content, installed plugins, output device info, theme info, identity of the observer and (potential) page owner ...
+
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 };
diff --git a/doc/features.bb b/doc/features.bb
index e8d1cd687..cb194966e 100644
--- a/doc/features.bb
+++ b/doc/features.bb
@@ -33,6 +33,10 @@ At this point, the $Projectname [i]Affinity Slider[/i] tool, which usually appea
The Affinity Slider allows instantaneous filtering of large amounts of content, grouped by levels of closeness.
+[b]Connection Filtering[/b]
+
+You have the ability to control precisely what appears in your stream using the optional "Connection Filter". When enabled, the Connection Editor provides inputs for selecting criteria which needs to be matched in order to include or exclude a specific post from a specific channel. Once a post has been allowed, all comments to that post are allowed regardless of whether they match the selection criteria. You may select words that if present block the post or ensure it is included in your stream. Regular expressions may be used for even finer control, as well as hashtags or even the detected language of the post.
+
[b]Access Control Lists[/b]
When sharing content, members have the option of restricting who sees the content. By clicking on the padlock underneath the sharing box, one may choose desired recipients of the post, by clicking on their names.
@@ -56,7 +60,7 @@ Store photos in albums. All your photos may be protected by Access Control Lists
[b]Events Calendar[/b]
-Create and manage events, which may also be protected with Access Control Lists. Events can be exported to other software using the industry standard vcalendar/iCal format and shared in posts with others. Birthday events are automatically added from your friends and converted to your correct timezone so that you will know precisely when the birthday occurs - no matter where you are located in the world in relation to the birthday person. Events are normally created with attendance counters so your friends and connections can RSVP instantly.
+Create and manage events and tasks, which may also be protected with Access Control Lists. Events can be imported/exported to other software using the industry standard vcalendar/iCal format and shared in posts with others. Birthday events are automatically added from your friends and converted to your correct timezone so that you will know precisely when the birthday occurs - no matter where you are located in the world in relation to the birthday person. Events are normally created with attendance counters so your friends and connections can RSVP instantly.
[b]Chatrooms[/b]
diff --git a/doc/general.bb b/doc/general.bb
new file mode 100644
index 000000000..c9c2501e5
--- /dev/null
+++ b/doc/general.bb
@@ -0,0 +1,20 @@
+
+[h2]Project/Site Information[/h2]
+
+[zrl=[baseurl]/help/Privacy]Privacy Policy[/zrl]
+
+[zrl=[baseurl]/help/history]$Projectname history[/zrl]
+
+[h3]External Resources[/h3]
+[zrl=[baseurl]/help/external-resource-links]External Resource Links[/zrl]
+
+[url=https://github.com/redmatrix/hubzilla]Main Website[/url]
+[url=https://github.com/redmatrix/hubzilla-addons]Addon Website[/url]
+
+[url=[baseurl]/help/credits]$Projectname Credits[/url]
+
+[h3]About This $Projectname Hub[/h3]
+[zrl=[baseurl]/help/TermsOfService]Terms of Service For This Hub[/zrl]
+[zrl=[baseurl]/siteinfo]Hub Information (/siteinfo)[/zrl]
+[zrl=[baseurl]/siteinfo/json]Detailed Technical Hub Information in JSON format(/siteinfo/json)[/zrl]
+
diff --git a/doc/hidden_configs.bb b/doc/hidden_configs.bb
index 576c53f08..76213851c 100644
--- a/doc/hidden_configs.bb
+++ b/doc/hidden_configs.bb
@@ -1,6 +1,7 @@
[b]Advanced Configurations for Administrators[/b]
$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
directory with the syntax [code]util/config cat key value[/code] for a site
diff --git a/doc/history.md b/doc/history.md
index 40bfaeb74..7360c6b22 100644
--- a/doc/history.md
+++ b/doc/history.md
@@ -1,7 +1,7 @@
-Redmatrix History
-=================
+Hubzilla History
+================
-Redmatrix is a collaborative effort by the Redmatrix community and based on work introduced in Friendica by the Friendica community. The core design, the project mission, and software base itself were created/written primarily by Mike Macgirvin and represent the culmination of over a decade of software design using variations of this platform and an evolving vision of the role of communication software in our lives. Many others have contributed to this work, both conceptually and in terms of actual code (way too many to list individually).
+Hubzilla is a community developed open source project based on work introduced in Friendica by the Friendica community and which previously was named Redmatrix. The core design, the project mission, and software base itself were created/written primarily by Mike Macgirvin and represent the culmination of over a decade of software design using variations of this platform and an evolving vision of the role of communication software in our lives. Many others have contributed to this work, both conceptually and in terms of actual code (far too many to list individually).
##Mike Macgirvin -- Biography
@@ -10,9 +10,9 @@ Mike Macgirvin is an American software engineer now living in Australia. He spen
During a layoff round, Mike was let go from America Online in August 2001 and purchased a music store in Mountain View, California later to be known as "Sonica Music Company". Opening a retail store for non-essential goods at the beginning of a prolonged economic downturn was in retrospect probably not the wisest career move. Sonica eventually folded; in late 2006. Mike returned to working on software and systems support full-time and was employed briefly at Symantec before moving to Australia in early 2007. He currently lives on a farm "out in the middle of nowhere" and is employed as a Computer Systems Officer at the University of Wollongong.
-##Redmatrix - The Early Years
+##Hubzilla - The Early Years
-The software which went into creating Redmatrix has been through three distinct historical phases. It began in 2003 when Mike Macgirvin was looking for a content management system to power the website for his music store and found the available solutions to be lacking in various respects. The project was born as the "PurpleHaze weblog" under the nom de plume "Nerdware Communications". It was a multi-user PHP/MySQL CMS which provided blogs, forums, photo albums, events and more. Initially it provided the basis for a social community and shopping for customers of the store, but was also linked to Mike's personal weblog running on another domain. The distinguishing characteristic of this software was the ability for so-called "normal users" to re-assemble the components and choose different content feeds - and in essence create their own personal "multi-user CMS" as a view. Their custom view was able to communicate with anybody else that used the system, but could be partitioned so that adult sites and motorcycle enthusiast sites would not be visible to each other and not clash (or in this case Mike's personal website and the music store website). This software was developed primarily from 2003 until 2008.
+The software which went into creating Hubzilla has been through several distinct historical phases. It began in 2003 when Mike Macgirvin was looking for a content management system to power the website for his music store and found the available solutions to be lacking in various respects. The project was born as the "PurpleHaze weblog" under the nom de plume "Nerdware Communications". It was a multi-user PHP/MySQL CMS which provided blogs, forums, photo albums, events and more. Initially it provided the basis for a social community and shopping for customers of the store, but was also linked to Mike's personal weblog running on another domain. The distinguishing characteristic of this software was the ability for so-called "normal users" to re-assemble the components and choose different content feeds - and in essence create their own personal "multi-user CMS" as a view. Their custom view was able to communicate with anybody else that used the system, but could be partitioned so that adult sites and motorcycle enthusiast sites would not be visible to each other and not clash (or in this case Mike's personal website and the music store website). This software was developed primarily from 2003 until 2008.
In 2006 this software was used as the prototype for Symantec's "safeweb" reputation and community site. It was developed and enhanced until about 2008. A rewrite took place in 2008 named "Reflection" but work stagnated as the community dwindled. The need for content management systems and communications software dropped dramatically during this time as humans flocked to the new social aggregrators - Facebook and Twitter.
@@ -44,6 +44,13 @@ The concept of identity-aware content was alien to anything that existed previou
Over time a few federation components re-emerged. The ability to view RSS feeds was important to many people. Diaspora never really managed to re-write their protocol, so that was re-implemented and allowed Redmatrix to connect with Diaspora and Friendica again (Friendica still had their Diaspora protocol intact, so this was the most common language now remaining on the free web - despite its faults). Diaspora communications aren't able to make use of the advanced identity features, but they work for basic communications.
-Mike stepped down as active coordinator for the project in early 2015.
+
+##Hubzilla
+
+The Redmatrix project reached a point of stagnation in early 2015 as network growth leveled and active interest in the project declined. Mike met with several external high tech developers and innovators in a round of discussions that were called "Zotopia" in early 2015 to perform an independent review of the project and try to identify what had gone wrong and plan a route forward. The basic consensus is that the project suffered from bad marketing decisions which were compounded by mixed messages about the project goals and target audience. A "rival" project (Diaspora) was marketing itself as a Facebook competitor, but after some long discussions it was determined that Redmatrix wasn't a Facebook competitor at all, and too much emphasis was being placed on the "social network" and "anti-Facebook" features. It was a novel decentralisation platform with distributed identity and permissions, and as was pointed out, the "end user" was the wrong target market. These marketing mistakes were now identified with the project name and random sampling of various "customers" showed that none of them really had a clue about the software goals or target market segment. The mixed messages were associated with the brand identity and this was a problem.
+
+The Redmatrix community held a vote and the project was renamed "Hubzilla", with a renewed identity and focus - to provide software for creating and ultimately linking together unrelated community websites or "hubs" into a global community. This is in fact what we were building all along, but didn't fully recognise it. The target audience for this software as it turns out is not the members or end users, but software integrators and digital community architects and builders. These in turn will be responsible for marketing their own product (their respective online communities) to end-users or members. The software solves a real world need of linking isolated and "walled garden" community sites together into a larger cooperative. The transition from Redmatrix to Hubzilla was complex and has taken several months as we consolidated the marketing and media assets to deliver a consistent message. It is still ongoing at this time, and should be completed in Q4 2015.
+
+Mike stepped down as active coordinator for the project in early 2015 and turned management over to the community. He remains active as a Hubzilla developer.
#include doc/macros/main_footer.bb;
diff --git a/doc/html/index.php b/doc/html/index.php
index 07da8b8d9..4ef28aada 100644
--- a/doc/html/index.php
+++ b/doc/html/index.php
@@ -1,10 +1,17 @@
<!DOCTYPE html>
<html>
<head>
+<<<<<<< HEAD
+ <title>Hubzilla Doxygen API Documentation</title>
+</head>
+<body>
+<h1>Hubzilla Doxygen API Documentation not rendered</h1>
+=======
<title>$Projectname Doxygen API Documentation</title>
</head>
<body>
<h1>$Projectname Doxygen API Documentation not rendered</h1>
+>>>>>>> f866a42a42b9e12756353f5bb39a0f31a64bb26a
To get the Doxygen API Documentation you must render it with the program <a href="http://www.doxygen.org">Doxygen</a> (included in most distributions).
<pre>
$ doxygen util/Doxyfile
diff --git a/doc/install/sample-lighttpd.conf b/doc/install/sample-lighttpd.conf
deleted file mode 100644
index db26c3b64..000000000
--- a/doc/install/sample-lighttpd.conf
+++ /dev/null
@@ -1,90 +0,0 @@
-# See http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions
-
-### LOAD MODULES
-server.modules = (
- "mod_access",
- "mod_accesslog",
- "mod_fastcgi",
- "mod_redirect",
- "mod_rewrite"
-)
-
-### BASIC STUFF
-server.port = 80
-
-server.username = "http"
-
-server.groupname = "http"
-
-server.document-root = "/path/to/your/www/files" #adjust to your setup
-
-server.errorlog = "/var/log/lighttpd/error.log"
-
-accesslog.filename = "/var/log/lighttpd/access.log"
-
-### DISABLE DIR LISTING
-dir-listing.activate = "disable"
-
-### DISABLE REJECT EXPECT HEADER
-### (needed for curl POST requests - otherwise they fail with error 417)
-server.reject-expect-100-with-417 = "disable"
-
-### DEFINE SUPPORTED INDEX FILENAMES
-index-file.names = (
- "index.html",
- "index.htm",
- "index.php"
-)
-
-### DEFINE SUPPORTED MIME TYPES
-mimetype.assign = (
- ".html" => "text/html",
- ".htm" => "text/html",
- ".css" => "text/css",
- ".txt" => "text/plain",
- ".svg" => "image/svg+xml",
- ".jpg" => "image/jpeg",
- ".png" => "image/png"
-)
-
-### DONT EVER SERVE FILES WITH EXTENSION
-static-file.exclude-extensions = ( ".php" )
-
-### PHP WITH PHP-FPM
-### (needs php-fpm installed and running)
-fastcgi.server = (
- ".php" => (
- "localhost" => (
- "socket" => "/run/php-fpm/php-fpm.sock",
- "broken-scriptfilename" => "enable",
- "allow-x-sendfile" => "enable"
- )
- )
-)
-
-### ENABLE SSL
-$SERVER["socket"] == ":443" {
- ssl.engine = "enable"
- ssl.ca-file = "/etc/lighttpd/certs/ca-certs.crt" #adjust to your needs
- ssl.pemfile = "/etc/lighttpd/certs/red-ssl.crt" #adjust to your needs
-
- ssl.use-compression = "disable"
- ssl.use-sslv2 = "disable"
- ssl.use-sslv3 = "disable"
- ssl.cipher-list = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"
-}
-
-### RISTRICT ACCESS TO DIRECTORYS AND FILES
-$HTTP["url"] =~ "\.(out|log|htaccess)$" {
- url.access-deny = ("")
-}
-
-$HTTP["url"] =~ "(^|/)\.git|(^|/)store" {
- url.access-deny = ("")
-}
-
-### URL REWRITE RULES
-url.rewrite-if-not-file = (
- "^\/([^\?]*)\?(.*)$" => "/index.php?q=$1&$2",
- "^\/(.*)$" => "/index.php?q=$1"
-)
diff --git a/doc/install/sample-nginx.conf b/doc/install/sample-nginx.conf
deleted file mode 100644
index e9a80d226..000000000
--- a/doc/install/sample-nginx.conf
+++ /dev/null
@@ -1,142 +0,0 @@
-##
-# Red Nginx configuration
-# by Olaf Conradi
-#
-# On Debian based distributions you can add this file to
-# /etc/nginx/sites-available
-#
-# Then customize to your needs. To enable the configuration
-# symlink it to /etc/nginx/sites-enabled and reload Nginx using
-#
-# service nginx reload
-##
-
-##
-# You should look at the following URL's in order to grasp a solid understanding
-# of Nginx configuration files in order to fully unleash the power of Nginx.
-#
-# http://wiki.nginx.org/Pitfalls
-# http://wiki.nginx.org/QuickStart
-# http://wiki.nginx.org/Configuration
-##
-
-##
-# This configuration assumes your domain is example.net
-# You have a separate subdomain red.example.net
-# You want all red traffic to be https
-# You have an SSL certificate and key for your subdomain
-# You have PHP FastCGI Process Manager (php5-fpm) running on localhost
-# You have Red installed in /var/www/red
-##
-
-server {
- listen 80;
- server_name red.example.net;
-
- index index.php;
- root /var/www/red;
- rewrite ^ https://red.example.net$request_uri? permanent;
-}
-
-##
-# Configure Red with SSL
-#
-# All requests are routed to the front controller
-# except for certain known file types like images, css, etc.
-# Those are served statically whenever possible with a
-# fall back to the front controller (needed for avatars, for example)
-##
-
-server {
- listen 443 ssl;
- server_name red.example.net;
-
- ssl on;
- ssl_certificate /etc/nginx/ssl/red.example.net.chain.pem;
- ssl_certificate_key /etc/nginx/ssl/example.net.key;
- ssl_session_timeout 5m;
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-DSS-AES128-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA:!DHE-RSA-AES256-SHA256:!DHE-RSA-CAMELLIA128-SHA:!DHE-RSA-CAMELLIA256-SHA;
- ssl_prefer_server_ciphers on;
-
- fastcgi_param HTTPS on;
-
- index index.php;
- charset utf-8;
- root /var/www/red;
- access_log /var/log/nginx/red.log;
- #Uncomment the following line to include a standard configuration file
- #Note that the most specific rule wins and your standard configuration
- #will therefore *add* to this file, but not override it.
- #include standard.conf
- # allow uploads up to 20MB in size
- client_max_body_size 20m;
- client_body_buffer_size 128k;
-
- # rewrite to front controller as default rule
- location / {
- if ($is_args != "") {
- rewrite ^/(.*) /index.php?q=$uri&$args last;
- }
- rewrite ^/(.*) /index.php?q=$uri last;
- }
-
- # make sure webfinger and other well known services aren't blocked
- # by denying dot files and rewrite request to the front controller
- location ^~ /.well-known/ {
- allow all;
- rewrite ^/(.*) /index.php?q=$uri&$args last;
- }
-
- # statically serve these file types when possible
- # otherwise fall back to front controller
- # allow browser to cache them
- # added .htm for advanced source code editor library
- location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {
- expires 30d;
- try_files $uri /index.php?q=$uri&$args;
- }
-
- # block these file types
- location ~* \.(tpl|md|tgz|log|out)$ {
- deny all;
- }
-
- # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
- # or a unix socket
- location ~* \.php$ {
- # Zero-day exploit defense.
- # http://forum.nginx.org/read.php?2,88845,page=3
- # Won't work properly (404 error) if the file is not stored on this
- # server, which is entirely possible with php-fpm/php-fcgi.
- # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on
- # another machine. And then cross your fingers that you won't get hacked.
- try_files $uri =404;
-
- # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
- fastcgi_split_path_info ^(.+\.php)(/.+)$;
-
- # With php5-cgi alone:
- # fastcgi_pass 127.0.0.1:9000;
-
- # With php5-fpm:
- fastcgi_pass unix:/var/run/php5-fpm.sock;
-
- include fastcgi_params;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- }
-
- # deny access to all dot files
- location ~ /\. {
- deny all;
- }
-
-#deny access to store
-
- location ~ /store {
- deny all;
- }
-
-
-}
diff --git a/doc/main.bb b/doc/main.bb
index a3c84c860..44f227c16 100644
--- a/doc/main.bb
+++ b/doc/main.bb
@@ -1,87 +1,13 @@
-[img][baseurl]/assets/hashlogo.png[/img]
-[zrl=[baseurl]/help/about][b]What is the $Projectname?[/b][/zrl]
+[zrl=[baseurl]/help/about][b]What is $Projectname?[/b][/zrl]
$Projectname is a decentralized communication and publishing platform that enables you to keep in control of your communication needs by automatic encryption and finely grained access control. It's you, and only you who decides who is allowed to see your stuff.
[zrl=[baseurl]/help/features][b]$Projectname Features[/b][/zrl]
-The $Projectname is already running as a global distributed network and proves its versatility and scalability from standalone to huge sites on a daily basis.
+$Projectname is already running as a global distributed network and proves its versatility and scalability from standalone to huge sites on a daily basis.
Think of standalone family communication platforms, distributed online communities, support forums, blogs and homepages. Or professional content providers with commercial premium channels and targeted content acces. Whatever you want, the $Projectname is there to cater to your creativity.
[zrl=[baseurl]/help/what_is_zot][b]Got Zot? Well, you should.[/b][/zrl]
-Zot is the great new communicaton protocol invented especially for the $Projectname. As a member you are no longer bound to a single site or hub thanks to "Nomadic Identities". Migrate easily to another server and keep your contacts intact, or clone it and run the same channel on several servers. Just in case one of them might shut down, you don't lose out. Plus once you are inside the $Projectname there is no need for you to authenticate twice, even when accessing another $Projectname site. Zot is what sets the $Projectname apart.
+Zot is the great new communicaton protocol invented especially for $Projectname. As a member you are no longer bound to a single site or hub thanks to "Nomadic Identities". Migrate easily to another server and keep your contacts intact, or clone it and run the same channel on several servers. Just in case one of them might shut down, you don't lose out. Plus once you are inside $Projectname there is no need for you to authenticate twice, even when accessing another $Projectname site. Zot is what sets $Projectname apart.
-[h3]Getting Started[/h3]
-[zrl=[baseurl]/help/Privacy]Privacy Policy[/zrl]
-[zrl=[baseurl]/help/registration]Account Registration[/zrl]
-[zrl=[baseurl]/help/accounts_profiles_channels_basics]You at the $Projectname: accounts, profiles and channels in short[/zrl]
-[zrl=[baseurl]/help/profiles]Profiles[/zrl]
-[zrl=[baseurl]/help/channels]Channels[/zrl]
-[zrl=[baseurl]/help/roles]Permission roles and Channel types[/zrl]
-[zrl=[baseurl]/help/first-post]Your first posting[/zrl]
-[zrl=[baseurl]/help/connecting_to_channels]Connecting To Other Channels[/zrl]
-[zrl=[baseurl]/help/permissions]Permissions And Encryption: You Are In Control[/zrl]
-[zrl=[baseurl]/help/cloud]Cloud Storage[/zrl]
-[zrl=[baseurl]/help/remove_account]Remove Channel or Account[/zrl]
-[h3]Members Help[/h3]
-[zrl=[baseurl]/help/tags_and_mentions]Tags and Mentions[/zrl]
-[zrl=[baseurl]/help/webpages]Web Pages[/zrl]
-[zrl=[baseurl]/help/bbcode]BBcode reference for posts and comments[/zrl]
-[zrl=[baseurl]/help/checking_account_quota_usage]Checking Account Quota Usage[/zrl]
-[zrl=[baseurl]/help/cloud_desktop_clients]Cloud Desktop Clients[/zrl]
-[zrl=[baseurl]/help/AdvancedSearch]Advanced Directory Search[/zrl]
-[zrl=[baseurl]/help/addons]Help With Addons[/zrl]
-[zrl=[baseurl]/help/diaspora_compat]Diaspora Communications Compatibility (Diaspora and Friendica)[/zrl]
-[zrl=[baseurl]/help/faq_members]FAQ For Members[/zrl]
-
-[h3]Administrators Help[/h3]
-[zrl=[baseurl]/help/install]Install[/zrl]
-[zrl=[baseurl]/help/red2pi]Installing Red on the Raspberry Pi[/zrl]
-[zrl=[baseurl]/help/troubleshooting]Troubleshooting Tips[/zrl]
-[zrl=[baseurl]/help/hidden_configs]Tweaking $Projectname's Hidden Configurations[/zrl]
-[zrl=[baseurl]/help/faq_admins]FAQ For Admins[/zrl]
-[zrl=[baseurl]/help/service_classes]Service Classes[/zrl]
-
-[h3]Technical Documentation[/h3]
-[zrl=[baseurl]/help/history]$Projectname history[/zrl]
-[zrl=[baseurl]/help/Zot---A-High-Level-Overview]A high level overview of Zot[/zrl]
-[zrl=[baseurl]/help/zot]An introduction to Zot[/zrl]
-[zrl=[baseurl]/help/zot_structures]Zot Stuctures[/zrl]
-[zrl=[baseurl]/help/comanche]Comanche Page Descriptions[/zrl]
-[zrl=[baseurl]/help/Creating-Templates]Creating Comanche Templates[/zrl]
-[zrl=[baseurl]/help/Widgets]Widgets[/zrl]
-[zrl=[baseurl]/help/plugins]Plugins[/zrl]
-[zrl=[baseurl]/help/doco]Contributing Documentation[/zrl]
-[zrl=[baseurl]/help/DerivedTheme1]Creating Derivative Themes[/zrl]
-[zrl=[baseurl]/help/schema_development]Schemas[/zrl]
-[zrl=[baseurl]/help/Translations]Translations[/zrl]
-[zrl=[baseurl]/help/developers]Developers[/zrl]
-[zrl=[baseurl]/help/intro_for_developers]Intro for Developers[/zrl]
-[zrl=[baseurl]/help/database]Database schema documantation[/zrl]
-[zrl=[baseurl]/help/api_functions]API functions[/zrl]
-[zrl=[baseurl]/help/api_posting]Posting to the red# using the API[/zrl]
-[zrl=[baseurl]/help/developer_function_primer]Red Functions 101[/zrl]
-[zrl=[baseurl]/doc/html/]Code Reference (Doxygen generated - sets cookies)[/zrl]
-[zrl=[baseurl]/help/to_do_doco]To-Do list for the Red Documentation Project[/zrl]
-[zrl=[baseurl]/help/to_do_code]To-Do list for Developers[/zrl]
-[zrl=[baseurl]/help/roadmap]Version 3 roadmap[/zrl]
-[zrl=[baseurl]/help/git_for_non_developers]Git for Non-Developers[/zrl]
-[zrl=[baseurl]/help/dev_beginner]Step-for-step manual for beginning developers[/zrl]
-
-[h3]Frequently Asked Questions For Developers[/h3]
-[zrl=[baseurl]/help/faq_developers]FAQ For Developers[/zrl]
-
-[h3]External Resources[/h3]
-[zrl=[baseurl]/help/external-resource-links]External Resource Links[/zrl]
-[url=https://github.com/redmatrix/redmatrix]Main Website[/url]
-[url=https://github.com/redmatrix/redmatrix-addons]Addon Website[/url]
-[url=https://zothub.com/channel/one]Development Channel[/url]
-[url=https://federated.social/channel/postgres]Postgres-specific $Projectname Admin Support Channel[/url]
-
-[url=[baseurl]/help/credits]$Projectname Credits[/url]
-
-[h3]About This $Projectname Hub[/h3]
-[zrl=[baseurl]/help/TermsOfService]Terms of Service For This Hub[/zrl]
-[zrl=[baseurl]/siteinfo]Hub Information (/siteinfo)[/zrl]
-[zrl=[baseurl]/siteinfo/json]Detailed Technical Hub Information in JSON format(/siteinfo/json)[/zrl]
diff --git a/doc/members.bb b/doc/members.bb
new file mode 100644
index 000000000..705154b56
--- /dev/null
+++ b/doc/members.bb
@@ -0,0 +1,24 @@
+[h2]Documentation for Hub Members[/h2]
+
+[h3]Getting Started[/h3]
+[zrl=[baseurl]/help/registration]Account Registration[/zrl]
+[zrl=[baseurl]/help/accounts_profiles_channels_basics]You at $Projectname: accounts, profiles and channels in short[/zrl]
+[zrl=[baseurl]/help/profiles]Profiles[/zrl]
+[zrl=[baseurl]/help/channels]Channels[/zrl]
+[zrl=[baseurl]/help/roles]Permission roles and Channel types[/zrl]
+[zrl=[baseurl]/help/first-post]Your first posting[/zrl]
+[zrl=[baseurl]/help/connecting_to_channels]Connecting To Other Channels[/zrl]
+[zrl=[baseurl]/help/permissions]Permissions And Encryption: You Are In Control[/zrl]
+[zrl=[baseurl]/help/cloud]Cloud Storage[/zrl]
+[zrl=[baseurl]/help/remove_account]Remove Channel or Account[/zrl]
+
+[h3]Members Help[/h3]
+[zrl=[baseurl]/help/tags_and_mentions]Tags and Mentions[/zrl]
+[zrl=[baseurl]/help/webpages]Web Pages[/zrl]
+[zrl=[baseurl]/help/bbcode]BBcode reference for posts and comments[/zrl]
+[zrl=[baseurl]/help/checking_account_quota_usage]Checking Account Quota Usage[/zrl]
+[zrl=[baseurl]/help/cloud_desktop_clients]Cloud Desktop Clients[/zrl]
+[zrl=[baseurl]/help/AdvancedSearch]Advanced Directory Search[/zrl]
+[zrl=[baseurl]/help/addons]Help With Addons[/zrl]
+[zrl=[baseurl]/help/diaspora_compat]Diaspora Communications Compatibility (Diaspora and Friendica)[/zrl]
+[zrl=[baseurl]/help/faq_members]FAQ For Members[/zrl]
diff --git a/doc/plugins.bb b/doc/plugins.bb
index fdabbb7ab..f74276038 100644
--- a/doc/plugins.bb
+++ b/doc/plugins.bb
@@ -97,8 +97,8 @@ Let's go ahead and add some code to implement our post_local hook handler.
if(local_channel() != $item['uid']) /* Does this person own the post? */
return;
- if(($item['parent']) || ($item['item_restrict'])) {
- /* If the item has a parent, or item_restrict is non-zero, this is a comment or something else, not a status post. */
+ if(($item['parent']) || (! is_item_normal($item))) {
+ /* If the item has a parent, or is not "normal", this is a comment or something else, not a status post. */
return;
}
diff --git a/doc/red2pi.bb b/doc/red2pi.bb
index cede35fd9..18e7d325a 100644
--- a/doc/red2pi.bb
+++ b/doc/red2pi.bb
@@ -239,10 +239,10 @@ Cleanup: Remove the directory www/ (Git will not create files and folders in dir
Remove directory[code]pi@pi /var $ sudo rm -rf www/[/code]
Download the sources of $Projectname from GIT
-[code]pi@pi /var $ sudo git clone https://github.com/redmatrix/redmatrix.git www[/code]
+[code]pi@pi /var $ sudo git clone https://github.com/redmatrix/hubzilla.git www[/code]
Download the sources of the addons from GIT
-[code]pi@pi /var/www $ sudo git clone https://github.com/redmatrix/redmatrix-addons.git addon[/code]
+[code]pi@pi /var/www $ sudo git clone https://github.com/redmatrix/hubzilla-addons.git addon[/code]
Make user www-data the owner of the whole web directory (including subdirectories and files)
(TODO: This step has to be proofed by the next installation.)
diff --git a/doc/roadmap.bb b/doc/roadmap.bb
index b41938cfc..f57c76b74 100644
--- a/doc/roadmap.bb
+++ b/doc/roadmap.bb
@@ -55,5 +55,5 @@ Evangelism
Libzot
DNS abstraction for V3
- Allow a channel to live in an arbitrary "DNS" namespace, for instance "mike@core.redmatrix". Use our directories and zot to find the actual DNS location via redirection. This could potentially allow hubs to be hidden behind tor or alt-roots and accessible only via the matrix.
+ Allow a channel to live in an arbitrary "DNS" namespace, for instance "mike@core.hubzilla". Use our directories and zot to find the actual DNS location via redirection. This could potentially allow hubs to be hidden behind tor or alt-roots and accessible only via the matrix.
\ No newline at end of file
diff --git a/doc/to_do_code.bb b/doc/to_do_code.bb
index 7ee342ed4..94421bab0 100644
--- a/doc/to_do_code.bb
+++ b/doc/to_do_code.bb
@@ -4,7 +4,7 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]Documentation - see Red Documentation Project To-Do List[/li]
[li]Include TOS link in registration/verification email[/li]
-[li]forum widget with unread counts (requires the DB schema changes from v3/hubzilla to be viable)[/li]
+[li](done) forum widget with unread counts (requires the DB schema changes from v3/hubzilla to be viable)[/li]
[li]Create bug tracker module[/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]
@@ -14,6 +14,7 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]provide a way for xchans with a certain network type to upgrade (unknown to rss, rss to statusnet, friendica-over-diaspora to friendica, for instance) based on new knowledge and/or redmatrix ability[/li]
[li](done - HZ) If DAV folders exist, add an option to the Settings page to set a default folder for attachment uploads.[/li]
[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]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]
diff --git a/doc/to_do_doco.bb b/doc/to_do_doco.bb
deleted file mode 100644
index d0f595b3e..000000000
--- a/doc/to_do_doco.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-[b]Documentation To-Do List[/b]
-
-[b]Documentation we need to write[/b]
-
- Database schema detailed descriptions
-
- Complete plugin hook documentation
-
- API documentation
-
- Function and code documentation (doxygen)
-
- New Member guide
-
- &quot;Extra Feature&quot; reference, description of each
-
- Detailed Personal Settings Documentation
-
- Administration Guide (post-install)
-
- Administration Guide (pre-install)
-
-Return to the [url=[baseurl]/help/main]Main documentation page[/url]
diff --git a/doc/troubleshooting.bb b/doc/troubleshooting.bb
index 6628e2df8..1a2bd7f12 100644
--- a/doc/troubleshooting.bb
+++ b/doc/troubleshooting.bb
@@ -14,7 +14,7 @@ In the case of "500" errors, the issues may often be logged in your webserver lo
We encourage you to try to the best of your abilities to use these logs combined with the source code in your possession to troubleshoot issues and find their cause. The community is often able to help, but only you have access to your site logfiles and it is considered a security risk to share them.
-If a code issue has been uncovered, please report it on the project bugtracker (https://github.com/redmatrix/redmatrix/issues). Again provide as much detail as possible to avoid us going back and forth asking questions about your configuration or how to duplicate the problem, so that we can get right to the problem and figure out what to do about it. You are also welcome to offer your own solutions and submit patches. In fact we encourage this as we are all volunteers and have little spare time available. The more people that help, the easier the workload for everybody. It's OK if your solution isn't perfect. Every little bit helps and perhaps we can improve on it.
+If a code issue has been uncovered, please report it on the project bugtracker (https://github.com/redmatrix/hubzilla/issues). Again provide as much detail as possible to avoid us going back and forth asking questions about your configuration or how to duplicate the problem, so that we can get right to the problem and figure out what to do about it. You are also welcome to offer your own solutions and submit patches. In fact we encourage this as we are all volunteers and have little spare time available. The more people that help, the easier the workload for everybody. It's OK if your solution isn't perfect. Every little bit helps and perhaps we can improve on it.
#include doc/macros/troubleshooting_footer.bb;
#include doc/macros/main_footer.bb;
diff --git a/doc/what_is_zot.bb b/doc/what_is_zot.bb
index 765600806..50df9e392 100644
--- a/doc/what_is_zot.bb
+++ b/doc/what_is_zot.bb
@@ -55,7 +55,7 @@ For more detailed, technical information about Zot, check out the following link
- [url=https://github.com/friendica/red/wiki/zot]Zot development specification[/url]
- - [url=https://github.com/redmatrix/redmatrix/blob/master/include/zot.php]Zot reference implementation in PHP[/url]
+ - [url=https://github.com/redmatrix/hubzilla/blob/master/include/zot.php]Zot reference implementation in PHP[/url]
#include doc/macros/main_footer.bb;