Thanks. I added a rule in the d2wmodel file for pageWrapperName. However, I managed to discover several other problems.
My page wrapper was for a non-d2w page and site, and I want the d2w stuff to be a subcomponent of this. It is very simple, I have a header, sidebar navigation, and an AjaxUpdateContainer which changes based on what link the user clicks on the navigation sidebar. One of these links is the Admin link, which will (I hope) cause the D2W stuff to be loaded into the AjaxUpdateContainer, without disturbing anything else.
I therefore made my Admin component into the "pageWrapperName" for the purposes of the D2W rule, and created it based on the pageWrapper from ERModernMoviesDemo.
1. I changed it to remove the header because this is a subcomponent. However, this removed the stylesheets tag. I also eliminated the bodyTag webobject, again, as this is a subcomponent. Neither of these seem to affect this problem though.
This works, sort of, but the WOLToolbar appears as a ul above the ul of the entities. (I had an error here until I added the WOLips framework and password) I assume this is related to the navigation panel not being styled properly. The real problem is that when I click an entity, now I get an NPE error:
Which apparently means it's not getting the skin framework (and also isn't supplying the default of "app") I added the property to the skin framework's properties file (then added it to the app's properties too to see if that changed anything. It didn't. I assume this is related to the missing stylesheets from the head. 2. I then added the head and body back (along with the bodyClass method lifted from the ERModernMoviesDemo's pageWrapper). I changed it from an Ajax link to a regular WOHyperlink and set target = "new" but now I get an NPE like this (before I get to the uls from the WOLToolbar or the entitities) :
(Note this also happens inside the AjaxUpdateContainer if I keep it as an AjaxUpdateLink with the appropriate containerid)
So, while I am doing better than I was, I guess I am just fundamentally missing what I am supposed to be doing in relation to dropping an ERModernLook component with navigation into an AjaxUpdateContainer of an existing site.
Is there some configuration I am supposed to be doing to set the resources other than in the properties file of the look framework (and adding that framework to the app)?
Thanks. This technology looks very cool, and I would like to think it's fairly easy to do this, rather than re-creating entirely new D2W projects, even for a D2W novice.
Andrew
On Jun 9, 2010, at 9:36 AM, Ramsey Gurley wrote: On Jun 9, 2010, at 9:22 AM, Andrew R. Kinnie wrote: I am again attempting to use D2W for the admin portion of an existing app.
Basically, I have an existing site, and wanted to add an admin link to the home page navigation bar, based on whether the user has logged in and has admin privileges. When the user clicks on the link, I want to load a D2W generated admin component into the AjaxUpdate area for the content. Seems all fairly simple and straight forward.
I created a new framework, copied the ERModernSkin WSR into its WSR, added er.modern.look.skinframework = MySitesERModernSkinFramework to its (i.e. the skin framework's) properties then added the framework to my app. I also added ERD2W's framework, etc. to the app.
I also created a NavigationMenu.plist, based on the one in ERModernMoviesDemo, and modified it to present my entities, modified the session to present my navController and created actions appropriate to it within it.
Now however, first, none of the ERModernLook css is loading, but I figure I can fix that later. The big problem is I can click the link and get a ul of the entities, but when I click an entity link, I get this error:
com.webobjects.appserver._private.WODynamicElementCreationException: : cannot find component or dynamic element named PageWrapper | |
I don't have a component named PageWrapper (ERModernMoviesDemo does), I perform that function in my "Main" component. I searched the ERModernMoviesDemo and found no references to PageWrapper in it, other than in the class itself.
Is there someplace I can globally change a setting to point to my Main component? Is this going to work like this at all? The ERModernMoviesDemo is obviously a self-contained app, and not a subcomponent within another app that has its own custom html and css.
Any assistance would be appreciated.
Andrew
The page wrapper is typically part of the app rather than the framework, so if you don't have one, you'll need to designate one. I believe the D2W key you need is pageWrapperName and you can set it in the rule with a single assignment. If your Main component is a wrapper, then it should be simple. You might want to download the modern look template to have a look at the PageWrapper component in there, as loading the CSS was a bit more involved.
Ramsey
|