Never mind Tim about this one, it was the cache not being cleared. It's working now the way I expected it.
-----Original Message----- From: Blanco, Jose Sent: Monday, November 14, 2011 12:53 PM To: Blanco, Jose; Tim Donohue Cc: [email protected]; Mark H. Wood Subject: RE: [Dspace-tech] adding new uri Ok, I'm back to not understanding. I added the following code to the file ArtifactBrowser/sitemap.xmap <map:match pattern="subject-list"> <map:transform type="CommunityBrowser"> <map:parameter name="depth" value="999"/> </map:transform> <map:serialize type="xml"/> </map:match> I was expecting to see the community list when /subject-list was requested, but I'm seeing page not found. From my previous emails, ArtifactBrowser is in my config file. I just want to check that I can make a different URI do the same as one that already exist. I need to add a new URI to our instance so I'm taking baby steps to get there. Frustrated, -Jose -----Original Message----- From: Blanco, Jose [mailto:[email protected]] Sent: Monday, November 14, 2011 12:19 PM To: Tim Donohue Cc: [email protected]; Mark H. Wood Subject: Re: [Dspace-tech] adding new uri Tim, Thank you, Thank you, Thank you! This is great information to have in understanding xmlui. So, one more simple question, I think. I looked at my xmlui.xconf file and see that I'm loading the following aspects: <aspect name="Artifact Browser" path="resource://aspects/ArtifactBrowser/" /> <aspect name="Administration" path="resource://aspects/Administrative/" /> <aspect name="E-Person" path="resource://aspects/EPerson/" /> <aspect name="Submission and Workflow" path="resource://aspects/Submission/" /> So, knowing this I see that the "/community-list" request would be handled by: ArtifactBrowser And not BrowseArtifacts Which makes me think, what purpose does BrowseArtifacts serve? Why do we have it? One more question, Tim. I hope it's a simple one. I often have problem getting the cache to clear in the xmlui world. I remember an email by Mark Diggory about deleting a certain directory, but can't remember what directory that is, do you know? Thank you again! Jose -----Original Message----- From: Tim Donohue [mailto:[email protected]] Sent: Monday, November 14, 2011 11:22 AM To: Blanco, Jose Cc: [email protected]; Mark H. Wood Subject: Re: [Dspace-tech] adding new uri Hi Jose, Here's the general "flow" of things in XMLUI. Remember, as Cocoon is pipeline based, there can actually be *multiple* matches per possible URI. General XMLUI Request Flow: =============================== Everything starts at the root 'sitemap.xmap' (main 'entry' point for all requests) 1. It loads 'themes/themes.xmap' (which controls the Themes) 1a. This then loads all "matching" themes configured in xmlui.xconf 1b. If more than one theme matches the URI, then first match wins 1c. The theme's 'sitemap.xmap' is loaded & processed When the theme's 'sitemap.xmap' is loaded, it makes a call to generate the DRI content by calling: <map:generate type="file" src="cocoon://DRI/{1}"/> This generates a brand new internal Cocoon request, which is processed back in the *root* sitemap.xmap. 2. Again, back in the root sitemap.xmap, the "DRI/**" call is matched and loads the 'aspects/aspects.xmap' (which controls the Aspects) 2a. This loads all enabled Aspects configured in xmlui.xconf 2b. Each aspect is loaded in the order it appears. But, *multiple* aspects may be loaded for the same URI. (Remember aspects can build upon each other as they generate the final DRI content) 2c. When an aspect is loaded its 'sitemap.xmap' is loaded & processed. 3. Finally, after all Aspects have been processed, the flow returns back to the Theme's sitemap (remember it is what triggered the loading of the Aspects in the first place). That theme's sitemap continues processing, at this point it will perform a transform using various XSLTs to generate the final XHTML content which is the user interface. That's a simplified version of what is going on underneath. So, hopefully that will give you some clues on how best to proceed. (I'm now realizing this general flow probably should be documented somewhere -- not sure that it is documented anywhere yet. It took me a while to figure it out on my own.) - Tim On 11/14/2011 9:48 AM, Blanco, Jose wrote: > Sorry for my hard headedness, but I still don't understand. > > Perhaps if you could explain this, I would see it. In looking at the aspect > sitemaps, I was expecting to find only one pipeline match per possible uri, > but that is I not the case. For example, "/community-list" exist in two > places: > >> grep -r "<map:match pattern=" */*.xmap | grep community-list > ArtifactBrowser/sitemap.xmap:<map:match pattern="community-list"> > BrowseArtifacts/sitemap.xmap:<map:match pattern="community-list"> > > How does the code know to use the match in the ArtifactBrowser dir, as > oppose to what is in the BrowseArtifacts dir? > > -Jose > > -----Original Message----- > From: Mark H. Wood [mailto:[email protected]] > Sent: Friday, November 11, 2011 4:49 PM > To: [email protected] > Subject: Re: [Dspace-tech] adding new uri > > On Fri, Nov 11, 2011 at 05:03:59PM +0000, Blanco, Jose wrote: >> I guess my problem is that I'm having a real hard time understanding the >> flow of a request in the manakin world. >> >> I know that in the jspui world the web.xml file is the starting point for a >> request and gets you going on the path, but how does it work in cocoon. >> When a uri, say, "/abc" comes in. what is the path it takes before the page >> is rendered? I think this would be great to know, and could really help me >> better understand the xmlui interface. > > At the bottom it all rests on servlets. That's what web.xml is doing: > it tells the servlet container (e.g. Tomcat) how to map the local-part of a > request to some servlet. > > IIRC the JSP engine is just a fancy way of creating servlets on the fly from > something that looks more like the page you want to deliver. > Similarly Cocoon has to provide at least one servlet to the servlet container > and you need to have the necessary servlet mapping(s) for it. > > Cocoon then looks at the rest of the local-part and applies the > sitemap(s) to it to figure out what to do with it. > ------------------------------------------------------------------------------ RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ DSpace-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-tech ------------------------------------------------------------------------------ RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ DSpace-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-tech ------------------------------------------------------------------------------ RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ DSpace-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-tech

