Developer ToolsDavid AvendasoraSenior Software Engineer, K12, Inc.@avendasora
Topics•   Available Versions of WOLips•   What’s New in WOLips•   Linking to WebObjects Javadoc•   Decompiling•   ERProfili...
Available Versions•   WOLips 3.4    •   Update Site: http://webobjects.mdimension.com/hudson/job/        WOLips34Stable/la...
Available Versions•   WOLips 3.5    •   Update Site: http://webobjects.mdimension.com/hudson/job/        WOLips35Stable/la...
Available Versions•   WOLips 3.6    •   Update Site: http://webobjects.mdimension.com/hudson/job/        WOLips36Current/l...
What’s new in WOLips 3.6?                             Plugins•   Removed Maven 1 and Apple Maven Support•   Reorganized Pl...
What’s new in WOLips 3.6?          Plugins
What’s new in WOLips 3.6?                             Plugins•   Removed Maven 1 and Apple Maven Support•   Reorganized Pl...
What’s new in WOLips 3.6?                          Preferences•   New UI for wolips.properties that allows you to edit the...
What’s new in WOLips 3.6?         Preferences
What’s new in WOLips 3.6?                          Preferences•   New UI for wolips.properties that allows you to edit the...
What’s new in WOLips 3.6?         Preferences
What’s new in WOLips 3.6?                            Building•   Bundle-less Builds - no more build directory that WOLips ...
What’s new in WOLips 3.6?          Building
What’s new in WOLips 3.6?                            Building•   Bundle-less Builds - no more build directory that WOLips ...
What’s new in WOLips 3.6?                           Modeling•   Entity Modeler now opens in a new window by default•   Cmd...
What’s new in WOLips 3.6?         Modeling
What’s new in WOLips 3.6?                           Modeling•   Entity Modeler now opens in a new window by default•   Cmd...
What’s new in WOLips 3.6?                         SummaryWOLips 3.6 is an evolution, not a revolution •   Many things are ...
Linking to WebObjects Javadoc•   Use Xcode 3.2 to install the Mac OS X Legacy Library docset    (847 MB) in the Preference...
Linking to WebObjects Javadoc
Linking to WebObjects Javadoc•   Use Xcode 3.2 to install the Mac OS X Legacy Library docset    (847 MB) in the Preference...
Linking to WebObjects Javadoc
Linking to WebObjects Javadoc•   Use Xcode 3.2 to install the Mac OS X Legacy Library docset    (847 MB) in the Preference...
Linking to WebObjects Javadoc
Decompiling on-the-fly in Eclipse•   Sometimes Javadoc just isn’t enough.You want to know what’s    really going on behind ...
Decompiling on-the-fly in Eclipse
Decompiling on-the-fly in Eclipse•   Sometimes Javadoc just isn’t enough.You want to know what’s    really going on behind ...
Decompiling on-the-fly in Eclipse
In-Browser ToolsExtending development beyond Eclipse/WOLips UI•   DirectToWeb Panel - helps debug D2W apps by providing co...
ERProfiling                           What is it?•   Designed around WebObjects•   Page-based approach to profiling your app...
ERProfiling                   Adding it to your project•   Add ERProfiling.framework to your app•   Add the javaagent settin...
ERProfiling
ERProfiling•   Add ERProfiling.framework to your app•   Add the javaagent setting to the VM args section of your launch    c...
SnapshotExplorer                          What is it?•   NOT the “FreshnessExplorer” demoed by Mark last year - no    matt...
SnapshotExplorer                 Adding it to your project•    Add the following Wonder frameworks to your Build Path:    ...
Adding SnapshotExplorer to your Application    package er.modern.movies.demo;import er.extensions.appserver.ERXApplication...
DEMO
Q&ADavid AvendasoraSenior Software Engineer, K12, Inc.@avendasora
Upcoming SlideShare
Loading in …5
×

WebObjects Developer Tools

1,643 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,643
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

WebObjects Developer Tools

  1. 1. Developer ToolsDavid AvendasoraSenior Software Engineer, K12, Inc.@avendasora
  2. 2. Topics• Available Versions of WOLips• What’s New in WOLips• Linking to WebObjects Javadoc• Decompiling• ERProfiling• SnapshotExplorer
  3. 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. 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. 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. 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. 7. What’s new in WOLips 3.6? Plugins
  8. 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. 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. 10. What’s new in WOLips 3.6? Preferences
  11. 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. 12. What’s new in WOLips 3.6? Preferences
  13. 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. 14. What’s new in WOLips 3.6? Building
  15. 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. 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. 17. What’s new in WOLips 3.6? Modeling
  18. 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. 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. 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. 21. Linking to WebObjects Javadoc
  22. 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. 23. Linking to WebObjects Javadoc
  24. 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. 25. Linking to WebObjects Javadoc
  26. 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. 27. Decompiling on-the-fly in Eclipse
  28. 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. 29. Decompiling on-the-fly in Eclipse
  30. 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. 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. 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. 33. ERProfiling
  34. 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. 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. 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. 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. 38. DEMO
  39. 39. Q&ADavid AvendasoraSenior Software Engineer, K12, Inc.@avendasora

×