Re: D2W Auto-Qualifying all listings
Re: D2W Auto-Qualifying all listings
- Subject: Re: D2W Auto-Qualifying all listings
- From: David Holt <email@hidden>
- Date: Tue, 21 Sep 2010 16:41:56 -0700
On 2010-09-21, at 4:29 PM, Daniel Beatty wrote:
> Greetings Chuck,
> I was looking and pecking at it, too. The MySQL Admin tool would lead a
> person to believe that it is not, but seems to the be one variable that is
> outstanding. The fact that the rest of the tokens in that SQL are accepted
> by MySQL in other migration actions, leads me to believe that the RELEASE
> variable is the sole trouble child.
>
> As long as I can figure out how to make Eclipse do that, at least the
> migration step will not complain when it tries to run from a Hudson - Ant
> built equivalent. It has the MySQL Plugin, along with rest of the Wonder
> build that supposedly succeeded in Hudson. However, it seems to have
> something that is telling it not to load it. To say the least, it is a bit
> strange. Oh well, it is bound to have a few lessons to learn, yet.
>
> Also, what is the default database that Bug Tracker is using. For example,
> when imported in Eclipse, it just ran. Unfortunately, it did not tell me
> which JDBC driver it was using. My first guess would be the memory adaptor,
That sounds right. Just check the properties file(s) for confirmation. You might have to look in BTBusinessLogic
David
> but I am not sure.
>
> In any case, I am grateful for all of the assistance so far, and hope to
> make all of these goodies work.
>
> Thank you,
>
> Daniel Beatty
> Computer Scientist, Detonation Sciences Branch
> Code 474300D
> 2401 E. Pilot Plant Rd. M/S 1109
> China Lake, CA 93555
> email@hidden
> (760)939-7097
>
>
> On 9/21/10 2:04 PM, "Chuck Hill" <email@hidden> wrote:
>
>>
>> On Sep 21, 2010, at 2:03 PM, David LeBer wrote:
>>
>>>
>>> On 2010-09-21, at 4:25 PM, Chuck Hill wrote:
>>>
>>>>
>>>> On Sep 21, 2010, at 1:17 PM, Daniel Beatty wrote:
>>>>
>>>>> Greetings Chuck,
>>>>> Well, I decided to try going through WOLips as opposed to Hudson. I added
>>>>> the MySQL plugin and got a lot farther, but I am still running into some
>>>>> trouble. This time at the "Release" table. In particular, MySQL complains
>>>>> about:
>>>>>
>>>>> Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You
>>>>> have an error in your SQL syntax; check the manual that corresponds to your
>>>>> MySQL server version for the right syntax to use near 'RELEASE(DATE_DUE
>>>>> DATETIME NOT NULL, ID INTEGER NOT NULL, IS_OPEN INTEGER NOT NUL' at line 1
>>>>>
>>>>>
>>>>>
>>>>> Now the "NUL" looks suspicious, and the real question is how do I fix it?
>>>>
>>>> My guess is that this is a Red Herring. It is just showing you 80
>>>> characters (count them!) of context surrounding the error.
>>>>
>>>> Some guesses:
>>>> - ID is a reserved word in MySQL
>>>
>>> Nope, I use ID all the time. However... RELEASE is (tada!).
>>
>> I would have been guessing a LONG time before I guessed that.
>>
>>
>>>
>>>> - one of the data types is wrong (wrong JDBC driver / version?)
>>>>
>>>>
>>>> Chuck
>>>>
>>>>
>>>>> On Sep 21, 2010, at 12:18 PM, Chuck Hill wrote:
>>>>>
>>>>>> You need to add the plugin framework to the classpath file in
>>>>>> App.woa/Contents/MacOs/something
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Sep 21, 2010, at 12:04 PM, Daniel Beatty wrote:
>>>>>>
>>>>>>> Greetings David,
>>>>>>> Looks like you are right. Here, I though I had it loaded with Hudson,
>>>>>>> but I was mistaken. Now I have copied over to /Library/Frameworks. Of
>>>>>>> course, that failed. I also tried copying my properties so that I have:
>>>>>>> ( 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=password \
>>>>>>> -DdbConnectPluginGLOBAL= \
>>>>>>> -DdbConnectDriverGLOBAL= \
>>>>>>> -DdbEOPrototypesEntityGLOBAL=EOJDBCMySQLPrototypes \
>>>>>>> -Dbuild.root=/Volumes/wabbit/Hudson/Roots \
>>>>>>> -Dwonder.framework.install=/Volumes/wabbit/Hudson/Wonder/Library/Framewor
>>>>>>> ks \
>>>>>>> -Dweb.framework.install.root=/Volumes/wabbit/Hudson/Wonder/Library/WebSer
>>>>>>> ver/Documents/WebObjects/Frameworks \
>>>>>>> -Dwo.woroot=/Volumes/wabbit/Hudson/Wonder
>>>>>>> wo.system.frameworks=/Volumes/wabbit/Hudson/Wonder/System/Library/Framewo
>>>>>>> rks \
>>>>>>> -Dwo.local.frameworks=/Volumes/wabbit/Hudson/Wonder/Library/Frameworks \
>>>>>>> -Dwo.dir.system=/Volumes/wabbit/Hudson/Wonder/System \
>>>>>>> -Dwo.dir.root=/Volumes/wabbit/Hudson/Wonder \
>>>>>>> -Dwo.dir.local=/Volumes/wabbit/Hudson/Wonder \
>>>>>>> -Dwo.dir.library=/Volumes/wabbit/Hudson/Wonder/System/Library \
>>>>>>> -Dwo.dir.local.library=/Volumes/wabbit/Hudson/Wonder/Library \
>>>>>>> -Dwo.dir.library.frameworks=/Volumes/wabbit/Hudson/Wonder/System/Library/
>>>>>>> Frameworks \
>>>>>>> -Dwo.dir.local.library.frameworks=/Volumes/wabbit/Hudson/Wonder/Library/F
>>>>>>> rameworks \
>>>>>>> -Dwo.dir.system=/Volumes/wabbit/Hudson/Wonder/System \
>>>>>>> -Dwo.extensions=/Volumes/wabbit/Hudson/Wonder/Library/WebObjects/Extensio
>>>>>>> ns \
>>>>>>> -Dwo.bootstrapjar=/Volumes/wabbit/Hudson/Wonder/System/Library/WebObjects
>>>>>>> /JavaApplications/wotaskd.woa/WOBootstrap.jar \
>>>>>>> -Dwo.apps.root=/Volumes/wabbit/Hudson/Wonder/Library/WebObjects/Applicati
>>>>>>> ons
>>>>>>> )
>>>>>>>
>>>>>>> Thus I am trying to make sense of this. Any ideas?
>>>>>>>
>>>>>>> Dan
>>>>>>>
>>>>>>>
>>>>>>> On Sep 21, 2010, at 10:40 AM, David LeBer wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> 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=tru
>>>>>>>>> e \
>>>>>>>>> -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.ERAttachment1@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@hidden)
>>>>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>>>>> 40mac.com
>>>>>>>>>>>
>>>>>>>>>>> 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:
>>>>>>>>>> ac.com
>>>>>>>>>>
>>>>>>>>>> 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:
>>>>>>>>> deferous.com
>>>>>>>>>
>>>>>>>>> This email sent to email@hidden
>>>>>>>>
>>>>>>>> ;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
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Dan Beatty, M.S. CS (B.S. EECS)
>>>>>>> Ph.D. Student
>>>>>>> Texas Tech University
>>>>>>> email@hidden
>>>>>>> http://web.me.com/danielbeatty/My_Home_Page/Welcome.html
>>>>>>> (806)438-6620
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>> age.net
>>>>>>>
>>>>>>> This email sent to email@hidden
>>>>>>
>>>>>> --
>>>>>> Chuck Hill Senior Consultant / VP Development
>>>>>>
>>>>>> Practical WebObjects - for developers who want to increase their overall
>>>>>> knowledge of WebObjects or who are trying to solve specific problems.
>>>>>> http://www.global-village.net/products/practical_webobjects
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Dan Beatty, M.S. CS (B.S. EECS)
>>>>> Ph.D. Student
>>>>> Texas Tech University
>>>>> email@hidden
>>>>> http://web.me.com/danielbeatty/My_Home_Page/Welcome.html
>>>>> (806)438-6620
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Do not post admin requests to the list. They will be ignored.
>>>>> Webobjects-dev mailing list (email@hidden)
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>> e.net
>>>>>
>>>>> This email sent to email@hidden
>>>>
>>>> --
>>>> Chuck Hill Senior Consultant / VP Development
>>>>
>>>> Practical WebObjects - for developers who want to increase their overall
>>>> knowledge of WebObjects or who are trying to solve specific problems.
>>>> http://www.global-village.net/products/practical_webobjects
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list (email@hidden)
>>>> Help/Unsubscribe/Update your Subscription:
>>>> ous.com
>>>>
>>>> This email sent to email@hidden
>>>
>>> ;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@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