[Logo] Enterprise Client Community
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Messages posted by: moebus  XML
Profile for moebus -> Messages posted by moebus [93] Go to Page: 1, 2, 3, 4, 5, 6, 7 Next 
Author Message
We open a new workpage in its own window via #addWorkpageAsPopup.
We want the input cursor to go to a certain text field in the new view.

This does not work, from the Client log the following lines can be seen:

| **********(RF) CCFOCUSSETTER: org.eclnt.client.elements.impl.FIELDElement$MyTextField/org.eclnt.client.elements.impl.FIELDElement@993203

| **********(RF) CCFOCUSSETTER: org.eclnt.client.elements.impl.FIELDElement$MyTextField/org.eclnt.client.elements.impl.FIELDElement@993203

| **********(RF) CCFOCUSSETTER: org.eclnt.client.elements.impl.FIELDElement$MyTextField/org.eclnt.client.elements.PageElementColumn$MyWindowListner@1733582

| **********(RF) CCFOCUSSETTER: org.eclnt.client.elements.impl.FIELDElement$MyTextField/org.eclnt.client.elements.impl.FIELDElement@993203

| **********(RF) CCFOCUSSETTER: org.eclnt.client.elements.PageElementPopup$MyFrame/org.eclnt.client.elements.impl.MODELESSPOPUPElement@15c918a

so apparently there is a fight between the Focus-to-textfield and Focus-to-new-popup, and the latter wins.
Not sure if this ever worked, but I suppose so - the code to set initial focus in some of our views is found in rather old classes.

Using t:calendarfield, with formatmask="short", the century is displayed only with 2 digits.

When a user enters a date (e.g. 4/7/52) it is ambiguous what century to use, so the default choice (using 20 years into future, 80 years into past) is fine, resulting in 1952 for my example.

However when the user enters "4/7/2052", while it is acceptable that the text displayed in the control switches to "04/07/52", the internal date should remain at 2052.

Also when the server sends such a date, clicking "open popup" displays the calendar (where the year is visible as 4 digits) it should also show the correct century. With the popup open, when you press the "Change-year" button quite a few times to arrive at 2052, this should make it into the data that is finally submitted to the server.

We have htbuttons an image.
Under certain situations the button does not display correctly (could also be a browser bug). But apparently things work correctly when width/height of the img are explicitly set.

Since "button", and some other elements, already contain properties named imagewidth and imageheight, we would like to request this surely small addition to have these two properties also for htbutton, and (when set) output them into the html stream as <img src=... width=... height=... >

while composing my previous comment, did not see your last remark.
To answer this: relative url is such that it works in webstart, i.e. it is relative to the path where the faces servlet is situated.
Just another helpful idea:
In webstart case, we can explicitly set page root and start page, as the first two arguments of PageWebstart.

In applet case, we have only one argument available ("page") which then mangled together with applet's contextRoot to form the two parameters for the PageBrowser. It might be helpful to normalize the resulting URL here.
We use textwithlinks, and in the html text have included some images. In some scenarios (applet) the base url of our page contains a .. path element.

In this situation we have problems displaying images in html text.
We like to specify them with relative url, i.e. <img src="images/cool.jpg">. This src specification makes its way through ExtImageView and comes to new URL(baseUrl,src). This JDK method normalizes the resulting URL, i.e. the ../ stuff is gone. This URL is then presented to TestPaneElement.HTMLImageCache.get() where it is checked if the url of the image starts with the page url. This page url however has not been normalized, just toExternalForm() is called. So the image is not displayed.

It would work if we did specify the correct url in absolute form (so in this case containing the xxx/../yyy stuff), but this is cumbersome especially since then the application code would have to include ifs reflecting the current mode in which the app is viewed, e.g. webstart, or applet.

There seem to be some oddities around focus management in grid.
We have an <t:arraygrid> displaying some rows, one row is selected.
Focus is then going somewhere else on the view. Then using keyboard navigation (via TAB), or triggered by our application via requestFocus="#d...") the focus is set back to the grid.
Problem is now that apparently the "reference row" used to handle arrow-down or arrow-up key seems to be the first visible row.
More natural would be to use the selected row, or the reference row when the focus was in the grid before - which in our case would be the same.
Could this be changed?
Kind regards
looking through the attributes of captaincasa elements, we find an attribute named "userhinttrigger". In the file controlattributeinfo.xml we found some documentation indicating that it can be used to pop up a userhint even if the control currently does not have focus.

We have tried to use it, but apparently it has no effect. Is there any example on how to use this attribute?

This brings a second question: if this should work, what happens if two controls having a userhint will trigger their hint with the same roundtrip. Would both hints be visible?

Kind regards
could reproduce the problem on several computers.
Counters reached from 1 to ca. 50.
However on one faster Computer (3.3GHz i5) starting the "chaos" and then doing absolutely nothing (no mouse movements, no YouTube Videos,..) the Counter once reached 180.

good to know:
starting this as Applet (...startdemos.html) does not show the crash, also when using the 64bit Version the chaos seems to be stable.

Want to confirm that the bug can be provoked easily from my home pc which is definitely "Standard" simple Laptop (win 8.1-64bit). Just have to open the captain-demo-page, klick around in large-Output -> array-grid (Scrolling, opening the popups row-details, grid-columns), typically in less than a minute the Client vanishes.

However noticed that only the 32-bit Version seems to be affected, the 64-bit Version has survived my clickings so far.
You are right, this is not using standard captain-casa url-session-encoding, our special usecases come from embedding captainCasa screens in other applications, using either applets, or even plain html with captain-casa HT controls.

We do not object against having the same session here, in some of our usecases this is even the desired mode of operation, since e.g. user authentication (SSO) frameworks rely on this.
But then all JSF expressions run in the same "namespace" (meaning: #{d is the identical object for roundtrips from all screens) and it requires nasty tricks to keep view state distinct. From briefly looking at the new jsf2.2 feature mentioned here it looks promising to get rid of such tricks.
Are there any plans to support jsf 2.2?

What looks most interesting for us is the item described in http://jdevelopment.nl/jsf-22/#949, namely to identify a particular window with a ClientWindowId thus making it more easy to support scenarios where several applets are open concurrently by one user, a thing which regular conflicts with the browser's policy that cookies (and thus sessions) are shared among all windows.

Hi Markus,
the javascript function proposed in my fix is the "call" syntax allowing to specify the "this" object, see e.g. http://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/.

looking at your csc.js I see that you forgot to insert the "call" stuff.
e.g. line 436

return mm_openCasabacPageAsModalPopup(this,pPage,pWidth,pHeight);


return mm_openCasabacPageAsModalPopup.call(this,pPage,pWidth,pHeight);

Running enterprise client as applet, the classes are not unloaded when the applet closes. Thus repeatedly opening/closing one or more applets in the same java vm will load more and more classes and eventually result in an OutOfMemoryError in perm-gen space.
Of course this is only relevant when the parameter separate_jvm is set to false.

The problem lies in the way that functions in the "central lib" are invoked.

There are various functions like

var mm_processHotKeys = null;
function processHotKeys(bodyEvent)
if (mm_processHotKeys == null) mm_processHotKeys = CL().C_processHotKeys;
return mm_processHotKeys(bodyEvent);

It looks like javascript logic in what is the meaning of "this" has been defined more precisely, and IE10 is finally following to this standard, so one has to take care of who is invoking a function that was defined in another context.
When you replace the last line with the following:

return mm_processHotKeys.call(this,bodyEvent);

the correct "this" object is specified, and the code works again as intended.
You might be pleased to notice that in addition to IE10 this brings casabac back to other modern browsers like firefox, chrome and safari.

We found quite a lot of such constructs in the files csc.js, PAGEControls.js and TEXTGRIDControls.js. Don't think it appropriate to post our version of the files since it is surely not yours, so you will have to look at your version of the files anyway, a grep for

mm_.* == null\) mm_.* = CL\(\).C_

will probebly find all functions to fix.

Hope this helps with you as well, we did only very limited testing with this fix, don't think one of our customers is already using IE10.
Profile for moebus -> Messages posted by moebus [93] Go to Page: 1, 2, 3, 4, 5, 6, 7 Next 
Go to:   
Powered by JForum 2.1.6 © JForum Team