Giter VIP home page Giter VIP logo

mechanical-mooc's Introduction

Mechanical MOOC Build Status

The Mechanical MOOC is a web based app for running a course with a large number of users. Users can sign up for a course, you can send regular email updates about the course and group people into small groups where they can discuss the course with their peers. Nothing more and nothing less.

Documentation

Instructions for setting up the Mechanical MOOC is on mechanical-mooc.readthedocs.org.

You can also head over to the P2PU forum and tell us about your course and ask questions!

Example Use Cases

The Mechanical MOOC has been used to create a number of educational experiences on the web. We've included the relevant Trello boards for the MOOCs to show the learning design and content development phases as well.

mechanical-mooc's People

Contributors

1l2p avatar dirkcuys avatar ercchy avatar mozzadrella 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

Watchers

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

mechanical-mooc's Issues

Error when running heroku run python manage.py send_scheduled_mail

This is one of the last instruction in the installation how-to. It throws the following error. I suspect something went wrong earlier (I'll post other errors I received as separate issues).

172-30-3-198:agile-dawn-4975 P$ heroku run python manage.py send_scheduled_mail
Running python manage.py send_scheduled_mail attached to terminal... up, run.8735
Traceback (most recent call last):
File "manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/init.py", line 443, in execute_from_command_line
utility.execute()
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/init.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(_args, *_options.dict)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(_args, *_options)
File "/app/mail/management/commands/send_scheduled_mail.py", line 13, in handle
emails = mail_api.get_emails()
File "/app/mail/models.py", line 73, in get_emails
return [_2json(em) for em in db.Email.objects.all()]
File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/query.py", line 118, in _result_iter
self._fill_cache()
File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/query.py", line 892, in _fill_cache
self._result_cache.append(self._iter.next())
File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/query.py", line 291, in iterator
for row in compiler.results_iter():
File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 763, in results_iter
for rows in self.execute_sql(MULTI):
File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 818, in execute_sql
cursor.execute(sql, params)
File "/app/.heroku/python/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 52, in execute
return self.cursor.execute(query, args)
django.db.utils.DatabaseError: relation "mail_email" does not exist
LINE 1: ..."."date_scheduled", "mail_email"."date_sent" FROM "mail_emai...

heroku open dont working

    root@dhcppc5:/opt/myenv/mechanical-mooc# heroku open
    Opening stormy-reaches-3449... failed
     !    Heroku client internal error.
     !    Search for help at: https://help.heroku.com
     !    Or report a bug at: https://github.com/heroku/heroku/issues/new

        Error:       Unable to find a browser command. If this is unexpected, Please rerun with environment variable LAUNCHY_DEBUG=true or the '-d' commandline option and file a bug at https://github.com/copiousfreetime/launchy/issues/new (Launchy::CommandNotFoundError)
        Backtrace:   /usr/local/heroku/vendor/gems/launchy-2.4.2/lib/launchy/applications/browser.rb:63:in `browser_cmdline'
                     /usr/local/heroku/vendor/gems/launchy-2.4.2/lib/launchy/applications/browser.rb:67:in `cmd_and_args'
                     /usr/local/heroku/vendor/gems/launchy-2.4.2/lib/launchy/applications/browser.rb:78:in `open'
                     /usr/local/heroku/vendor/gems/launchy-2.4.2/lib/launchy.rb:29:in `open'
                     /usr/local/heroku/lib/heroku/helpers.rb:328:in `block in launchy'
                     /usr/local/heroku/lib/heroku/helpers.rb:227:in `action'
                     /usr/local/heroku/lib/heroku/helpers.rb:326:in `launchy'
                     /usr/local/heroku/lib/heroku/command/apps.rb:338:in `open'
                     /usr/local/heroku/lib/heroku/command.rb:218:in `run'
                     /usr/local/heroku/lib/heroku/cli.rb:28:in `start'
                     /usr/bin/heroku:25:in `<main>'

        Command:     heroku open
        Version:     heroku-toolbelt/3.6.0 (x86_64-linux) ruby/1.9.3

error installing in ubuntu 12.04

    root@dhcppc5:/opt/myenv/mechanical-mooc# heroku run python manage.py syncdb --migrate
    Running `python manage.py syncdb --migrate` attached to terminal... up, run.4524
    Traceback (most recent call last):
      File "manage.py", line 10, in <module>
        execute_from_command_line(sys.argv)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
        utility.execute()
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command
        klass = load_command_class(app_name, subcommand)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 75, in load_command_class
        module = import_module('%s.management.commands.%s' % (app_name, name))
      File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
        __import__(name)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 9, in <module>
        from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal, emit_pre_sync_signal
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/sql.py", line 9, in <module>
        from django.db import models
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/__init__.py", line 5, in <module>
        from django.db.models.query import Q
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/query.py", line 17, in <module>
        from django.db.models.deletion import Collector
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/deletion.py", line 4, in <module>
        from django.db.models import signals, sql
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/sql/__init__.py", line 4, in <module>
        from django.db.models.sql.subqueries import *
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/sql/subqueries.py", line 12, in <module>
        from django.db.models.sql.query import Query
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/sql/query.py", line 22, in <module>
        from django.db.models.sql import aggregates as base_aggregates_module
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/sql/aggregates.py", line 9, in <module>
        ordinal_aggregate_field = IntegerField()
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 116, in __init__
        self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
      File "/app/.heroku/python/lib/python2.7/site-packages/django/conf/__init__.py", line 54, in __getattr__
        self._setup(name)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/conf/__init__.py", line 49, in _setup
        self._wrapped = Settings(settings_module)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/conf/__init__.py", line 151, in __init__
        raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
    django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
    root@dhcppc5:/opt/myenv/mechanical-mooc# sudo heroku run python manage.py syncdb --migrate
    Running `python manage.py syncdb --migrate` attached to terminal... up, run.1689
    Traceback (most recent call last):
      File "manage.py", line 10, in <module>
        execute_from_command_line(sys.argv)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
        utility.execute()
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command
        klass = load_command_class(app_name, subcommand)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 75, in load_command_class
        module = import_module('%s.management.commands.%s' % (app_name, name))
      File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
        __import__(name)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 9, in <module>
        from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal, emit_pre_sync_signal
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/sql.py", line 9, in <module>
        from django.db import models
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/__init__.py", line 5, in <module>
        from django.db.models.query import Q
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/query.py", line 17, in <module>
        from django.db.models.deletion import Collector
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/deletion.py", line 4, in <module>
        from django.db.models import signals, sql
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/sql/__init__.py", line 4, in <module>
        from django.db.models.sql.subqueries import *
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/sql/subqueries.py", line 12, in <module>
        from django.db.models.sql.query import Query
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/sql/query.py", line 22, in <module>
        from django.db.models.sql import aggregates as base_aggregates_module
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/sql/aggregates.py", line 9, in <module>
        ordinal_aggregate_field = IntegerField()
      File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 116, in __init__
        self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
      File "/app/.heroku/python/lib/python2.7/site-packages/django/conf/__init__.py", line 54, in __getattr__
        self._setup(name)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/conf/__init__.py", line 49, in _setup
        self._wrapped = Settings(settings_module)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/conf/__init__.py", line 151, in __init__
        raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
    django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.

Don't reshuffle the images after initial upload

When a new user clicks the email link, they are taken to a page with an empty box for their own picture. After filling out the form, the expected behavior would be to add the my image into the existing page. Instead the is reshuffled, and the pictures becomes part of a class photo of new people. It is not clear to the user, that the images are of random other participants - the expectation is that this is "my" class.

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.