voyent
Messages posted by: aperezymadrid  XML
Profile for aperezymadrid -> Messages posted by aperezymadrid [24] Go to Page: 1, 2 Next 
Author Message
I ceased to use Icefaces with version 1.8.2 because the null product development, three years ago, or so. And also because the ace components were only a few.

Recently I received the new of new versions 3.2 and 3.3 and I decided to try them. To be sure things were running I included one of the samples, that with cars, and a tab pane, etc. I got it run. It was promising. Then I began to migrate the actual home page of my app to facelets, templates and tried to use the new ace components where possible. I selected Mojarra 2.1.

The outcome is very frustrating:
- action listeners in ace or ice components are never called. If I replace ice:commandButton or ace:pushButton with h:commandButton, it works. I added an actionListener to the Office menuItem in that sample page to check if my app was wrong, it it doesn't work either
- with ice:commandButton you can set the image attribute to get an image working as a button. ace:pushButton neither has that attribute nor accepts a graphicImage as a subcomponent. I the later case an small button and an image are rendered, but both as separate components.
- documentation is incomplete. Icefaces showcase is incomplete and ace documentation is not only incomplete, but clearly ace components have a lot less features than ice components

After these years, ace components are simply wrappers around Primefaces components, which are wrappers around YUI components. Fortunately, I've only lost a week.
Hi
I've seen some threads about the Icefaces 2 roadmap, but no one about Icefaces 1.x.
An important issue that affects icefaces based portlets in Liferay 6.0 exists since jul 22th and has been booked as http://jira.icefaces.org/browse/ICE-5990 as "improvement".

It's scheduled for 1.8.3 but when will be that?

Even the 1.8.2a release is not directly available for download (only in the netbeans integration package). It's neither available in maven repositories.

Any schedule and estimated end of life?

Thanks
Hi

This parameter and this other one com.icesoft.faces.connectionLostRedirectURI don't work OK with portlets. Redirection is done at portal page level but the portlet may be in different pages in the same portal instance. This parameter reloads the whole page, while it should reload only the portlet content.

Unless there is any trick, at this moment is better to get the session expired box than an auto redirection.

Aniceto
Hi
I've a simple PhaseListener:
Code:
public void afterPhase(PhaseEvent arg0) {
 		log.log(Level.INFO, "after " + arg0.getFacesContext().getViewRoot().getViewId() + " " + arg0.getPhaseId());
 
 	}
 public void beforePhase(PhaseEvent arg0) {
 		log.log(Level.INFO, "after " + arg0.getFacesContext().getViewRoot().getViewId() + " " + arg0.getPhaseId());
 
 	}

and I've set in web.xml
com.sun.faces.enableRestoreView11Compatibility=true
com.icesoft.faces.standardRequestScope=true
com.icesoft.faces.concurrentDOMViews=true

I see in the log only entries before and after RENDER_RESPONSE. Does anybody know why?


If I want to execute some function in a managed request scoped bean after created, in what phase and before or after should I call it?

Thanks

I've made a few changes. Former code shows always the inactive status and I don't want it shown when inactive. So i've added a new style entry for not to show the inactive ball:

Code:
.iceOutConStatInactv  {
 background:none;
 }


Then I notices the status ball was sometimes shown behind another components, so I modified the connection status to
Code:
style="position: absolute; z-index:200;"


The conn status must be shifted 35px instead of 30px because otherwise it's becomes between the cursor and the clicked component and some click events don't work.

Aniceto
Hi

I've got that kind of error from time to time if expressions are complex. If you put all complex code as a JSF bean property and do all exception handling there, those errors disappear.

I suppose rowselector events are handled in a different way; in fact datatables need special handling. Probably sometimes the rowSelector value property is changed before the currentRow bean is created and it does not check if it's available. Probably it's called again later and the application works right, but the log says something is not completely OK.

My advise is to keep EL expressions simple.

Regards
If I do the same in Java, it works

Code:
selectionListener="#{Proveedores.rowSelectionListener}"
  		value="#{Proveedores.rowSelStatus}"
 

and in Java
Code:
 public Boolean getRowSelStatus(){
    return dataModel.getCheckedHelper().get(getBean("currentRow"));
 }
 public void setRowSelStatus(Boolean b){
    dataModel.getCheckedHelper().put(getBean("currentRow"),b);
 }
 


So, there is a bug in EL jar or EL doesn't like complex expressions or there is a race condition;

Aniceto
I have push enabled application with datatables. When another user updates something, the table must be server pushed rerendered. If I use a "checked" field in the row object to store the row selection status, the checked info is lost when the table is updated. So I designed a way to do that and it's a class that implements a Map interface. It stores the database table key of the selected row. So, when the table is reloaded, the record key of the selected row is not erased. The Map interface was selected to be used for all the rows in this way:
Code:
<ice:column id="cnt13">
 		<ice:rowSelector id="cnt9" multiple="false"
 		selectionListener="#{Proveedores.rowSelectionListener}"
 		value="#{Proveedores.dataModel.checkedHelper[currentRow]}" />
 ...

The problem is sometimes this warning is thrown after clicking the row and before calling the selectionListener:
Code:
WARNING: javax.faces.el.PropertyNotFoundException: javax.el.PropertyNotFoundException: Target Unreachable, 'BracketSuffix' returned null
 	at com.sun.faces.application.ValueBindingValueExpressionAdapter.setValue(ValueBindingValueExpressionAdapter.java:154)
 	at com.icesoft.faces.component.ext.RowSelector.setValue(RowSelector.java:112)
 	at com.icesoft.faces.component.ext.RowSelector.processDecodes(RowSelector.java:426)
 ...


I've also tested it using a field in the currentRow object:
Code:
<ice:rowSelector id="cnt9" multiple="false"
 		selectionListener="#{Proveedores.rowSelectionListener}"
 		value="#{currentRow.checked}" />

and sometimes happens something similar: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'currentRow' resolved to null.

The usual recipe
Code:
<ice:rowSelector id="cnt9" multiple="false"
 		selectionListener="#{Proveedores.rowSelectionListener}"
 		value="#{currentRow['checked']}" />

does not fail.

I think it should work and it seems a race condition.

Any ideas?
Thanks


Hi
This is a typical application: projects, providers, contracts, users, roles and permissions.

Roles are permission containers. Permissions authorize an operation on a user, contract, provider or project.

There are pages to create/view/edit/delete users/projects/contracts/roles. Each page is tipycally a lazily loaded grid to browse the table and a form to edit the selected row.

A change in the roles of a user can alter the operations and/or the number of items he/she can perform to a project/contract/provider. A change in contracts may affect projects and providers, etc.

This is not a naïve enter chat room, exit chat room. Each user can navigate from page to page at any moment, and can be viewing more than one page at the same time.

In this case, the problem is not to update multiple views in a session. The problem is one change may affect all the sessions; render all the views for all the sessions at every change is another issue: mainly communications, also computer usage.

I think a way to deal with this could be define a render group for each page. If a page view may be affected by a change, it's group should be asked to be rendered. An independent task could force render of every group (page) based on a request list. Timing limits would prevent an excessive number of renderizations. Is this a right way to implement push updates?

Thanks
Aniceto
Hi

Our IceFaces based enterprise applications have lots of views and I want to implement push technology. Depending on the update, some views must be updated and some are not required to. Besides, each session may have one or more DOM views.

How / when to add / remove views to asynch groups? Real life applications are not so simple as chatRoomA and chatRoomB. Update all sessions every time is not the best option, isn't it?

Thanks
Do you think the Liferay Alloy bias will threat IceFaces as it claims it's the "Liferay look and feel"?

Of course a uniform look and feel is better than the contrary, but look and feel in web application frameworks is half of the framework.
I've detected ice-extras.jas and icefaces-d2d.js are reloaded every time a panelPopup changes it's visibility to true.

It doesn't when changing to another page but yes with panelPopup. Due to the size of those files, panelPopup rendering time is too long.
Hi

I have a vertical panel divider, inside a table and a paneltootip in one of the columns. I want to show info related to that row when the cursor is over it.

It works fine on Firefox, Safari and Chrome, but on IE the paneltooltip is rendered more to the left and more lower that the cursor.

After moving the vertical separator to the left, the paneltooltip is moved twice to the left. So it seems the panel tooltip is rendered relative to the cursor position, but taking the cursor position as relative to the panel divider. So it's not shown in it's place.

The paneltooltip cannot be put after the form label because I need one paneltooltip for each row and javascript is not an easy option.

I've tried styles="position: ...;" with absolute, relative, etc. But the problem is caused by a wrong cursor position or by a wrong relative-to position.

Any ideas?
Thanks
I have the lastest Eclipse Galileo version. I uninstalled plugin 3.6.1. When I selected 3.6.2 for install, there were no plugins listed for installation. Of course I checked and unchecked all the checkboxes.

I changed the site to point the 3.6.1 version and I got them installed back.

Besides, the readme.pdf file with install/uninstall instructions is no longer there.
I've seen recently in the log of an ICEfaces application running on glassfish this log entry.

Caused by: java.net.URISyntaxException: Illegal character in path at index 115: http://www.xxxxxx.org/xmlhttp/1247939176567/;this.object=null;this.id=B.id;this.htmlElement=B;this.createOptions=A;},destroy:function(){Droppables.remove(this.htmlElement);},rebuild:function(){Ice.StateMon.logger.debug(
 


And this is another log entry
Caused by: java.net.URISyntaxException: Illegal character in path at index 56: http://www.xxxx.org/xmlhttp/1247939176567/).__proto__){window.HTMLElement={};window.HTMLElement.prototype=document.createElement(
 


I think it could be an attack or a try to pass through a back door.
Any ideas?
Thanks
 
Profile for aperezymadrid -> Messages posted by aperezymadrid [24] Go to Page: 1, 2 Next 
Go to:   
Powered by JForum 2.1.7ice © JForum Team