Git Product home page Git Product logo

broadcast-portal's People

Contributors

n0phx avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

broadcast-portal's Issues

404 page broken with attribute error

Since the 404 page uses the same code as any other handler, I believe all other error pages are broken as well.

Critical error while processing request: /foo/
Error:

AttributeError("Attribute 'user' not defined.",)

Traceback:

Traceback (most recent call last):
  File "/home/hajime/.virtualenvs/uplink/bin/bottle.py", line 954, in wsgi
    out = self._cast(self._handle(environ))
  File "/home/hajime/.virtualenvs/uplink/bin/bottle.py", line 907, in _cast
    out = self.error_handler.get(out.status_code, self.default_error_handler)(out)
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/bottle_utils/ajax.py", line 72, in wrapper
    return templ(tpl_name, **tplvars)
  File "/home/hajime/code/uplink/broadcast/util/template.py", line 31, in template
    return render(template, ctx)
  File "/home/hajime/code/uplink/broadcast/util/template.py", line 23, in render
    return template.render(**final_ctx)
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/template.py", line 445, in render
    return runtime._render(self, self.callable_, args, data)
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/runtime.py", line 829, in _render
    **_kwargs_for_callable(callable_, data))
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/runtime.py", line 864, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/runtime.py", line 890, in _exec_template
    callable_(context, *args, **kwargs)
  File "/tmp/broadcast-view-cache/_base.mako.py", line 74, in render_body
    context['self'].top(**pageargs)
  File "/tmp/broadcast-view-cache/_inner.mako.py", line 67, in render_top
    if request.user.is_guest:
  File "/home/hajime/.virtualenvs/uplink/bin/bottle.py", line 1394, in __getattr__
    raise AttributeError('Attribute %r not defined.' % name)
AttributeError: Attribute 'user' not defined.

Add step to assign content license

This step would provide users with the opportunity to communicate how the content can be used after it is delivered over the datacast. This metadata would then be visible in Librarian. I recommend this as an optional step, following YouTube's lead.

Restyle to match the homepage styling

In particular:

  • Header style (blue b/g with white lettering)
  • Black text on white b/g
  • Use of green/orange to be replaced by blue/white/black combination

Loose the closed beta

  • The beta sign-up form should be replaced by normal registration form
  • Whitelisted users should still be bumped into moderator role
  • A message should be shown to new mods the first time they log in explaining their role
  • Controls that are for moderators only should only be shown to moderators
  • Add feedback box so users can leave a feedback from any page

Switch status polling to websockets

Even though the status route is not exactly expensive, switching it to websockets will solve other issues in the UI code and remove some of the race conditions that arise from polling on a timer.

Remove success pages

Success pages are unnecessary. The user should just be taken to where they wanted to go.

Add 'updated' column to content items

The column should contain the last update timestamp and be bumped when the items is modified in any way:

  • on creation
  • on vote
  • on binning

The last_update timestamp should be bumped to the highest value of the update column across the table.

Allow user to view file in browser

Right now, the user is only able to download the file. The easiest way to allow a user to view the file is by rendering it in a new tab.

Shorten the funnel

Change the progress through the uplink wizard by implementing the following:

  • The content form should be the intial page, and the blurb at the top should be above the form.
  • The step 2 of the wizard should be merged with the first step and the form should have the following fields (required items marked with a !, items that are TBD are marked with ?):
    • file !
    • title !
    • language
    • license ?
    • source URL
    • email
  • Keep both submit buttons (paid & free, but removal of paid option is TBD).

Deployment checklist for 3.0

  • Add favicon (see #69)
  • Set up mailing list ID and API keys
  • Set up SMTP for transactional email (Mandrill?)
  • Set up report@ email
  • Set up 'filecaster-staging' subdomain
  • Complete #71
  • Stage
  • Recheck everything once hooked up
  • Set up 'filecaster' subdomain
  • Release
  • Deploy final version
  • Do a quick test on the final version

Include button for reporting abuse

Each item should include a button for reporting abuse. For 3.0 milestone, this can be a simple mailto: link with subject line that identifies the file (e.g., content ID).

Also requires Outernet-Project/OIcons#1

Infinite loop on error pages (again)

Traceback (most recent call last):
  File "/home/hajime/.virtualenvs/uplink/bin/bottle.py", line 922, in _cast
    iout = iter(out)
  File "/home/hajime/code/bottle-streamline/streamline/base.py", line 195, in __iter__
    self.create_response()
  File "/home/hajime/code/bottle-streamline/streamline/template.py", line 117, in create_response
    super(XHRPartialRoute, self).create_response()
  File "/home/hajime/code/bottle-streamline/streamline/template.py", line 95, in create_response
    self.body = self.render_template()
  File "/home/hajime/code/bottle-streamline/streamline/template.py", line 80, in render_template
    return fn(template, ctx)
  File "/home/hajime/code/uplink/broadcast/util/template.py", line 23, in render
    return template.render(**final_ctx)
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/template.py", line 445, in render
    return runtime._render(self, self.callable_, args, data)
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/runtime.py", line 829, in _render
    **_kwargs_for_callable(callable_, data))
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/runtime.py", line 864, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/mako/runtime.py", line 890, in _exec_template
    callable_(context, *args, **kwargs)
  File "/tmp/broadcast-view-cache/_base.mako.py", line 52, in render_body
    __M_writer(filters.html_escape(unicode(assets['css/main'])))
  File "/home/hajime/code/uplink/broadcast/appconf/assets.py", line 110, in __getitem__
    return self.get(name)
  File "/home/hajime/code/uplink/broadcast/appconf/assets.py", line 107, in get
    return self.env[name].urls()[0]
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/bundle.py", line 787, in urls
    urls.extend(bundle._urls(new_ctx, extra_filters, *args, **kwargs))
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/bundle.py", line 746, in _urls
    *args, **kwargs)
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/bundle.py", line 590, in _build
    if ctx.updater else True
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/updater.py", line 173, in needs_rebuild
    super(TimestampUpdater, self).needs_rebuild(bundle, ctx) or \
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/updater.py", line 103, in needs_rebuild
    return self.check_bundle_definition(bundle, ctx)
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/updater.py", line 92, in check_bundle_definition
    current_hash = "%s" % hash_func(bundle)
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/utils.py", line 48, in hash_func
    return make_md5(data)
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/cache.py", line 84, in make_md5
    for d in walk(data):
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/cache.py", line 61, in walk
    for d in walk(item): yield d
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/cache.py", line 75, in walk
    for i in walk(obj.id()):
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/bundle.py", line 341, in id
    bool(self.debug)))
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/webassets/utils.py", line 47, in hash_func
    from .cache import make_md5
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/gevent/builtins.py", line 88, in __import__
    module_lock = __module_lock(args[0]) # Get a lock for the module name
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/gevent/builtins.py", line 60, in __module_lock
    lock = RLock()
  File "/home/hajime/.virtualenvs/uplink/lib/python2.7/site-packages/gevent/lock.py", line 193, in __init__
    self._block = Semaphore(1)
  File "gevent/_semaphore.py", line 30, in gevent._semaphore.Semaphore.__init__ (gevent/gevent._semaphore.c:1087)
    if value < 0:
RuntimeError: maximum recursion depth exceeded in cmp

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.