WebObjects Developer Tools

  • 1,207 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,207
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
12
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Developer ToolsDavid AvendasoraSenior Software Engineer, K12, Inc.@avendasora
  • 2. Topics• Available Versions of WOLips• What’s New in WOLips• Linking to WebObjects Javadoc• Decompiling• ERProfiling• SnapshotExplorer
  • 3. Available Versions• WOLips 3.4 • Update Site: http://webobjects.mdimension.com/hudson/job/ WOLips34Stable/lastSuccessfulBuild/artifact/site/ • Eclipse 3.4.2 Carbon Only • Previously known as “WOLips Stable” • Maclipse Compatible http://webobjects.mdimension.com/wolips/support/preview/ • It has known Bugs • NO fixes/updates!
  • 4. Available Versions• WOLips 3.5 • Update Site: http://webobjects.mdimension.com/hudson/job/ WOLips35Stable/lastSuccessfulBuild/artifact/site/ • Eclipse 3.5 Cocoa or Carbon • Maclipse Compatible (Cocoa only) http://webobjects.mdimension.com/maclipse/ • Eclipse Cocoa is slow
  • 5. Available Versions• WOLips 3.6 • Update Site: http://webobjects.mdimension.com/hudson/job/ WOLips36Current/lastSuccessfulBuild/artifact/site/ • Eclipse 3.6 (surprise!) Carbon/Cocoa • Where all the new features are added and bugs fixed • Fast(er) Cocoa • What all the cool devs use (experimental) • No Maclipse (yet?) :-(
  • 6. What’s new in WOLips 3.6? Plugins• Removed Maven 1 and Apple Maven Support• Reorganized Plugin Install Options• Updated JRebel plugin to work with JRebel 3
  • 7. What’s new in WOLips 3.6? Plugins
  • 8. What’s new in WOLips 3.6? Plugins• Removed Maven 1 and Apple Maven Support• Reorganized Plugin Install Options• Updated JRebel plugin to work with JRebel 3
  • 9. What’s new in WOLips 3.6? Preferences• New UI for wolips.properties that allows you to edit the values directly in the WOLips preference pane• WOLips validation preference pane now uses popups for severity levels
  • 10. What’s new in WOLips 3.6? Preferences
  • 11. What’s new in WOLips 3.6? Preferences• New UI for wolips.properties that allows you to edit the values directly in the WOLips preference pane• WOLips validation preference pane now uses popups for severity levels
  • 12. What’s new in WOLips 3.6? Preferences
  • 13. What’s new in WOLips 3.6? Building• Bundle-less Builds - no more build directory that WOLips has to keep in sync with project. Requires ERJars (r11001 or later)• New Wonder EOGenerator templates
  • 14. What’s new in WOLips 3.6? Building
  • 15. What’s new in WOLips 3.6? Building• Bundle-less Builds - no more build directory that WOLips has to keep in sync with project. Requires ERJars (r11001 or later)• New Wonder EOGenerator templates
  • 16. What’s new in WOLips 3.6? Modeling• Entity Modeler now opens in a new window by default• Cmd-Shift-V allows you to type an entity name and Entity Modeler will open the right EOModel and select the requested entity (entity name, not class name)• Double-Clicking an EOModel in the finder can open it in WOLips
  • 17. What’s new in WOLips 3.6? Modeling
  • 18. What’s new in WOLips 3.6? Modeling• Entity Modeler now opens in a new window by default• Cmd-Shift-V allows you to type an entity name and Entity Modeler will open the right EOModel and select the requested entity (entity name, not class name)• Double-Clicking an EOModel in the finder can open it in WOLips
  • 19. What’s new in WOLips 3.6? SummaryWOLips 3.6 is an evolution, not a revolution • Many things are refined, work smother, made easier
  • 20. Linking to WebObjects Javadoc• Use Xcode 3.2 to install the Mac OS X Legacy Library docset (847 MB) in the Preferences > Documentation tab• In WOLips preference pane, set WebObjects Javadoc to: /Library/Developer/Shared/Documentation/DocSets/ com.apple.adc.documentation.AppleLegacy.CoreReference.docset/Contents/Resources/ Documents/documentation/InternetWeb/Reference/WO542Reference/ (this directory is in a package, so you can’t just browse to it.)• Restart Eclipse
  • 21. Linking to WebObjects Javadoc
  • 22. Linking to WebObjects Javadoc• Use Xcode 3.2 to install the Mac OS X Legacy Library docset (847 MB) in the Preferences > Documentation tab• In WOLips preference pane, set WebObjects Javadoc to: /Library/Developer/Shared/Documentation/DocSets/ com.apple.adc.documentation.AppleLegacy.CoreReference.docset/Contents/Resources/ Documents/documentation/InternetWeb/Reference/WO542Reference/ (this directory is in a package, so you can’t just browse to it.)• Restart Eclipse
  • 23. Linking to WebObjects Javadoc
  • 24. Linking to WebObjects Javadoc• Use Xcode 3.2 to install the Mac OS X Legacy Library docset (847 MB) in the Preferences > Documentation tab• In WOLips preference pane, set WebObjects Javadoc to: /Library/Developer/Shared/Documentation/DocSets/ com.apple.adc.documentation.AppleLegacy.CoreReference.docset/Contents/Resources/ Documents/documentation/InternetWeb/Reference/WO542Reference/ (this directory is in a package, so you can’t just browse to it.)• Restart Eclipse
  • 25. Linking to WebObjects Javadoc
  • 26. Decompiling on-the-fly in Eclipse• Sometimes Javadoc just isn’t enough.You want to know what’s really going on behind the curtain...• Java Decompiler (JD): http://java.decompiler.free.fr/• JD-Eclipse is a plug-in for Eclipse. It allows you to display the source code of “.class” files during development and debugging.• Follow JD-Eclipse install instructions for Eclipse 3.2, 3.3 & 3.5 here: http://java.decompiler.free.fr/?q=jdeclipse• Intel Only
  • 27. Decompiling on-the-fly in Eclipse
  • 28. Decompiling on-the-fly in Eclipse• Sometimes Javadoc just isn’t enough.You want to know what’s really going on behind the curtain...• Java Decompiler (JD): http://java.decompiler.free.fr/• JD-Eclipse is a plug-in for Eclipse. It allows you to display the source code of “.class” files during development and debugging.• Follow JD-Eclipse install instructions for Eclipse 3.2, 3.3 & 3.5 here: http://java.decompiler.free.fr/?q=jdeclipse• Intel Only
  • 29. Decompiling on-the-fly in Eclipse
  • 30. In-Browser ToolsExtending development beyond Eclipse/WOLips UI• DirectToWeb Panel - helps debug D2W apps by providing controls for rules, logging, localization, CSS, etc.• ERProfiling - helps you understand how your app is functioning, what parts of a page are slow and why.• SnapshotExplorer - allows you to browse the snapshots in your application’s EODatabases• ClickToOpen - helps you figure out what components render what parts of a page and how they interact with each other
  • 31. ERProfiling What is it?• Designed around WebObjects• Page-based approach to profiling your app.• Allows you to look at the statistics for individual pages and actions• Helps you understand why pages and actions perform the way they do.
  • 32. ERProfiling Adding it to your project• Add ERProfiling.framework to your app• Add the javaagent setting to the VM args section of your launch config: • Wonder source: -javaagent:${workspace_loc:ERProfiling}/ Libraries/gluonj-1.5beta.jar=er.profiling.PFProfilerMixin • Wonder binaries: -javaagent:/path/to/ERProfiling.framework/ Resources/Java/gluonj-1.5beta.jar=er.profiling.PFProfilerMixin• Run/Debug your app
  • 33. ERProfiling
  • 34. ERProfiling• Add ERProfiling.framework to your app• Add the javaagent setting to the VM args section of your launch config: • Wonder source: -javaagent:${workspace_loc:ERProfiling}/ Libraries/gluonj-1.5beta.jar=er.profiling.PFProfilerMixin • Wonder binaries: -javaagent:/path/to/ERProfiling.framework/ Resources/Java/gluonj-1.5beta.jar=er.profiling.PFProfilerMixin• Run/Debug your app
  • 35. SnapshotExplorer What is it?• NOT the “FreshnessExplorer” demoed by Mark last year - no matter how many times I’ve misspoken in the last 10 minutes• Allows you to look over EOF’s shoulder and see what it sees compared to what the UI or Database show• Runs only in Development
  • 36. SnapshotExplorer Adding it to your project• Add the following Wonder frameworks to your Build Path: ➡ SnapshotExplorer ➡ Ajax ➡ ERRest ➡ WOOgnl• Add the following line to your Application() constructor: SESnapshotExplorer.register(); or (if your project already uses ERRest): SESnapshotExplorer.register(routeRequestHandler);
  • 37. Adding SnapshotExplorer to your Application package er.modern.movies.demo;import er.extensions.appserver.ERXApplication;import er.extensions.appserver.navigation.ERXNavigationManager;import er.snapshotexplorer.SESnapshotExplorer;public class Application extends ERXApplication { public static void main(String[] argv) { ERXApplication.main(argv, Application.class); } public Application() { ERXApplication.log.info("Welcome to " + name() + " !"); setDefaultRequestHandler(requestHandlerForKey(directActionRequestHandlerKey())); SESnapshotExplorer.register(); } @Override public void finishInitialization() { super.finishInitialization(); // Setup main navigation ERXNavigationManager.manager().configureNavigation(); }}
  • 38. DEMO
  • 39. Q&ADavid AvendasoraSenior Software Engineer, K12, Inc.@avendasora