Skip to content

Commit

Permalink
Merge branch 'integration' into feature/71926460/vr_ad_banner
Browse files Browse the repository at this point in the history
  • Loading branch information
scuocere committed Jun 17, 2014
2 parents e315efc + 6cb462a commit b63f4d1
Show file tree
Hide file tree
Showing 38 changed files with 762 additions and 115 deletions.
104 changes: 104 additions & 0 deletions CONFERENCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
__ _____ ___ ____ _____ ____ _____ ____ _ _ ____ _ ___ ____
\ \ / / _ \_ _/ ___| ____| _ \| ____| _ \| | | | __ )| | |_ _/ ___|
\ \ / / | | | | | | _| | |_) | _| | |_) | | | | _ \| | | | |
\ V /| |_| | | |___| |___| _ <| |___| __/| |_| | |_) | |___ | | |___
\_/ \___/___\____|_____|_| \_\_____|_| \___/|____/|_____|___\____|
____ ___ _ _ _____ _____ ____ _____ _ _ ____ _____
/ ___/ _ \| \ | | ___| ____| _ \| ____| \ | |/ ___| ____|
| | | | | | \| | |_ | _| | |_) | _| | \| | | | _|
| |__| |_| | |\ | _| | |___| _ <| |___| |\ | |___| |___
\____\___/|_| \_|_| |_____|_| \_\_____|_| \_|\____|_____|
____ _____ ___ _ _ ___ ____ _____ __ __ _____ _ _ _____ ____
| _ \| ____/ _ \| | | |_ _| _ \| ____| \/ | ____| \ | |_ _/ ___|
| |_) | _|| | | | | | || || |_) | _| | |\/| | _| | \| | | | \___ \
| _ <| |__| |_| | |_| || || _ <| |___| | | | |___| |\ | | | ___) |
|_| \_\_____\__\_\\___/|___|_| \_\_____|_| |_|_____|_| \_| |_| |____/

VoiceRepublic Conference Requirements
=====================================

Data Import & Sync
------------------

* Text not longer than 2300 characters.
* Strings not longer than 140 characters.

### Fields

* URI (Unique Resource Identifier, technical requirement)
* Speaker Names (required for social media engagement)
* Speaker Emailadress (required for speaker engagement)
* Speaker Twitter Handle (required for social media engagement)
* ...

### Input Formats

* csv
* json
* xml


Technical Requirements
----------------------

### Setup

* A work space with a chair and a table with at least 80cm space for
audio streaming equipment.

* Powerplug and Ethernet connector close by.

### Network

* Each audio stream may require up to 30 KB/s bandwidth.

* A stable Internet connection (via Ethernet) is key. Wifi has proven
not to be reliable enough to garantee a stable streaming signal.

* Ports 443 (https), 9292 (https) and 1935 (rtmp) need to be open for
incoming as well as outgoing traffic.

### Audio Signal

* XLR coming from the press split. Audio Jack has proven to deliver
signals which are easily affected by disturbing signals.

### Contact

* Contact information (name, cell, email) of the person responsible
for audio setup.

* Contact information (name, cell, email) of the person responsible
for network setup.


VoiceRepublic Conference Features
---------------------------------

These options can be set per venue/series. The options have to be set
by a VR Backoffice Operator.

*TODO describe these features*

### Recommended Options

#### No Auto End Talk (no_auto_end_talk)

Talks on VR are ended automatically as soon as the sceduled time is
up. Keeping the scedule on conferences is tough. With this option set,
talks will not be ended automatically. For the talk to become
available in the archive, a stage operator will have to end the talk
manually.

#### No Email (no_email)

#### Loopback (loopback)

### Not Recommended Options

#### No Auto Processing (no_auto_postprocessing)

#### Suppress Chat (suppress_chat)
10 changes: 4 additions & 6 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ gem 'coffee-rails' #, '~> 3.2.1'
gem 'therubyracer', :platforms => :ruby
gem 'uglifier'#, '>= 1.0.3'

gem 'roadie', '2.4.3'
gem 'airbrake'
gem 'rails_config'
gem 'foundation-rails'
Expand All @@ -28,13 +27,8 @@ gem 'omniauth-facebook'
gem 'omniauth-google-oauth2'
gem 'friendly_id' # make urls more friendly
gem 'will_paginate' # pagination-extension to active-record
gem 'will_paginate-bootstrap' # integrate twitter-bootstrap with will_paginate
gem 'i18n_data' # delivers languages as key-value hash
gem 'dragonfly', '1.0.3' # used for images
gem 'globalize3' # internationalization
gem 'acts-as-taggable-on', '3.0.1' # tag-system
gem 'money-rails' # integrates some helper methods and AR-instance-functions...
gem 'eu_central_bank' # financial exchange rates
gem 'cancan' # authorization/privileges
gem 'private_pub' # push service
gem 'thin' # faster development-server
Expand All @@ -53,6 +47,10 @@ gem 'browser'
gem 'fog'

group :development, :test do
# TODO: Upgrading to Rails 4.1 introduces it's own mail preview mechanism:
# http://edgeguides.rubyonrails.org/4_1_release_notes.html#action-mailer-previews
gem 'letter_opener'
gem 'letter_opener_web', '~> 1.2.0'
# gem 'rails_view_annotator'
gem 'annotator'
gem 'better_errors'
Expand Down
35 changes: 7 additions & 28 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,6 @@ GEM
cookiejar (0.3.0)
crack (0.4.1)
safe_yaml (~> 0.9.0)
css_parser (1.3.5)
addressable
daemons (1.1.9)
debug_inspector (0.0.2)
debugger (1.6.5)
Expand Down Expand Up @@ -141,9 +139,6 @@ GEM
em-socksify (0.3.0)
eventmachine (>= 1.0.0.beta.4)
erubis (2.7.0)
eu_central_bank (0.3.7)
money (>= 5.0.0)
nokogiri
eventmachine (1.0.3)
excon (0.33.0)
execjs (2.0.2)
Expand Down Expand Up @@ -194,9 +189,6 @@ GEM
sass (>= 3.2.0)
friendly_id (5.0.2)
activerecord (~> 4.0.0)
globalize3 (0.1.0)
activemodel (>= 3.0.0)
activerecord (>= 3.0.0)
guard (2.2.5)
formatador (>= 0.2.4)
listen (~> 2.1)
Expand All @@ -218,7 +210,6 @@ GEM
http_parser.rb (0.6.0)
httpauth (0.2.0)
i18n (0.6.9)
i18n_data (0.4.0)
jquery-rails (3.0.4)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
Expand All @@ -235,6 +226,11 @@ GEM
less-rails (2.3.2)
actionpack (>= 3.1)
less (~> 2.3.1)
letter_opener (1.2.0)
launchy (~> 2.2)
letter_opener_web (1.2.0)
letter_opener (~> 1.0)
rails (>= 3.2)
libv8 (3.16.14.3)
listen (2.4.0)
celluloid (>= 0.15.2)
Expand All @@ -252,12 +248,6 @@ GEM
mime-types (1.25.1)
mini_portile (0.5.2)
minitest (4.7.5)
money (6.0.0)
i18n (~> 0.6.4)
money-rails (0.9.0)
activesupport (>= 3.0)
money (~> 6.0.0)
railties (>= 3.0)
multi_json (1.9.2)
multipart-post (1.2.0)
net-scp (1.1.2)
Expand Down Expand Up @@ -331,11 +321,6 @@ GEM
rb-inotify (0.9.3)
ffi (>= 0.5.0)
ref (1.0.5)
roadie (2.4.3)
actionmailer (> 3.0.0, < 5.0.0)
css_parser (~> 1.3.4)
nokogiri (> 1.5.0)
sprockets
rspec (2.14.1)
rspec-core (~> 2.14.0)
rspec-expectations (~> 2.14.0)
Expand Down Expand Up @@ -430,8 +415,6 @@ GEM
activesupport (>= 2.3.4)
chronic (>= 0.6.3)
will_paginate (3.0.5)
will_paginate-bootstrap (1.0.0)
will_paginate (>= 3.0.3)
xpath (2.0.0)
nokogiri (~> 1.3)
zeus (0.13.3)
Expand Down Expand Up @@ -466,23 +449,21 @@ DEPENDENCIES
disable_assets_logger
dragonfly (= 1.0.3)
dynamic_form
eu_central_bank
factory_girl_rails (~> 4.0)
faker
fog
foreman
foundation-rails
friendly_id
globalize3
guard-rspec
haml-rails
i18n_data
jquery-rails
jquery-ui-rails
launchy
less-rails (= 2.3.2)
letter_opener
letter_opener_web (~> 1.2.0)
meta_request
money-rails
omniauth-facebook
omniauth-google-oauth2
pg
Expand All @@ -495,7 +476,6 @@ DEPENDENCIES
rails (= 4.0.2)
rails-i18n
rails_config
roadie (= 2.4.3)
rspec-rails
rspec-retry
sass-rails
Expand All @@ -514,5 +494,4 @@ DEPENDENCIES
webmock (~> 1.15.0)
whenever
will_paginate
will_paginate-bootstrap
zeus
30 changes: 29 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,34 @@ The output lists the resulting files.
(Depending on your shell, e.g. for zsh, you might have to escape the
square brackets with backslashes.)

### Analyzing FLV Data with Rake

#### Parameters

* path
* started_at
* ended_at

#### Run

rake audio:analyze\[/home/phil/audio/vr-1104,1401736803,1401740512\]

#### Legend

* filename
* user_id (deduced from filename)
* duration in seconds (as of avconv)
* file size in bytes
* flag
* file start timestamp (deduced from filename)
* file end timestamp (start + duration)

#### Flags

* `-` marks a file of size 0
* `X` marks a corrupt file (size > 0, but duration cannot be determined)
* `*` marks files which touch the live section of the talk


Documentation
-------------
Expand Down Expand Up @@ -327,4 +355,4 @@ Console Cheat Sheet

### Manually asses talks

puts *Talk.where("uri like 'lt%'").order(:id).map { |t| '% 4s % 5s % 5s %s' % [t.id, t.storage.values.select { |f| f[:ext]=='.flv' }.inject(0) {|r,s| r + s[:seconds].to_i }, t.recording_override?, t.teaser ] }
puts *Talk.where("uri like 'lt%'").order(:id).map { |t| '% 4s % 5s % 5s %s' % [t.id, t.storage.values.select { |f| f[:ext]=='.flv' }.inject(0) {|r,s| r + s[:seconds].to_i }, t.recording_override?, t.teaser ] }
2 changes: 1 addition & 1 deletion app/assets/javascripts/angular/services/session.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ sessionFunc = ($log, privatePub, util, $rootScope, $timeout, upstream,
acceptingPromotion = ->
(user for id, user of users when user.state == 'AcceptingPromotion')
participants = ->
(user for id, user of users when user.state == 'Listening')
(user for id, user of users when user.state == 'Listening' and user.role != 'listener')
listeners = ->
(user for id, user of users when user.role == 'listener')

Expand Down
10 changes: 10 additions & 0 deletions app/assets/javascripts/components/language_select.js.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
selector = '.languageSelect'

initialize = (node) ->

$(node).select2
width: 'element'

# init if present
$.each $(selector), (index, node) -> initialize(node)

4 changes: 2 additions & 2 deletions app/controllers/application_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ def check_browser
end

def create_guest_user
token = SecureRandom.random_number(10000)
name = ['guest', Time.now.to_i, token ] * '_'
token = SecureRandom.uuid
name = ['guest', token ] * '_'
logger.debug "\033[31mCREATE GUEST USER: #{name}\033[0m"
user = User.create( email: "#{name}@example.com",
firstname: 'guest',
Expand Down
5 changes: 3 additions & 2 deletions app/controllers/errors_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ class ErrorsController < ApplicationController
# http://railscasts.com/episodes/53-handling-exceptions-revised?view=asciicast
def show
@exception = env["action_dispatch.exception"]
status = request.path[1..-1]
respond_to do |format|
format.html { render action: request.path[1..-1] }
format.html { render action: status, status: status }
# FIXME: json format does not yet render correctly
format.json { render json: {status: request.path[1..-1], error: @exception.message}}
format.json { render json: { status: status, error: @exception.message } }
end
end

Expand Down
4 changes: 2 additions & 2 deletions app/controllers/talks_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class TalksController < ApplicationController

# GET /talks/popular
def featured
@talks = Talk.prelive.paginate(page: params[:page], per_page: 25)
@talks = Talk.prelive.featured.paginate(page: params[:page], per_page: 25)
render :index
end

Expand Down Expand Up @@ -108,7 +108,7 @@ def talk_params
params.require(:talk).permit(:title, :teaser, :starts_at_date,
:starts_at_time, :duration,
:description, :record, :image,
:tag_list, :guest_list)
:tag_list, :guest_list, :language)
end

end
Loading

0 comments on commit b63f4d1

Please sign in to comment.