SlideShare a Scribd company logo
Developer Tools
David Avendasora
Senior Software Engineer, K12, Inc.
@avendasora
Topics
•   Available Versions of WOLips

•   What’s New in WOLips

•   Linking to WebObjects Javadoc

•   Decompiling

•   ERProfiling

•   SnapshotExplorer
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!
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
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?) :-(
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
What’s new in WOLips 3.6?
          Plugins
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
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
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 values
    directly in the WOLips preference pane

•   WOLips validation preference pane now uses popups for
    severity levels
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 has to
    keep in sync with project. Requires ERJars (r11001 or later)

•   New Wonder EOGenerator templates
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 has to
    keep in sync with project. Requires ERJars (r11001 or later)

•   New Wonder EOGenerator templates
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
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-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
What’s new in WOLips 3.6?
                         Summary



WOLips 3.6 is an evolution, not a revolution
 •   Many things are refined, work smother, made easier
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
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 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
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 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
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 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
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 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
Decompiling on-the-fly in Eclipse
In-Browser Tools
Extending 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
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.
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
ERProfiling
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
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
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);
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();

	   }
}
DEMO
Q&A
David Avendasora
Senior Software Engineer, K12, Inc.
@avendasora

More Related Content

PPTX
AFNetworking
KEY
Features, Exportables & You
PPTX
Pantheon basics
PPTX
Managed Beans: When, Why and How
PDF
Introduction to Apache Roller
PDF
Spring Boot
PPT
Java days Lviv 2015
AFNetworking
Features, Exportables & You
Pantheon basics
Managed Beans: When, Why and How
Introduction to Apache Roller
Spring Boot
Java days Lviv 2015

What's hot (20)

PDF
Android programming-basics
PPTX
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
PPTX
Eclipse Overview
PPT
Spring Boot in Action
PDF
Beyond Domino Designer
PPTX
Log management (elk) for spring boot application
PPT
Q4E and Eclipse IAM, Maven integration for Eclipse
PDF
Play Framework: The Basics
PDF
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
PDF
Spring Boot
PDF
Build Fail-Proof Tests in Any Browser with Selenium
ODP
Java and XPages
PDF
Spring Boot Intro
PDF
Migrating Beyond Java 8
KEY
Enterprise Build And Test In The Cloud
PDF
Primefaces users guide_3_3
PDF
Indexed primefaces users_guide_3_5
PPTX
Tech talks (Automation on Selenium Web Driver. How to begin & implement)
PDF
Building GPE: What We Learned
PDF
Spring boot
Android programming-basics
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
Eclipse Overview
Spring Boot in Action
Beyond Domino Designer
Log management (elk) for spring boot application
Q4E and Eclipse IAM, Maven integration for Eclipse
Play Framework: The Basics
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
Spring Boot
Build Fail-Proof Tests in Any Browser with Selenium
Java and XPages
Spring Boot Intro
Migrating Beyond Java 8
Enterprise Build And Test In The Cloud
Primefaces users guide_3_3
Indexed primefaces users_guide_3_5
Tech talks (Automation on Selenium Web Driver. How to begin & implement)
Building GPE: What We Learned
Spring boot
Ad

Similar to WebObjects Developer Tools (20)

PDF
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
PDF
Getting Started with Wonder
PPTX
An Introduction to Maven
PPT
2) java development
PDF
ECMFA 2018 - Keynote : The future of modeling tools
ODP
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
PPT
Developing Java Web Applications
PDF
ESUG 2025: Pharo 13 and Beyond (Stephane Ducasse)
PDF
Overview of Eclipse technologies
PDF
Model2Roo - ACME
PPTX
Spring MVC framework
PDF
Apache Maven - eXo TN presentation
PDF
New Features of Java7 SE
PPT
Eclipse IDE
PDF
Eclipse plug in development
PDF
Lorraine JUG (1st June, 2010) - Maven
PDF
Ajax Tutorial
PDF
Monoliths are so 2001 – What you need is Modularity
PDF
Learn about Eclipse e4 from Lars Vogel at SF-JUG
PDF
Eclipse E4 Open Social Gadgetsvrs3
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Getting Started with Wonder
An Introduction to Maven
2) java development
ECMFA 2018 - Keynote : The future of modeling tools
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Developing Java Web Applications
ESUG 2025: Pharo 13 and Beyond (Stephane Ducasse)
Overview of Eclipse technologies
Model2Roo - ACME
Spring MVC framework
Apache Maven - eXo TN presentation
New Features of Java7 SE
Eclipse IDE
Eclipse plug in development
Lorraine JUG (1st June, 2010) - Maven
Ajax Tutorial
Monoliths are so 2001 – What you need is Modularity
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Eclipse E4 Open Social Gadgetsvrs3
Ad

More from WO Community (20)

PDF
KAAccessControl
PDF
In memory OLAP engine
PDF
Using Nagios to monitor your WO systems
PDF
Build and deployment
PDF
High availability
PDF
Reenabling SOAP using ERJaxWS
PDF
Chaining the Beast - Testing Wonder Applications in the Real World
PDF
D2W Stateful Controllers
PDF
Deploying WO on Windows
PDF
Unit Testing with WOUnit
PDF
Life outside WO
PDF
Apache Cayenne for WO Devs
PDF
Advanced Apache Cayenne
PDF
Migrating existing Projects to Wonder
PDF
iOS for ERREST - alternative version
PDF
iOS for ERREST
PDF
"Framework Principal" pattern
PDF
Filtering data with D2W
PDF
PDF
Localizing your apps for multibyte languages
KAAccessControl
In memory OLAP engine
Using Nagios to monitor your WO systems
Build and deployment
High availability
Reenabling SOAP using ERJaxWS
Chaining the Beast - Testing Wonder Applications in the Real World
D2W Stateful Controllers
Deploying WO on Windows
Unit Testing with WOUnit
Life outside WO
Apache Cayenne for WO Devs
Advanced Apache Cayenne
Migrating existing Projects to Wonder
iOS for ERREST - alternative version
iOS for ERREST
"Framework Principal" pattern
Filtering data with D2W
Localizing your apps for multibyte languages

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Electronic commerce courselecture one. Pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Modernizing your data center with Dell and AMD
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
Approach and Philosophy of On baking technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Cloud computing and distributed systems.
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
MYSQL Presentation for SQL database connectivity
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Per capita expenditure prediction using model stacking based on satellite ima...
Empathic Computing: Creating Shared Understanding
Electronic commerce courselecture one. Pdf
Chapter 3 Spatial Domain Image Processing.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
The AUB Centre for AI in Media Proposal.docx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Modernizing your data center with Dell and AMD
The Rise and Fall of 3GPP – Time for a Sabbatical?
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Approach and Philosophy of On baking technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Unlocking AI with Model Context Protocol (MCP)
Cloud computing and distributed systems.
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

WebObjects Developer Tools

  • 1. Developer Tools David Avendasora Senior 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? Summary WOLips 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
  • 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
  • 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
  • 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
  • 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
  • 30. In-Browser Tools Extending 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
  • 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&A David Avendasora Senior Software Engineer, K12, Inc. @avendasora