Git Product home page Git Product logo

loomio's Introduction

Loomio is a decision-making tool for collaborative organizations.

To learn about or try Loomio, visit Loomio.com.

To setup your own Loomio instance see loomio/loomio-deploy

If you'd like to report a bug, give us feedback, or contribute to Loomio, please open a Github issue.

To setup up a Loomio development environment, see the setup development environment guide

To learn about working within the Loomio Co-op, read the Loomio Coop Handbook

To get contact us, send an email or a tweet.

Loomio is free software released under the GNU Affero General Public License

loomio's People

Contributors

aaronthornton00 avatar allansideas avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar drew1080 avatar gdpelican avatar gregorykan avatar hsalmon avatar iainkirkpatrick avatar jadehopepunk avatar jamesmccann avatar jameswatling avatar jdoud avatar joshuavial avatar juliencarnot avatar mhjb avatar mixmix avatar mmcgahan avatar natiloomio avatar nimser avatar rdbartlett avatar robguthrie avatar rtacconi avatar sametheridge avatar skyriverbend avatar space-ed avatar tigerwnz avatar timothyjohn2015 avatar tixpaul avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

loomio's Issues

docs: please explain required versions in dev environment, and required install steps, in a bit more detail (was: docs: how to create a user?)

Dear Loomio dev team:

I'm new to Ruby on Rails, so I needed to expand a little on the README. I'll post my notes separately. I'm able to run the server, and I've now gotten to the last step -- creating a user. This doesn't work for me -- the command you indicated fails with a syntax error.

Can you advise?

$ rails --version
Rails 2.3.14
$ ruby --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]
~/loomio $ console/script/console
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /home/joe/loomio/console/vendor/rails/railties/lib/rails/gem_dependency.rb:21.
NOTE: Gem::SourceIndex#initialize is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#initialize called from /home/joe/loomio/console/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /usr/lib/ruby/1.9.1/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /usr/lib/ruby/1.9.1/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /usr/lib/ruby/1.9.1/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /usr/lib/ruby/1.9.1/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /usr/lib/ruby/1.9.1/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /usr/lib/ruby/1.9.1/rubygems/source_index.rb:91.
Loading development environment (Rails 2.3.14)
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /home/joe/loomio/console/config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21.
NOTE: Gem::SourceIndex#initialize is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#initialize called from /home/joe/loomio/console/config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /usr/lib/ruby/vendor_ruby/1.8/rubygems/source_index.rb:91.
>> User.create(name: "Furry", email: "[email protected]", password: "password")
SyntaxError: compile error
(irb):1: syntax error, unexpected ':', expecting ')'
User.create(name: "Furry", email: "furry@exampl...
                 ^
(irb):1: syntax error, unexpected ',', expecting $end
User.create(name: "Furry", email: "[email protected]", p...
                          ^
    from (irb):1
>> 

new problem at startup

now foreman start is working, but this fails:

$ bundle exec rackup -s thin -p 1111
>> Thin web server (v1.4.1 codename Chromeo)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:1111, CTRL+C to stop
/home/joe/.rvm/gems/ruby-1.9.3-p374/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_tcp_server': no acceptor (RuntimeError)
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_server'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/thin-1.4.1/lib/thin/backends/tcp_server.rb:16:in `connect'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/thin-1.4.1/lib/thin/backends/base.rb:55:in `block in start'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `call'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/thin-1.4.1/lib/thin/backends/base.rb:63:in `start'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/thin-1.4.1/lib/thin/server.rb:159:in `start'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/rack-1.4.4/lib/rack/handler/thin.rb:13:in `run'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/rack-1.4.4/lib/rack/server.rb:268:in `start'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/rack-1.4.4/lib/rack/server.rb:137:in `start'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/rack-1.4.4/bin/rackup:4:in `<top (required)>'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/bin/rackup:19:in `load'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/bin/rackup:19:in `<main>'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/bin/ruby_noexec_wrapper:14:in `eval'
        from /home/joe/.rvm/gems/ruby-1.9.3-p374/bin/ruby_noexec_wrapper:14:in `<main>'

scrollTo not working on frontpage

Original message (incorrect):


Due to @robguthrie's changes to slim the homepage #478, the smooth scroll effect isn't working. It's broken due to the changed in _header_logged_out which you can see here: https://github.com/enspiral/loomio/pull/478/files

He's removed the #{scroll_trigger} variable, which was used to switch the scrollTo effect on on the front page, and off on the other pages (e.g. sign in page) - probably this is because my original code was a bit opaque.

@mentions malfunctioning!

I've updated the title of this issue because we've realised it's a recurring problem (and to make it more dramatic!) - it now looks like @mentions aren't working in multiple cases. I'm not sure exactly what's causing the issue, but the specific cases I've noticed are when there's a diacritic in the name and when there's a bracket in the name. The tricky thing is that in all of these cases, the name is also quite long, so it's possible that username length is causing the issue. At the same time, it seems that neither username length or presence of brackets are the sole cause, because I've just seen another case where my username (which involves brackets) doesn't work, but a longer username (which also involves brackets) does work. Confusing!

The main reason this has come up as relatively high priority is that in the WCC public group it would be super helpful for users to be able to @mention the Loomio Helpers, and it currently doesn't work. THanks!

@jonlemmon @rdbartlett @AaronThornton00

contrib: detailed docs for ruby newbs

On Ubuntu 12.04:

sudo apt-get install postgresql-8.4 postgresql-server-dev-8.4

But don't do this:

sudo apt-get install ruby1.9.3
sudo apt-get install rails
sudo apt-get install ruby-rvm

You will run into trouble if you do that.

You'll have to delete various programs from /usr/bin/ (like bundle and gem) if you "accidentally" went through an install based on Ubuntu before doing it the right way.

Rather:

sudo \curl -L get.rvm.io | bash -s -- --auto-dotfiles --ruby --rails

See the link above for details.

You also need to do this:

sudo gem install bundler
bundle install
bundle install --deployment
sudo -u postgres psql postgres
postgres=# \password
Enter new password: xxxx
Enter it again: xxxx

Edit config/database.yml, provide

development:
  adapter: postgresql
  database: loomio_development
  username: postgres
  password: xxxx

test:
  adapter: postgresql
  database: loomio_test
  username: postgres
  password: xxxx

Edit /etc/postgresql/8.4/main/pg_hba.conf and provide:

# Database administrative login by Unix domain socket
local   all             postgres                                md5
sudo gem install foreman

Now follow the instructions in the loomio README, except you also have to run:

console/script/console

(However, I'm still not able to create a user, see #454.)

Implement sauce labs

We've got a sauce labs account (for cross-browser integration testing) which we haven't gotten working yet. Would be great to get this set up soon.

Logged out user shouldn't see discussion options dropdown

Currently a logged out user can see the discussion options dropdown, which will give them the option to edit the discussion title. It's not a huge issue because they can't actually edit the title, but it is bad UX.

  • problem is at app/views/discussions/_title.html.haml:16
  • solution would be similar to app/views/motions/_motion_preview.html.haml:4

Truncated characters in username

From a user: "... diacritics, e.g. á or ő, get truncated during the Name-Username conversion (eg from 'Bokros Bálint' comes 'bokrosblint', while the desired output is 'bokrosbalint'). "

Short-term solution: Make the search work for both user.name and user.username. These means people will be able to type in @Bá and the name will still pop up in the search results.

Long-term solution: this is an issue with the twitter username plugin we are using (it doesn't like non-ASCII chars). We'll probably want to rebuild the feature from scratch at some point. Potentially we could hide the usernames (i.e. the way Facebook does it), which would avoid this issue and make a better user experience.

Mentions don't work on IE8

Sometimes js throws an error as soon as you type "@" in the comment box, sometimes it waits a few seconds and then crashes. Should check it is working on IE7 too.

add opengraph (ie facebook) meta-data

When posting the loomio link on social media sites, it often picks up the wrong image and description. We need to update our meta-data so it always grabs the correct logo and description.

Extra credit: it would be nice if links to the discussion page would include the first few hundred characters of the discussion description, and if links to the group page would include the group description.

Here's what a link to the discussion page looks like on Facebook:
Screen shot 2013-02-27 at 6 58 29 PM

bug/mention-notification

'{user} mentioned you in a comment' notification points at wrong URL: e.g. should be discussions/7#comment-22, but actually is discussion/22#comment-22

Comment permalinks aren't always displaying properly

It seems that in a discussion some comment hyper-links go to the correct place on the screen and others do not. Try creating a discussion with several comments and proposals and then clicking on the perma-links for each.

Also, I think the style for these permalinks should probably be grey instead of blue.

@s01us @HSalmon

User can create new proposal even if there is one already open

If two users are viewing a discussion page, and user1 clicks 'create proposal', that discussion will have a motion open, but the 'start new proposal' button will still be visible to user2.

To fix this, it check whether a proposal exists, both on clicking the new proposal button on the discussion page, and the submit button on the new proposal page.

Dependency Version Numbers

You should define version numbers in your dependencies so that when JQuery (or whatever) updates it doesn't break everything

language/future-date-error

There is a spelling mistake in the error message "it needs to be a furture date." motions_controller.rb:78 and motions_controller_spec.rb:90

New subgroup form has two headings 'add a subgroup' and 'new group'

views/groups/_form.html.haml:3 currently has %h1 New Group specified. This should be dynamic so it says 'new group' or 'new sub-group' depending on where the form is displayed.

The easiest option is to say:

- if group.parent.nil?
  %h1 New Group
- else
  %h1 New Subgroup

But it would probably be nicer to put this switch in views/groups/new.html.haml and refactor the rest of _form to match

Displaying long group and sub-group names

We're starting to see some groups using really long names and sub-group names. Currently these look pretty ugly:

subgroup list - blue dots
discussion list
group list - ugly indents
subgroup list

In these examples, the admin has actually included the 'bullet' character at the start of the subgroup name to try to fix the styling a bit.

Change content of group request accepted email

Integrate the contents of this doc with views/group_invitation_mailer/invite_admin.html.haml. Check with Ben to make sure the content makes sense.

To test, create a group request, go into the console and make yourself a super admin, then go into the admin panel localhost:3000/admin and click 'approve request'. That should send out the email, which you can check with mailcatcher (localhost:1080).

multiple loomio sites - cookie issue

From one of my "users" (um, beta testers, more like it).

Her login on metameso:3000 is [email protected] but she says that loomio "thinks I'm there for IPNE" -- which is one of the organizations with a group defined on loomio.com. She suggests I register her with an alternate address.

Have you checked the way loomio handles cookies to make sure that it works with multiple different loomio-based sites?

Serve assets from S3 instead of directly from app

I'm seeing a lot of these:

Request timeout: Heroku/loomio-production

2013-02-27 22:14:36.818
292 <158>1 2013-02-27T22:14:36+00:00 heroku router - - at=error code=H12 desc="Request timeout" method=GET path=/assets/hand-abstain-18.png host=www.loomio.org fwd="120.136.2.171" dyno=web.1 queue=0ms wait=1ms connect=5ms service=30000ms status=503 bytes=0

Would the solution be to remove all the images out of the asset pipeline and put serve them from S3?

Screwy datetime stuff on Motion#create close_date

We've ran into a strange datetime issue on the server that we could not reproduce on our local machines.

When creating a new motion locally, if you pass in the following close date through params "close_date"=>"Thu Feb 21 2013 17:59:23 GMT+1300 (NZDT)", then the datetime that is saved to the database is Thu, 21 Feb 2013 04:59:23 UTC +00:00. This is the correct behaviour.

However, when creating a new motion on the staging server, if you pass in the above close date, then the datetime that is saved to the database is Thu Feb 21 2013 17:59:23 UTC +00:00. This is incorrect behaviour (i.e. it doesn't seem to be respecting the NZDT timezone stamp).

Note: When changing my timezone to UTC and then repeating the above step on the staging server the time gets saved correctly. This makes sense, since in this case the timestamp info is essentially irrelevant.

We were able to add this line to fix the problem: https://github.com/enspiral/loomio/blob/2e2fde0baceb3b1f935835acbe2ff651497a3b2c/app/controllers/motions_controller.rb#L8.

However, I have a feeling that we're just patching up a bigger issue here. Why isn't ActiveRecord recognizing the timezone stamp by default when doing the initial mass-assignment?

Cannot open notifications in new tab

In Firefox, currently, when you have notifications, you can click on one of them and it opens in current tab/window. But I am used to be able to just hold command button (on my Mac) and open all links in background tabs. So I can fast open everything and then go tab by tab. In Facebook this works. In Loomio it does not. I have to right-click and manually select open in new tab/window. So links in notifications behave differently than general links on the websites.

cannot load such file -- jquery/atwho/rails

Trying to run the server after getting through bundle install and (successfully) adding some users in the database -- I get the following. Is there a missing step in the configuration that I didn't do? Or is some file not checked into the repo?

$ foreman start
22:42:12 web.1    | started with pid 9766
22:42:12 worker.1 | started with pid 9769
22:42:30 worker.1 | rake aborted!
22:42:30 worker.1 | cannot load such file -- jquery/atwho/rails
22:42:30 worker.1 | /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler/runtime.rb:74:in `require'
22:42:30 worker.1 | /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler/runtime.rb:74:in `rescue in block in require'
22:42:30 worker.1 | /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler/runtime.rb:62:in `block in require'
22:42:30 worker.1 | /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `each'
22:42:30 worker.1 | /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `require'
22:42:30 worker.1 | /home/joe/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler.rb:128:in `require'
22:42:30 worker.1 | /home/joe/loomio1/config/application.rb:7:in `<top (required)>'
22:42:30 worker.1 | /home/joe/loomio1/Rakefile:5:in `require'
22:42:30 worker.1 | /home/joe/loomio1/Rakefile:5:in `<top (required)>'
22:42:30 worker.1 | /home/joe/.rvm/gems/ruby-1.9.3-p374/bin/ruby_noexec_wrapper:14:in `eval'
22:42:30 worker.1 | /home/joe/.rvm/gems/ruby-1.9.3-p374/bin/ruby_noexec_wrapper:14:in `<main>'
22:42:30 worker.1 | (See full trace by running task with --trace)
22:42:30 worker.1 | exited with code 1
22:42:30 system   | sending SIGTERM to all processes
SIGTERM received
22:42:30 web.1    | terminated by SIGTERM

I ran: gem install jquery-atwho-rails and bundle install shows that jquery-atwho-rails (0.2.1) is installed. But the error persists.

Dual part (text and html) emails

For good email deliverability, all emails sent from Loomio should be dual-part (html and text).

Currently Loomio sends a mix of html-only and text-only emails. However, in our email headers, I believe we're often indicating that the emails we are sending are dual-part (as in, contains both html and text versions) even when they are not. Apparently this is really bad for email deliverability.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.