Thank you David. I had found the pages example. I'll consider either developing my own portlet to produce the html I need or the extension approach as you suggested.
Kind regards, Jiri On 10 Jul 2013, at 19:30, David Taylor <[email protected]> wrote: > This response is probably much more info than you need, sorry for > blabbering on, but thought some background might help... > > In version 2.2.1, we introduced Spaces, the Space and PageNavigators, and > the new JetUI framework. One of the differences between the old layout > approach, and the new spaces/navigator approach, is navigations. With the > old layout approach, menus, and navigations are all provided via the > SiteManager, which in turn filters your view of the site navigations using > the Jetspeed Profile. So in layouts, you will often see macros like > #PageMenu (shown below) using the $site context variable. All the > navigational menus are preprocessed by the SiteManager, and Profiler, > before returning their result. With 2.2.1, and the introduction of Space > navigation, spaces bypassed the Site Manager and went directly to the > PageManager API, retrieving folders underneath spaces. The idea was to > simplify the entire view of the portal. So... if you want to use spaces, > you usually configure your portal, during the initial custom build of your > portal, to use the Jetui pipeline > > mvn jetspeed:mvn -Dtarget=ui > > or > > mvn jetspeed:mvn -Dtarget=min-ui > > > where as, if you were to create a project based on the original layouts, > you would do: > > mvn jetspeed:mvn -Dtarget=demo > > or > > mvn jetspeed:mvn -Dtarget=min > > > What Im getting at here is the old layouts don't make the spaces model > available to you. In fact, they use completely different folder roots as > you can see here > http://svn.apache.org/viewvc/portals/jetspeed-2/portal/tags/JETSPEED-RELEASE-2.2.2/applications/jetspeed/src/main/webapp/WEB-INF/there > are actually 4 folder trees, 2 for jetui, 2 for original site manager > > So if you want to use Spaces without the Jetui build, and with old layouts, > Its definitely possible, but would take some extension work. You would > need to make the Space manager available to your decorators as a velocity > context variable ... > > Note that the Jetui pipeline, which supports spaces, only makes use of the > decorator CSS, not the actual vm code for decorators. One of the > motivations behind Jetui was to simplify Jetspeed - and use simple portlets > for layout and decorator code without introducing extra technologies like > learning about Jetpseed layouts and decorators > > > #macro(PagesMenu) > #set($_pages = $site.getMenu("pages").elements) > <div id="pages-menu" class="menu">#foreach($_page in $_pages) > #if($_page.isSelected($site)) > #set($_cssClass = "link page-link selected") > #else > #set($_cssClass = "link page-link") > #end > <a href="portal${_page.url}" class="$!{_cssClass}" > title="${_page.getTitle($preferedLocale)}">$_page.getTitle($preferedLocale)</a><span > class="separator"></span>#end > </div> > #end > > > > On Wed, Jul 10, 2013 at 9:23 AM, Jiri De Jagere <[email protected]> wrote: > >> Hi David, >> >> >> I had found the Jetspeed API docs and (think I) understand how to use >> them. The examples are quite useful. Thanks for those! >> >> The challenge I have is that I'm trying to put my own responsive ui in >> front of Jetspeed. Because of that I would actually prefer a velocity-based >> approach to work them into my header container. I have not yet discovered >> how to access and use spaces and page manager from velocity though. If you >> could share such an example, that would be really helpful! >> >> >> Kind regards, >> >> >> Jiri >> >> On 10 Jul 2013, at 17:51, David Taylor <[email protected]> wrote: >> >>> There are Javadocs online for all the Jetspeed API: >>> >>> Spaces: >>> >> http://portals.apache.org/jetspeed-2/apidocs/org/apache/jetspeed/spaces/Spaces.html >>> Page Manager (folders): >>> >> http://portals.apache.org/jetspeed-2/apidocs/org/apache/jetspeed/page/PageManager.html >>> >>> There are examples of using these APIs in the J2-Admin application. For >>> example, the Spaces Manager is actually a portlet, not a layout: >>> >>> >> http://www.jarvana.com/jarvana/view/org/apache/portals/jetspeed-2/j2-admin/2.2.2/j2-admin-2.2.2.war!/WEB-INF/view/spaces/spaces-manager.jsp?format=ok >>> >>> Portlet Applications can make use of Jetspeed API services by declaring >> the >>> services they want to use in the jetspeed-portlet.xml deployment >> descriptor >>> >>> <js:services> >>> <js:service name='PageManager' /> >>> <js:service name='SpacesService' /> >>> >>> Then, in your portlet's init method, the portlet context provides access >> to >>> all of your declared services: >>> (from org.apache.jetspeed.portlets.spaces.SpacesList portlet in j2-admin >>> app): >>> >>> public void init(PortletConfig config) throws PortletException >>> { >>> super.init(config); >>> PortletContext context = getPortletContext(); >>> spacesService = (Spaces) >>> context.getAttribute(CommonPortletServices.CPS_SPACES_SERVICE); >>> >>> This is how the Space Manager was implemented in Jetspeed 2.2.1. If you >>> are more interested in developing your header with velocity templates and >>> layouts, let me know, I can give examples of that approach too >>> >>> >>> >>> >>> >>> >>> >>> >>> On Wed, Jul 10, 2013 at 6:36 AM, Jiri De Jagere <[email protected]> >> wrote: >>> >>>> Hi, >>>> >>>> >>>> I'm developing my own header and footer for a Jetspeed-based >> application. >>>> I've found the API calls to list the pages for a particular view, but I >>>> can't find how to list the available folders and links (spaces). >>>> >>>> Could someone please point me in the right direction? >>>> >>>> >>>> Thanks! >>>> >>>> >>>> Jiri >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>>> >>> >>> >>> -- >>> David >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > > > -- > David --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
