cancel
Showing results for 
Search instead for 
Did you mean: 

Insert flv files into blogs, discussions, wiki etc.

mehos
Champ in-the-making
Champ in-the-making
Hi,
I found a way inserting videos as <object></object> statetments in raw html mode like this.

But when i try  edit posted blog entry or wiki page it dissapering and i have to insert it again.

Moreover, it visible only in blog list.
[img]http://content.screencast.com/users/mehos/folders/Jing/media/99d095ff-e85f-46bf-aea1-37a5a14e7703/20...[/img]
But when i click on post, looks like alfresco filter video object, so i even can't point to specifig blog entry because there are no video in it, just text only.
[img]http://content.screencast.com/users/mehos/folders/Jing/media/a0536cd6-220f-4395-a97b-8f5318376216/20...[/img]

Is there a easy way to integrate for example 'flow player' to handle flv files?

Thanks,
Michael.
10 REPLIES 10

mikeh
Star Contributor
Star Contributor
Yes, we filter the HTML to a "safe" subset of tags. For the wiki in v3.2, this can be switched off by editing the config at site-webscripts/org/alfresco/components/wiki/page.get.config.xml in the Share webapp (reset webscripts or restart to take effect).

Unfortunately, I didn't have time to add the same patch to the blog and discussion pages.

Thanks,
Mike

mehos
Champ in-the-making
Champ in-the-making
Hi,
So there is no easy way to integrate flash videos? We just wanted to post some educational videos.

Thanks,
Michael.

cloudcontrol
Champ in-the-making
Champ in-the-making
Yes, we filter the HTML to a "safe" subset of tags. For the wiki in v3.2, this can be switched off by editing the config at site-webscripts/org/alfresco/components/wiki/page.get.config.xml in the Share webapp (reset webscripts or restart to take effect).
Made some difference for my 3.2r2 installation- edited this file and also /webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/dashlets/wiki.get.config.xml to "true" and tag stripping still occurs when I try to add the <video> tag, but I can now add <script> to call external javascript files. Is there something special about <video>? I am trying to enable the sublime html5 video player service.

mikeh
Star Contributor
Star Contributor
We don't strip anything if that flag is set. Maybe it's a TinyMCE issue; not sure.

Thanks,
Mike

cloudcontrol
Champ in-the-making
Champ in-the-making
Thanks for that feedback Mike- I appreciate the effort you make on these forums. I also investigated the tinyMCS possibility and found this topic referenced this file: webapps/alfresco/WEB-INF/classes/alfresco/web-client-config-wcm.xml

I edited:
         <xforms>
           <widget xforms-type="xf:group"
                   appearance="minimal"
                   javascript-class-name="alfresco.xforms.HGroup"/>
           <widget xforms-type="xf:group"
                   javascript-class-name="alfresco.xforms.VGroup"/>
           <widget xforms-type="xf:repeat"
                   javascript-class-name="alfresco.xforms.Repeat"/>
           <widget xforms-type="xf:textarea"
                   appearance="minimal"
                   javascript-class-name="alfresco.xforms.PlainTextEditor"/>
           <widget xforms-type="xf:textarea"
                   javascript-class-name="alfresco.xforms.RichTextEditor">
             <param name="theme_advanced_buttons1">bold,italic,underline,separator,forecolor,backcolor,separator,link,unlink,image</param>
             <param name="extended_valid_elements">video[class|preload|width|height|id|align],source[src]</param>
           </widget>
so that
<video class="sublime" width="640" height="360" preload="none"><source src="/share/proxy/alfresco-feed/api/node/content/workspace/SpacesStore/176e8462-69f1-nnnnnn/video.mp4"/></video>
would not be stripped and restarted tomcat6, but it did not work. The code is still stripped.

mikeh
Star Contributor
Star Contributor
Thanks!

That config would be for the Explorer client rather than Share (as it's webapps/alfresco rather than webapps/share). I would try saving your HTML with the video tag, then download the content directly from the repository (use Share's Repository browser, or the Explorer client) and see if the HTML is intact. By the way, where's the video hosted? I wonder if it's an authentication issue?

Thanks,
Mike

cloudcontrol
Champ in-the-making
Champ in-the-making
Thanks Mike- that was helpful to know about the web explorer file Smiley Surprisedops:

Funny thing is, setting the variable in site-webscripts/org/alfresco/components/wiki/page.get.config.xml to "true" works great otherwise- allowing all sorts of previously prohibited html tags in the wiki (2 column layouts, javascript tags, etc) just not this <video> tag.

The sublime service is a bit of a mystery to me- a mystery as in why they think I'm going to want to pay for it when it's out of beta  :wink:  Essentially you register with them at http://sublimevideo.net and then list the subdomains you will use with their service- they give you a customized javascript line to insert on the page you want their player loading in. You can see an example here: https://dashboard.cloudcontrollers.com/testing/video.html. This one is served from S3, but if I am linking to a file in the repo with the fully qualified document URL, I get the httpauth login prompt and everything plays just fine for those files too.

I was able to edit webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/wiki/page.get.head.ftl to put that javascript in the wiki <head>, so that's not the issue. Could it be the <video> tag is in a list of tinyMCE invalid_elements? The only place I've been able to grep a reference to invalid_elements that looks promising is in webapps/share/modules/editors/tiny_mce/classes/dom/Serializer.js any idea what I would do in this file to "turn-off" invald_elements?
         // Default settings
         t.settings = s = extend({
            dom : tinymce.DOM,
            valid_nodes : 0,
            node_filter : 0,
            attr_filter : 0,
            invalid_attrs : /^(mce_|_moz_)/,
            closed : /(br|hr|input|meta|img|link|param)/,
            entity_encoding : 'named',
            entities : '160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro',
            bool_attrs : /(checked|disabled|readonly|selected|nowrap)/,
            valid_elements : '*[*]',
            extended_valid_elements : 0,
            valid_child_elements : 0,
            invalid_elements : 0,
            fix_table_elements : 0,
            fix_list_elements : true,
            fix_content_duplication : true,
            convert_fonts_to_spans : false,
            font_size_classes : 0,
            font_size_style_values : 0,
            apply_source_formatting : 0,
            indent_mode : 'simple',
            indent_char : '\t',
            indent_levels : 1,
            remove_linebreaks : 1,
            remove_redundant_brs : 1,
            element_format : 'xhtml'
         }, s);

mikeh
Star Contributor
Star Contributor
I am linking to a file in the repo with the fully qualified document URL
You *are* going through the /share/proxy servlet I assume..? The user wouldn't have a valid session to /alfresco directly.

Check the URL format of something like a thumbnail image, or the "Download" link in the DocLib for an example.

Thanks,
Mike

cloudcontrol
Champ in-the-making
Champ in-the-making
Yes- in test the path /share/proxy/alfresco-feed/api/node/content/workspace/SpacesStore….. - it works fine. I can link that file just fine whether in a wiki page or in a simple html page at the web root of the alfresco server (using the fully-qualified path in that case). If I link to it in the simple html page at my site's webroot, I get httpauth- no problem there, that's what I want- and it loads up just fine with successful authentication.

Just can't save the player <video> tag in the wiki page. (see this tag in source of https://dashboard.cloudcontrollers.com/testing/video.html) even though I can load the javascript in both the header and in the wiki page itself if I want.