Mary May
My Latest Replies (From Various Topics)
Author | Replies |
---|---|
Author | Replies |
Posted: Tuesday Jul 9th, 2013 at 6:18 am #53172 | |
|
|
THANKS Bruce! “hacky” = ” kludgy” Much appreciated! …and yet another example of why “PLEASE HELP!…” isn’t a good subject line for people who come along later. ;-{ |
|
Posted: Friday Mar 8th, 2013 at 3:03 pm #44123 | |
|
|
That’s what I suspected. Thanks |
|
Posted: Monday Jan 14th, 2013 at 8:25 am #37358 | |
|
|
THANKS Jason for the quick answer. Maybe someone else can tell us how AirPlay works … such as, does it make additional requests, etc. |
|
Posted: Friday Jan 11th, 2013 at 8:54 am #36978 | |
|
|
Thanks Jason. It was only a couple of days ago that a random / accidental connection to a person in Cupertino (works in a big building at 1 Infinity Loop) revealed the “AccessDenied Request has Expired” error response that led me to hours of Amazon server log examination and to posting this thread. Sometime late yesterday, I came across the my_custom_expiration_time filter suggestion elsewhere on your site and implemented it immediately. My new friend in Cupertino confirmed that it relieved the problem. We’ve assessed the CloudFront possibility and are currently holding back due to stories we’ve heard from others about costs that ran much beyond their expectations, and our budget. Thanks for the confirmation. |
|
Posted: Friday Jan 11th, 2013 at 8:13 am #36969 | |
|
|
Thanks Cristián, Many of our videos run 20 to 30 minutes long, and amount to 100-150MB file sizes. The 30 second expires= value is certainly OK for establishing a connection with S3, but is not at all useful for iPads which will want to do many, many byte-range requests during the duration of a long playing video. Apparently, each is treated as a new connection … and the (unknown as yet) software component that generates the requests appears to simply copy the existing signature and expires= values … until time runs out. Thanks for the tip about Philly’s plugin. So far, we’re using only S3 and his plugin also wants CloudFront. Yet, it’s good to know about it. |
|
Posted: Friday Jan 11th, 2013 at 5:56 am #36945 | |
|
|
Raam, Cristián, Jason, Any ideas on this?????? |
|
Posted: Thursday Jan 10th, 2013 at 8:06 am #36857 | |
|
|
Maybe I need to ask questions about this problem a different way… Assumptions: Now, how do signatures and expire values get generated after the first request from an iPad? ??? Does JWPlayer generate these subsequent requests? If so, what clock does it use? … the iPad’s clock? ??? Or, are these requests generated by s2Member? (I don’t see them in the server logs.) |
|
Posted: Wednesday Jan 9th, 2013 at 5:45 pm #36810 | |
|
|
a little more information for Support Reps Looking at s3 server logs, I find numerous instances of iPads retrieving blocks within video files … indicated by 206 return codes. Yet a few result in “403 AccessDenied 321….” return codes … ending a series of requests as a stall. It seems that videos are working for some but failing for others, and I can’t understand why “Request has expired.” Where should I look next? Before you ask … s2member-server-check-120703.php runs clean: No Issues. |
|
Posted: Friday Oct 5th, 2012 at 9:09 am #27573 | |
|
|
Thanks Bruce! .$user->user_firstname. gave me exactly what I was looking for. Sure, I agree about the hazards of working with live sites, and for anything that involved actually altering values or database contents I would use a non-production site. Now, that I have enough to work with, I probably will anyway just to be able to force demotions and move things along faster. Much appreciated! |
|
Posted: Wednesday Sep 26th, 2012 at 6:27 pm #26624 | |
|
|
Thanks also for the sortable EOT column. It works for me. Like Grace, I wondered if something were wrong when I sorted the column and saw nothing. However, most of our members have monthly subscriptions, which have no EOT dates. The one-time-purchases for specific periods DO have EOT dates and those entries get sorted correctly … with most showing up on the last page. Nice hack. Good to have. Thanks! |
|
Posted: Wednesday Sep 26th, 2012 at 6:10 pm #26621 | |
|
|
Thanks Bruce for the information about passed $vars. That helps immensely. It suggests to me that all the vars mentioned in the normal EOT API Notification email are available. |
|
Posted: Tuesday Sep 25th, 2012 at 8:15 am #26422 | |
|
|
THANKS for that article Bruce! It is very helpful Similar, but different, I’m wanting to implement a hack that is triggered by “ws_plugin__s2member_during_auto_eot_system_during_demote”. The codex suggests starting with:
I have not been able to find a specific set of information. Maybe I haven’t looked in the right place? Other than a trial and error approach (waiting for someone to fall into EOT, then iterate…), where can I find out exactly what is passed in the $vars array? Is it associative or indexed? What keys might it have? etc.? I can eventually understand through stepwise revelation, but would prefer accurate documentation. |
|
Posted: Tuesday Sep 18th, 2012 at 8:47 am #25693 | |
|
|
Thanks Raam. |
|
Posted: Monday Sep 17th, 2012 at 6:56 am #25552 | |
|
|
ME TOO! We’re also interested in that hack and KB article. Soon? Thanks, |
|
Posted: Thursday Sep 13th, 2012 at 5:58 am #25150 | |
|
|
PERFECT Explanation Raam! Thank you. The member didn’t mention seeing the message about email address already in use. I’m almost certain (alright, guessing) that he did not rejoin from a logged in user ID, tried to use the existing email address, ignored the failure and then logged in and found the account lacking privilege. I’ll go check the account detail logging … and look for an errant unused new user ID. Then, implement the upgrade process you suggested. THANKS! |
|
Posted: Sunday Aug 5th, 2012 at 7:47 am #21182 | |
|
|
Solved! |
|
Posted: Friday Aug 3rd, 2012 at 2:48 pm #21131 | |
|
|
Cristián: Yes, there was a change about the time IPN quit working. I added a plugin called “Easy Contact Forms,” which really isn’t easy, has a whole bunch of panels, messes with mailing stuff and messes with the users table (I think). The timing and the function overlaps are too good. I can’t recall any other functional changes at that time. Content additions of course, but no other functions or plugins. So, I deactivated and deleted Easy Contact Forms this morning. No joy! Still no IPN logging. I deleted all s2member log files form the server just in case of corruption or permission problems. The api and rtn logs are being written again. No IPN. Raam: Yes, ran the test tool and got PASSs on every test. I also verified the PayPal to s2Member AR and IPN URLs, the API credentials and the PDT credential. All good. From the PayPal side, I can see every IPN sent and PayPal reports a “200” http return code for every one. ** IMPORTANT** Thanks for the suggestions so far. |
|
Posted: Wednesday Jul 18th, 2012 at 9:00 am #19628 | |
|
|
Thanks Raam! |
|
Posted: Wednesday Jul 11th, 2012 at 9:11 am #18916 | |
|
|
Hamid, When all you see is text “JW Player® appears here” instead of the player itself, that means the player .swf file was not found. Fix that first. Then, go for the content. I like to make small simple steps. So, simplify your script using real URLs instead of variables. Get each of the pieces properly located. Then, figure out which variables to use / change. |
|
Posted: Monday Jul 9th, 2012 at 7:39 am #18662 | |
|
|
Hamid, After learning of this script-based method, we investigated a number of other membership plugins which advertise strong file protection. When asking them technical questions about how they secure files, two basic methods emerged. For locally stored files (local=same server as the web site) many use the script method, which must have been quite popular a few years ago, the same method that s2Member uses for local files. The other method uses various forms of authentication tokens (often time limited) and URL obfuscation to authorize content delivery from remote sources such as Content Distribution Networks. s2Member is capable of using this approach with Amazon S3. So, instead of having our own server resources clogged up with continuously running scripts, we coughed up yet more money and moved the content to Amazon S3. |
|
Posted: Sunday Jul 8th, 2012 at 8:23 am #18610 | |
|
|
hmmmmm…. We PAID for support and did not get the support we expected. Now, you want us to GIVE you the answer? Compensate us for about a dozen billable hours and we’ll consider telling you the solution. BTW, these words are Bob Easton’s, not Mary May’s. I, Bob Easton, am doing the technical work for Mary’s site. I’m the one who has been waiting days for PAID support to arrive with an answer. I’m the one who spent the long hours to find a way to work around the script that denies access to iPads. If you have concerns about this post, direct them my way, not Mary’s. (if you look around, you can find me at bob-easton.com)
|
|
Posted: Saturday Jul 7th, 2012 at 3:13 pm #18571 | |
|
|
Knowledge base article was interesting, but did not help with this case. Passed all tests with the server test tool. Serving the files through a script is almost as inefficient as having a man stand at a service window and hand out video frames one-by-one. We have resolved the problem. |
|
Posted: Saturday Jul 7th, 2012 at 3:11 pm #18570 | |
|
|
Problem resolved on our own. Test credentials revoked. |
|
Posted: Thursday Jul 5th, 2012 at 1:58 pm #18402 | |
|
|
When might we expect to hear from Jason? We’re eager to launch a new service and this is the only problem standing in our way. |
|
Posted: Thursday Jul 5th, 2012 at 6:18 am #18367 | |
|
|
Yes Cristián, the files are in the s2member-files directory as mentioned in the very first sentence. We have a dedicated server with more than enough storage and more than enough bandwidth, and NO desire to introduce the added cost of Amazon S3. What can we change on a dedicated server to improve the situation? |