Activities & Places, Request Factory and Editors Demohttp://gwt-examples.googlecode.com...source link - Source project home Referencehttp://code.google.com/webtoolkit/doc/latest/DevGuideMvpActivitiesAndPlaces.html - Activities and Places http://tbroyer.posterous.com/ - Thomas has made some greate info on these. ListEditor and Owned Collection in App EngineUsing a list order is a fantastic way to deal with a list of sub editors. The only difference with an Owned Collection on App Engine is that you have to independently remove items. You can always add or change an item on persist but you will not be able to delete/remote an item during persist. Both JDO and JPA will not remove items on a persist. The datastore low level api will need to remove the items. JPA @OneToMany
Debugging Editors
Widget State Distinction Using EnumsI like to consolidate my widgets state management using enums to distinguish the states. This prevents me from sparsely spreading around setters for visible or enabled on widgets elements and forgetting where I put them. Why use a String IdI don't like to use Long as id to identify objects because I've found I like to take advantage of strong consistency in App Engine when embedding or having the object own its children and thus the keys of the children have there parents key in them too. So what I do is make the id a String and use keyToString which turns the key into base64 safe string for passing around. This also gets rid of setters and getters and worrying about parent ownerships and thus simplifies the code to and from the client and server. Here is an example of url using the Id https://demogwtpeople.appspot.com/#peopleedit:ImFnOXpmbVJsYlc5bmQzUndaVzl3YkdWeUVBc1NDbEJsYjNCc1pVUmhkR0VZQWd3Ig==@0@BtqU$h7AuXGib4BLRwM2oS73jp8= - this link comprises of a base 64 app engine key identifying the object to be edited. Using it in the URL for Identity - Source link RichTextArea In an EditorRichTextArea widget isn't part of the editor framework by default yet. So what I do is extend it until it gets added. I haven't wrapped a decorator around this yet to indicate errors. SSL AppSpot on AppEngineUsing https://project.appspot.com is a simple adjustment in the web.xml file.
|