Could someone either help point me in the right direction or someone
with access maybe volunteer to put in a start to documentation for
the Wonder Properties files. I admit as one who has just started
looking at Wonder finally it was one of my first questions and I
should have come to the list as Tim did. Though making the email
thread horrible I am posting the properties file contents in
'ERExtensions/Resource' for those who might not have looked at it
but will when they see it pass through their email box. hope thats
helpful :-)
Thanks,
~Jake
Look at bottom of thread for props summary
On Jun 24, 2009, at 10:17 PM, Kieran Kelleher wrote:
As you saw u can use Properties.<username> for specific user
configurations. This same feature can be used for configurations
too, for example have a deployment config file named
Properties.deploy and then in the WOMonitor args, simply put
-Duser.name=deploy
For sensitive passwords that you want kept out of svn repository,
you can put them in WOMonitor args directly like
-DMyEOModel.password = mypassword
OR use @@ template substitution and in WOMonitor args, put this:
-Duser.name=deploy
-Dsecretpassword=mypassword
and in Properties.deploy you can use a wonder simple template
format like this which does property resolving/substitution
MyEOModel.password = @@secretpassword@@
For *most* properties, see the file ERExtensions/Resources/
Properties. In fact the Resources/Properties file of each Wonder
framework usually documents the Properties that can be configured.
Also a new Wonder project in WOLips will usually have recommended
property settings. Browsing the source code of Wonder can sometimes
lead you to discover configurable properties that are not
documented anywhere too.
Deployment scripts generally take the split tar.gz's created by the
standard build.xml and scp them to a remote server using ssh where
dsa public/private keypairs remove the need to enter passwords.
Then the copied tar.gz's can be copied from one remote machine to
all other WO servers in the cluster and inflated and permissions
can be set.
Tim, I am sure there are other ways too to skin the cat.
HTH, Kieran
On Jun 24, 2009, at 9:59 PM, Tim Worman wrote:
All:
context: I've been wanting to start some threads on simple best
practices and maybe get involved in helping with the wiki. From my
own work, this seemed as good a place to start as any.
--------------
I have a project that is pretty recently moved to Wonder. From
searching list posting and blogs I have seen mentions of different
configurations of Properties files that Wonder will discover and
use for database connection stuff, etc. Some of them I hadn't seen
mention of elsewhere.
I've recently started using Properties.<username> for doing dev
work and keeping passwords in there (and away from my code
repository). However, I've also recently seen whisper of a
Properties.dev.
Two things I'd like to see:
1. a full concise list of what all the possible Properties files
(requiring Wonder or not) and also how the more experienced among
us leverage them. If it turns out there are some that don't have
great documentation I'll volunteer to update the wiki!!
2. It still seems to me that another Properties file must be
inserted at deployment for different db passwords, etc. How do the
veterans among handle this? I've seen some deployment scripts
around but haven't dug into that stuff yet. I still build very
locally and deploy very manually (scp). :-)
Tim
UCLA GSE&IS
_______________________________________________
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
_______________________________________________
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
# ERExtensions Framework Properties
# These properties are pushed into the Java system properties for
# applications linking against to this framework
# You can override them from the application's Properties file or
# command-line arguments.
# Remove the leading '#' to uncomment a property
#########################################################################
# ERXProperties
#########################################################################
## Retain default value
# er.extensions.ERXProperties.RetainDefaultsEnabled = true
## Allows you to specify more config files (good luck:)
# er.extensions.ERXProperties.OptionalConfigurationFiles = (/more/
files)
#########################################################################
# Localizer
#########################################################################
## Is localization enabled (as a lot of the components are already
localized, it's
## kind of mandatory now to turn it on)
er.extensions.ERXLocalizer.isLocalizationEnabled = true
## The order in which localized files are searched (first entry wins)
#er.extensions.ERXLocalizer.frameworkSearchPath =
(app,ERDirectToWeb,ERExtensions)
## Which files to search
er.extensions.ERXLocalizer.fileNamesToWatch =
("Localizable.strings","ValidationTemplate.strings")
## The default language for localization. This gets chosen if the
request
## languages array results in no match.
er.extensions.ERXLocalizer.defaultLanguage = English
## Currently supported languages
er.extensions.ERXLocalizer.availableLanguages =
(English,German,Japanese)
## We actually support a lot of other languages, but they are
probably not maintained
# er.extensions.ERXLocalizer.availableLanguages =
(English,German,French,Norwegian,Japanese,Italian)
## These should go away. It's special handling for Japanese, but
would be
## better refactored into a general pluralizing strategy
# er.extensions.ERXLocalizer.pluralFormClassName =
er.extensions.localization.ERXLocalizer
# er.extensions.ERXLocalizer.nonPluralFormClassName =
er.extensions.localization.ERXNonPluralFormLocalizer
## Components that use ERXToOne/ManyRelationship can have localized
display keys
## This can be specified on a per-component basis in the bindings,
## but here's the default value
# er.extensions.ERXArrayChooser.localizeDisplayKeysDefault = false
## This tells ERXWOString/ERXWOText to use localized
## formatters.
# er.extensions.ERXLocalizer.useLocalizedFormatters = true
## Which characters to ignore when formatting
# er.extensions.ERXNumberFormatter.ignoredChars=$%
## Allows you to override the locale for a language
# er.extensions.ERXLocalizer.German.locale = de
## Fallback to localized value in default language when key is not
found for current language.
## Default is false.
# er.extensions.ERXLocalizer.fallbackToDefaultLanguage = false
## Components that use ERXToOne/ManyRelationship include missing
items when using a possibleChoice
## This can be specified on a per-component basis in the bindings,
## but here's the default value
# er.extensions.ERXArrayChooser.includeUnmatchedValuesDefault = false
## Components that use ERXToOne/ManyRelationship can sort case
## sensitive or insensitive
## This can be specified on a per-component basis in the bindings,
## but here's the default value
# er.extensions.ERXArrayChooser.sortCaseInsensitive = false
## If using EO localization, this will cause ERXGenericRecord to
look for data
## in the attribute for the default language if the data for the
current langage is
## null or an empty string. Only works for reads from the attribute
not writes
## (valueForKey vs. takeValueForKey).
#
er
.extensions
.ERXGenericRecord.localizationShouldFallbackToDefaultLanguage = true
#########################################################################
# Request and Encoding
#########################################################################
## This is the one-stop-shop for setting the default encoding
everywhere.
## When in doubt, set this one.
# er.extensions.ERXApplication.DefaultEncoding=UTF-8
## Can specify the default message encoding. Defaults to ISO Latin 1
## Accepted encodings: http://java.sun.com/j2se/1.3/docs/guide/intl/encoding.doc.html
## This is a subset of er.extensions.ERXApplication.DefaultEncoding.
# er.extensions.ERXApplication.DefaultMessageEncoding=ISO8859_1
er.extensions.ERXMessageEncoding.Enabled=true
## If true, the browser's form value encoding is set, it will override
## your application encoding for a given request.
#
er.extensions.ERXRequest.BrowserFormValueEncodingOverrideEnabled=true
## If true, all https:// URL generation will be disabled and converted
## into http:// URLs. If you are running in DirectConnct, this will
## allow you to specify secure forms and links without actually having
## to setup SSL.
# er.extensions.ERXRequest.secureDisabled=false
#########################################################################
# Enterprise Object
##########################################################################
## Specifies if wrong values can stay in the EO after property-level
validation failed
## This is save as validateForSave will still fail.
# er.extensions.ERXValidationShouldPushChangesToObject = true
## ERXGenericRecord and ERXCustomObject's didXXX() rely on a proper
EC delegate
er.extensions.ERXRaiseOnMissingEditingContextDelegate = true
## You can specify a factory class that creates the actual class
description
## before anyone sees them. Useful for model-munging or checking
## (eg. TIMESTAMPS with Mysql)
# er.extensions.ERXClassDescription.factoryClass =
## Specifies if not-null fields should result in mandatory
relationships
## As this is probably a model error, you should turn it on but fix
your model
#
er
.extensions
.ERXEntityClassDescription.isFixingRelationshipsEnabled=true
## rather experimental feature that should allow you to change your
model at runtime
## in EOModeler and see the changes immediately
# er.extensions.ERXEntityClassDescription.isRapidTurnaroundEnabled
## Default class to use when "EOGenericRecord" is used in the model.
# er.extensions.ERXEntityClassDescription.defaultClassName =
er.extensions.eof.ERXGenericRecord
## AK: Beats me if I know why this is useful...
# er.extensions.ERXEntityClassDescription.SomeEntityName.ClassName =
Foo
## EOEditingContext.setDefaultFetchTimestampLag() as a property
# EOEditingContextDefaultFetchTimestampLag = 3600000
## Specifies if inverse relationships are automagically updated
# er.extensions.ERXEnterpriseObject.updateInverseRelationships=true
## Specifies that you want restricting qualifiers "applied" to your
newly
## inserted objects. For instance, if you have an entity that is
part of
## single table inheritance and your restricting qualifier only uses
## EOAndQualifiers and EOKeyValueQualifiers, ERX can interpret the
qualifier
## and make your EO's automatically match the restricting
qualifier. This
## allows you to skip the awakeFromInsertion step where you have to
remember
## to make your EO match the restricting qualifier you chose in your
model.
#
er
.extensions.ERXEnterpriseObject.applyRestrictingQualifierOnInsert=true
## Specifies if the string attributes are trimmed before sending to
the DB
# er.extensions.ERXGenericRecord.shouldTrimSpaces = true
# er.extensions.ERXCustomObject.shouldTrimSpaces = true
## Whether to use Validity when validating (NOTE: MOVE this to
ERXEntityClassDescription)
# er.extensions.ERXGenericRecord.useValidity = true
# er.extensions.ERXCustomObject.useValidity = true
## Padding for ERXInQualifier
# er.extensions.ERXInQualifier.DefaultPadToSize = 8
## Number of OSCs to use.
# er.extensions.ERXObjectStoreCoordinatorPool.maxCoordinators = 0
#########################################################################
# ERXEOEncodingUtilities
#########################################################################
# Which separator to use
# er.extensions.ERXEOEncodingUtilities.EntityNameSeparator = _
# Allow overrides in URL
# er.extensions.ERXEOEncodingUtilities.SpecifySeparatorInURL = true
#########################################################################
# Cryptography
#########################################################################
## If you use ERXCrypto (or ERXGenericRecord.encryptedPrimaryKey)
## You should set this value to your own password in your app
# er.extensions.ERXBlowfishCipherKey = DefaultCipherKey
#########################################################################
# Browser
#########################################################################
#
er
.extensions
.ERXBrowserFactory
.FactoryClassName=er.extensions.appserver.ERXBrowserFactory
#
er
.extensions
.ERXBrowserFactory
.BrowserClassName=er.extensions.appserver.ERXBasicBrowser
#########################################################################
# Direct Action
#########################################################################
## Direct Action Passwords. CHANGE THESE IN DEPLOYMENT!!
# er.extensions.ERXJUnitPassword = pw
# er.extensions.ERXLog4JPassword = pw
# er.extensions.ERXGCPassword = pw
# er.extensions.ERXDirectAction.ChangeSystemPropertyPassword = pw
# er.extensions.ERXRemoteShellPassword = pw
# er.extensions.ERXDatabaseConsolePassword = pw
# er.extensions.ERXOpenEditingContextLockTracesPassword = pw
#########################################################################
# Signal Handling
#########################################################################
# By default graceful signal handling is disabled
er.extensions.ERXGracefulShutdown.Enabled=false
er.extensions.ERXGracefulShutdown.SignalsToHandle=(TERM, INT)
#########################################################################
# Navigation
#########################################################################
er.extensions.ERXNavigationManager.NavigationMenuFileName =
NavigationMenu.plist
er.extensions.ERXNavigationManager.localizeDisplayKeys = false
#########################################################################
# Shared EO loading patching
#########################################################################
er.extensions.ERXSharedEOLoader.PatchSharedEOLoading=false
#########################################################################
# ERXPatcher
#########################################################################
## Set to true if you need XHTML from the dynamic elements. Note
that this can
## slow down your app
er.extensions.ERXPatcher.cleanupXHTML=false
#########################################################################
# ERXComponentActionRedirector
#########################################################################
## decides if the component actions should get redirected to a DA
automatically,
## thus making the app bookmarkable. This is rather experimental.
er.extensions.ERXComponentActionRedirector.enabled=false
#########################################################################
# ERXJDBCAdaptor
#########################################################################
## Class name to use instead of the JDBCAdaptor, the ERXJDBCAdaptor
supports
## connection pooling
#
er
.extensions.ERXJDBCAdaptor.className=er.extensions.jdbc.ERXJDBCAdaptor
## Makes the JDBCAdaptor use the connection broker, so that many
## OSCs use only a few DB channels.
# er.extensions.ERXJDBCAdaptor.useConnectionBroker = true
## Enable JDBC connection used by EOF are switched to read only or
read write
## depending on the database operation. This can speed up database
queries because a read only
## connection produces less overhead in a transaction based database.
## This is only used when the JDBCAdaptor is used in the first place
# er.extensions.ERXJDBCAdaptor.switchReadWrite=false
#
#########################################################################
# ERXAdaptorChannelDelegate
#########################################################################
## Enable delegate to emit SQL debugging info. The Logger used is
## log4j.category.er.extensions.ERXAdaptorChannelDelegate.sqlLogging
# er.extensions.ERXAdaptorChannelDelegate.enabled=false
## How long a statement must run to cause a log message. Messages
with longer than
## error also emit a stack-trace
# er.extensions.ERXAdaptorChannelDelegate.trace.milliSeconds.debug=0
# er.extensions.ERXAdaptorChannelDelegate.trace.milliSeconds.info=100
# er.extensions.ERXAdaptorChannelDelegate.trace.milliSeconds.warn=1000
#
er.extensions.ERXAdaptorChannelDelegate.trace.milliSeconds.error=5000
## MaxLength of the message
# er.extensions.ERXAdaptorChannelDelegate.trace.maxLength = 3000
## What entities to watch
# er.extensions.ERXAdaptorChannelDelegate.trace.entityMatchPattern
= .*
## Collect last x statements to dump them at a later time (if you
don't set this, defaults to false and 10)
# er.extensions.ERXSQLExpressionTracker.collectLastStatements = false
# er.extensions.ERXSQLExpressionTracker.numberOfStatementsToCollect
= 10
#########################################################################
# ERXDatabaseContext
#########################################################################
## Defines the DBC class
# er.extensions.ERXDatabaseContext.className =
er.extensions.eof.ERXDatabaseContext
## but only if it is activated or remote syncing is on
# er.extensions.ERXDatabaseContext.activate = true
#########################################################################
# ERXDatabaseContextDelegate
#########################################################################
## Instead of throwing an exception, you can define which entities
## only log an error. Default is unset.
# er.extensions.ERXDatabaseContextDelegate.tolerantEntityPattern =
^(Entity1|Entity3)$
#########################################################################
# ERXEC
#########################################################################
## decides if new ECs use the shared editing context
# er.extensions.ERXEC.useSharedEditingContext=true
## Specifies if new ECs should lock/unlock automatically. Use with
care...
# er.extensions.ERXEC.defaultAutomaticLockUnlock = true
#########################################################################
# ERX Remote Synchronizer
#########################################################################
## To use remote EOF synchronization, you must turn on the
## ERXObjectStoreCoordinatorPool. Just setting it to 1 is enough to
## allow things to work.
#er.extensions.ERXObjectStoreCoordinatorPool.maxCoordinators=1
## Enables remote synchronization (required in addition to
ERXObjectStoreCoordinatorPool).
#er.extensions.remoteSynchronizer.enabled=true
## (Optional) the implementation to use for synchronization. See
below for the
## two available implementations, or you can provide your own here.
#er
.extensions
.remoteSynchronizer
=er.extensions.remoteSynchronizer.ERXSimpleMulticastSynchronizer
#########################################################################
# ERXSimpleMulticastSynchronizer
# There are multiple implementations of the remote synchronizer. By
# default the "simple multicast" one is used. This works, but is not
# very robust should be swapped out in favor of ERJGroupsSynchronizer.
#########################################################################
#er
.extensions
.remoteSynchronizer
=er.extensions.remoteSynchronizer.ERXSimpleMulticastSynchronizer
## (Optional) The local bind address defines the network interface
that will be used
## to transmit and receive multicast messages. If not set,
multicast synchronizer
## will use WOApplication.application().hostAddress(). If you want
to run outside
## of a WOApplication, you should set this value explicitly.
#er.extensions.multicastSynchronizer.localBindAddress=
## (Optional) If you want to set a specific identifier for this
member of this
## multicast group, you can set a six byte hex string here. If you
do not set
## this value, it will be automatically assigned based on the bind
address and
## the WOApplication.application().port() value. If you want to run
outside
## of a WOApplication, you should set this value explicitly.
#er.extensions.multicastSynchronizer.identifier=0a6400f113f9
## (Optional) This address defines the multicast group address that
all the instances
## will join. The default value is 230.0.0.1 if you do not set
this. The multicast
## group is similar to defining a "chat room". Any application that
joins this
## group will send and receive messages to eachother. Generally,
each application
## that you deploy should set its own multicast synchronizer group.
If you do not
## explicitly set this value, all of your applications will talk to
eachother, even
## if they do not share a common set of EOModels, which will lead to
exceptions, and
## possibly global thermonuclear war.
#er.extensions.multicastSynchronizer.group=230.0.0.1
## (Optional) The port number is the port that will be used to send
multicast messages
## over. The default value is 9753.
#er.extensions.multicastSynchronizer.port=9753
## (Optional) A comma separated list of entities to multicast
synchronize. The
## default is to not set this, which translates into "include all
entities".
#er.extensions.remoteSynchronizer.includeEntities=
## (Optional) A comma separated list of entities to NOT multicast
synchronize. The
## default is to not set this, which translates into "exclude no
entities".
#er.extensions.remoteSynchronizer.excludeEntities=
## (Optional) A comma separated list of host names that are allowed
to multicast
## change notifications. The default is to not set this, which
translates into
## "allow all hosts." If your network is not secure, not setting
this list
## leaves you vulnerable to an DoS-style attack where anyone could
notify your
## multicast group of EOGlobalID changes.
#er.extensions.multicastSynchronizer.whitelist=
## (Optional) The maximum size of a datagram packet that we can
send. Defaults
## to 1024.
#er.extensions.multicastSynchronizer.maxPacketSize=1024
#########################################################################
# ERJGroupsSynchronizer
# This synchronizer is based on the JGroups clustering framework,
which
# is the clustering framework used inside of JBoss (among many other
# applications). You must include the ERJGroupsSynchronizer framework
# in your application for this to work properly.
#########################################################################
#er.extensions.remoteSynchronizer=er.jgroups.ERJGroupsSynchronizer
## (Optional) an XML JGroups configuration file (defaults to jgroups-
default.xml in the ERJGroupsSynchronizer framework)
#er.extensions.jgroupsSynchronizer.properties=apropertyfile.xml
## (Optional) the multicast address to use (defaults to 230.0.0.1,
and only necessary if you are using multicast)
#er.extensions.jgroupsSynchronizer.multicastAddress=230.0.0.1
## (Optional) the multicast port to use (defaults to 9753, and only
necessary if you are using multicast)
#er.extensions.jgroupsSynchronizer.multicastPort=9753
## (Optional) The local bind address defines the network interface
that will be used
## to transmit and receive multicast messages. If not set,
multicast synchronizer
## will use WOApplication.application().hostAddress(). If you want
to run outside
## of a WOApplication, you should set this value explicitly.
#er.extensions.jgroupsSynchronizer.localBindAddress=
## (Optional) the JGroups group name to use (defaults to
WOApplication.application.name)
#er.extensions.jgroupsSynchronizer.groupName=MyGroupName
## (Optional) A comma separated list of entities to multicast
synchronize. The
## default is to not set this, which translates into "include all
entities".
#er.extensions.remoteSynchronizer.includeEntities=
## (Optional) A comma separated list of entities to NOT multicast
synchronize. The
## default is to not set this, which translates into "exclude no
entities".
#er.extensions.remoteSynchronizer.excludeEntities=
#########################################################################
# ERXApplication
#########################################################################
## decides if locked editing contexts should be unlocked after the
RR-loop.
## If you use D2W, it is *strongly* recommended to enable this
feature!
# er.extensions.ERXApplication.useEditingContextUnlocker=false
## When true, ERXEC's will generate a stack trace when lock is
called that
## can later be accessed via .openLockTrace() or the
showOpenEditingContextLockTraces
## ERXDirectAction. Defaults to false.
# er.extensions.ERXApplication.traceOpenEditingContextLocks = true
## decides if the session store deadlock detection (session can't get
## checked out because it already was) should be enabled. This is
useful
## for debugging, experimental and doesn't work when concurrent
request
## handling is enabled
# er.extensions.ERXApplication.useSessionStoreDeadlockDetection=false
## Base directory for statistics logging
# er.extensions.ERXApplication.StatisticsBaseLogPath =
## When the logs get rotated [24 hours in ms]
# er.extensions.ERXApplication.StatisticsLogRotationFrequency =
86400000
## When set, starts refusing new session once memory is filled up to
this
## threshold, which results in a more responsive app. If mem comes
available again
## the app again starts to accept new session.
# er.extensions.ERXApplication.memoryThreshold=0.90
## Enable reponse compression when user agent accepts gzip
# er.extensions.ERXApplication.responseCompressionEnabled = true
### run control
# time in seconds in how long the app should stay alive
# ERTimeToLive=180000
# time in seconds after which the app should start to refuse new
sessions
# ERTimeToDie=180000
# time in seconds in which to kill the app after starting to refuse
new sessions
# ERTimeToKill=1800
## Handling of low memory conditions. Reserve X KB to keep as last-
ditch reserve
## and post a notification to release cache memory. Default is 0,
meaning no reserve.
# er.extensions.ERXApplication.lowMemBufferSize=1024
## If you want to rewrite your application URLs from /cgi-bin/
WebObjects/YourApp.woa to
## /yourapp, you can set the following properties and add the apache
rewrite rule:
## Apache 2.2:
## RewriteRule ^/yourapp(.*)$ /cgi-bin/WebObjects/YourApp.woa$1 [PT,L]
## Apache 1.3:
## RewriteRule ^/yourapp(.*)$ /cgi-bin/WebObjects/YourApp.woa$1 [P,L]
# er.extensions.ERXApplication.replaceApplicationPath.pattern=/cgi-
bin/WebObjects/YourApp.woa
# er.extensions.ERXApplication.replaceApplicationPath.replace=/yourapp
#########################################################################
# ERXJDBCConnectionBroker
#########################################################################
# the minimum number of JDBC connections to use
dbMinConnectionsGLOBAL=1
# the maximum number of JDBC connections to use
# keep in mind that each connection requires an open file
# this means your UNIX process which is running the JVM from
# your application must be able to use a lot of open files.
# see ulimit to understand how to change the default settings
# dbMaxConnectionsGLOBAL=5
# time how long a JDBC connection should be reused
# value is in days
# dbConnectionRecycleGLOBAL=1.0
# time in seconds how long a request may use a connection
# in this case a download may not take longer than 3 days
# value is in seconds
# dbMaxCheckoutGLOBAL=86400
# debug level for the Connection Pooling, 0 - 3
# dbDebugLevelGLOBAL=1
# if enabled all connections used by the broker are used
# every er.extensions.ERXJDBCConnectionBroker.connectionPingInterval
seconds
# this is very useful if a firewall between the appserver and the
database
# kill sockets after a certain time of inactivity and the app is not
used
# a lot.
# er.extensions.ERXJDBCConnectionBroker.connectionPingEnabled=false
# er.extensions.ERXJDBCConnectionBroker.connectionPingInterval=300
# er.extensions.ERXJDBCConnectionBroker.connectionPingSQL=select 1+1;
#########################################################################
# ERXLongPrimaryKeyFactory
#########################################################################
# if set to true the following conventions are mandatory:
# 1) all entities must have only one PK value whose external type is
# comparable to java.lang.Long, for example int8 with Postgresql
# er.extensions.ERXLongPrimaryKeyFactory.encodeEntityInPkValue=false
# if set to true then the next property must have a unique value for
each host
# if you want to use synchronization features
# er.extensions.ERXLongPrimaryKeyFactory.encodeHostInPkValue=false
# er.extensions.ERXLongPrimaryKeyFactory.hostCode=a value between 0
and 2<<10
## the amount of keys to cache
# er.extensions.ERXLongPrimaryKeyFactory.increaseBy = 1000
#########################################################################
# ERXWOResponseCache
#########################################################################
## Enable response caching
# er.extensions.ERXWOResponseCache.Enabled = true
#########################################################################
# ERXWORepetition
#########################################################################
## Add hash codes to element IDs so backtracking can be controlled.
# er.extensions.ERXWORepetition.checkHashCodes = true
## If an object wasn't found, raise an exception (if unset, the
wrong object is used)
# er.extensions.ERXWORepetition.raiseOnUnmatchedObject = true
#########################################################################
# ERXThreadStorage
#########################################################################
## Define if child threads inherit the variables of the parent or
not. Defaults to true.
# er.extensions.ERXThreadStorage.useInheritableThreadLocal = false
## Define whether to log potential problems when using certain
values inherited by the parent thread.
## Defaults to true when running in development mode, defaults to
false when app is deployed.
#
er.extensions.ERXThreadStorage.logUsageOfProblematicInheritedValues
= false
#########################################################################
# ERXModelGroup
#########################################################################
## Name of the prototypes entity to use. Case insensitive.
# er.extensions.ERXModelGroup.prototypeModelName=erprototypes
## Set this to false if you don't want to get an exception for non-
matching connection dicts
## that point to the same URL and have the same username
#
er
.extensions.ERXModelGroup.raiseOnUnmatchingConnectionDictionaries=true
#########################################################################
# ERXMigrator
#########################################################################
## automatically execute migrations when the app starts ... Default
is false.
# er.migration.migrateAtStartup=false
## Migrations track the current versions of your models in a table
named "_DBUpdater".
## createTablesIfNecessary tells wonder to just autogenerate these
tables if they don't exist.
## Default is false.
# er.migration.createTablesIfNecessary=false
## er.migration.modelNames defines the list of top level models to
migrate.
## You do not need to list all the models here, only the top level
model.
## Migrations will look for superclasses and relationships to
determine interdependent models
## that must be migrated first (along with explicit model
interdependencies you declare in your migration).
# er.migration.modelNames=HotNewModel
## [modelName].MigrationClassPrefix=some.package.MigrationClassPrefix
## Last but not least, the MigrationClassPrefix. In this case, we
have a model named HotNewModel.eomodeld,
## and therefore we have a HotNewModel.MigrationClassPrefix. Wonder
migrations take this value and append
## incrementing numbers to the name
(com.mdimension.hotnew.migration.HotNewModel5,
com.mdimension.hotnew.migration.HotNewModel6, etc).
## If you don't declare this value, migrations will look for a
packageless class with the same name as the model.
## In the above example, each framework would declare the migration
class prefixes for its own models in the framework Properties file,
## so the top level app Properties would only define the app's model.
#
HotNewModel
.MigrationClassPrefix=com.mdimension.hotnew.migration.HotNewModel
## If you need database specific migrations for ERXMigration
subclasses, use
##
er
.extensions.migration.ERXMigration.useDatabaseSpecificMigrations=true
## The default is not to use database specific migrations. A filename
## for a database specific migration is then for example
##
## HotNewModel1_FrontBase_Upgrade.migration
## or
## HotNewModel1_Postgresql_Upgrade.migration
##
## For the database specific part of the filename, the
databaseProductName as from the JDBC
## adaptor is used. So make sure, you're using the correct filename.
The migration will throw
## an exception if the appropriate migration textfile can't be found.
#
er
.extensions.migration.ERXMigration.useDatabaseSpecificMigrations=false
#########################################################################
# ERXExceptionUtilities
#########################################################################
er.extensions.stackTrace.cleanup=true
er.extensions.stackTrace.skipPatternsFile=StackTraceSkipPatterns-
Normal.plist
#########################################################################
# Components
#########################################################################
er.extensions.ERXWOForm.multipleSubmitDefault=true
#########################################################################
# SSL DirectConnect
#########################################################################
## You should probably not enable any of these settings in a normal
Apache webserver deployment,
## in particular the ssl port property, as this is used by ERX to
generate https URLs, which must
## match your Apache config.
##
## To enable SSL support with DirectConnect, you must do the
following:
##
## * In your Resources folder, run "keytool -genkey -alias
WebObjects -keyalg RSA -keystore adaptorssl.key". Select a
## password for your keystore (i.e. "changeit"), and set the "your
first name and last name" field to match the hostname
## that you will be running your directconnect app off of.
## * In your Resources folder, create an executable script (it MUST
BE EXECUTABLE) named "adaptorsslpassphrase" with the
## contents:
## echo changeit
## where you should replace "changeit" for whatever password you
selected in the previous step.
## * Set the following property to true
#er.extensions.ERXApplication.ssl.enabled=true
## (optional) To specify an SSL host name other than what is
returned from a call to
## application.host(), you can override it below
#er.extensions.ERXApplication.ssl.host=localhost
## (optional) To select an SSL port other than 443, uncomment the
following. If you are already running Apache with SSL,
## you probably want to set this. If the port number is 0, the SSL
port will be automatically assigned (using the same
## mechanism that WO uses to set the regular port)
#er.extensions.ERXApplication.ssl.port=0
_______________________________________________
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