https://wiki.diasporafoundation.org/api.php?action=feedcontributions&user=Toreblogallthethings&feedformat=atomdiaspora* project wiki - User contributions [en]2024-03-29T10:18:11ZUser contributionsMediaWiki 1.39.3https://wiki.diasporafoundation.org/wiki/index.php?title=FAQ_for_pod_maintainers&diff=3544FAQ for pod maintainers2014-11-08T08:05:45Z<p>Toreblogallthethings: /* Can I make my pod private/isolated/not communicate with other pods? */ fix typo, rephrase grammar, remove hard returns</p>
<hr />
<div>{{Languages}}<br />
We've started adding questions that we're frequently asked to this page, but it doesn't cover everything.<br />
If you have other questions, the best way to get an answer quickly is to visit us in our [[How we communicate#IRC|IRC channel]].<br />
<br />
== Installation ==<br />
<br />
=== What are the general system requirements? ===<br />
<br />
Running diaspora* requires resources depending on how many users use the installation and how much traffic the installation receives from other pods. Generally it is recommended that at least 1 Gig of memory should be available for even small instances.<br />
<br />
For pods with more users the amount of memory available to diaspora* and the background jobs it needs is higher depending on the amount of users actively using the instance. As the database grows, more memory will be needed to compensate.<br />
<br />
Since diaspora* requires quite a lot of different components to be installed, generally shared hosting servers are not sufficient. Any VPS or dedicated server with a suitable amount of memory will suffice. <br />
<br />
=== Do you have a detailed installation guide? ===<br />
<br />
Yes. [[Installation|Check it out!]] It will probably be more up-to-date than this page, in general.<br />
<br />
=== What ports does diaspora* need open for communication? ===<br />
<br />
Since we recommend running on HTTPS you should only need to open the standard port for it: 443. You should have a reverse proxy listening there that forwards the requests to the application server that diaspora* starts, on port 3000 by default. You can use your existing Nginx or Apache to do that. While we don't recommend it, you can run on plain HTTP with its standard port 80 too. Just never let diaspora* listen on these ports directly. You don't need to open the application server port, 3000, it's for internal communication only.<br />
<br />
=== Can I use Apache to run diaspora*? ===<br />
<br />
Yes: diaspora* is a standard Rails application, so you can run it with [https://www.phusionpassenger.com/ Passenger], or doing the the more common setup which is to use a reverse proxy configuration. Check [https://gist.github.com/MrZYX/719014 this example] on how to configure that setup.<br />
<br />
=== I installed diaspora* on my machine, went to <nowiki>http://localhost:3000</nowiki> and signed up. But my friends can't add me! ===<br />
<br />
You set "localhost" as your address, but this is not a valid external address. You first need an<br />
externally accessible address - either a domain name or an IP address. Once you have that<br />
working, you need to clear your database (`$ bundle exec rake db:drop db:create db:schema:load`) and re-register, coming in via the external URL. Note that if your externally accessible address changes, you need to start over. diaspora* is designed as a server application to run all day and night.<br />
<br />
=== I get 'command not found' if I run bundle install ===<br />
<br />
Make sure RVM is loaded and the correct Ruby version and gemset are activated. The output of the <tt>rvm info</tt> and <tt>gem env</tt> commands can be helpful in that. Run <tt>gem install bundler</tt> to reassure bundler is actually installed.<br />
<br />
If you don't use RVM, a common issue is that Debian-based distributions, including Ubuntu, don't add gem executables to the search path. Read up on the <tt>PATH</tt> environment variable on how to solve that.<br />
<br />
=== How do I get past the sign-in page to create a new account? ===<br />
<br />
To create a new account, go to <nowiki>http://yourdiasporainstance.tld/users/sign_up</nowiki><br />
(replacing ''yourdiasporainstance.tld'' with the the host name of your pod).<br />
<br />
=== I installed diaspora* on my machine, but when I load the site there are no images and the layout looks horrible! ===<br />
<br />
You most likely started diaspora* in production mode and accessed the application server directly and not through your reverse proxy. In production mode we expect your reverse proxy to serve the static content since it does the job way better than anything else. If you did access diaspora* through a reverse proxy, make sure it has no configuration issues, has the <tt>public/</tt> directory as document root and is set to look up if requested files are found there before directing the request to the application server.<br />
<br />
Also make sure you ran <tt>bundle exec rake assets:precompile</tt>.<br />
<br />
If you need to work around this requirement you can turn <tt>environment.assets.serve</tt> to <tt>true</tt> in <tt>config/diaspora.yml</tt>.<br />
<br />
=== There are no uploaded images on my pod ===<br />
<br />
First make sure other static content is working, as described in the previous section. We embed uploaded images with their full URL, this has to do with the way diaspora* makes sure your images can be seen by users on other pods. A common problem here is that <tt>environment.url</tt> in <tt>config/diaspora.yml</tt>, from which diaspora* constructs the full URL, is set to an incorrect value.<br />
<br />
=== Do I need a commercial SSL certificate? / Can I use CAcert certificates? ===<br />
<br />
If you plan on running your pod over HTTPS (yes, [http://stackoverflow.com/a/4495612/1489738 you should]!) then yes you will need a valid commercial SSL certificate. By design, federation will not work with pods that have self-signed or invalid SSL certs installed. We do this to ensure that all users in the network are able to use diaspora* without suffering from constant security warnings related to 'invalid' certs.<br />
<br />
For more information see [https://www.loomio.org/d/E1gZuhs3/do-we-need-valid-ssl-certificates this] and [https://www.loomio.org/d/RxIjdKFZ/make-cacert-a-valid-certificate-authority-now?proposal=XSOgCzqI this] discussion.<br />
<br />
There '''are''' free commercial certificates around - check [http://www.startssl.com/ StartSSL] for example.<br />
<br />
=== I can't find anybody on another pod / I am receiving posts but nobody is receiving mine ===<br />
<br />
If you're having problems, make sure to search for people by their full diaspora* ID. Check that your Sidekiq worker is running. Check Sidekiq's retry queue for error messages. Check that the <tt>environement.certificate_authorities</tt> setting is correct.<br />
<br />
=== I can't find myself from another pod / I am not receiving any posts but everybody is receiving mine ===<br />
<br />
Check that your SSL setup is correct, use [http://www.sslshopper.com/ssl-checker.html sslshopper] or [https://www.ssllabs.com/ssltest/ ssllabs] to test your configuration. Make sure it's all green, no yellow, no red.<br />
<br />
=== I'm getting the warning "... in production without Sidekiq workers" ===<br />
<br />
[http://sidekiq.org/ Sidekiq] is the backend we use for processing background jobs. Normally, Sidekiq is spawned as a separate process, but in this case you have configured diaspora* to run the jobs in the same process as the application. This is normally used for development or testing purposes, but if used in production, it can bring major performance penalties. Thus you should always run Sidekiq in its own process, by setting <tt>environment.single_process_mode</tt> to <tt>false</tt> in your <tt>config/diaspora.yml</tt> and starting the Sidekiq process with<br />
<br />
<syntaxhighlight lang="bash"><br />
RAILS_ENV=production bundle exec sidekiq<br />
</syntaxhighlight><br />
<br />
In case you are using <tt>script/server</tt> to start diaspora*, then you don't have to manually start the workers! This is already done by the script.<br />
<br />
=== How can I troubleshoot my email configuration? ===<br />
<br />
Use the following command to send an email and get the exceptions right on your console:<br />
<br />
<syntaxhighlight lang="bash"><br />
RAILS_ENV=production rails runner 'Notifier.admin("test message", User.where(username: "your_username")).each(&:deliver)' <br />
</syntaxhighlight><br />
<br />
Make sure to restart diaspora* once you successfully receive the test message.<br />
<br />
=== I'm getting a 500 error page ===<br />
<br />
Oh noes, you might have hit a bug in diaspora*! But this can also be caused by setup issues, like a incorrectly setup custom landing page, an old Redis version or database connectivity issue.<br />
<br />
# Make sure you found a reliable way to reproduce the issue.<br />
# Run <tt>tail -f log/production.log</tt>. Watch the output closely as you reproduce the issue.<br />
# If you can't make sense out of the actual error message, reach out to us, see [[How we communicate]]. When doing so provide the steps you have taken to produce the error page as well as the full output from the log while reproducing it.<br />
# If told to open an issue, go to https://github.com/diaspora/diaspora/issues. Again make sure to provide the steps to reproduce the problem as well as the log output.<br />
<br />
== Upgrading ==<br />
<br />
=== Is there anything I should do before upgrading my installation? ===<br />
<br />
Yes, read our [[Updating|notes for updating]].<br />
<br />
=== How do I roll back my installation if an update breaks it? ===<br />
<br />
First, try to fix your installation; as always our [[How we communicate#IRC|IRC channel]] should be helpful for getting help with this.<br />
<br />
To roll back, just do: <tt>git checkout ref</tt> Where ''ref'' is the identifier of the commit to go back to. It's a long string of letters and numbers. You can find the ''ref'' by doing a <tt>git log</tt>, eyeballing the commit dates, and figuring out where you were before you pulled. Of course it's best if you keep track of that ''ref'' before you update.<br />
<br />
You can also checkout a particular version with <tt>git checkout v0.3.0.1</tt>, replacing the version of course.<br />
<br />
After that just follow the same procedure that you would to update your installation.<br />
<br />
=== What if there were database migrations in the code I am rolling back? ===<br />
<br />
Then you also need to roll those back separately. You need to do this '''before''' you roll back the code. Look in the <tt>db/migrate</tt> directory and figure out which files are new since the last time you pulled - i.e., which migration your database should be on. They are in timestamp order in that directory. Then do:<br />
<tt>bundle exec rake db:rollback</tt> and look at the output. It will tell you which migration you are now on. It rolls back one each time you run it. Run it until you're on the right migration and then roll back the code as described above.<br />
<br />
Also be aware that database rollbacks can fail - they depend on the migration author writing the correct code to roll back. So in this case it's generally much easier to seek help to fix your current setup than to roll it back.<br />
<br />
== General ==<br />
<br />
=== Am I alone here? (Establish connections with other pods) ===<br />
<br />
Once you set up your pod, you should add some contacts to start receiving content from other pods.<br />
It's a good idea to add some active diaspora* people to your contacts, because they almost all run their own pod,<br />
so your pod will be known by them and you will be easily findable from there.<br />
<br />
Here is a small list:<br />
<br />
* Official account of the project: diasporahq[at]joindiaspora.com<br />
* Sean Tilley: deadsuperhero[at]joindiaspora.com<br />
* Jonne Haß: mrzyx[at]social.mrzyx.de<br />
* Florian Staudacher: raven24[at]pod.fulll.name<br />
* Jason Robinson: jaywink[at]iliketoast.net<br />
* The Geraspora team: team[at]pod.geraspora.de<br />
* Fla: fla[at]diaspora-fr.org<br />
* Sour: sour[at]sour.be<br />
* Diaspora*UK: podmin[at]joindiaspora.co.uk<br />
<br />
After you added a few contacts it's a good idea to make a '''public''' post containing the <tt>#newhere</tt> tag, announcing your new pod, to get even more contacts.<br />
<br />
=== Can I make my pod private/isolated/not communicate with other pods? ===<br />
<br />
No. diaspora* is built around the idea of a distributed social network. We want to build one network, not enable special interest communities or companies to host their own social network (We do welcome you on diaspora* though!). A large amount of the development effort goes into making that one network possible and the whole user experience is designed around it. This not only means that other existing solutions often have feature-sets way better suited to that usecase, but also that if we did implement a switch to turn off communication with other pods, there would be many broken ends in the user interface, which would lead to a bad user experience.<br />
<br />
=== Can I modify the code? ===<br />
<br />
Yes. But keep in mind that diaspora* is licensed under the AGPLv3, that means you must<br />
make the currently running source code available to your users. For legal advice beyond<br />
that, please contact your lawyer.<br />
<br />
=== Will a pod eventually receive federated posts that it misses while being offline/down? ===<br />
<br />
Possibly. We retry the delivery three times at one hour intervals.<br />
<br />
=== What do I do about all these PGErrors, like disconnects and SSL problems? ===<br />
<br />
If you are running diaspora* with PostgreSQL, beware that having [http://www.postgresql.org/docs/9.1/interactive/runtime-config-connection.html#GUC-SSL the SSL setting] turned on in the PostgreSQL config has been causing problems for several people. We recommend turning it off unless you know what you're doing.<br />
<br />
=== I've got my pod running. How do I disable outside logins? ===<br />
<br />
Set <tt>settings.enable_registrations</tt> to <tt>false</tt> in your <tt>config/diaspora.yml</tt> and then restart diaspora*.<br />
<br />
=== How do I back up my pod? ===<br />
<br />
You should do backups of all user data, that is the whole database and uploaded images. For the images just make copies of the <tt>public/uploads</tt> directory. Then just dump all <tt>Diaspora_</tt> databases from your database server. A web search should get you the information you need on how to do that. Make sure to store the backups on a different server, or at least on a different hard drive.<br />
<br />
=== I am on PPC (e.g. old iMac) and want to use it for serving diaspora*, but there is no ExecJS compatible JS runtime ===<br />
<br />
One thing you could do, assuming you have another PC that will run Node: Precompile your assets on that machine (using <tt>bundle exec rake assets:precompile</tt>) and then check them into git before you deploy to the PPC box, or just copy over the contents of <tt>public/assets</tt>. The Javascript runtime is only really needed for precompiling assets and shouldn't be loaded at all in the actual production environment. You may need to use <tt>git add public/assets -f</tt> to force git to check them in, since I think that directory is in .gitignore.<br />
<br />
=== What are roles and how do I use them? / Make yourself an admin ===<br />
<br />
We have a role system that allows to make some accounts 'special' during runtime, without restarting the server. <br />
<br />
Currently you can manage the community spotlight and the admins through this system. If you are using PostgreSQL, ensure you have set the environment variable <tt>DB='postgres'</tt> or you will get a very misleading error from bundler and if you follow it, accidentally install the MySQL adapter.<br />
<br />
Start by starting a Rails console:<br />
<br />
<syntaxhighlight lang="bash"><br />
RAILS_ENV=production bundle exec rails console<br />
</syntaxhighlight><br />
<br />
You'll get a new shell where you can enter Ruby code. To exit it just press <tt>Ctrl+D</tt> or type <tt>exit</tt> or <tt>quit</tt>. Here are some examples to manage the roles, replace ''the_username'' with the user's username, not their full diaspora* ID:<br />
<br />
<syntaxhighlight lang="ruby"><br />
Role.add_admin User.where(username: "the_username").first.person # Add an user as admin by username<br />
Role.add_admin User.where(email: "the_email").first.person # Add an user as admin by email<br />
Role.add_spotlight User.where(username: "the_username").first.person # Add an user to the 'community spotlight' by username<br />
Role.add_spotlight User.where(email: "the_email").first.person # Add an user to the 'community spotlight' by email<br />
</syntaxhighlight><br />
<br />
Your user profile should now have an "Admin" link added to the mouse hover list. This gives you stuff like user search and stats for your pod. For intense detail on the operational aspects of your pod, go to the location /admin_panel<br />
<br />
=== Followed tags don't work on my pod ===<br />
<br />
There is no synchronization in diaspora*. This means your pod only knows about posts it has received for a purpose. These purposes are, of course: the author is local, someone on your pod is following the post's author, or the post's author is following someone on your pod. Another reason is that the post got reshared by someone whom one of the users on your pod follows. Tags are not federated to all pods: the #Followed Tags stream displays only posts your pod knows about through one of the previous scenarios.<br />
<br />
=== My log files are getting huge, help! ===<br />
<br />
Configure yourself a log rotation solution. For example, on Linux distros, do this with ''logrotate'', something like the following (change the paths where needed) in ''/etc/logrotate.d/diaspora'':<br />
<br />
<pre>/home/diaspora/diaspora/log/*.log {<br />
notifempty<br />
copytruncate<br />
missingok<br />
compress<br />
monthly<br />
delaycompress<br />
rotate 5<br />
}</pre><br />
<br />
Once you've added the file to "/etc/logrotate.d/" run<br />
<br />
<pre>sudo logrotate -f /etc/logrotate.conf</pre><br />
<br />
=== How can I send an email to a user / a group of users? ===<br />
<br />
You need a working email configuration. There are two ways for triggering the emails.<br />
<br />
==== Ruby console ==== <br />
<br />
Fire up your rails console with <code> rails console production</code>,<br />
then follow one of the examples or make up your own:<br />
<br />
<syntaxhighlight lang="ruby"><br />
Notifier.admin("important message", User.where(username: "someuser")).each(&:deliver) # Send a message to someuser<br />
Notifier.admin("important message", User.where(username: ["someuser", "anotheruser"])).each(&:deliver) # Send a message to a group of users<br />
Notifier.admin("important message", User.yearly_actives).each(&:deliver) # Send a message to all active users<br />
</syntaxhighlight><br />
<br />
==== Rake task ====<br />
<br />
There is a Rake task <tt>podmin:admin_mail</tt> available to allow podmins to easily send news and notices to users. The rake task triggers emails via the normal diaspora mailer mechanism (so they are embedded in the standard template) and takes the following parameters:<br />
<br />
1) Users definition<br />
<tt>all</tt> - all users in the database (except deleted)<br />
<tt>active_yearly</tt> - users logged in within the last year<br />
<tt>active_monthly</tt> - users logged in within the last month<br />
<tt>active_halfyear</tt> - users logged in within the last 6 months<br />
2) Path to message file<br />
Give here a path to a HTML or plain text file that contains the message.<br />
3) Subject<br />
A subject for the email<br />
<br />
Example shell command (depending on your environment);<br />
<br />
<syntaxhighlight lang="bash"><br />
RAILS_ENV=production bundle exec rake podmin:admin_mail['active_monthly','./message.html','Important message from pod']<br />
</syntaxhighlight><br />
<br />
Read more about [http://stackoverflow.com/a/825832/1489738 specifying arguments to Rake tasks].<br />
<br />
=== Can I add advertisements to my pod? ===<br />
<br />
Sure, we have no rules that you cannot add advertisements to your diaspora* installation.<br />
<br />
=== How do I define a Terms of Service document for signing up to my pod? ===<br />
<br />
That feature is built in and we have a generic template that you are welcome to use. Of course, you can also edit it or create your own set of terms.<br />
<br />
This feature is built in but not enabled by default. If you want to enable it, please add under settings in <tt>config/diaspora.yml</tt> the following and restart diaspora. If in doubt see <tt>config/diaspora.yml.example</tt>:<br />
<br />
<pre><nowiki><br />
terms:<br />
enable: true<br />
</nowiki></pre><br />
<br />
When enabled, the footer and sidebar will have a link to terms page, and signup will have a disclaimer indicating that creating an account means the user accepts the terms of use.<br />
<br />
While the project itself doesn't restrict what kind of terms pods run on, we realize not all podmins want to spend time writing them from scratch. Thus there is a basic ToS template included that will be used unless a custom one available.<br />
<br />
To modify (or completely rewrite) the terms template, create a file called <tt>app/views/terms/terms.haml</tt> or <tt>app/views/terms/terms.erb</tt> and it will automatically replace the default template, which you can find at <tt>app/views/terms/default.haml</tt>.<br />
<br />
There are also two configuration settings to customize the terms (when using the default template). These are optional.<br />
<br />
* <tt>settings.terms.jurisdiction</tt> - indicate here in which country or state any legal disputes are handled.<br />
* <tt>settings.terms.minimum_age</tt> - indicate here if you want to show a minimum required age for creating an account.<br />
<br />
== What if my question isn't answered here? ==<br />
<br />
Just ask us! Read more on how to do that at [[How we communicate]].<br />
<br />
[[Category:Podmin]]<br />
[[Category:Github transfer done]]</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=Installation/Debian/Wheezy&diff=3543Installation/Debian/Wheezy2014-11-08T06:24:13Z<p>Toreblogallthethings: /* Install Packages */ git-core has been renamed git</p>
<hr />
<div>{{Installation/Head}}<br />
<br />
{{Installation/Debian/Backports}}<br />
<br />
=== Install Packages ===<br />
<br />
As root run:<br />
<br />
{{#tag:syntaxhighlight|<br />
apt-get install build-essential libssl-dev libcurl4-openssl-dev libxml2-dev libxslt-dev imagemagick ghostscript git curl {{#switch: {{#var:DB}}|mysql=libmysqlclient-dev|postgres=libpq-dev|mariadb=libmariadbclient-dev}} libmagickwand-dev<br />
apt-get install -t wheezy-backports redis-server<br />
|lang=bash}}<br />
<br />
{{Installation/Debian/Common}}</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=Template:Installation/Common&diff=3542Template:Installation/Common2014-11-08T06:08:13Z<p>Toreblogallthethings: /* Further reading */ fix typo, re-organize list a bit</p>
<hr />
<div>== Get the source ==<br />
<br />
It's time to download Diaspora! As your diaspora user run:<br />
<br />
{{#tag:syntaxhighlight|<br />
cd ~<br />
git clone {{#ifeq: {{#var:mode}}|production|-b master|}} git://github.com/diaspora/diaspora.git<br />
cd diaspora<br />
|lang=bash}}<br />
<br />
Don't miss the <tt>cd diaspora</tt>, all coming commands expect to be run from that directory!<br />
<br />
== Configuration ==<br />
<br />
=== Copy files ===<br />
<br />
{{#tag:syntaxhighlight|<br />
cp config/database.yml.example config/database.yml<br />
cp config/diaspora.yml.example config/diaspora.yml<br />
|lang=bash}}<br />
<br />
{{#ifeq: {{#var:mode}}|production|{{Installation/Configuration}}|}}<br />
{{#ifeq: {{#var:mode}}|production|{{Installation/Reverse_proxy}}|}}<br />
<br />
== Bundle ==<br />
<br />
It's time to install the Ruby libraries required by Diaspora:<br />
<br />
{{#tag:syntaxhighlight|<br />
{{#var:env_string}} bundle install {{#ifeq: {{#var:mode}}|production|--without test development|}}<br />
|lang=bash}}<br />
<br />
This takes quite a while. You should get a green success message when it's finished, if that's not the case you should seek for help on the mailing list or the IRC channel. You can speed it up a bit adding <tt> -jn</tt> to the command, where <tt>n</tt> is the number of CPU cores you have available.<br />
<br />
Running the manual <tt>gem install</tt> command shown in the error message can sometimes show a clearer error message if the <tt>bundle</tt> command fails.<br />
<br />
== Database setup ==<br />
<br />
Double check your <tt>config/database.yml</tt> looks right and run:<br />
<br />
{{#tag:syntaxhighlight|<br />
{{#var:env_string}} bundle exec rake db:create db:schema:load<br />
|lang=bash}}<br />
<br />
{{#ifeq: {{#var:mode}}|production|{{Installation/Assets}}|}}<br />
<br />
== Start Diaspora ==<br />
<br />
It's time to start Diaspora:<br />
<br />
{{#tag:syntaxhighlight|<br />
{{#var:db_prefix}}./script/server<br />
|lang="bash"}}<br />
<br />
{{#ifeq: {{#var:mode}}|production|In the most simple case you want to do this inside a [http://www.gnu.org/software/screen/ screen] or [http://tmux.sourceforge.net/ tmux] session from which you can safely detach.|}}<br />
<br />
== Further reading ==<br />
<br />
* [[Diasporas components explained]]<br />
* Is there anybody out there? [[FAQ_for_pod_maintainers#Am_I_alone_here.3F_.28Establish_connections_with_other_pods.29|Establish connections with other pods]]<br />
* [[FAQ_for_pod_maintainers#What_are_roles_and_how_do_I_use_them.3F_.2F_Make_yourself_an_admin|Make yourself an admin]]<br />
* [[Updating#{{#switch: {{#var:mode}}|production=Updating_a_production_install|development=Updating_a_development_install}}|Updating Diaspora]]<br />
{{#ifeq: {{#var:mode}}|production|* [[Integrating other social networks]]<br />
* [[Alternative startup methods]] (Passenger, Init script, Daemontools, ...)<br />
* [[Asset hosting on S3]]|* [[Getting Started With Contributing]]|}}<br />
<br />
<includeonly><br />
[[Category:Installation]]<br />
[[Category:Podmin]]<br />
</includeonly></div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=Contributor_license_agreement&diff=3538Contributor license agreement2014-11-07T05:14:42Z<p>Toreblogallthethings: add template</p>
<hr />
<div>{{out of date}} <br />
{{Note|This page is outdated and is not true anymore}}<br />
<br />
Draft Diaspora, Inc. Contributor Agreement<br />
<br />
# Introduction<br />
<br />
This is an agreement between you (the contributor) and Diaspora, Inc. (Diaspora, Inc. or we or us) concerning your contributions to the Diaspora™ Software. The purpose of the agreement is to give us the rights we need to steward development of the Diaspora™ Software effectively, while providing you assurances that we will use your contributions in the interests of the community of Diaspora™ Software developers. The Diaspora™ Software is licensed under the GNU Affero General Public License (AGPL), version 3. We, however, operate within the larger Ruby community, which traditionally favors the MIT License. Thus, this agreement enables us to contribute back to that community by allowing us to license general-use components of the Diaspora™ Software (e.g., parsers for standard formats, libraries implementing standard protocols, etc.) under the MIT License, while still licensing the Diaspora™ Software under the AGPL.<br />
<br />
This dual license scheme requires some flexibility—we won’t always know which components will be useful to the broader Ruby community when we start writing them or when you contribute to them, and some of the MIT- licensed components will be formed by refactoring code we previously distributed under the AGPL. So, to enable us to ensure that the Diaspora™ Software’s overall license remains compliant with the AGPL, this agreement necessarily puts limits on what we can do with your contributions– limits that curtail the permission you grant us under the MIT license just a bit. This agreement explains that we cannot license all of the Diaspora™ Software under the MIT License, but we can license discrete, general-use components. This agreement also prohibits us from making private deals that would give a special license to one individual or company that isn’t also given to the public. It also prohibits us from using the MIT License to distribute the Diaspora™ Software under any proprietary license.<br />
<br />
<ol start="2" style="list-style-type: decimal;"><br />
<li>Scope</li></ol><br />
<br />
This agreement governs your Contributions to the Diaspora™ Software, including Contributions of Code (including computer program source code and related scripts), Content (including images, audio and video files, documentation and other text, and any other copyrightable content other than code), or both. In this agreement, the word “Contribution” includes any part of a contribution, as well as the whole Contribution.<br />
<br />
This agreement applies to Contributions you provide to Diaspora by any means, including Contributions you commit to a Diaspora™ Software repository, send to Diaspora, Inc. via email, or post to Diaspora, Inc. websites, forums, mailing lists, or other online facility.<br />
<br />
<ol start="3" style="list-style-type: decimal;"><br />
<li>Copyright License</li></ol><br />
<br />
You grant Diaspora, Inc. a license to your Code under the terms of the MIT License (as it appears in Exhibit A) and also under the terms of the GNU Affero General Public License (AGPL), version 3 (as published by the Free Software Foundation), including the following additional permission per AGPL v.3 Section 7:<br />
<br />
You may combine the Program with non-software materials (e.g. images, audio, video, documentation) licensed under the Creative Commons Attribution-ShareAlike (CC-BY- SA) 3.0 Unported license, or any later version of the CC-BY-SA license, forming a single work based on the Program, and propagate the combined work, regardless of whether such propagation would otherwise violate the terms of the AGPL. Except to the extent that the AGPL contradicts any term of the CC-BY-SA license, you must comply with the AGPL.<br />
<br />
You grant Diaspora, Inc. a license to distribute your Code under any later version of the AGPL, and to provide the same option to recipients of the Code from the Diaspora™ Software.<br />
<br />
You grant Diaspora, Inc. a license to your Content under the Creative Commons Attribution-ShareAlike 3.0 Unported license.<br />
<br />
<ol start="4" style="list-style-type: decimal;"><br />
<li>Limitations on Diaspora, Inc.</li></ol><br />
<br />
Diaspora, Inc. will not distribute your Contribution to any third party under any license without also requiring that third party to also make your Contribution available to the public under the same license.<br />
<br />
Diaspora, Inc. will distribute the Diaspora™ Software, as a whole, under version 3 or later of the AGPL. Diaspora, Inc. may distribute general-use components of the Diaspora™ Software under the MIT License. Diaspora, Inc. will distribute a component under the MIT License only if all of its functionality is of general utility (i.e. non-specific to the Diaspora™ Software) and the component does not depend on the Diaspora Software (i.e. it can be separated from the Diaspora™ Software and used in other applications without modification).<br />
<br />
<ol start="5" style="list-style-type: decimal;"><br />
<li>Authority to Contribute</li></ol><br />
<br />
You represent that you have authority to convey the rights granted in this agreement. If your Contribution includes material subject to a license of any third party, you represent that you have provided to Diaspora, Inc. complete details of any applicable license terms of which you are aware, including terms concerning any related patents, trademarks, or other claims of right. You represent that you have not created or licensed the Contribution to Diaspora, Inc. in breach of your employment or any other contract.<br />
<br />
<ol start="6" style="list-style-type: decimal;"><br />
<li>Warranty Disclaimer</li></ol><br />
<br />
IMPORTANT: Contributor provides the Contribution “AS IS” and makes NO WARRANTY OF ANY KIND, either express or implied. In particular, Contributor makes NO WARRANTY OF THE CONTRIBUTION’S QUALITY, MERCHANTABILITY, SATISFACTORINESS, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. Contributor disclaims and Project accepts DISCLAIMER OF ANY INDEMNITY under this agreement or by operation of law.<br />
<br />
<ol start="7" style="list-style-type: decimal;"><br />
<li>Miscellaneous Terms</li></ol><br />
<br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>This agreement constitutes the entire understanding between you and Diaspora, Inc. with respect to the subject matter hereof, and there are no inducements, representations, warranties, or understandings that do not appear expressly in this agreement.</p></li><br />
<li><p>Each individual signing this agreement represents that he or she has the full authority and is duly authorized and empowered to execute this agreement on behalf of the party for which he or she signs.</p></li><br />
<li><p>This agreement may be modified only by express written agreement of both parties.</p></li><br />
<li><p>This agreement shall be governed by the laws of New York applicable to contracts deemed to be made within New York, without regard to choice of law or conflict of law provisions. Furthermore, the parties agree that any action or proceeding arising out of or relating to this agreement shall be instituted in a federal or state court located in New York, and the parties irrevocably submit to the jurisdiction of such court and waive any objection to the venue or the inconvenience of such forum.</p></li><br />
<li><p>This agreement shall not be subject to the United Nations Convention on Contracts for the International Sale of Goods. </p></li><br />
<li><p>If any provision of this agreement shall be held by a court of competent jurisdiction to be illegal, invalid or unenforceable, the remaining provisions shall remain in full force and effect.</p></li></ol><br />
<br />
EXHIBIT A: MIT LICENSE<br />
<br />
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ”Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:<br />
<br />
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.<br />
<br />
THE SOFTWARE IS PROVIDED ”AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<br />
<br />
[[Category:Developers]]<br />
[[Category:Github transfer done]]</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=Category:Needs_update&diff=3537Category:Needs update2014-11-07T05:12:53Z<p>Toreblogallthethings: add link to template</p>
<hr />
<div><br />
== Pages that are in desperate need for updates ==<br />
<br />
Due to being obsolete, bad wrong info, outdated, etc. You can add pages to this category with {{tl|Out of date}}</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=Template:Tl&diff=3536Template:Tl2014-11-07T05:12:32Z<p>Toreblogallthethings: copied from https://en.wikipedia.org/w/index.php?title=Template:Tl&oldid=622723682</p>
<hr />
<div>&#123;&#123;[[Template:{{{1}}}|{{{1}}}]]&#125;&#125;</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=Template:Out_of_date&diff=3535Template:Out of date2014-11-07T05:10:51Z<p>Toreblogallthethings: mention category this adds things to</p>
<hr />
<div>{{ #msgbox: name=Out of date <br />
| type=warn <br />
| date={{{date|}}}<br />
| image=Ambox outdated content.svg <br />
{{#ifeq:{{NAMESPACE}}|Template||{{!}} cat=Out of date}}<br />
| sub=Please help [{{fullurl:{{FULLPAGENAME}}|action=edit}} improve the {{{space|page}}}] by updating it. There may be additional information on the [[:{{NAMESPACE}} talk:{{PAGENAME}}|talk page]]. <br />
| This {{{part|page}}}'s '''accuracy may be compromised due to out-of-date information'''. <br />
}}<br />
<includeonly><br />
[[Category:Needs update]]<br />
</includeonly><br />
<noinclude><br />
This will add pages to [[:Category:Needs update]].<br />
<br />
== Possible template arguments ==<br />
<br />
* '''date'''<br>Insert a date, specifying when the message was inserted into the page. (Will be displayed in a smaller font after the main message.) Can be anything like "July 2012" or "2012-11-10" (as long as people know what it means). Default is to show no date.<br />
* '''space'''<br>specifies the superordinate labeling of the page this template is included in. (The part where it says ''"...help improve the'' [article] '' by updating..."'' Default is "article", but could be "image" or "help page" or something.<br />
* '''part'''<br>denominate the context which the template message is referring to. E.g. the whole article or just a section of one. (Will be used in ''"This'' [article] ''<nowiki>'</nowiki>s accuracy may be..."''.) Default: "article", could be "section" or anything else that makes sense in that sentence.<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=Template:Out_of_date&diff=3534Template:Out of date2014-11-07T05:07:44Z<p>Toreblogallthethings: switch default part to "page", as we don't have articles, as such</p>
<hr />
<div>{{ #msgbox: name=Out of date <br />
| type=warn <br />
| date={{{date|}}}<br />
| image=Ambox outdated content.svg <br />
{{#ifeq:{{NAMESPACE}}|Template||{{!}} cat=Out of date}}<br />
| sub=Please help [{{fullurl:{{FULLPAGENAME}}|action=edit}} improve the {{{space|page}}}] by updating it. There may be additional information on the [[:{{NAMESPACE}} talk:{{PAGENAME}}|talk page]]. <br />
| This {{{part|page}}}'s '''accuracy may be compromised due to out-of-date information'''. <br />
}}<br />
<includeonly><br />
[[Category:Needs update]]<br />
</includeonly><br />
<noinclude><br />
For documentation, see: [[Help:Diaspora* MediaWiki Extension/Messageboxes]]<br />
<br />
== Possible template arguments ==<br />
<br />
* '''date'''<br>Insert a date, specifying when the message was inserted into the page. (Will be displayed in a smaller font after the main message.) Can be anything like "July 2012" or "2012-11-10" (as long as people know what it means). Default is to show no date.<br />
* '''space'''<br>specifies the superordinate labeling of the page this template is included in. (The part where it says ''"...help improve the'' [article] '' by updating..."'' Default is "article", but could be "image" or "help page" or something.<br />
* '''part'''<br>denominate the context which the template message is referring to. E.g. the whole article or just a section of one. (Will be used in ''"This'' [article] ''<nowiki>'</nowiki>s accuracy may be..."''.) Default: "article", could be "section" or anything else that makes sense in that sentence.<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=User_talk:Princessportent&diff=3533User talk:Princessportent2014-11-07T05:05:22Z<p>Toreblogallthethings: welcome</p>
<hr />
<div>Welcome! That sound really frustrating. What is your diaspora ID? (it will look like an email address). [[User:Toreblogallthethings|Toreblogallthethings]] ([[User talk:Toreblogallthethings|talk]]) 05:05, 7 November 2014 (UTC)</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=An_introduction_to_the_Diaspora_source&diff=3529An introduction to the Diaspora source2014-11-06T08:07:49Z<p>Toreblogallthethings: /* Posting something (app/models/user) */ typo fixes</p>
<hr />
<div>== Framework and Tools ==<br />
<br />
Diaspora is written in '''[http://rubyonrails.org/ Ruby on Rails]''', a web framework for the [http://www.ruby-lang.org Ruby programming language].<br /><br />
If you’ve never looked at a Rails project, you may want to check out a [http://guides.rubyonrails.org/getting_started.html Rails guide like this one].<br />
<br />
There are a few tools we’re using that aren’t in every rails project:<br />
<br />
* '''Haml'''<br /><br />
Our view templates are written in HAML (a templating language) instead of the default ERB (HTML with inline Ruby code).<br /><br />
The HAML docs can be found [http://haml-lang.com/docs.html here]. The corresponding files under <tt>app/views</tt>.<br />
* '''Sass'''<br /><br />
Our CSS is written in [http://sass-lang.com/docs.html SASS] (specifically, the ‘scss’ dialect), which generates the actual CSS via the [http://guides.rubyonrails.org/asset_pipeline.html Rails asset pipeline]. The syntax is inspired by CSS, and quite similar, but it offers some additional features like nesting and variables. If you want to edit the stylesheets, have a look in <tt>app/assets/stylesheets/</tt>.<br /><br />
'''''Note:''''' Both HAML and SASS are whitespace sensitive.<br />
* '''Backbone.js &amp; Handlebars.js'''<br /><br />
The client-side functionality and rendering is mostly coordinated with [http://documentcloud.github.com/backbone/ Backbone.js], which communicates [https://en.wikipedia.org/wiki/Representational_state_transfer REST]-fully with the server with JSON and triggers the rendering of the [http://handlebarsjs.com/ Handlebars.js] templates. The logic is found in <tt>app/assets/javascripts/app</tt> and the Handlebars templates are located in <tt>app/assets/templates</tt><br />
<br />
== Testing ==<br />
<br />
Our goal is to test ''everything''. If you find a bug, you first expose it by writing a tests that fails because of the bug. Only then you start fixing the actual code. This is called [https://en.wikipedia.org/wiki/Test-driven_development Test Driven Delopment] (TDD).<br /><br />
We write our unit tests for ruby code in [http://blog.davidchelimsky.net/2007/05/14/an-introduction-to-rspec-part-i/ Rspec], the JavaScript test are in [http://jasmine.github.io/ Jasmine] and integration tests in [https://github.com/cucumber/cucumber-rails Cucumber]. Specs are in <tt>spec</tt>, and Cucumber features are in <tt>features</tt>. For more details see our page on [[Testing Workflow]].<br />
<br />
== The Models ==<br />
<br />
Our Models can be found in the <tt>app/models</tt> folder:<br />
<br />
[[User]] – Users, of course, come first. A User object represents the private information and capabilities of a user on that server. The user object is able to friend people, post updates, and update his profile. A User has a Person.<br />
<br />
[[Person]] – A Person is a User viewed from the outside. When a user friends another user, they friend that user’s Person object. Person objects are replicated across servers, and they are where a User’s public key lives. A Person has many Posts. A Person has a Profile.<br />
<br />
[[Profile]] – This contains information about the person. Currently, a profile looks the same to anyone looking at it.<br />
<br />
[[Contact]] – Defines the relationship between a [[User]] and another user's [[Person]].<br />
<br />
[[Request]] – This is a friend request object that gets sent to another person.<br />
<br />
[[Aspect]] – This contains a list of people, and posts which are for that aspect. Aspects are private to Users, and we might embed the Aspect documents in the User document.<br />
<br />
[[Post]] – A Post belongs to a Person. This is a parent class for different types of posts, it contains comment ids and a few other attributes common to all Posts.<br />
<br />
* Status Message inherits from Post<br />
* Album inherits from Post<br />
* Photo inherits from Post<br />
<br />
Comment – a comment belongs to a Post<br />
<br />
Retraction – this is an object that gets sent out when a post creator deletes a post. It is not a model, but it serializes for dispatch to other Diaspora servers the same way our models do.<br />
<br />
==== Posting something (app/models/user) ====<br />
<br />
# When a user posts anything, they posts it to an aspect or all aspects.<br />
# Assuming the post is valid, the post is created and its id is stored in '''raw_visible_posts''' for that user<br />
# The html for that post is rendered on the server and is pushed to the user through the websocket<br />
# The post is then serialized to xml, wrapped in an encrypted and signed Salmon envelope and POSTed to the receive urls (http://pod.location/receive/users/:id[person_id]) for the recipients' Person objects.<br />
<br />
==== Receiving a post (app/controllers/publics_controller.rb &amp; lib/diaspora/user/receiving.rb) ====<br />
<br />
# The user receives the salmon, decrypts the headers.<br />
# If the signature on the salmon data is from the person who claims to have sent the post is marshaled into an object and saved into the database.<br />
# That post id is stored in the visible posts for the receiving user as well as posts for the aspect the sender is in.<br />
<br />
Here’s the autogenerated documentation http://rubydoc.info/github/diaspora/diaspora/master<br />
<br />
[[Category:Developers]]<br />
[[Category:Technical]]<br />
[[Category:Github transfer done]]</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=An_introduction_to_the_Diaspora_source&diff=3528An introduction to the Diaspora source2014-11-06T08:03:22Z<p>Toreblogallthethings: /* The Models */ typo fix</p>
<hr />
<div>== Framework and Tools ==<br />
<br />
Diaspora is written in '''[http://rubyonrails.org/ Ruby on Rails]''', a web framework for the [http://www.ruby-lang.org Ruby programming language].<br /><br />
If you’ve never looked at a Rails project, you may want to check out a [http://guides.rubyonrails.org/getting_started.html Rails guide like this one].<br />
<br />
There are a few tools we’re using that aren’t in every rails project:<br />
<br />
* '''Haml'''<br /><br />
Our view templates are written in HAML (a templating language) instead of the default ERB (HTML with inline Ruby code).<br /><br />
The HAML docs can be found [http://haml-lang.com/docs.html here]. The corresponding files under <tt>app/views</tt>.<br />
* '''Sass'''<br /><br />
Our CSS is written in [http://sass-lang.com/docs.html SASS] (specifically, the ‘scss’ dialect), which generates the actual CSS via the [http://guides.rubyonrails.org/asset_pipeline.html Rails asset pipeline]. The syntax is inspired by CSS, and quite similar, but it offers some additional features like nesting and variables. If you want to edit the stylesheets, have a look in <tt>app/assets/stylesheets/</tt>.<br /><br />
'''''Note:''''' Both HAML and SASS are whitespace sensitive.<br />
* '''Backbone.js &amp; Handlebars.js'''<br /><br />
The client-side functionality and rendering is mostly coordinated with [http://documentcloud.github.com/backbone/ Backbone.js], which communicates [https://en.wikipedia.org/wiki/Representational_state_transfer REST]-fully with the server with JSON and triggers the rendering of the [http://handlebarsjs.com/ Handlebars.js] templates. The logic is found in <tt>app/assets/javascripts/app</tt> and the Handlebars templates are located in <tt>app/assets/templates</tt><br />
<br />
== Testing ==<br />
<br />
Our goal is to test ''everything''. If you find a bug, you first expose it by writing a tests that fails because of the bug. Only then you start fixing the actual code. This is called [https://en.wikipedia.org/wiki/Test-driven_development Test Driven Delopment] (TDD).<br /><br />
We write our unit tests for ruby code in [http://blog.davidchelimsky.net/2007/05/14/an-introduction-to-rspec-part-i/ Rspec], the JavaScript test are in [http://jasmine.github.io/ Jasmine] and integration tests in [https://github.com/cucumber/cucumber-rails Cucumber]. Specs are in <tt>spec</tt>, and Cucumber features are in <tt>features</tt>. For more details see our page on [[Testing Workflow]].<br />
<br />
== The Models ==<br />
<br />
Our Models can be found in the <tt>app/models</tt> folder:<br />
<br />
[[User]] – Users, of course, come first. A User object represents the private information and capabilities of a user on that server. The user object is able to friend people, post updates, and update his profile. A User has a Person.<br />
<br />
[[Person]] – A Person is a User viewed from the outside. When a user friends another user, they friend that user’s Person object. Person objects are replicated across servers, and they are where a User’s public key lives. A Person has many Posts. A Person has a Profile.<br />
<br />
[[Profile]] – This contains information about the person. Currently, a profile looks the same to anyone looking at it.<br />
<br />
[[Contact]] – Defines the relationship between a [[User]] and another user's [[Person]].<br />
<br />
[[Request]] – This is a friend request object that gets sent to another person.<br />
<br />
[[Aspect]] – This contains a list of people, and posts which are for that aspect. Aspects are private to Users, and we might embed the Aspect documents in the User document.<br />
<br />
[[Post]] – A Post belongs to a Person. This is a parent class for different types of posts, it contains comment ids and a few other attributes common to all Posts.<br />
<br />
* Status Message inherits from Post<br />
* Album inherits from Post<br />
* Photo inherits from Post<br />
<br />
Comment – a comment belongs to a Post<br />
<br />
Retraction – this is an object that gets sent out when a post creator deletes a post. It is not a model, but it serializes for dispatch to other Diaspora servers the same way our models do.<br />
<br />
==== Posting something (app/models/user) ====<br />
<br />
# When a user posts anything, he/she posts it to an aspect or all aspects<br />
# Assuming the post is valid, the post created and its id is stored in raw_visible_posts for that user<br />
# The html for that post is rendered on the server and is pushed to the user through the websocket<br />
# The post is then serialized to xml, wrapped in an encrypted and signed salmon envelope and POSTed to the receive urls(“http://pod.location/receive/users/:id[person_id]”) for the recipient people.<br />
<br />
==== Receiving a post (app/controllers/publics_controller.rb &amp; lib/diaspora/user/receiving.rb) ====<br />
<br />
# The user receives the salmon, decrypts the headers.<br />
# If the signature on the salmon data is from the person who claims to have sent the post is marshaled into an object and saved into the database.<br />
# That post id is stored in the visible posts for the receiving user as well as posts for the aspect the sender is in.<br />
<br />
Here’s the autogenerated documentation http://rubydoc.info/github/diaspora/diaspora/master<br />
<br />
[[Category:Developers]]<br />
[[Category:Technical]]<br />
[[Category:Github transfer done]]</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=Other_ways_to_contribute&diff=3527Other ways to contribute2014-11-06T08:00:12Z<p>Toreblogallthethings: add link to :Category:Needs_update</p>
<hr />
<div>{{Languages}}<br />
<br />
If you don't really have much coding experience, or just don't know Ruby on Rails, there are other, important ways you can to contribute to the project.<br />
<br />
;Get an account<br />
:Start contributing simply by signing up - join one of the many [http://podupti.me open pods] and connect with people. Use the software for yourself and get a feel for it.<br />
<br />
;Open a pod<br />
:Even better than opening a seed (account) on one of the open pods, [[Installation|start your own pod]]. You can run a pod that is only for you or for you and your friends, or you can open it up to anyone who wants to join diaspora*. Installing and running a pod requires a little bit of technical knowledge at the moment, although we're planning to make it simpler.<br />
<br />
;Report bugs <br />
:If something doesn't work as it should, let the coders know. Learn more about [[How to Report a Bug|how to report bugs]] on Github.<br />
:Give as much information as you can, such as the name of your pod, the version of diaspora*s code that your pod is running (you might find this in the footer of the pod's pages, or you can find it on [http://podupti.me/ Pod Uptime], the operating system name and version number your computer/device is running and the name and version number of the bowser you're using.<br />
:Before creating a new issue in Github for a bug, please use Github's search facility to check for existing issues concerning the same bug.<br />
<br />
;Test reported bugs<br />
:Another really useful task is to see if you can reproduce a bug that someone else has reported. Try to perform the operation they said they're having problems with, and see if it works, or whether it goes wrong in the way they describe or even in a different way. Give as many details as you can about what you did and what happened, plus all the detailed information about your setup listed above under reporting a bug.<br />
<br />
;Request new features<br />
: If there's something you'd really like to see in diaspora*, let us know. We discuss possible features using [[How We Communicate#Loomio|Loomio]]. <br />
:Before starting a new discussion in Loomio, please use the search facility on Loomio and Github to check for existing issues or discussions. There are a lot of features which have been requested but which we have not been able to implement yet for one reason or another, so please check carefully that the feature you want hasn't been requested yet.<br />
<br />
;Provide translations<br />
:If you can translate diaspora* into a new language, or improve the existing documentation in your language, we'd love to hear from you. Read more about [[Contribute translations|how to contribute translations]].<br />
:You can also translate this wiki! Check the language pages in the header above.<br />
<br />
;Spread the word<br />
:If you blog, tweet, or have some other platform to reach others, talk about diaspora*. Let people know you're part of the diaspora* community, and how you like it. Users of Facebook, Twitter and other platforms need to know that there is an alternative for them, and how good diaspora* is!<br />
<br />
;Write tutorials and user guides<br />
:We're keen to add to our [https://diasporafoundation.org/tutorials tutorials for users]. If you would like to help write a tutorial on a subject which hasn't yet been covered, let us know. You can find the source on [https://github.com/diaspora/diaspora-project-site Github]<br />
<br />
;Add to this wiki<br />
:If you've got any helpful tips to add, or if something here isn't very clear, edit this wiki. It's a great place to pool user information, so new people can find help and learn about the project. Here's a list of pages that need updating (although some may require discussion to figure out what needs doing): [[:Category:Needs update]]<br />
<br />
;Make a video or some fan art<br />
:Make screencasts, make animations, make slideshows. Show people what diaspora* is, how it works, and why it's good for you.<br />
<br />
'''Also, see the [[Grassroots projects|list of grassroots community projects]] for more suggestions'''<br />
<br />
[[Category:Community]]<br />
[[Category:Github transfer done]]</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=Main_Page&diff=3516Main Page2014-11-06T07:43:51Z<p>Toreblogallthethings: rm link to outdated Contributor license agreement</p>
<hr />
<div>__NOTITLE__<br />
<!-- Languages --><br />
{{Languages}}<br />
<!-- Header --><br />
{|<br />
|colspan = 2 style="border:10px solid #4b4b4b;background:#d5d5d5; "|<br />
{|style="width:100%;"<br />
|<br />
{|align="center" class="plainlinks" <br />
|-<br />
| align="center" style="font-size:200%" | '''Welcome to the official diaspora* wiki!'''<br />
|-<br />
| style="font-size:120%" | '''Looking for information about diaspora*?''' This is the official community-maintained repository of information and documentation, with a particular emphasis on developer resources. Information is regularly updated to signify changes in things like code implementation and design.<br />
<div class="center">This is a wiki - edit, add, rephrase, '''be bold.'''</div><br />
|-<br />
|<br />
----<br />
|-<br />
|align="center"|<br />
[[Image:star.png|15px|*]]&nbsp;[http://github.com/diaspora/diaspora/ Codebase]&nbsp;&nbsp;&nbsp;<br />
[[Image:star.png|15px|*]]&nbsp;[http://groups.google.com/group/diaspora-dev Discussion - Development]&nbsp;&nbsp;&nbsp;[[Image:star.png|15px|*]]&nbsp;[http://groups.google.com/group/diaspora-discuss Discussion - General]&nbsp;&nbsp;&nbsp;[[Image:star.png|15px|*]]&nbsp;[http://webchat.freenode.net/?channels=diaspora-dev IRC - Development]&nbsp;&nbsp;&nbsp;[[Image:star.png|15px|*]]&nbsp;[http://webchat.freenode.net/?channels=diaspora IRC - General]&nbsp;&nbsp;&nbsp;<br />
<br />
[[Image:star.png|15px|*]]&nbsp;[http://loom.io/groups/194 Collaboration & Tracking]&nbsp;&nbsp;&nbsp;<br />
[[Image:star.png|15px|*]]&nbsp;[http://blog.diasporafoundation.org/ News]&nbsp;&nbsp;&nbsp;<br />
[[Image:star.png|15px|*]]&nbsp;[http://diasporafoundation.org/ More..]<br />
|}<br />
|[[Image:Logo.png|right|200px|Logo]]<br />
|}<br />
|}<br />
<!-- Header end --><br />
{| class="wikitable" cellspacing="0" cellpadding="0" width=100% style="border: 1px solid #CCC; border-bottom: none; padding: 5px"<br />
! width=33% style="background:#4b4b4b; color:#fff; border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;" |Developers<br />
! width=33% style="background:#4b4b4b; color:#fff;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;" | Technical <br />
! width=33% style="background:#4b4b4b; color:#fff;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;" | Community <br />
|-<br />
|valign="TOP" style="background:#d5d5d5;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;" | <br />
For everything regarding development<br />
* [[Getting started with contributing|Start contributing]]<br />
* [[Developer workflows]]<br />
* [[Git workflow]]<br />
* [[Testing workflow]]<br />
* [[Development features wishlist]]<br />
* [[:Category:Developers|More...]]<br />
<br />
|valign="TOP" style="background:#d5d5d5;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;" | <br />
A collection of articles detailing the different working parts of a diaspora* pod. If you're looking to find more information on how diaspora* works, this would be a good section to check out.<br />
<br />
* [[An introduction to the Diaspora source]]<br />
* [[Diaspora message passing]]<br />
* [[Federation message semantics]]<br />
* [[Federation protocol overview]]<br />
* [[Required gems overview]]<br />
* [[:Category:Technical|More...]]<br />
<br />
<br />
|valign="TOP" style="background:#d5d5d5;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;"| <br />
For everything pertaining to our community, how we communicate, and how we can work together<br />
* [[Choosing a pod]]<br />
* [[How we communicate]]<br />
* [[How to report a bug]]<br />
* [[Welcoming committee]]<br />
* [[Other ways to contribute]]<br />
* [[Grassroots projects]]<br />
* [[Community code chat]]<br />
* [[Media coverage]]<br />
* [[Tools to use with Diaspora]]<br />
* [[:Category:Community|More...]]<br />
<br />
|}<br />
<br />
{| class="wikitable" cellspacing="0" cellpadding="0" width=100% style="border: 1px solid #CCC; padding: 5px"<br />
! width=33% style="background:#4b4b4b; color:#fff;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;" | Podmin Resources<br />
! width=33% style="background:#4b4b4b; color:#fff;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;" | Guidelines and Policies<br />
! width=33% style="background:#4b4b4b; color:#fff;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;" | Governance<br />
|-<br />
|valign="TOP" style="background:#d5d5d5;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;" | <br />
Collected installation guides, so that '''you''' can get diaspora* up and running in no time<br />
* [[Installation|Installation guides]]<br />
* [[Updating]]<br />
* [[Integrating other social networks]]<br />
* [[Custom splash page]]<br />
* [[PayPal sidebar integration]]<br />
* [[Website copy editing]]<br />
* [[:Category:Podmin|More...]]<br />
<br />
|valign="TOP" style="background:#d5d5d5;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;" | <br />
Things like trademark and contribution guidelines<br />
* [[Feature request guidelines]]<br />
* [[Pull request guidelines]]<br />
* [[Branding|Use of branding]]<br />
* [[Trademark guidelines]]<br />
* [[:Category:Guidelines|More...]]<br />
<br />
|valign="TOP" style="background:#d5d5d5;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;" | <br />
Info on how governance works in the diaspora* project.<br />
* [[Discussion and voting]]<br />
* [[:Category:Proposals|Proposals]]<br />
* [[:Category:Governance|More...]]<br />
<br />
|}<br />
<br />
{| class="wikitable" cellspacing="0" cellpadding="0" width=100% style="border: 1px solid #CCC; padding: 5px"<br />
! width=33% style="background:#4b4b4b; color:#fff;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;" | Frequenty Asked Questions<br />
|-<br />
<br />
|valign="TOP" style="background:#d5d5d5;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;" | <br />
Have a question? Check here first..<br />
* [[FAQ for developers]]<br />
* [[FAQ for users]]<br />
* [[FAQ for pod maintainers]]<br />
* [[FAQ For Web Developers|FAQ for web developers]]<br />
<br />
|}</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=FAQ_for_developers&diff=3515FAQ for developers2014-11-06T07:31:37Z<p>Toreblogallthethings: /* What if my question isn't answered here? */ add link to :Category:Developers and reminder to read the pages linked on the main page</p>
<hr />
<div>{{Languages}}<br />
<br />
We've started adding questions that we see a lot to this page, but it doesn't cover everything.<br />
If you have other questions, the best way to get an answer quickly is to visit us in IRC (Internet Relay Chat). <br />
IRC is a large decentralized chat network that predates the World Wide Web. The bulk of the first wave of open source software (read: Linux) was developed using IRC as a communication channel. This continues to be the case today.<br />
<br />
If you are new to open source development, IRC works like subscription services such as Campfire and Slack, which are like fancy front ends for IRC. ''Links to IRC channels and mailing lists are at the bottom of this page.''<br />
<br />
== How do I get the latest source? ==<br />
<br />
Pull the latest from github.<br />
<br />
git pull<br />
<br />
Install any updates to gems:<br />
<br />
bundle install<br />
<br />
== How do I reset the database to a totally clean state? ==<br />
<br />
rake db:drop db:create db:schema:load<br />
<br />
== How do I get debug information? ==<br />
<br />
You can use the command <br />
<br />
tail -f log/development.log<br />
<br />
to watch the log in development mode.<br />
<br />
== I have found an issue with federation, how can I debug it? ==<br />
<br />
We actually provide a special configuration for testing server-to-server communication, which produces logs that contain only the events around federation. It involves spinning up two Diaspora* instances which you can use to recreate realistic circumstances and the logs of both sides are recorded into a single file. <br />
See [[Federation_Logger | Federation Logger]]<br />
<br />
== What tools will I need to do development? ==<br />
<br />
You can write Ruby, JavaScript and template/styling markup with any editor, just use your favourite one that works best for you.<br />
<br />
For developers who have contributed to a diaspora* project owned repository with at least two successfully merged pull requests, you can request an open source project license for [https://www.jetbrains.com/ruby/index.html RubyMine] courtesy of ''JetBrains''. [mailto:team@diasporafoundation.org Send your request] for the license key - make sure to include details so that your contributions can be verified from commits. The license is valid for a year at a time.<br />
<br />
== What if my question isn't answered here? ==<br />
<br />
'''Wiki'''<br />
<br />
Check other wiki pages in [[:Category:Developers]], particularly those listed on the [[Main Page]] under ''Developers''.<br />
<br />
'''IRC Channels'''<br />
<br />
IRC is the best way to get an answer quickly. Click the link to the join the channel in a new <br />
browser window. You can also download and use an IRC client such as <br />
[http://colloquy.info/ Colloquy] for OS X, [http://xchat.org/ XChat] for GNU/Linux or <br />
[http://www.mirc.com/ mIRC] for Windows.<br />
<br />
* [http://webchat.freenode.net/?channels=diaspora #diaspora on irc.freenode.net] - general discussion and help for folks installing Diaspora<br />
* [http://webchat.freenode.net/?channels=diaspora-dev #diaspora-dev on irc.freenode.net] - discussion of the source code and help for new developer contributors<br />
* [http://webchat.freenode.net/?channels=diaspora-de #diaspora-de on irc.freenode.net] - discussion in German.<br />
<br />
'''Mailing lists'''<br />
<br />
We have two mailing lists, both Google groups. They tend to have a slightly different audience than<br />
the IRC channels, so if you can't get your question answered in IRC, you can try here.<br />
<br />
* [http://groups.google.com/group/diaspora-discuss Discussion list] - Google group for discussion of non-technical topics<br />
* [http://groups.google.com/group/diaspora-dev Development discussion list] - Google group for discussion of installation, source code, and other technical topics<br />
<br />
== FAQ for web developers ==<br />
<br />
If you're developing an external web site, and would like to know about adding diaspora related features to your site, you might want to look at the [[FAQ for web developers]].<br />
<br />
[[Category:Developers]]<br />
[[Category:Github transfer done]]</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=User:Toreblogallthethings&diff=3514User:Toreblogallthethings2014-11-06T07:22:33Z<p>Toreblogallthethings: oops, forgot the star</p>
<hr />
<div>Diapsora* account: https://socializer.cc/u/toreblogallthethings</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=User:Toreblogallthethings&diff=3513User:Toreblogallthethings2014-11-06T07:19:55Z<p>Toreblogallthethings: add link to diaspora account</p>
<hr />
<div>Diapsora account: https://socializer.cc/u/toreblogallthethings</div>Toreblogallthethingshttps://wiki.diasporafoundation.org/wiki/index.php?title=FAQ_for_users&diff=3512FAQ for users2014-11-06T07:12:12Z<p>Toreblogallthethings: /* What if my question is not answered below? */ rephrase to include links to FAQ for web developers and Current and future development</p>
<hr />
<div>__NOEDITSECTION__<br />
{{Languages}}<br />
<br />
=== Help! I need some basic help to get me started! ===<br />
<br />
You're in luck. Try the [http://diasporafoundation.org/getting_started/sign_up 'Getting started' tutorial series] on our project site. It will take you step-by-step through the registration process and teach you all the basic things you need to know about using diaspora*.<br />
<br />
== Getting help ==<br />
<br />
==== What if my question is not answered below? ====<br />
<br />
You can also get answers from:<br />
<br />
* the [http://diasporafoundation.org/tutorials tutorials] on our main project site<br />
* elsewhere on this wiki, including such pages as<br />
** the [[FAQ for pod maintainers]]<br />
** the [[FAQ for developers]] (of the Diaspora software)<br />
** the [[FAQ for web developers]]<br />
** [[Current and future development]] (including notes about various commonly requested features, like editing posts)<br />
** or by [[Special:Search|searching the wiki]] for the information you want<br />
<br />
Or you can ask your specific question:<br />
<br />
* in a public post on diaspora* using the #question tag. <br />
* on [[How We Communicate#IRC|our IRC channel]] (live chat)<br />
<br />
== Pods ==<br />
<br />
A pod is a server running the diaspora* software and connected to the diaspora* network. "Pod" is a metaphor referring to pods on plants which contain seeds, in the way that a server contains a number of user accounts. <br />
There are many different pods. You can add friends from other pods and communicate with them. (You can think of a diaspora* pod as similar to an email provider: there are public pods, private pods, and with some effort you can even run your own). <br />
<br />
==== How can I join diaspora*? ==== <br />
<br />
If you don't know where to sign up, read our guide to [[Choosing a pod|choosing a pod]]. Any pod on the list at Pod Uptime should be working fine (check ratings by hovering your pointer over the pod's name). <br />
All the servers communicate with each others, so no matter where you sign up, you will always be able to communicate with anyone from any pod. <br />
If once you've signed up you've got any question, just make a public post and tag it as #question. <br />
<br />
==== Where can I find a list of public pods that I can join? ==== <br />
<br />
There is a list of open pods at [http://podupti.me/ Pod Uptime].<br />
You can freely sign up on any of these pods. You can base your choice of pod on the ratings data on give there, and you can also check which pods are nearest to you by clicking 'Show map view' in the top right-hand corner.<br />
<br />
==== Are there more complete lists of pods? ====<br />
There are various community lists of pods which include private pods which aren't open to registration. Since Diaspora is decentralized they can differ from each other. For example:<br />
* [https://diasp.eu/stats.html How many users are in the DIASPORA network?]<br />
* [https://diapod.net/active Active Pods]<br />
<br />
==== I just joined a pod, how can I find people to share with? ====<br />
<br />
Invite your friends using the email link in the side-bar. <br />
Follow #tags to discover others who share your interests, and add those who post things that interest you to an aspect. <br />
Shout out that you're #newhere in a public post.<br />
<br />
==== How do I use the search box to find particular individuals? ====<br />
<br />
If you know their full diaspora* ID (e.g. <tt>username@podname.org</tt>), you can find them by searching for it. If you are on the same pod you can search for just their username. <br />
An alternative is to search for them by their profile name (the name you see on screen).<br />
If a search does not work the first time, try it again.<br />
<br />
== Aspects ==<br />
<br />
==== What is an aspect? ====<br />
<br />
Aspects are the way you group your contacts on diaspora*. An aspect is one of the faces you show to the world. It might be who you are at work, or who you are to your family, or who you are to your friends in a club you belong to.<br />
<br />
==== When I post to an aspect, who sees it? ====<br />
<br />
If you make a limited post, it will only be visible to the people you have put in that aspect (or those aspects, if it is made to multiple aspects). Contacts you have that aren't in the aspect have no way of seeing the post, unless you've made it ''public''. Only public posts will ever be visible to anyone who you haven't placed into one of your aspects.<br />
<br />
==== Can I restrict the posts I see to just those from certain aspects? ====<br />
<br />
Yes. Click on My Aspects in the side-bar and then click individual aspects in the list to select or deselect them. Only the posts by people in the selected aspects will appear in your stream. <br />
<br />
==== Do my contacts know which aspects I have put them in? ====<br />
<br />
No. They cannot see the name of the aspect under any circumstances. <br />
<br />
==== What does "make contacts in this aspect visible to each other" mean? ====<br />
<br />
If you check this option then contacts from that aspect will be able to see who else is in it, on your profile page under your picture. It's best to select this option only if the contacts in that aspect all know each other. They still won't be able to see what the aspect is called.<br />
<br />
==== If I remove someone from an aspect, or all of my aspects, are they notified of this? ====<br />
<br />
No. <br />
<br />
==== Can I rename an aspect? ====<br />
<br />
Yes. In your list of aspects on the left side of the main page, point your mouse at the aspect you want to rename. Click the little 'edit' pencil that appears to the right. Click ''rename'' in the box that appears. <br />
<br />
==== Once I have posted something, can I change the aspect(s) that can see it? ====<br />
<br />
No, but you can always make a new post with the same content and post it to a different aspect.<br />
<br />
==== Can I post content to multiple aspects at once? ====<br />
<br />
Yes. When you are making a post, use the aspect selector button to select or deselect aspects. Your post will be visible to all the aspects you select. You could also select the aspects you want to post to in the side-bar. When you post, the aspect(s) that you have selected in the list on the left will automatically be selected in the aspect selector when you start to make a new post. <br />
<br />
==== Can I add a person to multiple aspects? ====<br />
<br />
Yes. Go to your ''contacts'' page and click ''my contacts''. For each contact you can use the menu on the right to add them to (or remove them from) as many aspects as you want. Or you can add them to a new aspect (or remove them from an aspect) by clicking the aspect selector button on their profile page. Or you can even just move the pointer over their name where you see it in the stream, and a 'hover-card' will appear. You can change the aspects they are in right there.<br />
<br />
==== How do I delete an aspect? ====<br />
<br />
In your list of aspects on the left side of the main page, point your mouse at the aspect you want to delete. Click the little 'edit' pencil that appears on the right. Click the ''delete'' button in the box that appears. <br />
<br />
== Public posts ==<br />
<br />
==== When I post something publicly, who can see it? ====<br />
<br />
Anyone using the internet can potentially see a post you mark public, so make sure you really do want your post to be public. It's a great way of reaching out to the world.<br />
<br />
==== How can other people find my public post? ====<br />
<br />
Your public posts will appear in the streams of anyone following you. If you included #tags in your public post, anyone following those tags will find your post in their streams. Every public post also has a specific URL that anyone can view, even if they're not logged in - thus public posts may be linked to directly from Twitter, blogs, etc. Public posts may also be indexed by search engines.<br />
<br />
==== Who can comment on, reshare, or like my public post? ====<br />
<br />
Any logged-in diaspora* user can comment on, reshare, or like your public post.<br />
<br />
==== When I comment on, reshare, or like a public post, who can see it? ====<br />
<br />
Any logged-in diaspora* user and anyone else on the internet. Comments, likes, and reshares of public posts are also public. <br />
<br />
==== What happens when I deselect one or more aspects when making a public post? ====<br />
<br />
Deselecting aspects does not affect a public post. It will still appear in the streams of all of your contacts.<br />
To make a post visible only to specific aspects, you need to select those aspects from the button under the publisher.<br />
<br />
== Private posts ==<br />
<br />
==== When I post a message to an aspect (i.e., a private post), who can see it? ====<br />
<br />
Only logged-in diaspora* users you have placed in that aspect can see your private post.<br />
<br />
==== Who can comment on or like my private post? ====<br />
<br />
Only logged-in diaspora* users you have placed in that aspect can comment on or like your private post.<br />
<br />
==== Who can reshare my private post? ====<br />
<br />
Nobody. Private posts are not resharable. Logged-in diaspora* users in that aspect can potentially copy and paste it, however.<br />
<br />
==== When I comment on or like a private post, who can see it? ====<br />
<br />
Only the people that the post was shared with (the people who are in the aspects selected by the original poster) can see its comments and likes.<br />
<br />
== Public profiles == <br />
<br />
==== Who sees my public profile? ====<br />
<br />
Any logged-in diaspora* user, as well as the wider internet, can see it. Each profile has a direct URL, so it may be linked to directly from outside sites. It may be indexed by search engines.<br />
<br />
==== What's in my public profile? ====<br />
<br />
Your name, the five tags you chose to describe yourself, and your photo. It's the stuff in the top section of the edit profile page. You can make this profile information as identifiable or anonymous as you like. Your profile page also shows any public posts you have made.<br />
<br />
==== Who sees updates to my public profile? ====<br />
<br />
Anyone can see changes if they visit your profile page.<br />
<br />
==== What do the tags on my public profile do? ====<br />
<br />
They help people get to know you. Your profile picture will also appear on the left-hand side of those particular tag pages, along with anyone else who has them in their public profile. <br />
<br />
== Private profiles ==<br />
<br />
==== Who sees my private profile? ====<br />
<br />
Any logged-in user that you are sharing with (meaning, you have added them to one of your aspects). However, people following you, but whom you do '''not''' follow, will see only your public information.<br />
<br />
==== What's in my private profile? ====<br />
<br />
Biography, location, gender, and birthday. It's the stuff in the bottom section of the edit profile page. All this information is optional – it's up to you whether you fill it in. Logged-in users who you have added to your aspects are the only people who can see your private profile. They will also see the private posts that made to the aspect(s) they are in, mixed in with your public posts, when they visit your profile page.<br />
<br />
==== Who sees updates to my private profile? ====<br />
<br />
Anyone in your aspects sees changes to your private profile.<br />
<br />
== Sharing ==<br />
<br />
==== What happens when I add someone to one of my aspects? Or when someone adds me to one of their aspects? ====<br />
<br />
Let's say that Amy adds Ben to an aspect, but Ben has not (yet) added Amy to an aspect:<br />
<br />
* Ben will receive a notification that Amy has "started sharing" with Ben.<br />
* Amy will start to see Ben's ''public'' posts in her stream. <br />
* Amy will ''not'' see any of Ben's ''private'' posts.<br />
* Ben will ''not'' see Amy's ''public'' or ''private'' posts in his stream.<br />
* But if Ben goes to Amy's profile page, then he will see Amy's ''private'' posts that she makes to her aspect that has him in it (as well as her ''public'' posts which anyone can see there).<br />
* Ben will be able to see Amy's private profile (bio, location, gender, birthday).<br />
* Amy will appear under "''Only sharing with me''" on Ben's contacts page. <br />
<br />
This is known as asymmetrical sharing. If and when Ben also adds Amy to an aspect then it would become mutual sharing, with both Amy's and Ben's public posts and relevant private posts appearing in each other's streams, etc. <br />
<br />
==== Who are the people listed in "Only sharing with me" on my contacts page? ====<br />
<br />
These are people that have added you to one of their aspects, but who are not (yet) in any of your aspects. In other words, they are sharing with you, but you are not sharing with them (asymmetrical sharing). If you add them to an aspect, they will then appear under that aspect and not under "only sharing with you". See above.<br />
<br />
==== Is there a list of people whom I have added to one of my aspects, but who have not added me to one of theirs? ====<br />
<br />
No, but you can see whether or not someone is sharing with you by visiting their profile page. If they are, the bar under their profile picture will be green; if not, it'll be grey.<br />
You should get a notification each time someone starts sharing with you.<br />
<br />
==== When I add someone to an aspect, can they see older posts that I have already posted to that aspect? ====<br />
<br />
No. They will only be able to see new posts to that aspect. They (and everyone else) can see your older ''public'' posts on your profile page, and they ''may'' also see them in their stream.<br />
<br />
== Posts and posting ==<br />
<br />
==== How do I hide a post? / How do I stop getting notifications about a post that I commented on? ====<br />
<br />
If you point your mouse at the top of a post, an X appears on the right. Click it to hide the post and mute notifications about it. You can still see the post if you visit the profile page of the person who posted it. <br />
<br />
==== How can I format the text in my posts (bold, italics, etc.)? ====<br />
<br />
By using a simplified system called [http://diasporafoundation.org/formatting Markdown]. You can find the full Markdown syntax [http://daringfireball.net/projects/markdown/syntax here]. The ''preview'' button is really helpful here, as you can see how your message will look ''before'' you share it.<br />
<br />
==== How do I insert images into posts? ====<br />
<br />
Click the little camera icon to insert an image into a post. Press the photo icon again to add another photo, or you can select multiple photos to upload in one go. <br />
<br />
==== Can I insert images into comments? ====<br />
<br />
The following Markdown code <pre>![image text](image url)</pre> can be used to insert images from the web into comments as well as posts.<br />
<br />
==== Can I customize the size of images in posts or comments? ====<br />
<br />
No. Images are resized automatically to fit the stream. Markdown does not have a code for specifying the size of an image.<br />
<br />
==== How do I embed a video, audio, or other multimedia content into a post? ====<br />
<br />
You can usually just paste the URL (e.g. <tt><nowiki>http://www.youtube.com/watch?v=nnnnnnnnnnn</nowiki></tt> ) into your post and the video or audio will be embedded automatically. Some of the sites that are supported are: [http://youtube.com YouTube], [http://vimeo.com/ Vimeo], [http://soundcloud.com/ SoundCloud], [http://www.flickr.com/ Flickr] and a few more. diaspora* uses [http://www.oembed.com oEmbed] for this feature. We're supporting new sites all the time.<br />
Remember to always post simple, full links: no shortened links; no operators after the base URL; and give it a little time before you refresh the page after posting for seeing the preview.<br />
<br />
==== What is the character limit for posts? ==== <br />
<br />
65,535 characters. That's 65,395 more characters than you get on Twitter! ;) <br />
<br />
==== What is the character limit for posts shared through a connected service with a smaller character count? ====<br />
<br />
In that case your post is limited to the smaller character count (140 in the case of Twitter; 1000 in the case of Tumblr), and the number of characters you have left to use is displayed when that service's icon is highlighted. You can still post to these services if your post is longer than their limit, but the text is truncated on those services.<br />
<br />
==== Why is my stream full of posts from people I don't know and don't share with? ====<br />
<br />
Your stream is made up of three types of posts:<br />
<br />
# Posts by people you are sharing with, which come in two types: public posts and limited posts shared with an aspect that you are part of. To remove these posts from your stream, simply stop sharing with the person. <br />
# Public posts containing one of the tags that you follow. To remove these, stop following the tag.<br />
# Public posts by people listed in the Community Spotlight. These can be removed by unchecking the “Show Community Spotlight in Stream?” option in the Account tab of your Settings.<br />
<br />
==== Why sometimes users from other pods can't see part of my posts / why sometimes I can't see part of posts of users from other pods ====<br />
If you / other users are supposed to see those posts while browsing from own pods (for example those posts are public or your have a proper sharing connection), then the problem can be related to federation. To work in decentralized fashion Diaspora is using the federation protocol. It's currently implemented using the "push" model which means that if some posts weren't propagated (pushed) to some pods at the time when those posts were made (whether because those pods weren't connected yet or there was no network connectivity), in result those target pods won't see those posts. For more in depth explanation see this [http://geexxx.fr/2013/07/23/comment-ca-marche-la-federation-de-diaspora/#english overview of Diaspora federation] by @Fla.<br />
<br />
== Tags ==<br />
<br />
==== What are tags for? ====<br />
<br />
Tags are a way to categorize a post, usually by topic. Searching for a tag shows all posts with that tag that you can see (both public and private posts). This lets people who are interested in a given topic find public posts about it. <br />
<br />
==== Can I put tags in comments or just in posts? ====<br />
<br />
A tag added to a comment will still appear as a link to that tag's page, but it will not make that post (or comment) appear on that tag page. This only works for tags in posts.<br />
<br />
==== What are "#Followed Tags" and how do I follow a tag? ====<br />
<br />
After searching for a tag you can click the button at the top of the tag's page to "follow" that tag. It will then appear in your list of followed tags on the left. Clicking one of your followed tags takes you to that tag's page so you can see recent posts containing that tag. Click on ''#Followed Tags'' to see a stream of posts that include one of any of your followed tags. <br />
<br />
==== Who are the people listed on the left-hand side of a tag page? ====<br />
<br />
They are people who have listed that tag to describe themselves in their public profile. <br />
<br />
==== How can I filter/exclude some tags from my stream? ====<br />
<br />
This is not yet available directly through diaspora*, but some [[Tools to use with Diaspora|third-party tools]] have been written that might provide this.<br />
<br />
== Mentions == <br />
<br />
==== What is a "mention"? ====<br />
<br />
A mention is a link to a person's profile page that appears in a post. When someone is mentioned they receive a notification that calls their attention to the post. <br />
<br />
==== How do I mention someone when making a post? ====<br />
<br />
Type the "@" sign and start typing their name. A drop down menu should appear to let you select them more easily. <br />
Note that it is only possible to mention people you have added to an aspect. <br />
<br />
==== Can I mention someone in a comment? ====<br />
<br />
No, not currently.<br />
<br />
==== Is there a way to see the posts in which I have been mentioned? ====<br />
<br />
Yes, click "''Mentions''" in the left hand column on your home page. <br />
<br />
== Resharing posts ==<br />
<br />
==== Can I reshare a public post with only certain aspects? ====<br />
<br />
No, when you reshare a public post it automatically becomes one of your public posts. To share it with certain aspects, copy and paste the contents of the post into a new post.<br />
<br />
==== Can I reshare a private post with only certain aspects? ====<br />
<br />
No, it is not possible to reshare a private post. This is to respect the intentions of the original poster who only shared it with a particular group of people. <br />
<br />
== Account and data management ==<br />
<br />
==== How do I move my seed (account) from one pod to another? ====<br />
<br />
In the future you will be able to export your seed from a pod and import it on another, but this is not currently possible. You could always open a new account and add your contacts to aspects on that new seed, and ask them to add your new seed to their aspects.<br />
<br />
==== Can I download a copy of all of my data contained in my seed (account)? ====<br />
<br />
Yes. At the bottom of the Account tab of your settings page there are two buttons for downloading your data. <br />
<br />
==== How do I delete my seed (account)? ====<br />
<br />
Go to the bottom of your settings page and click the ''Close Account'' button. <br />
<br />
==== How much of my information can my pod administrator see? ====<br />
<br />
Communication *between* pods is always encrypted (using [https://en.wikipedia.org/wiki/Transport_Layer_Security SSL] and diaspora*'s own transport encryption), but the storage of data on pods is not encrypted. If they wanted to, the database administrator for your pod (usually the person running the pod) could access all your profile data and everything that you post (as is the case for most websites that store user data). Running your own pod provides more privacy since you then control access to the database. <br />
<br />
==== Can the administrators of other pods see my information? ====<br />
<br />
Once you are sharing with someone on another pod, any posts you share with them and a copy of your profile data are stored (cached) on their pod, and are accessible to that pod's database administrator. When you delete a post or profile data it is deleted from your pod and any other pods where it had previously been stored.<br />
<br />
== Miscellaneous ==<br />
<br />
==== Is there a quick way to go back to the top of a page after I scroll down? ====<br />
<br />
Yes. After scrolling down a page, click on the grey arrow that appears in the bottom right corner of your browser window.<br />
<br />
==== Are there photo or video albums? ====<br />
<br />
No, not currently. However you can view a stream of their uploaded pictures from the Photos section in the side-bar of their profile page.<br />
<br />
==== Can I subscribe to someone's public posts with a feed reader? ====<br />
<br />
Yes, but this is not yet a polished feature and the formatting of the results is pretty rough. If you want to try it anyway, go to someone's profile page and click the feed button in your browser, or you can copy the profile URL (i.e. <tt><nowiki>https://joindiaspora.com/people/somenumber</nowiki></tt>), and paste it into a feed reader. The resulting feed address looks like this: <tt><nowiki>https://joindiaspora.com/public/username.atom</nowiki></tt> diaspora* uses Atom rather than RSS.<br />
<br />
==== Is there a diaspora* app for Android or iOS? ====<br />
<br />
There are several Android apps in very early development. Several are long-abandoned projects and so do not work well with the current version of diaspora*. Don't expect much from these apps at the moment. Currently the best way to access diaspora* from your mobile device is through a browser, because we've designed a mobile version of the site which should work well on all devices.<br />
There is currently no app for iOS. Again, diaspora* should work fine via your browser.<br />
<br />
[[Category:Community]]<br />
[[Category:Github transfer done]]</div>Toreblogallthethings