Difference between revisions of "Core developer introduction"

From Creative Commons
Jump to: navigation, search
(Get cc packages set up with zc.buildout)
(Get cc packages set up with zc.buildout)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[[Category:CC_Tech_Handbook]]
 +
 
== First week or two: getting acclimated ==
 
== First week or two: getting acclimated ==
  
Line 11: Line 13:
  
 
* cc.license
 
* cc.license
* cc.licenserdf
+
* license.rdf
 
* cc.engine
 
* cc.engine
* cc.i18n
+
* i18n
 
* cc.api
 
* cc.api
* cc.deedscraper
+
* deedscraper
 +
 
 +
Next:
 +
 
 +
Configure buildout so it takes less than your lifetime to complete: http://www.cynapse.com/blog/cynin-buildout-low-bandwidth-try-these-settings
  
 
You should then set up zc.buildout.  For more about what zc.buildout
 
You should then set up zc.buildout.  For more about what zc.buildout
Line 21: Line 27:
  
 
   python bootstrap.py && ./bin/buildout
 
   python bootstrap.py && ./bin/buildout
 +
 +
Next, you'll need the RDF library, which comes from Redland (you need the redland-bindings package configured with --enable-python):
 +
 +
http://librdf.org
  
 
=== Get server running ===
 
=== Get server running ===
Line 43: Line 53:
 
* Play with http://creativecommons.org/choose/ and see how the output there has RDFa embedded in it
 
* Play with http://creativecommons.org/choose/ and see how the output there has RDFa embedded in it
 
* ... don't bother reading the RDF primer immediately, let's talk about it on the phone
 
* ... don't bother reading the RDF primer immediately, let's talk about it on the phone
 +
* http://wiki.creativecommons.org/CC_REL
 +
* http://en.wikipedia.org/wiki/XML_namespace
 
* Read: http://labs.creativecommons.org/2009/12/18/understanding-the-state-of-sanity-via-whiteboards-and-ascii-art/
 
* Read: http://labs.creativecommons.org/2009/12/18/understanding-the-state-of-sanity-via-whiteboards-and-ascii-art/
 
* Read: http://labs.creativecommons.org/2010/01/06/caching-deeds-for-peak-performance/
 
* Read: http://labs.creativecommons.org/2010/01/06/caching-deeds-for-peak-performance/
 
* If you get stuck on git, http://progit.org/book/ is really great.
 
* If you get stuck on git, http://progit.org/book/ is really great.
* http://wiki.creativecommons.org/CC_REL
+
 
 +
Some general CC pages you should read:
 +
 
 +
* http://creativecommons.org/licenses/
 +
* All sections on http://creativecommons.org/about
 +
* The FAQ http://wiki.creativecommons.org/FAQ
 +
* The CC0 FAQ http://wiki.creativecommons.org/CC0_FAQ
 +
* The Public Domain Mark FAQ http://wiki.creativecommons.org/PDM_FAQ
 +
 
 +
== Backups! ==
 +
 
 +
You should have the machine you work on have backups done regularly and automatically.  We have some in-house backup machines, but you can backup locally, even to an external drive.  You just need to backup your data.
 +
 
 +
Some of us like using Dirvish for this.
  
 
== Start working on tickets ==
 
== Start working on tickets ==

Latest revision as of 06:02, 18 April 2013


First week or two: getting acclimated

Server / git access

  • Generate SSH key
  • Coordinate with nkinkade about getting on servers
  • Coordinate about getting git access

Get cc packages set up with zc.buildout

Do git checkouts *via ssh* for all of these packages:

  • cc.license
  • license.rdf
  • cc.engine
  • i18n
  • cc.api
  • deedscraper

Next:

Configure buildout so it takes less than your lifetime to complete: http://www.cynapse.com/blog/cynin-buildout-low-bandwidth-try-these-settings

You should then set up zc.buildout. For more about what zc.buildout is, let's talk on the phone.

 python bootstrap.py && ./bin/buildout

Next, you'll need the RDF library, which comes from Redland (you need the redland-bindings package configured with --enable-python):

http://librdf.org

Get server running

In cc.engine:

 ./bin/paster serve cc.engine.ini --reload

Get cross-package virtualenv working

http://labs.creativecommons.org/2010/03/16/using-virtualenv-and-zc-buildout-together/

This will be important when you have to work on multiple packages that affect each other at once.

Reading materials

You aren't expected to completely grasp all of this immediately.

Some general CC pages you should read:

Backups!

You should have the machine you work on have backups done regularly and automatically. We have some in-house backup machines, but you can backup locally, even to an external drive. You just need to backup your data.

Some of us like using Dirvish for this.

Start working on tickets

EG, with Jon Palecek, we're starting with:

http://wiki.creativecommons.org/Clarity_Project

Talk and pick out the appropriate tickets