You need a Jira account.

Click the Signup link on the ObjectStyle.org Issue Tracker home page:

<http://issues.objectstyle.org/jira/secure/Dashboard.jspa>

On 25-Jun-09, at 9:18 AM, Jacob Fisher wrote:

I just tried to start a wiki page for the properties file under 
'http://wiki.objectstyle.org/confluence/display/WONDER/Home'
  but I don't see a clear way to ask for an account. 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      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/kieran_lists%40mac.com

This email sent to kieran_li...@mac.com

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/fisherja%40gmail.com

This email sent to fishe...@gmail.com


# 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
#########################################################################
## User-agent sniffing stuff
#
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



------------------------------------------------------------------------------
_______________________________________________
Wonder-disc mailing list
wonder-d...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wonder-disc

;david

--
David LeBer
Codeferous Software
'co-def-er-ous' adj. Literally 'code-bearing'
site:   http://codeferous.com
blog:   http://davidleber.net
profile:        http://www.linkedin.com/in/davidleber
twitter:        http://twitter.com/rebeld
--
Toronto Area Cocoa / WebObjects developers group:
http://tacow.org




_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to