• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
[ANN] Wonder 4.0 Release
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ANN] Wonder 4.0 Release


  • Subject: [ANN] Wonder 4.0 Release
  • From: Anjo Krank <email@hidden>
  • Date: Thu, 12 Jul 2007 23:08:06 +0200

All,

after over a year in the making, it is my pleasure to present a new release of Project Wonder, the largest open-source project for WebObjects. You can grab your copy at the SourceForge download page:

  http://sourceforge.net/project/showfiles.php?group_id=45176

We got great contributions and added some pretty active new members. Most known is probably Chuck Hill, but there's also Stephane Corthesy, Timo Hoepfner, Ulrich Koester, Guido Neitzer and our newest members: Ray Kiddy, Denis Forlov and Michael Bushkov.

In case you don't know, Mike Schrag has set up the nightly build server at

  http://webobjects.mdimension.com/wonder/

which made the need of a real downloadable release not so pressing.

To give you some impression about the amount of changes and new functionality: Wonder 4.0 had about a third of all CVS commits in the entire history of Project Wonder. So while we originally thought we'd label it 3.5, I think a 4.0 is more adequate.

For much of the old and new functionality, you can investigate at the BugTracker app and see how things are supposed to work. It includes a lot the frameworks and - thanks to ERSelenium - provides tests.

Going forward, this will be the last release for JDK 1.4. In particular, we will make use of vargars and generics. We will also split up ERX into ERComponents and ERExtensions, so the clutter of app-level-only stuff should be greatly reduced. And we will probably introduce packages in ERX but this still has to be worked out. The current release can - with a bit of tweaking - build for the version for WO that ships on Leopard, but while WO 5.4 support is present in ERX, we do not support preliminary release builds.

I hope you will enjoy this release and find it full of lots of interesting functionality. Thank you for your patience and enjoy.

Regards, The Wonder Dev Team

(Due to the sheer number of changes this is nowhere near an exhaustive list that have been made since the 3.0 release)

CHANGES FROM 3.0
================

Overview
--------
- JDK 1.5 friendly, template support for collection classes
- whole bunch of frameworks added
- FrontBasePlugin now part of Wonder
- BugTracker now showcase app
- RuleModeler fleshed out with cool features
- totally revamped build process, easy to add new projects
- Adaptors now build Intel and 64 bit
- maven builds are now supported for the frameworks
- ERX and ERD2W are now (partially) more CSS friendly
- D2WComponentTour example added, simple display of usable D2W components
- ERMailer added, an app that can batch-process mails from ERCoreBusinessLogic
- Norwegian support added. Right now only English, German and Norwegian are complete, support for Italian, Japanese, Spanish is partial. We need localizers!!
- most components now have valid HTML
- preliminary 5.4 compatibility


BugTracker
----------
- showcase app, links about every framework (no serious ajax, though)
- dummy data creation
- cool D2W pattern for factory
- plist based reporting
- charting reporting
- workflow and delegate patterns
- clazz pattern examples
- selenium tests
- tons and tons more stuff

Ajax
----
- updated to Prototype 1.5 and Scriptaculous 1.7
- substantial performance improvements
- beginnings of Ajax D2W look
- AjaxBehaviour added, easy CSS-like way to hook up JS without polluting the HTML
- AjaxTextHinter added, hints input and textarea fields with ghosted text
- AjaxGrid and AjaxGridNavBar added, provides tabular display of data with drag and drop column re-ordering, complex sorting, and the ability to embed components in cells
- AjaxResetButton added, allows for client side clearing of form contents
- AjaxTabbedPanel and AjaxTabbedPanelTab added, implements tabbed panel display with panel contents loaded on demand
- AjaxObserveField added, supports actions based on inputs changing
- AjaxTree added, lazy loading component-based tree
- Lots of new Ajax Examples
- AjaxInPlace added, in-place editors on steroids
- AjaxUpdateTrigger added, allows refreshing a series of components
- Some DirectAction support added
- FocusTextField/FocusText added, allows autofocus grabbing
- ERXApplication/ERXSession split into ERXAjaxApplication/ ERXAjaxSession to ease integration
- AjaxGMap added, Google Maps component
- AjaxHighlight added, provides object-based method of yellow- flashing (or other effects) changes
- AjaxProgressBar added, Ajax updating progress bar
- AjaxFileUpload added, provides slick Ajax-based file uploading with live progress and status
- *Lots* of hooks for animations and effects
- AjaxPing added, supports very small refreshes that can trigger a larger refresh based on a server state change
- AjaxDragResize added, floating and resizable elements - see example in AjaxExamples
- AjaxIBoxComponentContent, don't use. Use AjaxModalContainer instead, which is basically the same
- AjaxModalContainer, shows a link and wraps an area that is later presented as a modal window.
- AjaxBusyIndicator, globally observes Ajax activity - see example in AjaxExamples
- YUI framework added


RuleModeler
-----------
- lots of new features, too many to mention

ERIndexing
----------
- Wraps lucene
- indexes your EOs when they change
- multi-language support

ERRest
------
- provides RESTful access to models with built-in support for security filtering, etc


ERJavaMail
----------
- *Lots* of fixes
- unknown hosts now kill the send thread
- SMTPS support
- upgraded to JavaMail 1.4
- support for plain-text alternative components

ERCaptcha
---------
- CAPTCHA component ("identify the image to prove you're a human")
- based on JCaptcha library

EROpenID
--------
- OpenID client library on top of WebObjects
- based on the OpenRXI library

ERIMAdaptor
-----------
- lots of fixes
- added non-blocking message queue
- JOscar library support added (now the preferred)
- IMBuddyStatus added, iChat-style icons based on IM status
- Support for multiple connections

JavaFSAdaptor
------------
- exposes the file system as EOs
- with qualifiers and stuff

ERSelenium
------------
- use case testing
- easy to set up
- totally cool

ERJars
------
- updated log4j

ERExtensions - Core
-------------------
- you can now link without ERX taking over, at the price of servlet deployment
- ERXAsyncQueue added, simple thread queue implemention
- NSArray, NSSet, NSDictionary and subclasses now support JDK 1.5 with templates
- NSArray now a actual, working list
- NSMutableArray with tons of bugfixes
- ERXMainRunner added, easy way to do execute code inside of in an app context from the commandline
- automatic classpath reordering putting WO last, ERX first
- ERXProperties can now be custom EOF types
- ERXProperties supports per-user Properties files
- localization cleanup
- ERXFrameworkPrincipal now with dependency tracking of framework load order
- localization now US-ASCII files, not UTF-16
- ERX(Batching)DisplayGroup now preserves selection in most cases
- ERXBatchingDisplayGroup now supports restricting qualifiers
- ERXFileRepository added: a simple GUUID store for files or folders
- ERXExpiringCache added, a cache with a timeout. Used by ERXStyleSheet and friends
- ERXComparisonSupport: locale-savvy sorting added
- ERXLoremIpsumGenerator added, a super-cool way to generate dummy text data
- ERXResourceManager added, works with DirectConnect, nested resources, IE friendly, and supports relative URLs in CSS
- ERXWOContext userInfo now moved to thread storage
- ERXKeyValueSetter added, can push a value based on a binding. Useful in repetitions
- ERXLogger: now has default config, so no need to set it up in Properties
- ERXMulticastingDelegate added, allows WO's single object delegates to handle multiple delegate objects
- ERXDictionaryUtilities added keysSortedByValueAscending to return keys sorted by value


ERExtensions - Components
-------------------------
- ERXNavigation now localizable, changed from <table> to <ul>
- ERXTabPanel changed from <table> to <ul>
- ERXStyleSheet added, creates a DA link from included content. Allows for dynamic stylesheets with caching
- ERXJavaScript fleshed out, creates a DA link from included content. Allows for dynamic script with caching
- ERXActiveImage added, replacement for WOActiveImage with tooltip
- ERXSubmitButton added, <button> tag that works on IE, can be patched into the runtime as the default WOSubmitButton
- ERXLocalizationEditor added, easy localization editing
- ERXWOPasswordField added, doesn't show the password in the HTML
- ERXClickableContainer added, WOGenericContainer with onClick
- ERXBatchNavigationBar/InForm: CSS style rewrite
- ERXFavIcon added
- ERXWOForm: optional invisible default submit button
- ERXWOXMLCoder, bugfix class that supports stable, ordered output
- ERXLayoutTable added, a table with settable row and colspans. Used by ERD2W
- ERXResponseComponent added, simple wrapper around a response when a component is needed as a result
- ERXStyledContainer added, can hanlde bindings like "font-face = Arial"
- ERXUniquingWrapper added, helper component for state issues when backtracking or reloading tab panels and the like
- ERXNestedList added, better HTML output than WXNestedList
- ERXSingleButtton fixed, a button that leaves the page without submitting (useful for cancels)
- ERXNavigationManager now allows for a subclass of ERXNavigationItem
- ERXWOComponentContent now can have dynamic names, useful for D2W
- ERXOptGroupPopupButton, ERXOptGroupBrowser added, extends WO components to use HTML 4 optgroups
- ERXInlineTemplate added, provides support for dynamic component templates via inline bindings syntax
- ERXWOConditional/ERXElse added, provides if/else components rather than the standard if x, if not x pattern in WO
- ERXInlineTemplate added, allows to specify a component's template dynamically. Useful, if you want to store dynamic content in the database....


ERExtensions - EOF
------------------
- ERXConstant added, brings enum-type classes to EOF
- added means to auto-update inverse relationships on setFoo()
- way better prototype handling
- SQL generation via main runner
- EOEnterpriseObjectClazz now works as a static var (provided)
- stacked prototypes (EOMyModelMyPluginPrototypes, EOMyPlugInPrototypes etc)
- ERXEnterpriseObjectCache added, caches GIDs for a key
- ERXEOControlUtilities: qualifier utils added
- ERXEC: optional tolerant saving, deadlock tracing, coalescing autolocks, includes Chuck Hill's connection analyzer and LockScreamer
- ERXRegExQualifier now handles in memory RegEx
- ERXMigrator added, provides support for versioned database migrations with cross-framework dependencies
- ERXEnterpriseObject and subclasses:
- localized attributes (title->title_de, title_en) with generation support
- automatic application of restricting qualifiers
- canUpdate() hook added
- mightDelete() now does what willDelete() did before the removal of the delegate
- ERXDummyRecord added, Pojo's in EOF
- ERXFetchSpecificationBatchIterator now actually implements Iterator, Enumerator
- ERXDatabaseContextMulticastingDelegate added, extends ERXMulticastingDelegate for EODatabaseContext.Delegate
- ERXEntityOrder, ERXEntityFKConstraintOrder added, provide ordering of entities and comparators to sort them
- ERXEntityDependencyOrderingDelegate added, uses ERXEntityFKConstraintOrder to order database operations to avoid foreign key constraint violations
- ERXSQLHelper added, provides extensions to EO PlugIns along with with implementations for several databases
- ERXInOrQualifier added, automatically converts large strings of OR's into a more optimal IN SQL query
- ERX(Simple/JGroups)MulticastSynchronizer added, provides a safer, reliable, and easy-to-use implementation of multicast EOF change notification across multiple instances
- ERXModelGroup, support for explicit model ordering


ERExcelLook
-----------
- export for generic pick and list pages (with a button)

WOOGNL
------
- new parser
- support for helper functions, inspired by Rails helper functions, addresses issue of "this isn't really model, but it's used in multiple views"
- inline bindings: <wo:WOString value = "$person.name"/>, <wo:WOConditional condition = "$true">..</wo:WOConditional>, etc.
- custom tag shortcuts: wo:str = WOString, wo:if = WOConditional, etc
- tag processors: <wo:not> = <wo:if> with negate = true injected into it
- inline bindings in normal HTML: <div id = "$someID">.../div>


ERDirectToWeb
-------------
- way better templates: buttons on top and buttons, repetitions, css tagging, most buttons labels are setable via the d2wContext, all localizable
- easier and better localization
- cool new layout options: multi-row with colspan etc
- message page rewrite
- ERDLinkToEditObject, ERDLinkToViewList added. Guess what they do...
- ERD2WDisplayImage can now display directly from DB
- mass change in editable list views
- ERD2WHead added, sets <title> from rules
- ERD2WQueryOperator localized
- ERDAnyField added, query multiple text fields
- ERD2WCheatSheet added, displays the real components for a given property type/task combo
- ERD2WMultiItemCustomComponent added, can now display a bunch of items in one line
- ERD2WQueryToOne/ManyRelationship can now handle multiple selections, resulting in an OR query
- ERD2WDebugFlags now added test, css check and SQL links
- ERDQuickSearch added, standalone query field with a shadowed default value that shows a D2W list page
- ERD2WCompactXXTemplate now doesn't have buttons, as it should only used embedded.
- ERDDisplayLargeString added, displays a readonly text field
- ERDPrinterButton now uses CSS
- ERD2WPageRunner added, creates a bunch of pages for a set of page configurations and renders them. USeful for tracking errors or unit tests.
- ERDBranchDelegate now optionally localizes button labels
- ERDEditFile added, a rich-text TinyMCE-based editor


ERPrototypes
-------------
- now has a framework principal
- comes first in model load order
- added currencyAmount prototype
- flag/intBoolean now valueType c with MySQL
- EOJDBCPostgresPrototypes renamed to EOJDBCPostgresqlPrototypes so discovery can pick it up


PostgresqlPlugIn
----------------
- drop table now CASDADES
- supports number constants

FrontBasePlugIn
---------------
- donated from FrontBase
- support for integer boolean types fixed
- support for tinyint columns
- fixes for BigDecimal and other integer types

ERNeutralLook
-------------
- some fixes from Apple

ERCoreBusinessLogic
-------------------
- help text added (localizable dynamic text you can drop on a page)
- usings ERXConstants where appropriate
-  attachment support added
- EOGenerator templates now in a recommended way

Updating from 3.0
-----------------
- WO < 5.3 support now must be set explicitely from the command line
- the startup process has radically changed, if you encounter problems, post to the lists. But so much:
- you *must* subclass ERXApp if you want Wonder installed correctly
- you can link safely and only pick some components or utilities, but you must init them yourself (if needed)
- ERCoreBusinessLogic has changed quite a bit, see how you can handle it...
- the normal WO elements are now no longer auto-localized. If you relied on this, you need to switch to session.localizer


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: [ANN] Wonder 4.0 Release
      • From: Miguel Arroz <email@hidden>
    • Re: [ANN] Wonder 4.0 Release
      • From: David LeBer <email@hidden>
  • Prev by Date: Re: D2W does not do addObjectToBothSidesOfRelationshipWithKey
  • Next by Date: Re: D2W does not do addObjectToBothSidesOfRelationshipWithKey
  • Previous by thread: Re: magic way to refactor?
  • Next by thread: Re: [ANN] Wonder 4.0 Release
  • Index(es):
    • Date
    • Thread