Re: Working with Dates/Timezones
Hi, Is it not possible when the client requests to print a document to make the client timezone part of the request? In that case you can server side very easily convert from the stored TZ to the client TZ before printing... You should simply be able to ask the client what it's timezone is. In pure Javascript it would be: var offset = new Date().getTimezoneOffset(); which will return you the amount of minutes you are offset so a UTC+2 would return 120 where UTC-10 would result in -600 etc... You could even allow your client to override their system TZ and print the document as if it where printed in a TZ of their choice. Regards, Rob On Wed, Aug 1, 2012 at 5:12 PM, Jens jens.nehlme...@gmail.com wrote: Hi, how do you work with dates/timezones in your apps? I have the following situation: (Client browser, app server, database server live in Germany and we have UTC+1 or UTC+2 when daylight saving time is active) A user chooses a Date + Time (e.g. from GWT's DateBox) and we send that date object to the server and store it in database. On the client side everything is visually consistent until we want to print something. The report is generated on the server and the date that the user has entered * can* be off by 1 hour on the server which results in wrong dates in the report compared to the information visible inside the client app. Also if you use DateBox and only display the day portion of a date the date will still be off by one hour but to the user it is visible as being off by one day in the report because the date contains 00:00:00 as time portion which will become 23:00:00 for the previous day on the server. As an example the user may chooses 26.10.1951 12:00:00 via the GWT DateBox. Chrome, Safari, IE and Opera think (java.util.Date delegates to JsDate class in compiled app) that daylight saving time is active for that date (UTC+2 and thus date.getTimezoneOffset() returns -120 minutes). Unfortunately we don't have daylight saving time from 1950 to 1979 at all in Germany and our app server (= JVM) / database server knows this fact which results in a differently rendered date on the server. So if we render that date on the server its off by one hour (UTC+2 on client vs. UTC+1 on server). Firefox does correctly treat the date as UTC+1. On the other hand there are other dates where Firefox fails but other browsers do it correctly. As the GWT DateBox uses a DefaultFormat that uses DateTimeFormat and calls dtf.format(date) without a timezone I provided a custom Formatter that explicitly uses GWT's europeBerlin timezone. Now the GWT DateBox shows 26.10.1951 11:00:00 because GWT's timezone provided to the DateTimeFormat detects that no day light saving time is active at this date. Now client and server render the date the same although the browser created it incorrectly with UTC+2. BUT sadly there are other dates where GWT's timezone information also failes and differs from the server timezone information. So short story: Its currently impossible to create a consistent behavior between client and server for certain dates. It seems like that GWT's timezone info and the browsers native timezone infos have different data than the tz database used by Unix / Linux / Java / database server. There are also differences between browsers itself. So how do you guy work with dates in your app? I mean as an example it can be as easy as selecting a birthday (without time = 00:00:00) and use that birthday on server side in a report. Now you are maybe a day older in the report if you live in germany :-) The only partial solution we can think of is to always use 12:00:00 as time if you are only interested in the day portion of date (to avoid off by one day problem) and to use a fixed non DST day (maybe 01.01.1970) which is safe in all browsers if you are only interested in the time portion of date (to make sure its rendered the same on client/server). Obviously this also means that we can never store day and time in a single date instance. So whats your experience with timezones and/or do you have other possible solutions? Or have you never noticed this discrepancy in your timezone? In Dev mode everything works fine, because its Java like on the app server. -- J. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/q04nxG_F8BkJ. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send
Re: Lots of DIVs
On Wed, Jan 18, 2012 at 5:48 PM, Markus mca...@gmail.com wrote: Hi there, I just stumbled upon this thread, and would like to ask a quick question regarding this: While I like agree that this is a pretty clever way to measure EMs, etc., it gives me a problem with all browsers except Chrome: the browsers show a horizontal scrollbar as soon as one of these 10cm-wide divs extends beyond the edges of the window. Is there a way to prevent this without sacrificing functionality (like a display:none or something), or can it be disabled, since I don't really need any units other than px in my page? Thank you very much for you help, Markus -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. Hi Markus, Yes you can simply tell the window that you are putting the elements in that there should be no overflow (css this is overflow-x, overflow-y or overflow: visible, auto, hidden, scroll (same as auto) or inherit) for GWT you can either do this via css or you can address the property of the element or window you are placing your div's in and tell that exactly the same as above listed for css. Personally I would advice to always disable all scroll bars and only later on when you determine you need them enable them again this just makes sure that they only appear where you want them and do not show up in places where they would look out of place even when a user resizes the screen to an extreem small width or height. But opinions there will vary and I am not prepared to get into a discussion about that so I will just mention this practice and leave the rest up to you ;-) Regards, Rob -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: How to debug CSS
I use Google Chrome for this, (CTRL+SHIFT+i) then you can walk the DOM and find the element see exactly which stylesheets are influencing this element and what the computed style is, including inherited styles etc. It really is very very handy, Firebug is pretty much the same trick for Firefox (which I am just not a big fan of hence my usage of Chrome) In IE I have no idea what you could use I guess that there might be a IE implementaiton of Firebug but I have no idea I try and avoid using IE as much as I can (been using it since version 3 and never really liked it much) On Thu, Jul 21, 2011 at 3:49 PM, Jeff Larsen larse...@gmail.com wrote: I usually just use firebug and I can figure out which styles are which by looking at the content. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/U1S2x3wocJQJ. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
List item encoding issue...
Working on a very simple dropdown box but this time with a special character in it: . How hard could it be right? g:ListBox g:itemui:msg#60;4/ui:msg/g:item /g:ListBox But this results in the following: select optionlt;4/option /select Which on the browser shows as: lt;4 Being smarter then that and putting in lt; instead leaves it untranslated so it seems that the '' and for that matter the '' sign cannot be used. Though a qout; and a #39; ( and ' respectively) are show correctly so it does work in some cases and it certainly is not something that should never work... Has anyone else run into this and if so do you have a solution to this problem? By the way I'm using GWT 2.3 -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: my biggest problem with gwt
On Fri, Jul 15, 2011 at 1:23 PM, Dennis Haupt d.haup...@googlemail.comwrote: it's the speed. not the execution speed, that one is good enough. what i mean is the compilation speed. compiling my complete java project takes 30 seconds. compiling the tiny gwt part of it takes 91 seconds. activating the hosted mode takes about 1-2 minutes (didn't measure, feels like it). debugging like this takes forever. the write - test - debug - fix - cycle slows me down a lot. is there any way to fix that problem? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. The speed of compilation and the starting in the dev server is indeed a little slow, but then again if you look at what it is doing... Take Java code and transform that into javascript and html, then rinse and repeat 6 times for all supported browsers and versions. Then repeat that n times once for each language specified. In the end that means that where you compile your java project once you compile your gwt bit at least six times yet it only takes 3 times as long... One thing I did to speed things up is remove all languages other then default this saves a lot of compilation steps and reduces the time it takes to compile significantly. After all once you have confirmed that a string is translated there is little point in doing that again for every debug round. Another easy thing to do is reduce the compilation amount, do you really need to recompile every single time? Most of the changes in your code can be tested without having to recompile just redeploy the solution and all client side code will/should (it does sometimes fail) run in the new updated version. Also pretty much all professional outfits use a nightly build to put the whole lot together, build and deploy it all beyond that most of the time developers work on their own portion of the code which they can compile and test without always needing to compile the full project. Then there is one other thing which I know won't sound nice but it is true. A gut feeling of 1 minute or even several minutes usually turns out to be way less then that. Just like with performance testing you cannot trust your feelings you have to measure things before you can say for sure. For instance it has been found that one can make an application a lot faster by showing the user a progress bar and status messages about what the program is doing. The program is no faster but the user has the feeling stuff is happening thus they feel that things are going faster even though there is no factual difference in the execution speed. So never trust a feeling, at least not when it comes to the measuring of idle time waiting for a computer, as it is very often quite far of from reality. Regards, Rob -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Playing MP3 and AVI in GWT application
Then there is only one real solution, Adobe Flash... Pretty much everyone and their mother has a Flash Player installed (for those that do not use HTML5 (Apple iStuff is the main group there without Flash)). If you set the system to prefer HTML5 and then switch back to Flash if this is not available you are future proof and able to deal with what ever way that coin will flip. For the widget simply use two and load which ever one the users browser will support. If the users browser is capable to deal with HTML5 like Chrome or Firefox you simply load the HTML5 widget, if you are being visited by an older IE version simply push the Flash version over. Using MVP you would simply have to views and a few lines of code to decide which one to show the user not unlike deciding to show the user the mobile version of the view instead of the full fledged desktop version. Regards, Rob On Thu, Jul 14, 2011 at 10:12 AM, shahid shahidza...@gmail.com wrote: The trouble is HTML 5 is not supported on majority of the user's browser. Also what do you do for backward compatibility? On Jul 13, 5:45 pm, David Chandler drfibona...@google.com wrote: HTML5 to the rescue... http://www.slideshare.net/turbomanage/gwt-plus-html-5 http://google-web-toolkit.googlecode.com/svn/javadoc/2.3/com/google/g... http://google-web-toolkit.googlecode.com/svn/javadoc/2.3/com/google/g... The APIs are changing slightly in GWT 2.4 to enable you to more easily specify multiple formats. /dmc On Wed, Jul 13, 2011 at 12:10 PM, shahid shahidza...@gmail.com wrote: What is the best way to support playing MP3(audio) and AVI (video) files in a GWT application. We have gone a long way into developing our application on top of GWT and now we have a requirement to support playing mp3 and avi files. However I can't find a widget or player that I can use with GWT to support both of these formats. Has anyone used this functionality in your application and how? What is the best practice ? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- David Chandler Developer Programs Engineer, GWT+GAE w:http://code.google.com/ b:http://turbomanage.wordpress.com/ b:http://googlewebtoolkit.blogspot.com/ t: @googledevtools -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: NumberFormat and German Locale
Default locale is actually default, not necessarily the local set. I don't have access to my code at the moment so I'll have to do this from the top of my head and without actually working code... but I'll give it a try. When a new user accesses the app I check the locale, to see what this is set to, default or something else, if it is set to default then I force it to the locale inferred by the user's IP address, if I have this local available otherwise I set it to English. There is such a thing as default in the list of locale's which usually is _EN as far as I know. I think what you are seeing is that the default locale you are using is actually default (_EN) thus the number format is most likely set to #,##0.0## instead of the #.##0,0## you are trying to use. I would suggest simply telling the number formatter to use the _DE format (or simply the same as the locale is set for for the user ;-) Sorry for the lack of code, that the explanation is clear enough without it. Regards, Rob On Mon, Jul 11, 2011 at 10:06 AM, tdk kloe...@ics.de wrote: I have severe problems, understanding and using com.google.gwt.i18n.client.Numberformat, hoping somebody out there can help and enlighten me. When I try to get a formatter via NumberFormat.getFormat(pattern) I get an InvalidPatternException even so my pattern is valid within the german locale, eg #.##0,0##. I know that the locale is set correctly and used by my app, because all the default texts, eg when loading data, show up in german. The documentation (and posts in various forms) say, that NumberFormat uses the default locale to get a formatter, with a specific pattern, which I assume in my case is de_DE, because it is set to this. So what am I doing wrong, am I missing? I'm using GWT 2.3 -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
How to fire an CloseEvent on a DisclosurePanel?
Hi all, I've been pulling my hair out for a while now but I just cant figure it out... The idea is really simple a bunch of DisclosurePanels in a VerticalPanel, whenever one of the DisclosurePanels opens all others close. The simple way is just loop over the widgets in the Vertical panel, check if they match the opening panel, if not call setOpen(false); and hey presto there can be only one. But I want the animation with that because without it the result is just not pretty enough. So I looked for a setOpen(boolean state, boolean animate); but that does not exist. Then a simple call to the panel telling it to close and the rest should sort it self out. So I call DisclosurePanel.fireEvent( ... and there is where I get stuck as I cannot figure out how to fire the CloseEvent. My java knowledge or well lack there of is most likely what is causing me not to be able to work it but I'm trying to learn. Anyway I have spend a good few hours with Google and the result is that no one seems to want to fire the CloseEvent (just catch it on all different kinds of panels and the browser window it self). I spend some time looking at the test cases which should and do test the opening and closing in an automated way but the code that is being used there but for a test case the animation is not really possible to test so here the only thing that is done is calling setOpen(true/false)) which is not what I am looking for. If anyone out there knows how to do something as simple as programatically click on the DisclosurePanel header then I hope they will share this knowledge with me :-) Regards, Rob -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: GWT Widget styling using CSS and UiBinder
Here is what I did to test this: !DOCTYPE ui:UiBinder SYSTEM http://dl.google.com/gwt/DTD/xhtml.ent; ui:UiBinder xmlns:ui=urn:ui:com.google.gwt.uibinder xmlns:g=urn:import:com.google.gwt.user.client.ui xmlns:p1=urn:import:com.google.gwt.user.datepicker.client g:HTMLPanel p1:DatePicker/ /g:HTMLPanel /ui:UiBinder (can't be more basic then that) And in my css file I have simply added the following lines: .gwt-DatePicker { font-size: 40pt; } .datePickerMonthSelector { color: red; } .datePickerMonth { font-weight: bold; } I did this in a new project where I did nothing more then simply alter the .css file and create this one UiBinder bit of code, adding it directly to the root layout panel (I like standards mode :-) I am not using the CSSResource interface and I found that if you do the following the styles are ignored: !DOCTYPE ui:UiBinder SYSTEM http://dl.google.com/gwt/DTD/xhtml.ent; ui:UiBinder xmlns:ui=urn:ui:com.google.gwt.uibinder xmlns:g=urn:import:com.google.gwt.user.client.ui xmlns:p1=urn:import:com.google.gwt.user.datepicker.client ui:style .gwt-DatePicker { font-size: 40pt; } .datePickerMonthSelector { color: red; } .datePickerMonth { font-weight: bold; } .datePickerPreviousButton { } .datePickerNextButton { } .datePickerDays { } .datePickerWeekdayLabel { } .datePickerWeekendLabel { } .datePickerDay { } .datePickerDayIsToday { } .datePickerDayIsWeekend { } .datePickerDayIsFiller { } .datePickerDayIsValue { } .datePickerDayIsDisabled { } .datePickerDayIsHighlighted { } .datePickerDayIsValueAndHighlighted { } /ui:style g:HTMLPanel p1:DatePicker/ /g:HTMLPanel /ui:UiBinder Now personally I am very very much against inline styles or any styles other then in a separate stylesheet so I actually don't mind that this does not work. Though I do not see why it wouldn't as the classes are applied to the elements so the UiBinder should not ignore this code just because it is not assigned later on using addStyleNames or setStyleName but it seems that optimization has removed this bit of code from the final product as it sees it as never used. (Unless I am totally crazy and doing this completely wrong) As far as examples and documentation goes I agree the GWT documentation is though extensive very much a trail and error thing which quite often feels incomplete or assuming a bit more knowledge of the GWT framework then a beginner with it can have. Anyway the styles do get applied though it might be that using CSSResource the file is loaded to early and the default style sheet from GWT gets loaded after overwriting your styles at least that is the only reason I can come up with why it would not work in your case. Hope this helps, Rob On Fri, Jul 8, 2011 at 8:17 AM, vik vmgu...@gmail.com wrote: Thanks for the reply Rob. I did try the piece of code you have pasted even previously but it did not work. Even a simple rule like a color change or a bg-color change within all the parenthesis don't work. This technique doesn't work if I put it in the ui.xml nor does it work in a .css file referred as a CSSResource interface. Again, the examples online are incomplete. If possible, please share a working example. Thank you again! Vikram On Jul 7, 9:12 pm, Rob Coops rco...@gmail.com wrote: On Thu, Jul 7, 2011 at 11:09 AM, vik vmgu...@gmail.com wrote: Can somebody please post a simple example on how to style a 'fairly- complex' widget like the gwt-DatePicker with different colors and assets? There are a few examples online for the date picker but they either are incomplete or don't use the UiBinder technique. I would like to use the UiBinder ui.xml files to store information as in colors, bg images etc. Thanks! -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. Hi Vik, I would suggest using the build in styles CSS Style Rules .gwt-DatePicker { } .datePickerMonthSelector { the month selector widget } .datePickerMonth { the month in the month selector widget } .datePickerPreviousButton { the previous month button } .datePickerNextButton { the next month button } .datePickerDays { the portion of the picker that shows the days } .datePickerWeekdayLabel { the label over weekdays } .datePickerWeekendLabel { the label over weekends } .datePickerDay { a single day } .datePickerDayIsToday { today's date } .datePickerDayIsWeekend { a weekend day } .datePickerDayIsFiller { a day in another month } .datePickerDayIsValue { the selected day } .datePickerDayIsDisabled { a disabled day } .datePickerDayIsHighlighted { the currently highlighted day } .datePickerDayIsValueAndHighlighted
Re: secure widgets
The idea behind security is simple, trust no one and trust nothing... only when who ever tries to access and authenticates them self and is authorized to access what ever it is the are attempting to access allow this action. So try and hide anything that a user should not have access to. This will prevent them form attempting to access this and limits the number of errors or warnings you will have to show. Always check the credentials on every single call don't assume that due to the user having access to a button they must have the rights check these rights instead. If at all possible do not provide access at all the more access you have to give the more likely it is this will be abused. If you think you are being paranoid you need to look for another job you can never be paranoid enough ;-) In all honesty I think that GWT is not a very good platform for secure applications for the simple reason that a lot of the hiding of functionality happens on the wrong system (the client side). Now there is a lot to say against security trough obscurity but look at it this way if you had never seen or heard a bout an iPhone or iPad would you want one? Exactly 99% of the people would say no to that and that means a big reduction in the number of people that might try and get one... If you are working on a system that should be as secure as possible I would advocate against GWT simply because as originally said most of the hiding of functionality happens on the wrong system which means that attackers gain a lot of knowledge that would otherwise be just that bit harder to come by. Of course there is nothing stopping them from gaining this knowledge anyway, but every hurdle is one more reason to leave your site for what it is and try to mess with your neighbors site instead. No matter how many people advocate against the obscurity argument less information is the reason wars have been lost and in this day and age where information makes Google... restricting access to information means slightly more security for your site no matter which way you look at it. On Fri, Jul 8, 2011 at 9:09 PM, David Chandler drfibona...@google.comwrote: Agreed! Don't show the button if the user doesn't have permissions. But also check perms on the server to protect against hackers. /dmc On Fri, Jul 8, 2011 at 2:54 PM, Alberto Sarubbi asaru...@gmail.comwrote: we actually protect EVERY call to our server validating the user rights before proceeding to the service execution. it just doesn't seem right to show a user a button that he can't click because he don't have the permission to do. it sounds more logical not showing the button at all. of course, validations on server side will catch any click on a forbidden button, then comes the question: why would i show the button then?.. thanks for the advice people. may be i just don't get right the js gui development yet :) -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- David Chandler Developer Programs Engineer, GWT+GAE w: http://code.google.com/ b: http://turbomanage.wordpress.com/ b: http://googlewebtoolkit.blogspot.com/ t: @googledevtools -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Specifying cache expiration
Have a look at the following page: http://code.google.com/appengine/docs/java/config/appconfig.html#Static_Files_and_Resource_Files Under the header: Setting the Browser Cache Expiration ;-) Hope that helps, also there is a bit of chatter on why a GAE would or would not GZip a file when transferring it this will also help a lot specially for large text files which are wonderfully small when compressed. Regards, Rob On Thu, Jul 7, 2011 at 11:55 AM, Vik vik@gmail.com wrote: Hie I used PageSpeed chrome extension to analyze my app home page which is hosted on GAE. The suggestion come to set image cache expiration to 1 week at least. Now I do not know where should I do that? Please advise. Thankx and Regards Vik Founder http://www.sakshum.org http://blog.sakshum.org -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: GWT 2.4 - close?
Exactly one minute later I get the following email :-) Revision: 10420 Author: mrruss...@google.com Date: Thu Jul 7 06:43:13 2011 Log: tag for the 2.4 rc1 release http://code.google.com/p/**google-web-toolkit/source/**detail?r=10420http://code.google.com/p/google-web-toolkit/source/detail?r=10420 Added: /tags/2.4.0-rc1 I guess we are nearly there :-) On Thu, Jul 7, 2011 at 3:39 PM, cri chuck.irvine...@gmail.com wrote: Sorry, Just can't help myself. Are we anywhere close to the 2.4 release? Thanks, Chuck -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: GWT Widget styling using CSS and UiBinder
On Thu, Jul 7, 2011 at 11:09 AM, vik vmgu...@gmail.com wrote: Can somebody please post a simple example on how to style a 'fairly- complex' widget like the gwt-DatePicker with different colors and assets? There are a few examples online for the date picker but they either are incomplete or don't use the UiBinder technique. I would like to use the UiBinder ui.xml files to store information as in colors, bg images etc. Thanks! -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. Hi Vik, I would suggest using the build in styles CSS Style Rules .gwt-DatePicker { } .datePickerMonthSelector { the month selector widget } .datePickerMonth { the month in the month selector widget } .datePickerPreviousButton { the previous month button } .datePickerNextButton { the next month button } .datePickerDays { the portion of the picker that shows the days } .datePickerWeekdayLabel { the label over weekdays } .datePickerWeekendLabel { the label over weekends } .datePickerDay { a single day } .datePickerDayIsToday { today's date } .datePickerDayIsWeekend { a weekend day } .datePickerDayIsFiller { a day in another month } .datePickerDayIsValue { the selected day } .datePickerDayIsDisabled { a disabled day } .datePickerDayIsHighlighted { the currently highlighted day } .datePickerDayIsValueAndHighlighted { the highlighted day if it is also selected } Since with UIBinder you can only assign a single style name and as far as I know this is not automatically used to replace the datePicker part of the default styles you are pretty much stuck with these once. Though I would not put it past the Google team to be smart enough to do that I fear that this might just not work at the moment. To be able to do this and still add you own style use: addStyleNames. Regards, Rob -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: visibleEvent
In that case you could fire a custom event every time you change the visibility, as far as I know you should be able to figure out if widget X is visible or not by simply asking it ( component.isVisible ). The only thing is that you will have to ensure that you fire this custom event everywhere in your code where you influence the visibility of a component... To overcome that I would create a custom component and overwrite the (setVisible method, to automatically trigger the event for you) of course as mentioned by Jeff you do need to really make sure that you are not messing it all up with inline styles, css or other methods of messing about with the visibility of your component. All in all it is not an easy one and it will mean you have to be 100% sure that you never ever set visibility in any other way then problematically which is depending on your project not that hard or near impossible... Regards, Rob On Tue, Jul 5, 2011 at 7:30 PM, gwtomni gwtomni gwto...@gmail.com wrote: thank you for your quick response. I have a textBox with a DecoratedPopupPanel on its right like a toolTip. Both of them are in a TabLayoutPanel. problem is when I am switching between tabs, the toolTip is still visible. I want a way to know that the textBox is no longer visible to be able to hide the toolTip. thank you. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Help : Memory Leak Problem
On Mon, Jul 4, 2011 at 6:00 PM, Alberto Rugnone arugnonechemi...@gmail.comwrote: Hello everybody, In my office we are experiencing a very bad problem of memory leak. We are developing an application with GWT based on MVP architecture. Each widget is a MVP and each MVP is based on a own class named DefaultWidgetPresenter. The applicaion has to create periodically new Presenters (subclass of the first) and deletes periodically olders. Anyway application memory grows up. Profiling the application with developer tools provided by Chrome or Safari we registered that Presenter keeps their number increasing slowly and DefaultWidgetPresenter still growing up rapidly, and we don't understand why? We checked if we deleted correctly the presenter and sincerely I can't say yes because our probably no deep understanding of GWT technology. This is the application procedure in a nutshell 1) Application create a Presenter dynamically 2) Then it put its displays in a panel 3) Then after a certain time it creates a new Presenter 4) It clears the panel then add the new display. ... and so on I expected old presenters are garbage collected in some way. In addition I don't understand why we have difference between number of Presenters instances and parents classes instance. I took measurements also from chrome's task manager but I can't understand the relation between profiling and that. In fact when I use profiling the memory grows in a strange way probably because profiling instrument the memory in some way. There is some one that can help us and explain those behaviours? I am wondering also if a key to understand the problem could be understand how GWT implements inheritage and garbage collecting? ? Thank you in advance for any help, this problem is very important. Regards Alberto -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. Hi Alberto, Being an absolute novice in Java development but having spend many years supporting Java based applications and working with many other programming languages I would say there is a relatively simple reason for this behavior. Usually the garbage collector will kill what ever is considered old enough (there are various stages in the objects life cycle but who cares right unused objects will die in the end). What you are doing to kill of the object in your code is not working as you expect it to. As long as there is a single reference to the object the garbage collector will see this as a object that's in use and thus will not remove it. So what I understand form your post you are simply deleting the presenter from the panel. This works well for static things like a button or an image but as soon as you are talking a widget that is displaying data the data that you are displaying will still be updated in that widget as all you did is remove the widget from the display part of your program the code that is updating the widget will happily continue to work. I would say you will need to build a destroy method for your presenter that will remove all links to the data to be displayed. If you call this after you delete the presenter you should see the garbage collector clean it up nicely. Now as I said before I am a complete novice in Java/GWT so I cannot make any promises about the sanity of my comments but from what I know from other languages and from supporting Java based systems for many years; the usual reason a garbage collector misses an object is because the developer forgot to remove all references to that object. ;-) Regards, Rob -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Removing ClickHandler from Button?
removeClickListner() is deprecated if I am not mistaken... Anyway the big question is why remove the clickHandler from your button in the first place a button that can not be clicked is nothing more then a label with a border... I would suggest disabling the button or simply have the clickHandler return instead of doing anything... in both cases for the user nothing will happen once they click the button. just my 2 cents. Regards, Rob On Tue, Jul 5, 2011 at 1:05 AM, Milan Cvejic liquidbra...@gmail.com wrote: Hi, I am trying to find a way how to remove ClickHandler from Button, there is no any method related to this. I see that we can remove ClickListener with removeClickListener(), but there is no way to remove ClickHandler. I am using following code: Button b = new Button(test); b.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.alert(test); } }); Is there any way to remove ClickHandler? Thanks. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Is encryption over RCP possible?
Fair enough I have to say I have not seen that article before, interesting though... Anyway, see why I say use both: UNSECURE - CERT. EXCHANGE - CERT. VERIF - KEY NEGOTIATION - SECURE EXCHANGE - JS TRANSFER - CERT. EXCHANGE - CERT. VERIF - KEY NEGOTIATION - SECURE EXCHANGE - LOGIN FORM You site will not be much faster because of all this dragging around certificates but it is much more work to listen in on. As for your argument that: a) Fiddling Javascript while it is transferred between server and client is hard to achieve. If Mallory can do that, he/she may as well fiddle with certificates, meaning TLS does not offer protection against this kind of attack. This is of course true assuming you change your script all the time but staying realistic once deployed your script will be send to the client over and over and over again without change. So for someone to sit in the middle accept the script from your server and forward on a script with a slightly different content is not hard at all. It is as simple as simply sending over the different file... of course it takes some doing on the part of the attacker but clearly what ever it is you are securing is worth the effort. Still a simple but effective way to protect against burglary is to put additional locks on the door, even if they are not that hard to break they are harder to break then your neighbours lock who have only a single lock in place... Remaining realistic there is another simple yet effective way to deal with this and that is to use a token system... again the more security you pile on the better this does not mean the rest of the solutions is not needed or useful but using a simple token generator to generate password strings in combination with a user defined part of the password means that yet again there is a additional hurdle to take for a would be attacker. In the end a 100% safe system is not possible a secret will always leak out, a private certificate is only as save as the machine it is on an if the machine is connected to the internet it is not safe. There is really no way you can be 100% sure your secret is safe as there is no way to proof that who ever is trying to attack you has not found another way to get to your secret. The best thing you can go for is as safe as you can make it the more layers of security the better and the more different devices and media involved the better... in the end all security will be broken even a 1024 bit key will not hold given enough time, most likely because someone will find a way to access the client or server directly. Look at the Skype algorithm in stead of trying to crack it the law enforcement agencies all over the world are using trojans to listen in on the client side. You can simply not grantee safety online it is simply not possible as there are always attacks that can provide access via routes that you can simply not control. On Wed, Dec 15, 2010 at 6:17 PM, UseTheFork jvers...@gmail.com wrote: Hi Rob, On Dec 15, 9:39 am, Rob Coops rco...@gmail.com wrote: Lets sum this up nice and quick... - SSL/TLS uses certificates and is according to most as save as it gets - MITM attacks can and do happen, they could theoretically even mess with SSL/TLS communication - SSL/TLS MITM attacks have to the best of my knowledge not been seen in the real world (yet) Ok, then Google 'SSL/TLS MITM attacks'. Those attack do (and did) happen, but no bank or official institution will ever admit that. Their business would collapse if they admitted this publicly... Now if you want a specific example: http://www.zdnet.com/blog/security/man-in-the-middle-attacks-demoed-on-4-smartphones/4922 - Javascript cannot do its own encryption as it simply does not have the right tools for it True, but there are many libraries available which provide functionalities facilitating the implementation of encryption. Designing a watertight security solution that cannot be broken when transporting data over a publicly accessible network is nothing else then ignorance or arrogance on the part of the designer, it simply is not possible not in the long run at least. Yes, it is possible when there is a pre-established secret between Alice and Bob. But, that is (most) often not the case on the Internet. So, I cannot rely on this. (REM: in a private email, someone argued that root certificates stored in browsers where pre-established secrets and concluded that TLS/SSL was therefore stronger than my approach; such certificates are not, they are public, this is no secret) So take what you can get and throw as much at it as possible SSL/TSL, your own encryption and anything else you think might help to make the life of friend Mallory as miserable as possible. TLS or not, user input should never be trusted and has to be checked by the server. If you have a method that checks this, then TLS is redundant. It does not offer more protection
Re: Firing native events in GWT?!
No idea if it is the right thing to do but you could just call the onKeyPressed method of the widget in quesion can't you? On Tue, Aug 3, 2010 at 11:40 AM, Blaze baze...@gmail.com wrote: Hi all, I have one question...how can we fire a native event in gwt...?? by native event I think on let me say..keyboard key pressed...etc Tnx, -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Firing native events in GWT?!
Ah, ok fair enough apperantly (google search helps a lot :) you should be able to use: DomEvent.fireEvent(Document.get().createXXXEvent, handlerSource); On Tue, Aug 3, 2010 at 11:52 AM, Blagoja Chavkoski baze...@gmail.comwrote: Hi, first tnx for the rpl.. yes thats ok...also would be ok to fire onNativeEvent in widget method...but I have more components(widgets) related to that event..and i dont like to keep instance of all of them and fire the event one by one...for each... In gwt 1.6 there ware metods in Document.firexxxnativeEvent...but after 2.0 there not inside...and i dont no how can be done... On Tue, Aug 3, 2010 at 11:45 AM, Rob Coops rco...@gmail.com wrote: No idea if it is the right thing to do but you could just call the onKeyPressed method of the widget in quesion can't you? On Tue, Aug 3, 2010 at 11:40 AM, Blaze baze...@gmail.com wrote: Hi all, I have one question...how can we fire a native event in gwt...?? by native event I think on let me say..keyboard key pressed...etc Tnx, -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com . To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: How to disable menu items?
So what you are saying is that you need a way for the menu to detect which user/user group is looking at the menu. As you are already saying you have user groups it should not be to hard to inform the menu about the user group that is trying to open it. Once the menu knows which group is trying to open it it can use internal hard coded or externally read logic to decide what fields to render and how to render them, what events to attach to the elements and so on. I would simply hand the menu a variable/object that identifies the user group accessing it. Then the menu logic can deal with the rest. I would though use an external location to store the logic for the menu so you can easily update it should you need to add a new group in the future. I hope that helps a bit... On Tue, Aug 3, 2010 at 4:28 PM, Magnus alpineblas...@googlemail.com wrote: Thank you, but shouldn't GWT itself provide a mechanism to disable menu items? Using an additional library is not the problem for me, but using an additional library because of such a small functionality that should be present in any menu implementation is a problem for me. As a consequence I would end up in about a dozent libs... Isn't there another solution? Why is this missing? Thanks Magnus On Aug 1, 10:56 pm, Alan Hadsell ahads...@gmail.com wrote: On Aug 1, 12:25 pm, Magnus alpineblas...@googlemail.com wrote: Hi, I have a MenuBar with MenuItems, which I would like to selectively enable for defined user groups. But how can I enable/disable menu items? Take a look at gwtlib:http://code.google.com/p/gwtlib/. It has menubars and menu items that can be enabled and disabled. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: CSS and panel alignment
On Mon, Aug 2, 2010 at 1:34 PM, Leung leung1_2...@yahoo.com wrote: Hi, In the host html file, I have a div to specify the location to load the widget which is a vertical panel. I add 2 horizontal panel to it. I want the first one to be left alignment. The second one is right alignment. Should I define it from the div tag of the host file? Or should I define it on the panel constructor using this.setHorizontalAlignment(align)? I have tried to use this.setHorizontalAlignment(align) but the alignment not so right. Both panel's components are aligning to the left. Thanks -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. Hi, I would advise using something along the lines of firebug or the Chrome developer plugin. Most likely you will see that the style you are trying to set is not being applied correctly. To me it sounds a lot like the problem is that the things you are adding are tables not div's (vertical and horizontal panels are mostly tables) so you might be setting the table alignment to left and right but the cell contents is not following this alignment. Using things like docklayoutpannel and layoutpannel will give you div's that will make your life a lot easier as they will let the children inherit these settings just like you expect them to do. Regards, Rob -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: A little help
Hi Diego, I think the template you like comes form the book: GWT in Action Easy Ajax with the Google Web Toolkit Robert Hanson and Adam Tacy ISBN: 1-933988-23-1 At least a large part of the interface seems to work very similar to what is build as an example app in that book. The book by now is a little dated and I would advise you to wait for the new edition of the book which should also include things like the declarative UI and other recent additions to the toolkit. Other then that if you are on a course to learn how to write GWT application should you not practice a little your self :-) Asking other will not help you much in understanding why you are doing certain parts and why you would not do things in a slightly different way. Regards, Rob On Tue, Jul 27, 2010 at 11:57 PM, Diego Venuzka dvenu...@gmail.com wrote: Hello guys! I'm going to do a work for my course, and i will use GWT+Ajax on Eclipse Helios. I never used GWT, and i need build a system to control a machine shop. My question is, somebody have a template, or guide to use GWT/Ajax on Eclipse? I saw a site that use GWT and Ajax: http://www.geoleite.com.br/site/index.html (i like so much this template :D) If anybody can help me, i really thank :D Thank all! -- Diego Venuzka -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Server Side Byte Code Obfuscation
On Tue, Dec 9, 2008 at 5:17 PM, Allahbaksh [EMAIL PROTECTED] wrote: Hi, We are distributing an application. We want to obfuscate the server side code to the client so that they should not reverse engineer the code. Is it works fine? What will happend to servlets? Whether they work fine? Regards, Allahbaksh Hi Allahbaksh, Obfuscating code is not going to stop any determined person from reverse engineering your code, it might make it slightly more difficult but that is about it. The code should still work otherwise the obfuscation failed and you simply broke your own code. In the end any and all code you write can be reversed engineered regardless of obfuscation or any other technique used to make it harder to do so. So in that respect you will have to look at the cost you make obfuscating your code as opposed to the risk you run with someone actually taking the trouble of reverse engineering your code. How much will you loose if someone reverse engineers your code in a week and how much will you loose if it takes them a month... you might very well find that the cost of hiding you code is not worth the money. Regards, Rob --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: GWT SITE? (example)
On Fri, Oct 3, 2008 at 10:42 AM, rov.ciso [EMAIL PROTECTED] wrote: Good day! Do anybody know sites based on GWT? What is big project write with GWT? Please, give me url. Thanks. Try gpokr.com it is a nice example of a none business application written in GWT, showing you that a lot more can be done with it then just a fancy way to present a form. Regards, Rob --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: questions on Login Security FAQ
Always fun to read a Reinier comment to pretty much anyone. Seriously Reinier though you usualy are quite correct with your facts and knowledge you might try to leave the baseball bat on the filed and not bash someonce head in for a change. I would not be surprized if people are scared to post here for they fear the wrath of the ever present Reinier. On the other hand I am still looking forward to the day when fingers will automaticaly be broken every time a developer codes a well known and described security flaw into their application. On Thu, Sep 18, 2008 at 4:50 PM, Reinier Zwitserloot [EMAIL PROTECTED]wrote: JasonG: Thanks for being a nice example of the cluelessness of your average programmer. You've got it all, totally, 100% backwards. Don't feel too insulted, you're like almost everyone else out there. However, you should most definitely stop handing out security advice. Seriously. A) J2EE doesn't magically work without session keys. It just handles them for you; they are still stuck in a cookie someplace. HTTP is stateless. A session is by necessity involved. B) BCrypt (and you should use BCrypt, or you Fail Security. Seriously. Don't think about it, you failed the test. Use tools written by the experts) - is a better take on a technique called 'salt hashing', invented a few decades ago. With salt hashing, two people with the same password do not have the same hash in the database. The fact that you don't even know the principle of salt hashing means you're a few decades behind the times. C) You don't check HASH(username+password), because BCrypting 'abc123' and BCrypting 'abc123' again does NOT result in the same hash value! That's the whole point. You BCrypt('abc123') exactly once, and then later, you get the hash from the db and ask BCrypt to verify that 'abc123' was used to generate that hash. Even if you somehow solved this problem (by removing the salting from the equation which is very stupid), then there's still the birthday paradox (wikipedia that) to ensure that there are actual serious odds of a collision. In case of a collision, some random user will log in as someone else, or if you add a unique constraint, some user will someday pick/change his password and get a persistent server error. Big whoops. On Sep 18, 3:48 pm, JasonG [EMAIL PROTECTED] wrote: Hi Cresteb, I have a couple of things to add to what others have said. 1 - I presume all of the session talk in this thread is in regards to non-Java languages for the server-side. If you are using a J2EE application on the back end you don't need to worry so much about passing session IDs since the app server will pretty much handle that for you once authentication has been established. In fact, you are encouraged not to. 2 - When generating a password hash to store in a DB, regardless of what hash algorithm is used I will typically hash the (username +password) and place that in the password field. This offers a couple of advantages. a) you get a single ticket by which a user can be looked up if both values are known. b) if your data gets compromised, even the passwords of users who stupidly use the same common password (i.e. password, secret, etc...) won't show up the same in the database. To make it even better you can add another element to the mix (secret+username+password) so that the same username+password in different applications shows up differently in the database. On Aug 19, 10:11 pm, cresteb [EMAIL PROTECTED] wrote: Hello! I have some basic questions on the Register + Login + Keep session alive process described on the Login Security FAQ. I know this is a little bit offtopic, but it would be really helpful for me and other newbies if anyone can clarify some issues. This is how I see the process with some questions attached, please correct it where necessary! Register: 1) Send username and password from client to server. Q: I guess all the sites make this step over https so anyone can sniff the password, right? 2) Store in the DB the username and the hash of the password. Login: 1) Send username and password from client to server (again over SSL). 2) Calculate the pasword's hash and look for a register in the DB that contains that username and hash combination. 3) Return a session ID from server to client. Q: Is this also done through https? If not, can't it be this session id intercepted and used later to make a query as if you were other user? During the session: 1) For every request from the client, include the session id, so the server knows which user is sending the request and it is able to check if the session is still active. Q: Is secure enough just sending the session ID in order to identify the user? Q: The same as above...should it be sent through https? 2) Check if the session ID is valid or not. If its valid,