From 9e4105a391517d393d91c5963e060907e72be4fc Mon Sep 17 00:00:00 2001
From: Seth Call Hello <%= EmailBatchProgression::VAR_FIRST_NAME %> --
- Hello <%= EmailBatchProgression::VAR_FIRST_NAME %> --
+ We're delighted you have decided to join the JamKazam community of musicians, and we hope
-
- you will enjoy using JamKazam and JamTracks to play more music. Following are some
-
- resources and some things you can do to get the most out of JamKazam.
- Playing With JamTracks Play Live With Others from Different Locations on JamKazam Teach or Take Online Music Lessons Complete Your Profile Invite Your Friends
-
- Get Help
+ Thank you for signing up to take online music lessons using the JamClass service by JamKazam. JamKazam technology was
+ built from the ground up for playing music live in sync with high quality audio from different locations over the
+ Internet. Unlike other lesson services, this means we can deliver a massively better online music lesson experience
+ than voice/chat apps like Skype, etc. Our rapidly growing community of 35,000+ musicians will attest to this.
+
+ To get ready to take JamClass lessons online, here are the things you'll want to do:
+ 1. Find a Teacher & Book Lessons 2. Set Up Your Gear 3. Learn About JamClass Features 4. Play With Other Musicians Online - It's Free!
+ As you work through these things, if you ever get stuck or have questions, please don't hesitate to reach out for
+ help. You can email us any time at support@jamkazam.com. We are happy to
+ help you, and we look forward to helping you
+ learn and grow as a musician, and expand your musical universe!
+ Best Regards, Hello <%= EmailBatchProgression::VAR_FIRST_NAME %> --
- Hello <%= EmailBatchProgression::VAR_FIRST_NAME %> --
+ We're delighted you have decided to join the JamKazam community of musicians, and we hope
-
- you will enjoy using JamKazam and JamTracks to play more music. Following are some
-
- resources and some things you can do to get the most out of JamKazam.
- Playing With JamTracks Play Live With Others from Different Locations on JamKazam Teach or Take Online Music Lessons Complete Your Profile Invite Your Friends
-
- Get Help
+ Thank you for signing up to teach online music lessons using the JamClass service by JamKazam. JamKazam technology was
+ built from the ground up for playing music live in sync with high quality audio from different locations over the
+ Internet, so you will find it delivers a massively better online music lesson platform than voice/chat apps like
+ Skype, etc.
+
+ To get ready to teach JamClass students online, here are the things you'll want to do:
+ 1. Set Up Your Teacher Profile
-
- JamTracks are the best way to play along with your favorite songs. Far better and different than
-
- traditional backing tracks, our JamTracks are complete multi-track professional recordings, with
-
- fully isolated tracks for each part of the music. And our free app and Internet service are packed
-
- with features that give you unmatched creative freedom to learn, practice, record, play with
-
- others, and share your performances. Here are some great JamTracks resources:
-
-
-
-
- JamKazam’s free app lets musicians play together live and in sync from different locations over
-
- the Internet. Kind of like Skype on super audio steroids, with ultra low latency and terrific audio
-
- quality. You can set up online sessions that are public or private, for you alone or for others to
-
- join. You can find and join others’ sessions, use backing tracks and loops in sessions, make
-
- audio and video recordings of session performances, and more. Click here for a set of tutorial
-
- videos that show how to use these features.
-
- If you teach music lessons and have tried to give lessons using Skype, you’ll know how
-
- unsatisfactory that experience is. Audio quality is poor, and latency prohibits teacher and
-
- student playing together at all. JamKazam is a terrific service for teaching and taking online
-
- music lessons. If you want to use JamKazam for lessons, we’ll be happy to support both you and
-
- your students in getting set up and ready to go.
-
- Every member of our community has a profile. It’s a great way to share a little bit about who
-
- you are as a musician, as well as your musical interests. For example, what instruments do you
-
- play? What musical genres do you like best? Are you interested in getting into a virtual/online
-
- or a real-world band? And so on. Filling out your profile will help you connect with others with
-
- common interests. To do this, go to www.jamkazam.com or launch the JamKazam app. Then
-
- click on the Profile tile, and click the Edit Profile button.
-
- Have friends who are musicians? Invite them to join you to play together on JamKazam. To do
-
- this, go to www.jamkazam.com or launch the JamKazam app. Then move your mouse over the
-
- user icon in the top right corner of the screen. A menu will be displayed. Click Invite Friends in
-
- this menu, and you can then use the options to invite your friends using their email addresses,
-
- or via Facebook, or using your Google contacts.
-
-
- If you run into trouble and need help, please reach out to us. We will be glad to do everything
-
- we can to answer your questions and get you up and running. You can visit our Support Portal
-
- to find knowledge base articles and post questions that have not already been answered. You
-
- can email us at support@jamkazam.com. And if you just want to chat, share tips and war
-
- stories, and hang out with fellow JamKazamers, you can visit our Community Forum.
+
+ If you already know the teacher from whom you want to learn, then you can simply
+ use this link to search for
+ them, and
+ click the Book Lesson button to get started. But if you're like most of us, you don't know. In this case, we strongly
+ advise signing up for our unique TestDrive service.
- Again, welcome to JamKazam, and we hope you have a great time here!
+
+ TestDrive lets you take 4 full lessons (30 minutes each) from 4 different teachers for just $49.99 to find the best
+ teacher for you. Finding the right teacher is the single most important determinant of success in your lessons. Would
+ you marry the first person you ever dated? No? Same here. Pick 4 teachers who look great, and then see who you click
+ with. It's a phenomenal value, and then you can stick with the best teacher for you.
+ Click this link
+ to sign up now
+ for TestDrive. Then you can book 4 TestDrive lessons to get rolling.
+ Use this link to a set of
+ help
+ articles on how to set up your gear to be ready to teach online. After you have signed
+ up, someone from JamKazam will contact you to schedule a test online session, in which we will make sure your audio
+ and video gear are working properly in an online session, and to make sure you feel comfortable with the key features
+ you will be using in sessions with teachers.
+
+ Use this link to a set of
+ help
+ articles for students on JamClass to familiarize yourself with the most useful features
+ for online lessons. This includes how to search for the best teacher for you, how to request/book lessons, how to join
+ your teacher in online lessons, features you can use while in lessons, and much more. There is very important basic
+ information, plus some really nifty stuff here, so be sure to look through it at least briefly to see how we can
+ turbocharge your online lessons!
+
+ With JamKazam, you can use the things you're learning in lessons to play with other amateur musicians in online
+ sessions, free! Or just play for fun. Once you've set up your gear for lessons, you can
+ create
+ online music sessions
+ that others can join, or find other musicians' online music sessions and hop into those to play with others. If you
+ want to take advantage of this part of the JamKazam platform, we'd advise that you edit your musician profile to make
+ it easier to connect with other musicians in our community to expand your set of musician friends. It's a ton of fun,
+ so give it a try!
+
Team JamKazam
-
- JamTracks are the best way to play along with your favorite songs. Far better and different than
-
- traditional backing tracks, our JamTracks are complete multi-track professional recordings, with
-
- fully isolated tracks for each part of the music. And our free app and Internet service are packed
-
- with features that give you unmatched creative freedom to learn, practice, record, play with
-
- others, and share your performances. Here are some great JamTracks resources:
-
-
-
-
- JamKazam’s free app lets musicians play together live and in sync from different locations over
-
- the Internet. Kind of like Skype on super audio steroids, with ultra low latency and terrific audio
-
- quality. You can set up online sessions that are public or private, for you alone or for others to
-
- join. You can find and join others’ sessions, use backing tracks and loops in sessions, make
-
- audio and video recordings of session performances, and more. Click here for a set of tutorial
-
- videos that show how to use these features.
-
- If you teach music lessons and have tried to give lessons using Skype, you’ll know how
-
- unsatisfactory that experience is. Audio quality is poor, and latency prohibits teacher and
-
- student playing together at all. JamKazam is a terrific service for teaching and taking online
-
- music lessons. If you want to use JamKazam for lessons, we’ll be happy to support both you and
-
- your students in getting set up and ready to go.
-
- Every member of our community has a profile. It’s a great way to share a little bit about who
-
- you are as a musician, as well as your musical interests. For example, what instruments do you
-
- play? What musical genres do you like best? Are you interested in getting into a virtual/online
-
- or a real-world band? And so on. Filling out your profile will help you connect with others with
-
- common interests. To do this, go to www.jamkazam.com or launch the JamKazam app. Then
-
- click on the Profile tile, and click the Edit Profile button.
-
- Have friends who are musicians? Invite them to join you to play together on JamKazam. To do
-
- this, go to www.jamkazam.com or launch the JamKazam app. Then move your mouse over the
-
- user icon in the top right corner of the screen. A menu will be displayed. Click Invite Friends in
-
- this menu, and you can then use the options to invite your friends using their email addresses,
-
- or via Facebook, or using your Google contacts.
-
-
- If you run into trouble and need help, please reach out to us. We will be glad to do everything
-
- we can to answer your questions and get you up and running. You can visit our Support Portal
-
- to find knowledge base articles and post questions that have not already been answered. You
-
- can email us at support@jamkazam.com. And if you just want to chat, share tips and war
-
- stories, and hang out with fellow JamKazamers, you can visit our Community Forum.
+ As JamKazam brings students into the JamClass marketplace, these students will search for teachers. The way they find
+ teachers is by searching on their criteria (e.g. instruments, genres, etc.), and then by browsing through teacher
+ profiles to get a feel for the teachers who match their search criteria. Your teacher profile is critical to being
+ found in searches, and then presenting yourself in more depth to students who are interested in you. So you'll want to
+ take a little time to fill in the information in your teacher profile to present yourself well.
- Again, welcome to JamKazam, and we hope you have a great time here!
+ To do this:
+
+
+
+
+
2. Set Up Your Gear
+ Use this link to a set of
+ help
+ articles on how to set up your gear to be ready to teach online. After you have signed
+ up, someone from JamKazam will contact you to schedule a test online session, in which we will make sure your audio
+ and video gear are working properly in an online session, and to make sure you feel comfortable with the key features
+ you will be using in sessions with students.
+
3. Learn About JamClass Features
+ Use this link to a set of
+ help
+ articles for teachers on JamClass to familiarize yourself with the most useful features
+ for teaching students online. This includes how to respond to and book lessons requested by students, how to join your
+ students in online lessons, features you can use while in lessons, and much more. There is very important basic
+ information, plus some really nifty stuff here, so be sure to look through it at least briefly to see how we can
+ turbocharge your online lessons!
+
+ As you work through these things, if you ever get stuck or have questions, please don't hesitate to reach out for + help. You can email us any time at support@jamkazam.com. We are happy to help you, and we look forward to helping you + reach and teach more students!
Best Regards,
diff --git a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/teacher_welcome_message.text.erb b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/teacher_welcome_message.text.erb
index 52dc8ab65..fb6468451 100644
--- a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/teacher_welcome_message.text.erb
+++ b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/teacher_welcome_message.text.erb
@@ -1,42 +1,38 @@
-<% if !@user.anonymous? %>Hello <%= EmailBatchProgression::VAR_FIRST_NAME %> --<% end %>
+<% if !@user.anonymous? %>Hello <%= EmailBatchProgression::VAR_FIRST_NAME %> --
+<% end %>
-We're delighted that you have decided to try the JamKazam service, and we hope that you will enjoy using JamKazam to play music with others. Following are some resources that can help you get oriented and get the most out of JamKazam.
+Thank you for signing up to teach online music lessons using the JamClass service by JamKazam. JamKazam technology was
+built from the ground up for playing music live in sync with high quality audio from different locations over the
+Internet, so you will find it delivers a massively better online music lesson platform than voice/chat apps like
+Skype, etc.
+To get ready to teach JamClass students online, here are the things you'll want to do:
-Getting Started
----------------
+1. Set Up Your Teacher Profile
+As JamKazam brings students into the JamClass marketplace, these students will search for teachers. The way they find
+teachers is by searching on their criteria (e.g. instruments, genres, etc.), and then by browsing through teacher
+profiles to get a feel for the teachers who match their search criteria. Your teacher profile is critical to being
+found in searches, and then presenting yourself in more depth to students who are interested in you. So you'll want to
+take a little time to fill in the information in your teacher profile to present yourself well.
-There are basically three kinds of setups you can use to play on JamKazam.
+To do this:
-* Built-In Audio on Your Computer - You can use a Windows or Mac computer, and just use the built-in mic and headphone jack to handle your audio. This is cheap and easy, but your audio quality will suffer, and it will also process audio very slowly, creating problems with latency, or lag, in your sessions. Still, you can at least start experimenting with JamKazam in this way.
+1. Sign in to JamKazam (https://www.jamkazam.com/signin) using the email and password you used to register.
+2. Edit your musician profile (https://www.jamkazam.com/client#/account/profile) describe yourself as a musician.
+3. Edit your teacher profile (https://www.jamkazam.com/client#/teachers/setup/introduction) to describe yourself as a teacher.
+4. View your teacher profile (https://www.jamkazam.com/client#/profile/teacher/<%= @user.teacher.id %>) to see how you will be presented to students.
+5. If you don't like anything about your teacher profile, use the edit link above to go back in and edit your information as you like.
-* Computer with External Audio Interface - - You can use a Windows or Mac computer with an external audio interface that you already own and use for recording, if you happen to have one already. If you are going to do this, or use the built-in mic/headphones on your computer, please refer to our Minimum System Requirements at https://jamkazam.desk.com/customer/portal/articles/1288274-minimum-system-requirements to make sure your computer will work. These requirements were on the download page for the app, but you may have sped by them. Also, we'd recommend watching our Getting Started Video at https://www.youtube.com/watch?v=DBo--aj_P1w to learn more about your options here.
+2. Set Up Your Gear
+Use this link to a set of help articles on how to set up your gear (https://jamkazam.desk.com/customer/en/portal/topics/673197-first-time-setup/articles)
+to be ready to teach online. After you have signed up, someone from JamKazam will contact you to schedule a test online session, in which we will make sure your audio
+and video gear are working properly in an online session, and to make sure you feel comfortable with the key features
+you will be using in sessions with students.
-* The JamBlaster - JamKazam has designed a new product from the ground up to be the best way to play music online in real time. It's called the JamBlaster. It processes audio faster than any of the thousands of combinations of computers and interfaces in use on JamKazam today, which means you can play with musicians who are farther away from you, and closer sessions will feel/sound tighter. The JamBlaster is both a computer and an audio interface, so it also eliminates the system requirements worries, and it "just works" so you don't have to be an audio and computer genius to get it working. This is a great product - available only through a Kickstarter program running during a 30-day window during parts of February and March 2015. You can watch the JamBlaster Video at https://www.youtube.com/watch?v=gAJAIHMyois to learn more about this amazing new product.
+3. Learn About JamClass Features
+Use this link to a set of help articles for teachers on JamClass (https://jamkazam.desk.com/customer/en/portal/topics/926076-jamclass-online-music-lessons---for-teachers/articles) to familiarize yourself with the most useful features for teaching students online. This includes how to respond to and book lessons requested by students, how to join your students in online lessons, features you can use while in lessons, and much more. There is very important basic information, plus some really nifty stuff here, so be sure to look through it at least briefly to see how we can turbocharge your online lessons!
-
-JamKazam Features
------------------
-
-JamKazam offers a very robust and exciting set of features for playing online and sharing your performances with others. Here are some videos you can watch to easily get up to speed on some of the things you can do with JamKazam:
-
-* Creating a Session - https://www.youtube.com/watch?v=EZZuGcDUoWk
-
-* Finding a Session - https://www.youtube.com/watch?v=xWponSJo-GU
-
-* Playing in a Session - https://www.youtube.com/watch?v=zJ68hA8-fLA
-
-* Connecting with Other Musicians - https://www.youtube.com/watch?v=4KWklSZZxRc
-
-* Working with Recordings - https://www.youtube.com/watch?v=Gn-dOqnNLoY
-
-
-Getting Help
-------------
-
-If you run into trouble and need help, please reach out to us. We will be glad to do everything we can to answer your questions and get you up and running. You can visit our Support Portal at https://jamkazam.desk.com/ to find knowledge base articles and post questions that have not already been answered. You can email us at support@jamkazam.com. And if you just want to chat, share tips and war stories, and hang out with fellow JamKazamers, you can visit our Community Forum at http://forums.jamkazam.com/.
-
-Again, welcome to JamKazam, and we look forward to seeing – and hearing – you online soon!
+As you work through these things, if you ever get stuck or have questions, please don't hesitate to reach out for help. You can email us any time at support@jamkazam.com. We are happy to help you, and we look forward to helping you reach and teach more students!
Best Regards,
Team JamKazam
diff --git a/ruby/lib/jam_ruby/lib/stats.rb b/ruby/lib/jam_ruby/lib/stats.rb
index 17506a27e..65f3558c3 100644
--- a/ruby/lib/jam_ruby/lib/stats.rb
+++ b/ruby/lib/jam_ruby/lib/stats.rb
@@ -2,6 +2,7 @@
require 'influxdb'
# monkey patch InfluxDB client to clear the queue when asked to stop
+=begin
module InfluxDB
class Client
def stop!
@@ -10,6 +11,7 @@ module InfluxDB
end
end
end
+=end
module InfluxDB
class Worker
@@ -46,7 +48,7 @@ module JamRuby
def self.destroy!
if @client
- @client.queue.clear if @client.queue
+ #@client.queue.clear if @client.queue
@client.stop!
end
end
diff --git a/ruby/spec/mailers/render_emails_spec.rb b/ruby/spec/mailers/render_emails_spec.rb
index 464f80697..9fe7a4e37 100644
--- a/ruby/spec/mailers/render_emails_spec.rb
+++ b/ruby/spec/mailers/render_emails_spec.rb
@@ -26,6 +26,7 @@ describe "RenderMailers", :slow => true do
end
it { @filename="welcome_message"; UserMailer.welcome_message(user).deliver }
+ it { @filename="student_welcome_message"; UserMailer.student_welcome_message(user).deliver }
it { @filename="confirm_email"; UserMailer.confirm_email(user, "/signup").deliver }
it { @filename="password_reset"; UserMailer.password_reset(user, '/reset_password').deliver }
it { @filename="password_changed"; UserMailer.password_changed(user).deliver }
@@ -44,6 +45,10 @@ describe "RenderMailers", :slow => true do
let(:teacher) { u = FactoryGirl.create(:teacher); u.user }
let(:user) { FactoryGirl.create(:user) }
+ it "teacher_welcome_message" do
+ @filename = "teacher_welcome_message"
+ UserMailer.teacher_welcome_message(teacher).deliver
+ end
it "teacher_lesson_request" do
@filename = "teacher_lesson_request"
diff --git a/web/spec/features/account_school_spec.rb b/web/spec/features/account_school_spec.rb
index 60eb64488..bb7cf7fec 100644
--- a/web/spec/features/account_school_spec.rb
+++ b/web/spec/features/account_school_spec.rb
@@ -9,6 +9,8 @@ describe "Account School", :js => true, :type => :feature, :capybara_feature =>
let(:school_owner) {school.owner}
before(:each) do
+ User.where('school_id is not null').update_all(school_id: nil)
+ Teacher.delete_all
SchoolInvitation.delete_all
School.delete_all
UserMailer.deliveries.clear
@@ -41,6 +43,21 @@ describe "Account School", :js => true, :type => :feature, :capybara_feature =>
school_invitation.email.should eql "seth+invited_teacher@jamkazam.com"
find('.teacher-invites td.description', "#{school_invitation.first_name} #{school_invitation.last_name}")
+
+ UserMailer.deliveries.count.should eql 1
+
+ # let's try to resend it.
+ find('a.resend', text:'resend invitation').trigger(:click)
+ find('h2', text: 'invitation resent') # wait for notification to show
+ UserMailer.deliveries.count.should eql 2
+
+ find('a.delete', text: 'delete').trigger(:click)
+
+ find('.teacher-invites p', text: 'No pending invitations')
+
+ # make an invitation, and accept it, and check if users list after a refresh
+
+
end
end
end
diff --git a/web/spec/features/school_student_register_spec.rb b/web/spec/features/school_student_register_spec.rb
index 4857e5c36..c8967ec0d 100644
--- a/web/spec/features/school_student_register_spec.rb
+++ b/web/spec/features/school_student_register_spec.rb
@@ -10,11 +10,17 @@ describe "Student Landing", :js => true, :type => :feature, :capybara_feature =>
JamTrack.delete_all
JamTrackTrack.delete_all
JamTrackLicensor.delete_all
+ end
+
+ before(:each) do
+ User.where('school_id is not null').update_all(school_id: nil)
SchoolInvitation.delete_all
School.delete_all
+ UserMailer.deliveries.clear
end
+
let(:user) { FactoryGirl.create(:user, country: 'US') }
let(:school) {FactoryGirl.create(:school, name: 'Hot Dog')}
@@ -48,6 +54,9 @@ describe "Student Landing", :js => true, :type => :feature, :capybara_feature =>
student.school.should eql school
find('#user-profile #username', text: student.name)
+
+ UserMailer.deliveries.count.should eql 2
+ UserMailer.deliveries[0].html_part.body.include?("If you already know the teacher from whom you want to learn") == 1
end
it "logged out and has invitation" do
diff --git a/web/spec/features/school_teacher_register_spec.rb b/web/spec/features/school_teacher_register_spec.rb
index 70df2bfe8..ae0d24e8e 100644
--- a/web/spec/features/school_teacher_register_spec.rb
+++ b/web/spec/features/school_teacher_register_spec.rb
@@ -10,10 +10,14 @@ describe "Teacher Landing", :js => true, :type => :feature, :capybara_feature =>
JamTrack.delete_all
JamTrackTrack.delete_all
JamTrackLicensor.delete_all
- SchoolInvitation.delete_all
- School.delete_all
end
+ before(:each) do
+ Teacher.delete_all
+ SchoolInvitation.delete_all
+ School.delete_all
+ UserMailer.deliveries.clear
+ end
let(:user) { FactoryGirl.create(:user, country: 'US') }
let(:school) {FactoryGirl.create(:school, name: 'Hot Dog')}
@@ -48,6 +52,8 @@ describe "Teacher Landing", :js => true, :type => :feature, :capybara_feature =>
teacher.teacher.school.should eql school
find('#user-profile #username', text: teacher.name)
+ UserMailer.deliveries.count.should eql 2
+ UserMailer.deliveries[0].html_part.body.include?("Set Up Your Teacher Profile") == 1
end
it "logged out and has invitation" do
diff --git a/websocket-gateway/Gemfile b/websocket-gateway/Gemfile
index 96e45a151..d0de37c3c 100644
--- a/websocket-gateway/Gemfile
+++ b/websocket-gateway/Gemfile
@@ -57,7 +57,7 @@ gem 'iso-639'
gem 'language_list'
gem 'rubyzip'
gem 'sanitize'
-gem 'influxdb', '0.1.8'
+gem 'influxdb'
gem 'recurly'
gem 'sendgrid_toolkit', '>= 1.1.1'
gem 'email_validator'