From 9e4105a391517d393d91c5963e060907e72be4fc Mon Sep 17 00:00:00 2001 From: Seth Call Date: Wed, 6 Apr 2016 13:01:40 -0500 Subject: [PATCH] * VRFS-4004 and VRFS-4005 - student/teacher welcome emails --- admin/Gemfile | 2 +- ruby/Gemfile | 2 +- ruby/lib/jam_ruby/app/mailers/user_mailer.rb | 6 +- .../student_welcome_message.html.erb | 168 +++++++----------- .../student_welcome_message.text.erb | 72 +++++--- .../teacher_welcome_message.html.erb | 168 +++++++----------- .../teacher_welcome_message.text.erb | 58 +++--- ruby/lib/jam_ruby/lib/stats.rb | 4 +- ruby/spec/mailers/render_emails_spec.rb | 5 + web/spec/features/account_school_spec.rb | 17 ++ .../features/school_student_register_spec.rb | 9 + .../features/school_teacher_register_spec.rb | 10 +- websocket-gateway/Gemfile | 2 +- 13 files changed, 246 insertions(+), 277 deletions(-) diff --git a/admin/Gemfile b/admin/Gemfile index c6218e01d..7f4b2c2c3 100644 --- a/admin/Gemfile +++ b/admin/Gemfile @@ -73,7 +73,7 @@ gem 'iso-639' gem 'rubyzip' gem 'sanitize' gem 'slim' -gem 'influxdb', '0.1.8' +gem 'influxdb' gem 'influxdb-rails', '0.1.10' gem 'recurly' gem 'sendgrid_toolkit', '>= 1.1.1' diff --git a/ruby/Gemfile b/ruby/Gemfile index 5c4c66424..27fdc30a6 100644 --- a/ruby/Gemfile +++ b/ruby/Gemfile @@ -49,7 +49,7 @@ gem 'rest-client' gem 'iso-639' gem 'rubyzip' gem 'sanitize' -gem 'influxdb', '0.1.8' +gem 'influxdb' gem 'recurly' gem 'sendgrid_toolkit', '>= 1.1.1' gem 'stripe' diff --git a/ruby/lib/jam_ruby/app/mailers/user_mailer.rb b/ruby/lib/jam_ruby/app/mailers/user_mailer.rb index 1612f140f..db0933054 100644 --- a/ruby/lib/jam_ruby/app/mailers/user_mailer.rb +++ b/ruby/lib/jam_ruby/app/mailers/user_mailer.rb @@ -51,6 +51,7 @@ module JamRuby def student_welcome_message(user) @user = user + @subject = "Welcome to JamKazam and JamClass online lessons!" sendgrid_category "Welcome" sendgrid_unique_args :type => "welcome_message" @@ -58,7 +59,7 @@ module JamRuby sendgrid_substitute('@USERID', [user.id]) sendgrid_substitute(EmailBatchProgression::VAR_FIRST_NAME, [user.first_name]) - mail(:to => user.email, :subject => "Welcome to JamKazam") do |format| + mail(:to => user.email, :subject => @subject) do |format| format.text format.html end @@ -66,6 +67,7 @@ module JamRuby def teacher_welcome_message(user) @user = user + @subject= "Welcome to JamKazam and JamClass online lessons!" sendgrid_category "Welcome" sendgrid_unique_args :type => "welcome_message" @@ -73,7 +75,7 @@ module JamRuby sendgrid_substitute('@USERID', [user.id]) sendgrid_substitute(EmailBatchProgression::VAR_FIRST_NAME, [user.first_name]) - mail(:to => user.email, :subject => "Welcome to JamKazam") do |format| + mail(:to => user.email, :subject => @subject) do |format| format.text format.html end diff --git a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/student_welcome_message.html.erb b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/student_welcome_message.html.erb index 177f38c92..88aacda6e 100644 --- a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/student_welcome_message.html.erb +++ b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/student_welcome_message.html.erb @@ -1,119 +1,79 @@ -<% provide(:title, 'Welcome to JamKazam!') %> +<% provide(:title, @subject) %> <% if !@user.anonymous? %> -

Hello <%= EmailBatchProgression::VAR_FIRST_NAME %> -- -

+

Hello <%= EmailBatchProgression::VAR_FIRST_NAME %> -- +

<% end %> -

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
- - 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: -

- - -

Play Live With Others from Different Locations on JamKazam
- 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. -

- -

Teach or Take Online Music Lessons
- 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. -

- -

Complete Your Profile
- 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. -

- -

Invite Your Friends
- 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. -

- -

Get 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 - - 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.

+ 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
+ + 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.

+

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 teachers. +

+ +

3. Learn About JamClass Features
+ 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! +

+ +

4. Play With Other Musicians Online - It's Free!
+ 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! +

+ +

+ 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,
Team JamKazam

\ No newline at end of file diff --git a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/student_welcome_message.text.erb b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/student_welcome_message.text.erb index 52dc8ab65..aa851747f 100644 --- a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/student_welcome_message.text.erb +++ b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/student_welcome_message.text.erb @@ -1,42 +1,56 @@ <% 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 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. -Getting Started ---------------- +To get ready to take JamClass lessons online, here are the things you'll want to do: -There are basically three kinds of setups you can use to play on JamKazam. +1. Find a Teacher & Book Lessons +If you already know the teacher from whom you want to learn, then you can simply +use this link to search for them (https://www.jamkazam.com/client#/jamclass/searchOptions), 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. -* 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. +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 (https://www.jamkazam.com/client#/jamclass/book-lesson/purchase_test-drive). +Then you can book 4 TestDrive lessons to get rolling. -* 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 teachers. -* 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 students on JamClass (https://jamkazam.desk.com/customer/en/portal/topics/926073-jamclass-online-music-lessons---for-students/articles) +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! +4. Play With Other Musicians Online - It's Free! +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 (https://jamkazam.desk.com/customer/en/portal/articles/1599977-creating-a-session) +that others can join, or find other musicians' online music sessions (https://jamkazam.desk.com/customer/en/portal/articles/1599978-finding-a-session) +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 (https://www.jamkazam.com/client#/account/profile) to make +it easier to connect with other musicians (https://jamkazam.desk.com/customer/en/portal/articles/1707418-connecting-with-other-musicians) in our community to expand your set of musician friends. It's a ton of fun, +so give it a try! -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 +learn and grow as a musician, and expand your musical universe! Best Regards, Team JamKazam diff --git a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/teacher_welcome_message.html.erb b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/teacher_welcome_message.html.erb index 177f38c92..3b8a00d23 100644 --- a/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/teacher_welcome_message.html.erb +++ b/ruby/lib/jam_ruby/app/views/jam_ruby/user_mailer/teacher_welcome_message.html.erb @@ -1,118 +1,76 @@ -<% provide(:title, 'Welcome to JamKazam!') %> +<% provide(:title, @subject) %> <% if !@user.anonymous? %> -

Hello <%= EmailBatchProgression::VAR_FIRST_NAME %> -- -

+

Hello <%= EmailBatchProgression::VAR_FIRST_NAME %> -- +

<% end %> - -

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
- - 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: -

- - -

Play Live With Others from Different Locations on JamKazam
- 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. -

- -

Teach or Take Online Music Lessons
- 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. -

- -

Complete Your Profile
- 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. -

- -

Invite Your Friends
- 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. -

- -

Get 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 - - 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.

+ 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
+ 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: +
+
+

    +
  1. Sign in to JamKazam using the email and password + you used to register. +
  2. +
  3. Edit your musician profile to + describe yourself as a musician. +
  4. +
  5. + Edit your teacher + profile to describe yourself as a teacher. +
  6. +
  7. View + your teacher profile to see how you will be presented to students.
  8. +
  9. 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. +
  10. +
+

+ +

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'