aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/dev_beginner.bb60
-rw-r--r--doc/faq_admins.bb31
-rw-r--r--doc/faq_developers.bb7
-rw-r--r--doc/faq_members.bb17
4 files changed, 61 insertions, 54 deletions
diff --git a/doc/dev_beginner.bb b/doc/dev_beginner.bb
index 8e7a9ecf9..c3e4ea07c 100644
--- a/doc/dev_beginner.bb
+++ b/doc/dev_beginner.bb
@@ -1,32 +1,15 @@
[h2]You want to contribute code?[/h2]
-[b]...and don't know how to start?[/b]
-Then this is for you.
-
-This manual will guided you step-by-step to:
+[b]...and don't know how to start to...[/b]
[list]
-[*] debug the Red Matrix (PHP),
+[*] debug the red#matrix (php on the webserver),
[*] contribute code to the project,
[*] optionally - do it all from inside a virtual machine
[/list]
+This manual was tested for Debian (Wheezy) as virtual machine on Lubuntu (Ubuntu 14.0) as host.
-This manual was tested for
-[list]
-[*] Lubuntu (Ubuntu 14.0) as host OS
-[*] Debian (Wheezy) as guest OS running in a VM
-[/list]
+Content
-[h2]Content[/h2]
-
-In this manual you will
-[list=1]
-[*] Install a Virtual Machine (KVM)
-[*] Install Apache Web Server
-[*] Install PHP, MySQL, phpMyAdmin
-[*] Fork the project on github to be able to contribute
-[*] Install the RED Matrix
-[*] Debug the server via eclipse
-[*] Contribute your changes via github
-[/list]
+[toc]
[h2]Install a Virtual Machine (KVM)[/h2]
@@ -81,6 +64,8 @@ Should show you a page like "It works"
[h2]Install PHP, MySQL, phpMyAdmin[/h2]
+[h3]PHP, MySQL[/h3]
+
[code]su -l
apt-get install libapache2-mod-php5 php5 php-pear php5-xcache php5-curl php5-mcrypt php5-xdebug
apt-get install php5-mysql
@@ -92,6 +77,8 @@ Optional since its already enabled during phpmyadmin setup
php5enmod mcrypt
[/code]
+[h3]phpMyAdmin[/h3]
+
Install php myadmin
[code]apt-get install phpmyadmin[/code]
@@ -101,7 +88,7 @@ Configuring phpmyadmin
(Source #^[url=http://www.manfred-steger.de/tuts/20-der-eigene-webserver-mit-dem-raspberry-pi#]http://www.manfred-steger.de/tuts/20-der-eigene-webserver-mit-dem-raspberry-pi#[/url])
-[b]Enable rewrite[/b]
+[h3]Enable rewrite[/h3]
The default installation of Apache2 comes with mod_rewrite installed. To check whether this is the case, verify the existence of /etc/apache2/mods-available/rewrite.load
@@ -134,7 +121,7 @@ Finally, restart Apache2.
root@debian /var/www $service apache2 restart
[/code]
-[b]Test installation[/b]
+[h3]Test installation[/h3]
[code]cd /var/www[/code]
@@ -167,8 +154,8 @@ open webbrowser on PC and try #^[url=http://localhost/phpmyadmin]http://localhos
(Source #^[url=http://www.manfred-steger.de/tuts/20-der-eigene-webserver-mit-dem-raspberry-pi#]http://www.manfred-steger.de/tuts/20-der-eigene-webserver-mit-dem-raspberry-pi#[/url])
+[h3]Create an empty database... that is later used by the red#matrix[/h3]
-[b]Create an empty database... that is later used by RED[/b]
open webbrowser on PC and try #^[url=http://localhost/phpmyadmin]http://localhost/phpmyadmin[/url]
@@ -179,7 +166,7 @@ Grant all rights for the user "red" to the database "red".
Note the access details (hostname, username, password, database name).
-[h2]Fork the project on github to be able to contribute[/h2]
+[h2]Fork the project on github[/h2]
Please follow the instruction in the offiical [url=http://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project] documentation[/url] of git.
It is a good idea to read the whole manual! Git is different to other version control systems in many ways.
@@ -196,6 +183,8 @@ If you not want to use GIT from the command line - there is a usefull Eclipse pl
[h2]Install RED and its Addons[/h2]
+[h3]Git at your computer / vm[/h3]
+
You should have created an account on github and forked the projects befor you procceed.
Delete the directory www
@@ -206,6 +195,8 @@ rm -R www/
Install git (and optionally git-gui a client gui)
[code]apt-get install git git-gui[/code]
+[h3]Download red#matri and addons[/h3]
+
Download the main project red and red-addons
[code]
root@debian:/var# git clone https://github.com/yourname/red www
@@ -243,6 +234,8 @@ If you are still not able to modify the project files you can check the members
cat /etc/group
[/code]
+[h3]Register yourself as admin[/h3]
+
Open http://localhost and init the matrix
Befor you register a first user switch off the registration mails.
@@ -253,6 +246,8 @@ $a->config['system']['verify_email'] = 0;
[/code]
You should be able to change the file as "yourself" (instead of using root or www-data).
+[h3]Cron and the poller[/h3]
+
Important!
Run the poller to pick up the recent "public" postings of your friends
Set up a cron job or scheduled task to run the poller once every 5-10
@@ -344,6 +339,8 @@ Expected:
[h2]Contribute your changes via github[/h2]
+[h3]Preparations[/h3]
+
There is a related page in this docs: [zrl=[baseurl]/help/git_for_non_developers]Git for Non-Developers[/zrl].
As stated befor it is recommended to read the official documentation [url=http://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project]GitHub-Contributing-to-a-Project[/url] of git.
@@ -355,6 +352,8 @@ surfer@debian:/var/www$ git config --global user.name "Your Name"
surfer@debian:/var/www$ git config --global user.email "your@mail.com"
[/code]
+[h3]Your first contribution[/h3]
+
Create a descriptive topic branch
[code]
surfer@debian:/var/www$ git checkout -b dev_beginning
@@ -401,8 +400,15 @@ surfer@debian:/var/www$ git push
Now you can go to your (online) account at github and create the pull request.
+[h3]Following contributions[/h3]
+
In case the main devolpers want you to change something.
-Make the changes, check them, commit (to local repository), push (to online repository)
+Fetch the newest work from the remote upstream/master to be sure you have the latest changes.
+[code]
+surfer@debian:/var/www$ git fetch upstream
+surfer@debian:/var/www$ git merge upstream/master
+[/code]
+Make your changes, test them, commit (to local repository), push (to online repository)
[code]
surfer@debian:/var/www$ git status
surfer@debian:/var/www$ git commit -a -m "added modification of branch"
diff --git a/doc/faq_admins.bb b/doc/faq_admins.bb
index 953563230..0a3f774e9 100644
--- a/doc/faq_admins.bb
+++ b/doc/faq_admins.bb
@@ -1,41 +1,41 @@
[size=large][b]The Red Matrix FAQ[/b][/size]
-[ul]
-[*][b]Is there a way to change the Admin account?[/b]
-[*][b]Is there a way to have multiple administrators?[/b]
+[toc]
+
+[h3]Is there a way to change the Admin account?[/h3]
+[h3]Is there a way to have multiple administrators?[/h3]
Yes, but it's a bit messy at the moment as it is not yet exposed in the UI. To make an account an administrative account,
one needs to add 4096 to the account_roles entry in the account table of the database. Likewise, to remove administrative permissions,
one must subtract 4096 from the account roles.
-[*][b]I can log in, but there are no posts or webpages[/b]
+[h3]I can log in, but there are no posts or webpages[/h3]
Most likely, your item table has crashed. Run the MySQL command [code]repair table item;[/code]
-[*][b]Login doesn't work, immediately after login, the page reloads and I'm logged out[/b]
+[h3]Login doesn't work, immediately after login, the page reloads and I'm logged out[/h3]
Most likely, your session table has crashed. Run the MySQL command [code]repair table session;[/code]
-[*][b]When I switch theme, I sometimes get elements of one theme superimposed on top of the other[/b]
+[h3]When I switch theme, I sometimes get elements of one theme superimposed on top of the other[/h3]
a) store/[data]/smarty3 isn't writeable by the webserver. Make it so.
b) You're using Midori, or with certain themes, Konqueror in KHTML mode.
-[b]My network tab won't load, it appears to be caused by a photo or video[/b]
+[b]My network tab won't load, it appears to be caused by a photo or video[/h3]
Your PHP memory limit is too low. Increase the size of the memory_limit directive in your php.ini
Contrary to popular belief, the number of users on a hub doesn't make any difference to the required memory limit, rather, the content
of an individuals matrix counts. Streams with lots of photos and video require more memory than streams with lots of text.
-[*] [b]I have no communication with anybody[/b]
+[h3]I have no communication with anybody[/h3]
You're listening on port 443, but do not have a valid SSL certificate. Note this applies even if your baseurl is http.
Don't listen on port 443 if you cannot use it. It is strongly recommended to solve this problem by installing a browser
valid SSL certificate rather than disabling port 443.
-[*]
-[b]How do I update a non-Git install?[/b]
+[h3]How do I update a non-Git install?[/h3]
1) Backup .htconfig.php
2) Backup everything in store/
3) Backup any custom changes in mod/site/ and view/site
@@ -44,8 +44,7 @@ valid SSL certificate rather than disabling port 443.
5) Upload the new version of themes and addons.
6) Restore everything backed up earlier.
-[*]
-[b]What do I need to do when moving my hub to a different server[/b]
+[h3]What do I need to do when moving my hub to a different server[/h3]
1) Git clone on the new server. Repeat the process for any custom themes, and addons.
2) Rsync .htconfig.php
@@ -53,19 +52,17 @@ valid SSL certificate rather than disabling port 443.
4) Rsync everything in mod/site/ and view/site (these will only exist if you have custom modules)
5) Dump and restore DB.
-[*]
-[b]How do I reinstall an existing hub on the same server?[/b]
+[h3]How do I reinstall an existing hub on the same server?[/h3]
1) [code]git reset --hard HEAD[/code] will reset all files to their upstream defaults. This will not reset any local files that do not also exist upstream. Eg, if you have local changes to mod/channel.php, this will reset them - but will not reset any changes in mod/site/channel.php
2) If you absolutely must reinstall - for example, if you need to upgrade operating system - follow the steps for moving to a different server, but instead of using rsync, backup and restore some other way.
Do not reinstall a hub with a fresh database and fresh .htconfig.php unless as a very last resort. Creating a temporary account and ask for help via a support channel for non-trivial reinstalls is preferable to reinstalling fresh.
-[*]
-[b]How do I set the default homepage for logged out viewers?[/b]
+[h3]How do I set the default homepage for logged out viewers?[/h3]
Use the custom_home addon available in the main addons repository.
-[/ul]
+
#include doc/macros/main_footer.bb;
diff --git a/doc/faq_developers.bb b/doc/faq_developers.bb
index 61843648a..010ef9b8a 100644
--- a/doc/faq_developers.bb
+++ b/doc/faq_developers.bb
@@ -1,8 +1,9 @@
[size=large][b]Frequently Asked Questions For Developers[/b][/size]
+[toc]
-[ul]
-[*][b]What does $a mean?[/b]
+
+[h3]What does $a mean?[/h3]
$a is a class defined in boot.php and passed all around Red Matrix as a global reference variable. It defines everything necessary for the Red Matrix 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.
@@ -24,7 +25,7 @@ function foo() {
get_app()->something = 'x';
}
[/code]
-[/ul]
+
#include doc/macros/main_footer.bb;
diff --git a/doc/faq_members.bb b/doc/faq_members.bb
index a089b8b0c..cdc7883f9 100644
--- a/doc/faq_members.bb
+++ b/doc/faq_members.bb
@@ -1,15 +1,18 @@
[size=large][b]The Red Matrix FAQ[/b][/size]
-[ul]
-[*][b]I am able to edit a post's text after I saved it, but is there a way to change the permissions?[/b]
+[toc]
+
+
+[h3]I am able to edit a post's text after I saved it, but is there a way to change the permissions?[/h3]
Short anser: No, there isn't. There are reasons. You are able to change permissons to your files, photos and the likes, but not to posts after you have saved them. The main reason is: Once you have saved a post it is being distributed either to the public channel and from there to other Red Matrix servers or to those you intended it to go. Just like you cannot reclaim something you gave to another person, you cannot change permissions to Red Matrix posts. We would need to track everywhere your posting goes, keep track of everyone you allowed to see it and then keep track of from whom to delete it.
-If a posting is public this is even harder, as the Red Matrix is a global network and there is no way to follow a post, let alone reclaim it reliably. Other networks that may receive your post have no reliable way to delete or reclaim the post.
-[*][b]I downloaded my channel and imported it (cloned my identity) to another site but there is no content, no posts, no photos. What is wrong???[/b]
+If a posting is public this is even harder, as the Red Matrix is a global network and there is no way to follow a post, let alone reclaim it reliably. Other networks that may receive your post have no reliable way to delete or reclaim the post.
+
+[h3]I downloaded my channel and imported it (cloned my identity) to another site but there is no content, no posts, no photos. What is wrong???[/h3]
To be honest: Nothing. That's the way it is right now. Technically it is surely possible to take at least your own posts and maybe even files with you, but this has simply put not implemented yet. When creating this feature we thought that keeping all your contacts was more important. Your friends have already seen your old content. Once we find someone willing to implement this, it will be done. :)
-[*][b]I can't see private resources[/b]
+[h3]I can't see private resources[/h3]
You have probably disabled third party cookies. You need to enable them for remote authentication to work.
-[*][b]There are a lot of foreign language posts. Let's auto-translate them.[/b]
+[h3]There are a lot of foreign language posts. Let's auto-translate them.[/h3]
There are also a lot of [b]private[/b] foreign language posts and auto-translation services would require us to transmit these private messages to the translation service; and we don't know what they will do with them on their servers. Actually we do know thanks to Edward Snowden. Our best bet is a project called [b][i]Apertium[/i][/b] which is an open source translator we can install locally. It is currently missing German translations - which are the most requested translation in the matrix. Once again, this will be implemented when we find somebody who really wants to make it happen.
-[/ul]
+
#include doc/macros/main_footer.bb;