When you create a new Wonder project in WOLips, the Properties file is filled with numerous properties. If you are new to WebObjects or new to using Project Wonder, you might want to know what those properties do. Let's see:
Code Block |
---|
# OGNL ognl.helperFunctions=true ognl.inlineBindings=true |
The OGNL enable you to use the OGNL syntax for inline bindings (eg, putting bindings directly in the .html file instead of the .wod, for example: <wo:str value="$pageTitle" />). WOOGNL is automatically added to the classpath when you create a new Wonder project.
Code Block |
---|
# Misc er.extensions.stackTrace.cleanup=true |
See ERXExceptionUtilities.printStackTrace
Code Block |
---|
# EOF er.extensions.ERXEC.safeLocking=true |
This one is to enable editing context auto-locking (eg, you don't have to lock/unlock it yourself) at the end of the RR loop. You have to create your editing context with ERXEC.newEditingContext.
Code Block |
---|
er.extensions.ERXEC.useSharedEditingContext=false |
If set to true, newly created instances use the shared editing context.
Code Block |
---|
er.extensions.ERXEnterpriseObject.applyRestrictingQualifierOnInsert=true |
From what I understand, the "Qualifier" field defined in the model for an entity will not be used if you set this property to false.
Code Block |
---|
er.extensions.ERXEnterpriseObject.updateInverseRelationships=true |
Provides automatic inverse relationship updating for ERXGenericRecord and ERXCustomObject.
Note | ||
---|---|---|
| ||
If you have a mix of ERXGenericRecords and EOGenericRecords between models, you're better of turning it off. Since an EOGenericRecords doesn't have the facilities to update the inverse relationship, you will get a ClassCastException. |
Code Block |
---|
#dbConnectURLGLOBAL= #dbConnectUserGLOBAL= #dbConnectPasswordGLOBAL= |
Those properties, if used, allow you to specify the JDBC/EOF information for all of your models. See Best Practices-Properties Files
Code Block |
---|
# Migrations #er.migration.migrateAtStartup=true #er.migration.createTablesIfNecessary=true #er.migration.modelNames=YourModel |
Those properties are to enable support for migrations. If you are using migrations but you have models where the schema already exist in the database, uncomment er.migration.modelNames and put in a list (comma separated) of the models you want to use migrations with, if you let this property commented, Wonder will try to migrate all of your models, which would generate errors for models where your schema already exist.
Code Block |
---|
# Misc Components #er.extensions.ERXWOForm.multipleSubmitDefault=true |
Set the "multipleSubmit" binding of WOForm to true for all WOForm instances. Uncomment that property if you don't want to remember to set that dreaded binding on every form.
Code Block |
---|
#er.extensions.ERXWORepetition.checkHashCodes=true |
Help with backtracking issues by adding not only the current index, but also the current object's hash code to the element id (see ERXWORepetition API).
Code Block |
---|
#er.extensions.ERXWORepetition.raiseOnUnmatchedObject=true |
If this property is set to true, an ERXWORepetition.UnmatchedObjectException} is thrown if notFoundMarker is bound, that is used for the item in the repetition. (see ERXWORepetition API).
Code Block |
---|
#er.extensions.ERXWORepetition.eoSupport=true |
Try to use globalIDs to determine the hashCode for EOs.
Code Block |
---|
#er.component.clickToOpen=true #wolips.password=wo |
Enable support for Click to OpenClick to Open support in WOLips.
Code Block |
---|
# ERJavaMail er.javamail.centralize=true er.javamail.adminEmail=admin@yourhost.com er.javamail.debugEnabled=false er.javamail.smtpHost=your.smtpserver.com er.javamail.smtpAuth=false er.javamail.smtpUser= er.javamail.smtpPassword= |
Check Project WONDER-Frameworks-ERJavaMail for an explanation.
Code Block |
---|
# Log4j Configuration log4j.loggerFactory=er.extensions.logging.ERXLogger$Factory log4j.rootCategory=INFO,A1 log4j.appender.A1=er.extensions.logging.ERXConsoleAppender log4j.appender.A1.layout=er.extensions.logging.ERXPatternLayout log4j.appender.A1.layout.ConversionPattern=%d{MMM dd HH:mm:ss} %$[%#] %-5p %c %x - %m%n # Log4j Categories # Here are a few log4j sub-categories that are interesting. # Don't forget that in developement mode this file will get reloaded # everytime it changes, so if you say want to turn adaptor debugging # on in the middle of the app simply set the below category to debug. # Very handy. # Base Category log4j.logger.er=INFO |
Standard Log4J stuff. Log4J is bundled into ERJars, and make it sure that you don't have a copy of it in /Library/Java/Extensions or it will conflict with the one from ERJars, especially if the one in /Library/Java/Extensions is older than the one in ERJars.
Code Block |
---|
# ERExtensions # Transaction - Switching this to debug will start the sql ouputting. log4j.logger.er.transaction.adaptor.EOAdaptorDebugEnabled=DEBUG |
With this set to DEBUG, all SQL stuff sent to your RDMS will show up in the console (or where you tell Log4J to send his stuff).
Code Block |
---|
# Fixes - Turning this on will show all the models that are loaded log4j.logger.er.extensions.fixes.ERSharedEOLoader=INFO |
See ERXSharedEOLoader.java in ERExtensions.