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]

Reply via email to