Music Store/KaraokeCloud/IssueTracker: Difference between revisions

From kJams Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(52 intermediate revisions by 2 users not shown)
Line 1: Line 1:
In Priority Order:
Questions that must be answered by someone at DigiTrax are [[Music_Store/KaraokeCloud/IssueTracker/DigiTrax|on a separate page]]<br><br>
==user can create new account==
__TOC__
pending
hey! MVP is done!
=='''MVP is above this line'''==
==All Subscription Types==
currently, you have listed:
<pre>
Subsciption Types
2 Unlimited $9.99 karoakecloud
6 $99 Unlimited $99.99 unlimited download and streaming
</pre>
 
what are the future IDs for these:
 
kTier_KJ_Streaming
kTier_KJ_DL_Daily
kTier_KJ_DL_Monthly
kTier_KJ_DL_Yearly
 
also: shouldn't the names be "2: Home Streaming" and "6: KJ Tethering - Yearly"?
 
:Free is default subscription. You cannot subscribe to free, it is set automatically if you do not have another active subscription. Developer is a special subscription. You cannot subscribe to it, we subscribe you to it when you sign up as a dev. You can rename the subscriptions to whatever you'd like.
 
=='''SOLVED items are below this line'''==
==dev.karaokecloud.com/api fails when syncing / purchasing==
<font color="green">Solved.</font><br>
when i request an mp3/cdg (for streaming) the dev API works fine.  when i request a zip (for tether-sync / purchase), it fails with a 403 code (not authorized)
 
==user can preview without signing up for streaming==
<font color="green">Solved.</font><br>
as discussed, kjams will provide a 20 second preview<br>
 
I need to know the proper method.  Will you add:
kJSON_Use_PREVIEW  = 3


==user can subscribe to one of several tiers==
? if so, then you may want to actually only serve up HALF the mp3+cdg.  Literally just cut the file off half way thru.  cuz otherwise this could be exploited to download the library without paying.
pending


==user can add/edit/remove credit card in account==
==Bug: Can't turn off then back on "Auto Renew"==
pending
<font color="green">Solved.</font><br>
Currently, if i attempt to turn off "auto renew", i get a "Access Denied".
Please test this yourself, using your special build of kJams
# run kjams
# go to prefs->stores and turn on "Karaoke Cloud"
# quit kjams and run again
# go to prefs->stores->edit music store settings->karaoke cloud
# create an account or log in
# subscribe to a tier
# click the "disable" -> may work, so click "enable" to re-enable, then repeat.  now it will fail.


=="unlimited" user can pre-download library==
==Need a different "Developer" API design==
I need to know the proper method for doing this.  eg: for the "Use" parameter, you specify these values:
<font color="green">Solved.</font><br>
kJSON_Use_DOWNLOAD = 0
currently the notion of "developer" is indicated by a Tier.  we need to separate this notion out into something separateso that "developer" may be turned on or off (by me, the dev, perhaps by allowing it ONLY from my static IP address), on any account i create (only in the debug version, of course).  this account now marked as "dev" then can be used to test ALL tiers (free, home stream, kj tether, and all the rest we will add later. the dev account either automatically has "free money" in it, or is not actually charged anything when testing purchases and tier changes
kJSON_Use_STREAM  = 1
So may i assume that you will add:
  kJSON_Use_TETHER  = 2
?


==user can re-download all previously purchased songs==
==Testing API to reset account to "free"==
need an API for that:<br>request list of previously bought songs<br>get list back.
<font color="green">Solved.</font><br>
I need a method to cancel an account back to the "free" level.  not just "will expire", but actually "has expired and it's now back to free".  I need this to test all the possible ways to upgrade from free (eg: from Lite "Free" to "Home Streaming", from Pro "Free" to "Home Streaming" or to "KJ Tethering", and Pro upgrade from Home To KJ.  Also allows testing from there to canceling auto-renew.


==mark free songs as "free" in the Catalog.zip==
==Method for determining when to update the catalog==
pending
<font color="green">Solved.</font><br>
This seems to be working fine now.


==ability for user to purchase gift vouchers==
I depend on the "'''Last-Modified'''" field from the header of the "Catalog.zip" file to know when i need to re-download the catalog.
this could be done at your web site, user receives a code, they can give this code as a gift, or enter it into their own account


:There are voucher codes that can be purchased. However, it is not available in a digital option.
however, it seems that this date-stamp changes every single time i access it.
::sorry, can you define "digital option"? [[User:Dave|dave]] ([[User talk:Dave|talk]]) 11:54, 16 October 2012 (PDT)
:::Your original question suggest a digital option. Provided only on a web site with a code being provided then. Compared to an actual physical card that vouchers come on now.
::::this is definitely required [[User:Dave|dave]] ([[User talk:Dave|talk]]) 12:07, 17 October 2012 (PDT)


==include "duration in seconds" in the Catalog.zip==
can you fix that?  or is there some OTHER file i need to check the date stamp on in order to know when the catalog is out of date?
pending "I'll check with Digitrax on this."
suggestion: write a (python?) script that runs thru each mp3 gathering it's duration


==how to differentiate songs==
take 1: note the time stamp
<pre>
<pre>
A Hard Day's Night Beatles, The USD $1.99 10/22/10 8:39 AM G Oldies
    0: http://api.karaokecloud.com/catalog/Catalog.zip
A Hard Day's Night Beatles, The USD $1.99 10/8/12 7:31 PM - Pop / Rock
    0: Type: <CFDictionary>, Value: <<CFBasicHash 0x5c36860 [0xac727840]>{type = mutable dict, count = 9,
A Hard Days Night Beatles, The USD $1.99 10/8/12 7:40 PM - Pop / Rock
entries =>
1 : Case Insensitive Key: Etag = <CFString 0x5c40c50 [0xac727840]>{contents = ""cca6262eab2cd1:0""}
2 : Case Insensitive Key: Last-Modified = <CFString 0x5c3abc0 [0xac727840]>{contents = "Thu, 25 Oct 2012 19:53:20 GMT"}
</pre>
</pre>
these songs all appear to be the same.  what is the difference?  if there is no difference, why are there duplicates?


==What are the "mix Types"==
take 2: one minute later:
previously we had these mix types:
<pre>
<pre>
A = stereo vocal mix (training track)
    0: http://api.karaokecloud.com/catalog/Catalog.zip
B = Vocal Right Stereo mix (training track)
    0: Type: <CFDictionary>, Value: <<CFBasicHash 0x1e5ecbd0 [0xac727840]>{type = mutable dict, count = 9,
C = Performance track (no lead vocal – most used)
entries =>
D = Instrumental track (no background vocals)
1 : Case Insensitive Key: Etag = <CFString 0x1e5e91e0 [0xac727840]>{contents = ""1cb64f8deab2cd1:0""}
2 : Case Insensitive Key: Last-Modified = <CFString 0x1ce699b0 [0xac727840]>{contents = "Thu, 25 Oct 2012 19:54:32 GMT"}
</pre>
</pre>
are they the same?  or: what are the mix types?  currently it seems only C is available?<br>
must check with DigiTrax


==user can preview without signing up for streaming==
=="unlimited" user can pre-download library==
as discussed, kjams will provide a 20 second preview<br>
<font color="green">Solved.</font><br>
i need to investigate if this can be done on a free account.
I need to know the proper method for doing this. eg: for the "Use" parameter, you specify these values:
kJSON_Use_DOWNLOAD = 0
kJSON_Use_STREAM  = 1
So may i assume that you will add:
kJSON_Use_TETHER  = 2
?  Or what is the proper way to request songs for tethering?


==KJ user can opt in to streaming-only==
:The new $99 tier allows you to download all the songs
<font color="green">Solved.</font>
::then how will you (your server) differentiate between tethering and streaming a song?  ie: if i am to use kJSON_Use_STREAM to pre-download the tether'd songs, then this makes it so you can't differentiate between streams and tether-downloads. i think for your records you will like to have this differentiation in your logs so that you can do proper analytics / royalty payments.
as discussed, will be enabled after initial launch


==is there online documentation for all calls i can make?==
<font color="green">Solved.</font><br>
:Not right now. We are just sending examples specific to questions
:: i've [https://docs.google.com/document/d/1nTs43XVNfO26TOH_w-9trXQVrGnNTUyXOQC93wD9H00/edit created some here]
==is it true there are only 3007 songs?==
==is it true there are only 3007 songs?==
<font color="green">Solved.</font>
<font color="green">Solved.</font>
Line 76: Line 114:


-- Voucher credits are always used before credit card. If a voucher code can't cover the full amount, the credit card takes over.
-- Voucher credits are always used before credit card. If a voucher code can't cover the full amount, the credit card takes over.
==user can create new account==
<strike>pending</strike> <font color="green">Solved.</font>
==user can subscribe to one of two tiers==
<strike>pending</strike> <font color="green">Solved.</font>
==user can add/edit/remove credit card in account==
<strike>pending</strike> <font color="green">Solved.</font>
==user can re-download all previously purchased songs==
<strike>pending</strike> <font color="green">Solved.</font><br>
==mark free songs as "free" in the Catalog.zip==
<strike>pending</strike> <font color="green">Solved.</font><br>
:For songs that can stream for free use "FreeStream"
==secure cert required==
<font color="green">Solved.</font><br>
http://kjams.com/screenshots/bad_cert.png

Latest revision as of 20:56, 8 February 2013

Questions that must be answered by someone at DigiTrax are on a separate page

hey! MVP is done!

MVP is above this line

All Subscription Types

currently, you have listed:

Subsciption Types
2	Unlimited	$9.99	karoakecloud
6	$99 Unlimited	$99.99	unlimited download and streaming

what are the future IDs for these:

kTier_KJ_Streaming
kTier_KJ_DL_Daily
kTier_KJ_DL_Monthly
kTier_KJ_DL_Yearly

also: shouldn't the names be "2: Home Streaming" and "6: KJ Tethering - Yearly"?

Free is default subscription. You cannot subscribe to free, it is set automatically if you do not have another active subscription. Developer is a special subscription. You cannot subscribe to it, we subscribe you to it when you sign up as a dev. You can rename the subscriptions to whatever you'd like.

SOLVED items are below this line

dev.karaokecloud.com/api fails when syncing / purchasing

Solved.
when i request an mp3/cdg (for streaming) the dev API works fine. when i request a zip (for tether-sync / purchase), it fails with a 403 code (not authorized)

user can preview without signing up for streaming

Solved.
as discussed, kjams will provide a 20 second preview

I need to know the proper method. Will you add:

kJSON_Use_PREVIEW  = 3

? if so, then you may want to actually only serve up HALF the mp3+cdg. Literally just cut the file off half way thru. cuz otherwise this could be exploited to download the library without paying.

Bug: Can't turn off then back on "Auto Renew"

Solved.
Currently, if i attempt to turn off "auto renew", i get a "Access Denied". Please test this yourself, using your special build of kJams

  1. run kjams
  2. go to prefs->stores and turn on "Karaoke Cloud"
  3. quit kjams and run again
  4. go to prefs->stores->edit music store settings->karaoke cloud
  5. create an account or log in
  6. subscribe to a tier
  7. click the "disable" -> may work, so click "enable" to re-enable, then repeat. now it will fail.

Need a different "Developer" API design

Solved.
currently the notion of "developer" is indicated by a Tier. we need to separate this notion out into something separate. so that "developer" may be turned on or off (by me, the dev, perhaps by allowing it ONLY from my static IP address), on any account i create (only in the debug version, of course). this account now marked as "dev" then can be used to test ALL tiers (free, home stream, kj tether, and all the rest we will add later. the dev account either automatically has "free money" in it, or is not actually charged anything when testing purchases and tier changes

Testing API to reset account to "free"

Solved.
I need a method to cancel an account back to the "free" level. not just "will expire", but actually "has expired and it's now back to free". I need this to test all the possible ways to upgrade from free (eg: from Lite "Free" to "Home Streaming", from Pro "Free" to "Home Streaming" or to "KJ Tethering", and Pro upgrade from Home To KJ. Also allows testing from there to canceling auto-renew.

Method for determining when to update the catalog

Solved.
This seems to be working fine now.

I depend on the "Last-Modified" field from the header of the "Catalog.zip" file to know when i need to re-download the catalog.

however, it seems that this date-stamp changes every single time i access it.

can you fix that? or is there some OTHER file i need to check the date stamp on in order to know when the catalog is out of date?

take 1: note the time stamp

    0: http://api.karaokecloud.com/catalog/Catalog.zip
    0: Type: <CFDictionary>, Value: <<CFBasicHash 0x5c36860 [0xac727840]>{type = mutable dict, count = 9,
entries =>
	1 : Case Insensitive Key: Etag = <CFString 0x5c40c50 [0xac727840]>{contents = ""cca6262eab2cd1:0""}
	2 : Case Insensitive Key: Last-Modified = <CFString 0x5c3abc0 [0xac727840]>{contents = "Thu, 25 Oct 2012 19:53:20 GMT"}

take 2: one minute later:

    0: http://api.karaokecloud.com/catalog/Catalog.zip
    0: Type: <CFDictionary>, Value: <<CFBasicHash 0x1e5ecbd0 [0xac727840]>{type = mutable dict, count = 9,
entries =>
	1 : Case Insensitive Key: Etag = <CFString 0x1e5e91e0 [0xac727840]>{contents = ""1cb64f8deab2cd1:0""}
	2 : Case Insensitive Key: Last-Modified = <CFString 0x1ce699b0 [0xac727840]>{contents = "Thu, 25 Oct 2012 19:54:32 GMT"}

"unlimited" user can pre-download library

Solved.
I need to know the proper method for doing this. eg: for the "Use" parameter, you specify these values:

kJSON_Use_DOWNLOAD = 0
kJSON_Use_STREAM   = 1

So may i assume that you will add:

kJSON_Use_TETHER   = 2

? Or what is the proper way to request songs for tethering?

The new $99 tier allows you to download all the songs
then how will you (your server) differentiate between tethering and streaming a song? ie: if i am to use kJSON_Use_STREAM to pre-download the tether'd songs, then this makes it so you can't differentiate between streams and tether-downloads. i think for your records you will like to have this differentiation in your logs so that you can do proper analytics / royalty payments.

is there online documentation for all calls i can make?

Solved.

Not right now. We are just sending examples specific to questions
i've created some here

is it true there are only 3007 songs?

Solved. --More songs were added last night. However, they did discover that some files may not have been uploaded.

user can recover account number based on email and some other validation

pending. Implemented.
seems that all that is needed is the email address and password for the account and you're in. on your web site, you already have a "i forgot my password" workflow, so this seems like it's all set.

how to specify "use voucher credit" vs. "use credit card"

Solved. in my "developer account" i have eg: $100 in voucher credits.
in the "PaymentMethod" field, i currently specify "0" as the number, and it works now, deducting from the credits shown. will it be that credit cards will have a number > 0?

-- Voucher credits are always used before credit card. If a voucher code can't cover the full amount, the credit card takes over.

user can create new account

pending Solved.

user can subscribe to one of two tiers

pending Solved.

user can add/edit/remove credit card in account

pending Solved.

user can re-download all previously purchased songs

pending Solved.

mark free songs as "free" in the Catalog.zip

pending Solved.

For songs that can stream for free use "FreeStream"

secure cert required

Solved.
bad_cert.png