All About Crabgrass v0.0 [en]

This is a document compiled from existing contributions to All About Crabgrass as of 4-4-15.

Welcome to Crabgrass

About

collaborative wiki
last updated 26/Aug/14

Crabgrass Web Application

Crabgrass is a software libre web application designed for social networking, group collaboration and network organizing. Our goal is to create communication tools that are tailored specifically to meet the needs of bottom up grassroots organizing. By social networking, we mean the ability of users to get to know one another through their online contributions and presence. By group collaboration, we mean the ability of small groups to get things done, such as share files, track tasks and projects, make decisions and build repositories of shared knowledge. By network organizing, we mean the ability of multiple groups to work together on projects in a democratic manner.

Current Status

Crabgrass currently consists of a solid suite of group collaboration tools, such as private wikis, task lists, file repository, and decision making tools. We are currently working on better social networking tools, blogs, and event calendars, as well as better support for collaboration and decision making among independent groups.

As Free Software, anyone is welcome to check out the code (git clone git@0xacab.org:riseuplabs/crabgrass.git) and follow the documentation, run their own site with it, and contribute improvements and changes to the source code.

Crabgrass is written in Ruby using the Ruby on Rails framework.

Why Crabgrass?

While social movements have grown more adept at using the web to communicate publicly, we are still mostly using inadequate tools to communicate amongst ourselves. Most groups rely heavily on email, lists, and wikis— but these tools are not suited for the complexity of relationships that activist organizations face in the real world.

There are many existing social networking websites out there. However, these offerings are geared toward the needs of advertisers or informal social groups. There are also many existing web services for group collaboration. These sites are typically designed for small businesses and do not match the needs of movement organizations.

Most importantly, Crabgrass is software libre. As such, it can be provided as a service by radical tech collectives such as riseup.net.

What Crabgrass Does

Crabgrass enables social change organizations to get things done, get the word out, collaborate and network.

  • To get things done, Crabgrass provides tools like task list management, meeting scheduling, asset management, wiki, and decision making.
  • When it is time to get the word out, Crabgrass allows groups to create a customized home page where a group can list their event calendar, blog postings, and other public content.
  • To help collaborate, Crabgrass allows users to rate content, add keywords to content, comment on content, annotate content, alert others to content you need their feedback on, and track participation and revisions. Additionally, Crabgrass comes with many tools for democratic decision making.
  • Since no group is an island, Crabgrass allows groups to create networks with other independent groups. These networks provide a place to work together on shared content and make decisions. Alternately, you can share a single document if that is the extent of the cooperation (in development).

All of these elements are implemented from a social networking perspective. Events, for example, allow one to RSVP, see who is coming or watching, and send to your contact’s calendar.

Features

  • Share content with exactly the people and groups you want. You can grant access to view, edit, or administer content.
  • All content is searchable using a super fast full text search engine.
  • Every page can have tags, attachments, and ratings.
  • You can choose to receive notification when a page is updated and you can send notices to people when you want to alert them to a change.

Types of content:

  • Personal Messages: email like messaging system
  • Discussions: public or private forums.
  • Wikis: revision history, locking, automatically view changes since your last visit.
  • Decision making tools: approval voting and ranked voting.
  • File management: upload images, audio, and documents.
  • Task lists
  • Privacy: every user and group will have control over what information they choose to reveal about themselves.
  • Security: the first install of crabgrass, hosted at we.riseup.net, is configured to only allow https connections and all data is stored in encrypted format.

Model organizational structure:

  • Groups: A group is the basic organizational unit of crabgrass. A group has many people who are members of the group and is a place for those members to share content.
  • Committees: A committee is subgroup. Every person in the parent group has access to all the content of the committee, but committee members do not have access to the group’s content (unless they happen to be members of both). Committees are useful when a group has a working group or project that needs its own space, but everyone in the larger group should have access. Committees can also be used to bring outside people in to work on a project but you don’t want to give them access to all the parent group’s content.
  • Councils: A council is committee with special powers. Suppose you have a collective with full members and provisional members. You can make the full members part of the council and this will reserve for them certain administrative functions.
  • Networks: when many groups federate together they can form a Network. Networks are used for multiple groups to cooperate together on projects.

In the near future, we also hope to add:

  • Calendaring: group calendars, private calendars, public calendars, events, meeting scheduling, oh my!
  • Directory: a searchable and browsable directory of activist organizations.
  • Improved membership process: allow a group to be configured to allow for different types of (democratic) membership administration.

Who is creating crabgrass?

  • Riseup Collective is an autonomous collective of volunteer activist which provides alternative communications infrastructure. At last count, we had 20 thousand email users, 13 thousand lists, two million list subscribers, and 50 hosted servers.

What does the name mean?

  • crabgrass is subversive: as the bane of suburban lawns everywhere, crabgrass is the ultimate in grassroots resistance.
  • crabgrass is diverse: there are 300 species of native to tropical and warm temperate regions. crabgrass is native to north America, and an important source of food for many birds.
  • crabgrass is hard to kill: because of its networked nature, it is very difficult to pull out enough crabgrass roots to get rid of it. it is resistant to many herbicides.

Goals

collaborative wiki
last updated 21/Jun/07

Democratic decision-making: Our primary focus is to facilitate directly democratic decision making for groups and networks. We will create easy to use tools for different forms of democratic decision-making, including multiple mechanisms for consensus process, majoritarian voting, and proportional democracy.

Social networking: Although our focus is different, we will include many of the tools people use to connect in traditional social networking. This includes tagging, personal profiles, contacts, photo galleries, wiki-like notes, and simple blogging.

Group relationships: In social networking, the focus is on the individual and their relationship to other individuals. In organizing networks, the questions are very different. The application will make it clear how groups are related to one another and what human roles and responsibilities people have within a group. Rather than social networking, you could call it social organizing.

Security and privacy: Unfortunately, it still requires a high degree of tech savvy in order to communicate securely. By keeping communication enclosed on a single, high-security server and by making it clear who the authorized audience is for a particular message, we can achieve a very high degree of privacy and ease of use.

Messaging: Dialog is the lifeblood of democratic organizations, but many people find themselves overwhelmed with the amount of messages they receive. Our goal is to facilitate more discussion yet allow people to easily track and find just the content they are interested in.

Ease of use: Even the coolest features in the world are totally useless if people don’t use them. The sites that people actually use tend to be clean, simple, and attractive. At each step, our first priority must be usability.

Back to Page Index

Getting Started

Navigation

Breadcrumbs

collaborative wiki
last updated 19/Aug/07

Breadcrumbs are the series of links below the banner. They show a path to the page that your on.

My Account

collaborative wiki
last updated 02/Mar/12

My Profile

My Profile Tab

You can upload a photo
Add limited personal information
Change your password

Deleting Your Account

collaborative wiki
last updated 04/May/10

Currently there is way to delete your account. However, this is planned for a future release. For more information, see this ticket.

My Dashboard

Dashboard Tab

The Dashboard is a preview into happenings in your groups. Here you can see a snapshot of all recent activity across your groups. The Dashboard is where you land when you first log in. To get back to it you click the Me link in the upper left hand side.

Inbox Tab

In your inbox you will find
- Your personal messages
- Pages that you create
- Pages that you specifically added to your inbox
- Pages that are starred
- Pages that you have been “notified” of by someone in one of your groups.

Inbox Filters

  • all: shows an unfiltered view of the 30 most recently added or modified pages.
  • vital: filters the inbox to show pages that are new, pages you’ve starred, or pages that are pending.
  • unread: shows only unread pages
  • pending: shows only pending pages. Pending pages are those that carry an action in need of completion.
  • starred: shows only starred pages. To keep track of a page or mark it as important you can “star” the page.
  • types: you can sort your inbox view by any of the listed page types.

Tasks Tab

Clicking on the task tab will show you a list of all your pending tasks.
You can sort this view by

  • my tasks (pending or completed): a view of tasks assigned to you
  • all tasks (pending or completed): a view of all tasks in all your groups.
  • tasks for: view task lists of specified groups.

Pages

Page Types

collaborative wiki
last updated 28/Jan/09

Asset Tool

You can upload assets (.doc, .png, .pdf, etc) to share with people in your groups.
There is currently a 3MB size limit per asset.

Decision Making Tools

Making decisions in an inclusive and transparent way can be an organization’s greatest challenge. Future Crabgrass development will focus on this problem. Currently we have one tool to aid decision-making.

Straw Poll: A series of options, where each option can be rated individually. The results are color coded. There is no winner, but you can visually see which options have garnered the most positive and least negative responses. Features include:

  • creation of multiple choices and each person can rate each choice.
  • page becomes pending if a new choice is added.
  • page becomes resolved if you have made a selection for each choice.

The Ballot: A ranked voting tool. It lets you create a series of possibilities and then people rank them in order or preference. It then finds the winner(s) using Condorcet method with Cloneproof Schwartz Sequential Dropping—it is like instant running voting that doesn’t suck.

Discussion

This is a simple, highly editable discussion board.

Event

An event consists of a title, a location, a starts at time and date, an ends at time and date, a description of the event, and if the event repeats or not.

Private Messaging

Users can send private messages directly to other users.

Task List

A list of todo items. Features include:

  • reorder tasks in list
  • move tasks between lists
  • assign tasks to individuals
  • comment on tasks
  • mark task completed when done.

Wiki

A collaborative writing space. Features include:

  • versioning: you can view a list of prior edits
  • formatting: when you edit a wiki there is a link on the bottom left that describes your formatting options.
  • checkin-checkout: only one person can edit a wiki at a time.
  • comment section at the bottom of the wiki

more about wikis

Page Sidebar

collaborative wiki
last updated 06/Jan/09

Here you can control your personal interaction with the page by starring it or marking it as pending. You can send the page to other users, destroy it, or remove it from your inbox view. The later only removes the page from your inbox view, it does Not destroy the page
By clicking the icon (not the user or group) you can grant or remove access to a page. You can also see who has participated (read and or contributed) in the page.
This one is fairly obvious. Contributing entails adding to the page. Reading the page does not list you as a contributor.
Here you modify, remove or add tags. Tags are a way to categorize pages based on user defined categories. You will be able to browse and search for pages based on their tags.

Groups, Committees, and Networks

Groups

collaborative wiki
last updated 03/Apr/13

Homepage Layout

Group Settings

collaborative wiki
last updated 28/Jan/12

Permissions
If there’s no coordinating council in a group, everyone in it has admin permissions. They can

  • accept new members,
  • create committees,
  • destroy any group or committee page.

If there’s a coordinating council, only its members have these admin permissions.

Access

  • Group members have access to all committees
  • Individuals not in the group only have access to their respective committees

Permissions

collaborative wiki
last updated 30/May/13

Group Permissions

The default is that everyone in a group has admin permissions. They can

  • accept new members,
  • create committees,
  • access any group or committee page
    You can create a committee that is a council. People in this committee then become admins of the group. Others in the group have participant permission. See chart below.

Committee Permissions*

  • Group members have access to all committees
  • Even if a group member is not in a committee they will still see committee pages on their dashboard (this was different in previous versions of Crabgrass on we.riseup.net).

Page Permissions Coordinator Participant Viewer
Watch For Updates + + +
Add Star + + +
Share Wiki + + -
Public + - -
Delete Wiki + - -
Move Wiki + - -
Wiki Details – view + + +
Wiki Details – change + - -
Tags edit + + -
Attachments edit + + -
Add Comment + + +

Committees

collaborative wiki
last updated 16/Oct/14

Committees are subgroups.

Members of a committee can be

  • part of the parent group
  • from another group
  • unaffiliated individuals

Access (see chart below)

  • Group members have access to all committees
  • Individuals not in the group only have access to their respective committees

Coordinating council
Coordinating council is a unique special committee. When a group has coordinating council, then only a member of that council may administer the group. Otherwise, any member of the group may do so.

Networks

Features

collaborative wiki
last updated 10/jul/09

Current

  • Create groups (the heart of crabgrass)
  • Create committees within groups
  • Create different page types (tools). Descriptions
    • decision making tools: currently only rate many tool
    • discussion
    • files: upload files
    • personal messaging
    • task list
    • wikis
  • Page attributes
    • tag a page
    • star a page
    • add page to your inbox
    • mark page as pending
    • send a page to someone
    • make page public
  • Chat: simple but highly secure chat room.
  • Secure Communications: the first install of crabgrass, hosted at we.riseup.net, is configured to only allow https connections and all data is stored in encrypted format.
  • Ability to attach assets to a page

In Development

things are changing very quickly. Here is a loose list of whats being developed right now

  • dashboard Improvements
  • simple Calendar Tool
  • ability to see assets in one view
  • sweeping search improvements
  • Privacy: every user and group will have control over what information they choose to reveal about themselves.
  • Improved membership process: allow a group to be configured to allow for different types of administration.

Future Features

The long term goal is to provide the technical tools to facilitate active, confederal, and directly democratic social change networks. This phase will include

  • more social tools
  • more organizing tools
  • more tools for democratic decision making
  • network organizing (associations among many groups in a federated structure)
  • democratic networking

Security

collaborative wiki
last updated 13/Mar/11

Unfortunately, it still requires a high degree of tech savvy in order to communicate securely. By keeping communication enclosed on a single, high-security server and by making it clear who the authorized audience is for a particular message, we can achieve a very high degree of privacy and ease of use.

The first install of crabgrass, hosted at we.riseup.net, is configured to only allow https connections and all data is stored on an encrypted harddrive.
In case of a server seizure the data on the harddrive would not be accessible because the keys are not stored on the server.

While running the server has access to the data. That’s how it can serve the data to you after all. If the server would get compromised while running the attacker could read out the data.

Another option is share.riseup.net – it encrypts the data on the fly in your browser before it is uploaded. The url for the data includes the key. So everyone who has the url can download the data. But the server never gets to know the key as it’s in the part of the url that does not get send to the server (after the #).
Even for share.riseup.net – if the server is compromised it could send a malicious javascript alongside the shared document to get it or the key from the browser that is decrypting it. But – a malicious server could not read documents that are not accessed anymore.

All in all the web is still a bad environment for crypto. If you want to protect yourself from malicious servers better encrypt the data on your computer. (Hard drive encryption for yourself, pgp for sharing data).

 

Hi,

Just for curiosity, I’m wondering why chat has been removed from the features…
Is it for security reasons? technical reasons?

Jean

 
 

hi Jean, there is a discussion on your question here → we.riseup.net/users/features-removed-from-next-crabgrass-version. Hope that helps answer your question.

 
 

we have a pednign council request in our group – we are only two members so far, how do we approve the request?

 
 

Can this document go into a little more detail about the security features? For example, is the encryption zero-knowledge? Can Crabgrass administrators access content within the system? If the server were to be seized, would the contents of our accounts be secure?

 
 

Hi Nate,

Good point. We should make that more clear. In fact the hard drive is encrypted. So while running the server it has access to the data. That’s how it can serve the data to you after all.
In case of a server seizure the data on the harddrive would not be accessible because the keys are not stored on the server.

If the server would get compromised while running the attacker could read out the data.

Another option is share.riseup.net – it encrypts the data on the fly in your browser before it is uploaded. The url for the data includes the key. So everyone who has the url can download the data. But the server never get’s to know the key as it’s in the part of the url that does not get send to the server (after the #). But even for share.riseup.net – if the server is compromised it could send a malicious javascript alongside the shared document to get it or the key from the browser that is decrypting it.

All in all the web is still a bad environment for crypto. If you want to protect yourself from malicious servers better encrypt the data on your computer. (Hard drive encryption for yourself, pgp for sharing data).

 
 

I have a question on the creation of committees: if i try to create one, both on we.riseup.net or on an independent installation, i get sent to the page of the group i want to assign the committee to. What happens in detail is:

1. in /groups/directory i click “create group”, then in /groups/new i click “create a new committee”
2. i am then sent to /groups/new?type=committee — where i’m asked to choose a group for this committee
3. and if i click the group, the page of the group opens, instead of a form to create a committee

Is there something i’m doing wrong or is it a bug?

 
 

Hello reginazabo,
I had the same effect when I tried to create a committee with GroupsCreate GroupCreate a new CommitteeChoose a group for this committee I think it’s a bug in a new way to create committees. Users should be directly sent to the form to create a committee that you get when you:

  1. go to the homepage of the group you want to create the committee in
  2. click on Settings
  3. click on Structure
  4. click on Create a new Committee
 
 

Hi
is it possible to configure to have a notification by email every time a new message is posted in your gruoup?
i tried configuring that in my account profile but it does’nt work.
thanks
maria

 
 

Hi
is it possible to configure to have a notification by email every time a new message is posted in your gruoup?
i tried configuring that in my account profile but it does’nt work.
thanks
maria

 
 

How can I add other members to the group? Do they need to sign up? Can I send them an email for sign up?

 
 

Hey,
the group creation for councils and committees should now work as expected again!

1. click on “Groups”
2. click on “Create group”
3. click on group type you want to create “Create council/ Create committee”
4. click on group or network the new council/committee will be part of
5. specify group name (which will be part of url of group), display name and language

Hope this works!
Best <3

 
 

Hey @oshtorombha,
yes you should be able to invite people to a group. They need to sign up in order to join.

- go to group you want to invite people to
- go to “members”
- go to “send invites” and specify the email of the person you wish to add

Hope that helps
Best <3

 
 

If someone has created pages in a group, and then leaves that group, do the pages disappear from the group? How can they be made to stay permanently in the group, even if the member leaves?

 
 

bhadda, Pages should stay permanently even if the person leaves the group. Ideally you make the group the page owner either by selecting them during creation or in the details settings on the right side of the page. That way the access to the page does not depend on a single person at all.

 
 

Thanks, azul. That’s what I hoped, but needed to be sure.

 
 

The link about documentation at the section Current Status is old. The project is now at:

0xacab.org/riseuplabs/crabgrass

So, the documentation is at:

0xacab.org/riseuplabs/crabgrass/tree/ma...

Sorry, I’m new here… Should I change the errors I found or comment them here and let the author change it?

Greetings!

 
 

Aren’t the choices of which permissions and relations the different organizational structures have essentially an imposition of an organizational model on the users? Or, in other words, shouldn’t all of a network, a group, a coordinating council and and committee be “settings templates” for a some generalized concept of a group, with organizations using crabgrass being able to define their own templates? Some examples:

  • Inter-group coordinating committee, which has some access to resources of two groups
  • Groups where default permissions change as a function of the duration of membership
  • Committees which are restricted to group members
  • Subcommittees

etc.

 
 

Hi Grupo Amic,
great that you found some of the old links. They were replaced elsewhere, but obviously forgotten in this document. Please go ahead and change them – the documentation is maintained by the community.
Greetings,
digitari

 
 

I fixed some typos.

All this is rather worrying here. What is the difference between

Rainer

 
   

Aren’t the choices of which permissions and relations the different organizational structures have essentially an imposition of an organizational model on the users? Or, in other words, shouldn’t all of a network, a group, a coordinating council and and committee be “settings templates” for a some generalized concept of a group, with organizations using crabgrass being able to define their own templates? Some examples:

Inter-group coordinating committee, which has some access to resources of two groups
Groups where default permissions change as a function of the duration of membership
Committees which are restricted to group members
Subcommittees
etc.

pindescargar.com/