Permalink
Browse files

Merge branch 'candidate' of labs.riseup.net:crabgrass into candidate

  • Loading branch information...
2 parents 8ce9ebb + a6ad5d1 commit b46faea8c6b6a27910ea344a6bbd969621246221 @micah micah committed Nov 6, 2009
Showing with 14 additions and 13 deletions.
  1. +3 −2 doc/AUTHORS
  2. +11 −11 doc/DEVELOPMENT
View
@@ -20,6 +20,7 @@ Elijah Saxon
Jessi Berkelhammer
Seth Walker
Micah Anderson
+Juozas Gaigalas
= Authors of Included Software
@@ -31,12 +32,12 @@ Free Software Foundation. You may modify these libaries and files without
redistributing your changes.
== icons and css
-
+
tango icons
http://tango.freedesktop.org
Creative Commons Attribution ShareAlike 2.5
http://creativecommons.org/licenses/by-sa/2.5/
-
+
famfamfam silk icons
http://www.famfamfam.com/lab/icons/silk/
Creative Commons Attribution 2.5 License
View
@@ -1,11 +1,11 @@
-This is a general overview of the Crabgrass code and how to begin making contributions.
+This is a general overview of the Crabgrass code and how to begin making contributions.
Developing for Crabgrass
========================
This page describes the process for contributing to Crabgrass, it draws heavily on the Linux kernel development process for guidelines.
-Description of the development process (what branches are what: Master is always the development branch, where new features are worked on; how releases work, how to contribute code, etc.)
+Description of the development process (what branches are what: Master is always the development branch, where new features are worked on; how releases work, how to contribute code, etc.)
Contributing fixes, feature enhancements
----------------------------------------
@@ -30,7 +30,7 @@ If you are fixing a bug, you should have an issue in Redmine associated with tha
Crabgrass' development process works off of issues database. All patches require a Redmine issue. All patches should reference the ticket number in their commit message.
-All tickets are Triaged (link to triage process here) which is the pivot point that determines what happens next with tickets.
+All tickets are Triaged (link to triage process here) which is the pivot point that determines what happens next with tickets.
If a patch or fix is contained in a single commit then add details of the commit using the hash and branch. If it is in multiple commits then list each commit in the ticket.
@@ -55,7 +55,7 @@ Core Puppet development for developers
h3. style
- * We use 4 space indents?? other style stuff?
+ * We use 2 space indents. other style stuff?
Work on a Branch
----------------
@@ -114,7 +114,7 @@ Crabgrass runs a Continuous Integration server called CruiseControl to test new
= Coding Standards
-There are many people who contribute to the Crabgrass code, often for short periods of time. Few of these contributors have enough time to understand all of Crabgrass.
+There are many people who contribute to the Crabgrass code, often for short periods of time. Few of these contributors have enough time to understand all of Crabgrass.
For this reason, it is absolutely imperative that all contributions to the source code include the following:
@@ -128,7 +128,7 @@ Additionally, all Crabgrass contributions should follow these generally accepted
* Variable names should be descriptive and verbose. Don't save on typing at the expense of reability and maintainability.
* Don't be too clever: don't write something compact and tricky if it is going to be difficult for the next person to figure out.
* In ruby, we use two spaces instead of tabs for indents. Get used to it.
-* Ruby source files should be kept small and managable.
+* Ruby source files should be kept small and managable.
* Class methods should be kept small and managable, ideally under 20 lines.
* Thin controllers, fat models: as much logic as possible should be put in the models. The controllers should be light weight. Certainly, one strategy for thin controllers is REST or CRUD based controllers, but these patterns do not guarentee thin controllers, nor are thin controllers dependent on these patterns.
* More controllers is more better: it is better to have more controllers than more lengthy controllers. As with a strict REST strategy, try to think of ways to have at least one controller for every table.
@@ -141,11 +141,11 @@ Additionally, all Crabgrass contributions should follow these generally accepted
=== Page
-A 'page' is the basic model for all content in crabgrass. examples are a wiki page, an uploaded file/image/audio/video, a poll, a task list.
+A 'page' is the basic model for all content in crabgrass. examples are a wiki page, an uploaded file/image/audio/video, a poll, a task list.
these specific page types are subclasses of Page and they have their own controller and views. In effect, every page is its own rails application.
-the page controller is subclass from BasePageController. it defines a particular api of variables to set, callbacks to hook into, methods to implement, or methods to override.
+the page controller is subclass from BasePageController. it defines a particular api of variables to set, callbacks to hook into, methods to implement, or methods to override.
all pages are actually implemented as plugins, but plugins that live in a special folder called 'tools'
@@ -169,15 +169,15 @@ main relationships in crabgrass:
== Basic Permissions
-the historical focus of crabgrass has not been social networking. it has been to allow small groups to work together on projects.
+the historical focus of crabgrass has not been social networking. it has been to allow small groups to work together on projects.
for this reason, there is a very complicated system for access to pages. any page can have :admin, :edit, :view access to a page by any group and user. what :admin, :edit, :view actually means depends on the particular page controller. things are further complicated by inherited access: if a committee has access to a page, then the committee's parent group also has the same access.
the advantage of this system is total freedom in designating permissions and in collaborating on any page with any mix of users and groups.
-
+
the ui also shows total transparency in displaying the permissions, so you are never left wondering what the access rights are.
-this makes the queries very complex and slow.
+this makes the queries very complex and slow.
== Authorization and Permissions Based Links

0 comments on commit b46faea

Please sign in to comment.