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 <jir...@gmail.com> 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 <davidseantay...@gmail.com> 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 <jir...@gmail.com> > 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: jetspeed-user-unsubscr...@portals.apache.org > >> For additional commands, e-mail: jetspeed-user-h...@portals.apache.org > >> > >> > > > > > > -- > > David > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: jetspeed-user-unsubscr...@portals.apache.org > For additional commands, e-mail: jetspeed-user-h...@portals.apache.org > > -- David