On 2010-09-21, at 1:33 PM, Daniel Beatty wrote:
> Greetings David,
> Just following up on one of these weirditiies. I am trying to follow the
> Bug Tracker example, and I get a nasty SQL error when trying to run the bug
> tracker. For example, I run a script containing the following:
> #!/bin/sh
> ( cd /Library/WebObjects/JavaApplications/BugTracker.woa ;
> ./BugTracker \
> -Der.javamail.centralize=false \
> -Der.extensions.ERXApplication.developmentMode=true \
> -DdbConnectURLGLOBAL=jdbc:mysql://localhost/bug?capitalizeTypenames=true \
> -DdbConnectUserGLOBAL=bugUser \
> -DdbConnectPasswordGLOBAL=changeIt \
> -DdbConnectPluginGLOBAL= \
> -DdbConnectDriverGLOBAL= \
> -DdbEOPrototypesEntityGLOBAL=EOJDBCMySQLPrototypes )
>
> When I run this script I get stopped at :
> 1401 [main] WARN er.extensions.eof.ERXModelGroup - Clearing previous class
> descriptions
> 1700 [main] INFO er.corebusinesslogic.audittrail.ERCAuditTrail -
> Configuration : {}
> 1810 [main] INFO com.thimbleware.jmemcached.MemCacheDaemon - Listening on
> localhost:12345
> 1811 [main] INFO er.caching.ERCaching - Server started: 127.0.0.1:12345
> maxItems=0 maxMemory=128
> 1811 [main] ERROR er.caching.ERCaching - No Servers found, set
> er.caching.servers=server1:port1,server2:port2...
> 1895 [main] WARN er.extensions.migration.ERXMigrator -
> er.migration.modelNames is not set, defaulting to modelGroup.models() order
> instead.
> 4331 [main] INFO er.extensions.migration.ERXMigrator - Upgrading
> ERAttachment to version 1 with migration
> 'er.attachment.migrations.erattachme...@1a9db992'
> 4343 [main] INFO er.extensions.jdbc.ERXJDBCUtilities - Executing alter table
> ERAttachment null available VARCHAR(5) NOT NULL
> 4354 [main] ERROR er.extensions.appserver.ERXApplication - BugTracker failed
> to start.
>
>
> The complaint that I get is that MySQL does not like the syntax being
> applied. Any ideas?
Are you running WO5.4 and MySQL without the MySQLPlugIn framework from Wonder?
>
> Thank you,
> Dan
>
>
>
> On Sep 9, 2010, at 3:32 PM, David Holt wrote:
>
>> Hi David!
>>
>> On 2010-09-09, at 3:03 PM, David Avendasora wrote:
>>
>>> Hi all D2W Gurus,
>>>
>>> I'm starting a new D2W app, and one of the things it needs to do is
>>> automatically pre-qualify all listings of of entities to filter down to
>>> only the EOs that the user is allowed to see.
>>
>> Bug Tracker does stuff like this in the Factory class. You'll find that
>> actions return different qualified lists of things and likely uses a
>> different pageConfiguration for each one (I'm going from memory here). It
>> also heavily leverages the clazz pattern. Take a look at the EO for Bug.
>>
>> The way I have been doing it is to set up a navigationRootChoice based on
>> the logged in user (conditionally display tabs). Then when they further
>> differentiate themselves I store that to ERXThreadStorage, and the tabs
>> reconfigure based on this new layer of qualification. You could do this
>> multiple times, I guess. Take a look at childrenChoices code in the
>> NavigationMenu.plist for BugTracker
>>
>>> The logic to tell if a user is allowed will be somewhat complicated as a
>>> user can belong to one or more organizations, and may have one or more
>>> roles within each organization.
>>
>> Rules should handle it. See Bug.java for the different ways lists of Bugs
>> are returned to the app.
>>
>>>
>>> I want to add a qualifiers to all searches that they perform that take
>>> their Organizations and Roles into account. Each entity that they search on
>>> will have their own set of qualifiers to do this filtering.
>>
>> I think you may want to do this in your business logic. You will need to
>> leverage ERXThreadStorage to do so, however.
>>
>>>
>>> I'm figuring on adding the qualifiers to the session so I can grab them
>>> from there.
>>
>> ERXThreadStorage. Then you can use them directly in your business logic. You
>> can set fetch specifications that can be as complex as you wish using the
>> qualifiers that you have stored.
>>
>>> There are hints of how to do this in this email chain from a couple years
>>> ago: http://lists.apple.com/archives/webobjects-dev/2007/Sep/msg00032.html
>>> but I'm not sure where to start implementing this for my project, and I
>>> didn't see any obvious examples in the BugTracker demo app.
>>>
>>> Any tips or pointers to other apps that do this?
>>
>> You can also do this in the navigation menu. Conditionally show or hide
>> whole pageConfigurations based on some method. (see NavigationRootChoice
>> method in BugTracker on the Session class)
>> You can also hide and show attributes on a page with rules such as
>> entity.name = 'Media' and 'session.user.isAdmin' = true =>
>> displayPropertyKeys = ("x","y","z")
>>
>> I have found that out of the box the restricting object stuff worked
>> reliably for one, but as soon as my needs got more complex, I had much
>> better success moving what I wanted to do to business logic. If you step
>> back, you'll probably agree it makes more sense to be there than in the
>> component or controller anyway.
>>
>> BUT, there are many ways to skin this cat.
>>
>> HTH,
>>
>> d
>>
>>>
>>> Thanks!
>>>
>>> Dave _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list ([email protected])
>>> Help/Unsubscribe/Update your Subscription:
>>> http://lists.apple.com/mailman/options/webobjects-dev/programmingosx%40mac.com
>>>
>>> This email sent to [email protected]
>>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/webobjects-dev/danielbeatty%40mac.com
>>
>> This email sent to [email protected]
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/dleber_wodev%40codeferous.com
>
> This email sent to [email protected]
;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 ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]