aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Privacy.md33
-rw-r--r--doc/Widgets.md3
-rw-r--r--doc/admins.bb12
-rw-r--r--doc/develop.bb34
-rw-r--r--doc/general.bb20
-rw-r--r--doc/history.md18
-rw-r--r--doc/install/sample-lighttpd.conf90
-rw-r--r--doc/install/sample-nginx.conf142
-rw-r--r--doc/main.bb73
-rw-r--r--doc/members.bb24
-rw-r--r--doc/to_do_code.bb1
-rw-r--r--doc/to_do_doco.bb23
12 files changed, 125 insertions, 348 deletions
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/Widgets.md b/doc/Widgets.md
index 5cc7eab2f..a225f5ef3 100644
--- a/doc/Widgets.md
+++ b/doc/Widgets.md
@@ -104,6 +104,9 @@ Some/many of these widgets have restrictions which may restrict the type of page
* 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/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/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/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/history.md b/doc/history.md
index 32917712f..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,7 +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/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 6998ee90e..44f227c16 100644
--- a/doc/main.bb
+++ b/doc/main.bb
@@ -10,77 +10,4 @@ Think of standalone family communication platforms, distributed online communiti
[zrl=[baseurl]/help/what_is_zot][b]Got Zot? Well, you should.[/b][/zrl]
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/hubzilla]Main Website[/url]
-[url=https://github.com/redmatrix/hubzilla-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/to_do_code.bb b/doc/to_do_code.bb
index 7fb6da858..94421bab0 100644
--- a/doc/to_do_code.bb
+++ b/doc/to_do_code.bb
@@ -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]