Difference between revisions of "FAQ for developers"

From diaspora* project wiki
Jump to: navigation, search
(What if my question isn't answered here?: add link to Category:Developers and reminder to read the pages linked on the main page)
(Use binstub)
Line 19: Line 19:
== How do I reset the database to a totally clean state? ==
== How do I reset the database to a totally clean state? ==
     rake db:drop db:create db:schema:load
     bin/rake db:drop db:create db:schema:load
== How do I get debug information? ==
== How do I get debug information? ==

Revision as of 00:48, 4 December 2014


We've started adding questions that we see a lot to this page, but it doesn't cover everything. If you have other questions, the best way to get an answer quickly is to visit us in IRC (Internet Relay Chat). 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.

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.

How do I get the latest source?

Pull the latest from github.

   git pull

Install any updates to gems:

   bundle install

How do I reset the database to a totally clean state?

   bin/rake db:drop db:create db:schema:load

How do I get debug information?

You can use the command

   tail -f log/development.log

to watch the log in development mode.

I have found an issue with federation, how can I debug it?

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. See Federation Logger

What tools will I need to do development?

You can write Ruby, JavaScript and template/styling markup with any editor, just use your favourite one that works best for you.

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 RubyMine courtesy of JetBrains. 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.

What if my question isn't answered here?


Check other wiki pages in Category:Developers, particularly those listed on the Main Page under Developers.

IRC Channels

IRC is the best way to get an answer quickly. Click the link to the join the channel in a new browser window. You can also download and use an IRC client such as Colloquy for OS X, XChat for GNU/Linux or mIRC for Windows.

Mailing lists

We have two mailing lists, both Google groups. They tend to have a slightly different audience than the IRC channels, so if you can't get your question answered in IRC, you can try here.

FAQ for web developers

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.