Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.0
-
Fix Version/s: EE-3.0.0.BETA, 3.0.1
-
Component/s: ICE-Components
-
Labels:None
-
Environment:ICEfaces 3 portlet portal
-
ICEsoft Forum Reference:
Description
When loading the compat version of the Rich Input Text component using ICEfaces 3 and Liferay 5.2.3 (the Liferay version may not be relevant given the nature of the problem), there are a couple of ckeditor resources that don't load.
The initial ckeditor.js file loads properly using the following URL:
http://localhost:8080/web/guest/richtext?_inputRichText_WAR_componentshowcaseportlet_INSTANCE_6ThI_javax.faces.resource=inputrichtext%2Fckeditor%2Fckeditor.js&p_p_col_count=1&p_p_col_id=column-1&p_p_id=inputRichText_WAR_componentshowcaseportlet_INSTANCE_6ThI&p_p_lifecycle=2
But two other files that CKEditor depends on do not because they don't appear to use standard JSF loading techniques:
Request URL:http://localhost:8080/web/guest/skins/kama/editor.css?t=B1GG4Z6
Request Method:GET
Status Code:404 Not Found
Request URL:http://localhost:8080/web/guest/lang/en.js?t=B1GG4Z6
Request Method:GET
Status Code:404 Not Found
During evaluation of ckeditor.js, there are console errors becauses the files cannot be found and because the language file did not load:
GET http://localhost:8080/web/guest/lang/en.js?t=B1GG4Z6 404 (Not Found)
Uncaught TypeError: Cannot read property 'options' of undefined
GET http://localhost:8080/web/guest/skins/kama/editor.css?t=B1GG4Z6 404 (Not Found)
The language one is particularly problematic because it prevents the creation of the editor around this code:
onLoad:function(){j.contextMenu=e.createClass({base:a.menu,$:function(m){this.base.call(this,m,{panel:{className:m.skinClass+' cke_contextmenu',attributes:{'aria-label':m.lang.contextmenu.options}}});
I'm not familiar with how we get the CKEditor to load up the resources it is dependent on but seems that they should be using standard JSF resource handling strategies or we'll have problems with portlets.
The initial ckeditor.js file loads properly using the following URL:
http://localhost:8080/web/guest/richtext?_inputRichText_WAR_componentshowcaseportlet_INSTANCE_6ThI_javax.faces.resource=inputrichtext%2Fckeditor%2Fckeditor.js&p_p_col_count=1&p_p_col_id=column-1&p_p_id=inputRichText_WAR_componentshowcaseportlet_INSTANCE_6ThI&p_p_lifecycle=2
But two other files that CKEditor depends on do not because they don't appear to use standard JSF loading techniques:
Request URL:http://localhost:8080/web/guest/skins/kama/editor.css?t=B1GG4Z6
Request Method:GET
Status Code:404 Not Found
Request URL:http://localhost:8080/web/guest/lang/en.js?t=B1GG4Z6
Request Method:GET
Status Code:404 Not Found
During evaluation of ckeditor.js, there are console errors becauses the files cannot be found and because the language file did not load:
GET http://localhost:8080/web/guest/lang/en.js?t=B1GG4Z6 404 (Not Found)
Uncaught TypeError: Cannot read property 'options' of undefined
GET http://localhost:8080/web/guest/skins/kama/editor.css?t=B1GG4Z6 404 (Not Found)
The language one is particularly problematic because it prevents the creation of the editor around this code:
onLoad:function(){j.contextMenu=e.createClass({base:a.menu,$:function(m){this.base.call(this,m,{panel:{className:m.skinClass+' cke_contextmenu',attributes:{'aria-label':m.lang.contextmenu.options}}});
I'm not familiar with how we get the CKEditor to load up the resources it is dependent on but seems that they should be using standard JSF resource handling strategies or we'll have problems with portlets.
Activity
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee Priority | P1 |
Ken Fyten
made changes -
Fix Version/s | EE-3.0.0.BETA [ 10324 ] | |
Fix Version/s | EE-3.0.0.GA [ 10262 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #27917 | Fri Feb 17 09:37:53 MST 2012 | ken.fyten | |
Files Changed | ||||
MODIFY
/icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/compat/components/src/main/java/com/icesoft/faces/component/inputrichtext/InputRichTextResourceHandler.java
|
Mircea Toma
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #27887 | Wed Feb 15 17:18:18 MST 2012 | mircea.toma | |
Files Changed | ||||
MODIFY
/icefaces3/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/inputrichtext/InputRichTextResourceHandler.java
|
Ken Fyten
made changes -
Salesforce Case | [] | |
Assignee Priority | P2 | P1 |
Ken Fyten
made changes -
Salesforce Case | [] | |
Assignee Priority | P2 |
Deryk Sinotte
made changes -
Field | Original Value | New Value |
---|---|---|
Salesforce Case | [] | |
Assignee | Mircea Toma [ mircea.toma ] |
Deryk Sinotte
created issue -
Fixed the calculation of the extension mapping used by the container (portlet case). Implemented Resource.getContentType method in ResourceEntry class since returning the content-type in Resource.getResponseHeaders is not enough. Also the the calculated resource URLs are ran through the ExternalContext.encodeResourceURL before creating the resource mapping used by CKeditor.