Greg,
When you enter a Podcast URL in a blog entry, Roller uses HTTP HEAD
(via the Java class HttpURLConnection) to query the URL to obtain the
content-type and content-length.
I tried each of the URLs you specified (which BTW are all web pages,
not "media" files) and stopped Roller in the debugger. All of those
URLs are returning a -1 content type, so Roller treats them as invalid
(I believe the enclosure tag needs both content-type and
content-length). I'm not sure why they return -1, I guess that means
the websites are not returning content-lengths at all.
So, I don't think this is a Roller MediaCast bug, but perhaps we could
add better error messages.
- Dave
On Oct 23, 2005, at 11:32 AM, Greg Hamer wrote:
Anil,
Following below is a draft of the proposed bug to be filed in the JIRA
for the MediaCast exceptions that I mentioned in my email Friday.
Toward the end are 4 URLs that are resulting in exceptions on our
Roller v1.2 server. Could you please test these URLs by entering them
as MediaCast values for a weblog entry on your server? If these URLs
do result in exceptions on your configuration then I will file the
bug. fyi, as indicated below under the heading "Additional Tests" we
did deploy a second Roller 1.2 build and experienced substantially
the same behavior.
If you do not experience exceptions on your configuration, I would
certainly welcome your suggestions ;-)
Best regards,
g
DRAFT BUG REPORT
================
We are using a stock install of Roller v1.2. (roller-1.2.tar.gz)
When setting MediaCast values in "Edit Weblog", for certain urls the
following message is returned after selecting "Post to Weblog":
"MediaCast URL is not valid"
We believe that for these urls the message "MediaCast URL is not
valid" may be a false error. This is because the urls entered as
MediaCast values can be successfully browsed directly in a browser.
A further concern is that even though "MediaCast URL is not valid" is
being displayed in the "Edit Weblog" page, no errors are being
displayed in the stdout or recorded in roller.log. This is a concern
because in the case of truly invalid urls, messages such as the
following are both displayed in stdout and recorded in roller.log:
ERROR 2005-10-13 18:10:31,890 WeblogEntryFormAction:checkMediaCast -
ERROR checking MediaCast URL
ERROR 2005-10-13 20:33:09,375 WeblogEntryFormAction:checkMediaCast -
ERROR 405 return from MediaCast URL
What we are seeing coincident with the "MediaCast URL is not valid"
errors are errors in the ApplicationContext log. The errors in the
ApplicationContext log do not appear coincident with 100% of the
occurrences of the "MediaCast URL is not valid" errors being
displayed. These coincident errors in the ApplicationContext log do,
however, occur in the preponderance of the cases (e.g. > 80%). The
errors in the ApplicationContext log are as follows:
Oct 22, 2005 3:15:54 PM org.apache.catalina.core.StandardHostValve
status
WARNING: Exception Processing ErrorPage[errorCode=404,
location=/error404.jsp]
ClientAbortException: java.net.SocketException: Software caused
connection abort: socket write error
at
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:
327)
at
org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:
293)
at
org.apache.catalina.connector.Response.flushBuffer(Response.java:534)
at
org.apache.catalina.core.StandardHostValve.status(StandardHostValve.jav
a:285)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
a:136)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
a:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
856)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
Connection(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoin
t.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollo
werWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPoo
l.java:684)
at java.lang.Thread.run(Unknown Source)
Note: What may be a related bug has been filed in the JIRA as ROL-850.
Following below are four urls that result in the error "MediaCast URL
is not valid" (along with the frequently coincident error indicated in
the ApplicationContext log). Of the urls below, only the first one
returns an mp3 file. Note: Per the current draft of Roller's
UserGuide20 the MediaCast setting adds the MediaCast url as an
<enclosure> to the user's RSS newsfeed for that weblog entry. The
current draft of UserGuide20 further states (under section [3.2]
Podcasting with Roller):
"We call it mediacasting in the Roller UI because it can be any type
of file and is not necessarily destined for play on an Apple iPod."
URLs
http://dw.com.com/redir?&destUrl=http%3a%2f%2fmusic-
files.download.com%2fsd%2fa4Gc-OTtTxN3HUnfc1Qz-
OcZRBDKmYqpZjnZg4KA2kKhFDKHVArjpNqgqpB7zBIVtR6qsISG7C5txGnwYSuihb-
EO50cVmWM%2fmp3download%2f100078411%2f192%2fONOFFON-
Mardi_Gras.mp3&edId=3
http://www.macromedia.com/index.html
http://www.macromedia.com/cfusion/store/index.cfm?store=OLS-US
http://forta.com/books/exam.cfm
ADDITIONAL TESTS
For further testing, we did a build of Roller 1.2 (using
roller-src-1.2.tar.gz). We experienced substantially the same
behavior with this second instance with two notable differences.
First, in "Edit Weblog" the message returned upon selecting "Post to
Weblog" was different. Rather than the messge "MediaCast URL is not
valid", we received the message "Problem processing MediaCast, invalid
URL?" Note these messages were still accompanied by the coincident
errors in the ApplicationContext log originally reported. Based on
our limited testing, the coincidence of the errors on the second
instance was 100%.
Second, with every "Post to Weblog" the following info messages were
displayed in both the stdout and added to roller.log:
INFO 2005-10-22 18:43:36,883 | WriteToIndexOperation:run | Starting
search index operation
INFO 2005-10-22 18:43:37,321 | WriteToIndexOperation:run | Search
index operation complete
Two additional notes on these info messages. First, in our test case
both of these info messages were displayed regardless whether the
MediaCast url was accepted or not. Second, in our primary server
these info messages are never displayed upon selecting "Post to
Weblog".