<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Report questions in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141210#M98933</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;jbarrez:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for the prompt answer. You are right, I could use Jasper Reports or BIRT.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Next question. I am digging into the code for explorer and see that there is a fair degree of abstraction going on:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CustomComponet -&amp;gt; AbstractPage -&amp;gt; AbstractTablePage -&amp;gt; SavedReportsPage (and so on)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would be interested in using a tree. I see there is an AbstractTreePage class but it seems unfinished. I have overridden the "createTree" method added some code to create a demo Vaadin Tree object (ripped shamelessly from the Vaddin book). I end up getting a tree on a page but no vertical split and it seems no way to add a component on the right hand side. I tried &amp;lt;blockcode&amp;gt;grid.addComponent(new TextArea("Hello"), 2, 0, 2, 2);&amp;lt;/blockcode&amp;gt; in my constructor but that did not work. My code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;blockcode&amp;gt;/* Licensed under the Apache License, Version 2.0 (the "License");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * you may not use this file except in compliance with the License.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * You may obtain a copy of the License at&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://www.apache.org/licenses/LICENSE-2.0" rel="nofollow noopener noreferrer"&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt; * &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * Unless required by applicable law or agreed to in writing, software&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * distributed under the License is distributed on an "AS IS" BASIS,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * See the License for the specific language governing permissions and&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * limitations under the License.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;package com.sharpline;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.explorer.ui.AbstractTreePage;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.explorer.ui.custom.ToolBar;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.explorer.ui.reports.ReportsMenuBar;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.vaadin.ui.Component;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.vaadin.ui.Panel;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.vaadin.ui.TextArea;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.vaadin.ui.Tree;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.vaadin.ui.VerticalSplitPanel;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * @author Frederik Heremans&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;public class CustomReportsPage extends AbstractTreePage {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public CustomReportsPage() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; super();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; this.addMainLayout();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; grid.addComponent(new TextArea("Hello"), 2, 0, 2, 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; /**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; * &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; private static final long serialVersionUID = 1624598539717116635L;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; @Override&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; protected Tree createTree() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; final Object[][] planets = new Object[][]{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Mercury"}, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Venus"},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Earth", "The Moon"},&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Mars", "Phobos", "Deimos"},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Jupiter", "Io", "Europa", "Ganymedes", "Callisto"},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Saturn",&amp;nbsp; "Titan", "Tethys", "Dione", "Rhea", "Iapetus"},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Uranus",&amp;nbsp; "Miranda", "Ariel", "Umbriel", "Titania", "Oberon"},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Neptune", "Triton", "Proteus", "Nereid", "Larissa"}};&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Tree tree = new Tree("The Planets and Major Moons");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* Add planets as root items in the tree. */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; for (int i=0; i&amp;lt;planets.length; i++) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String planet = (String) (planets&lt;/SPAN&gt;&lt;EM&gt;[0]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tree.addItem(planet);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (planets&lt;EM&gt;.length == 1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The planet has no moons so make it a leaf.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tree.setChildrenAllowed(planet, false);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Add children (moons) under the planets.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int j=1; j&amp;lt;planets&lt;EM&gt;.length; j++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String moon = (String) planets&lt;EM&gt;[j];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Add the item as a regular item.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tree.addItem(moon);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Set it to be a child.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tree.setParent(moon, planet);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Make the moons look like leaves.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tree.setChildrenAllowed(moon, false);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Expand the subtree.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tree.expandItemsRecursively(planet);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; return tree;&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt; @Override&lt;BR /&gt; protected ToolBar createMenuBar() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new ReportsMenuBar();&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&amp;lt;/blockcode&amp;gt;&lt;BR /&gt;&lt;BR /&gt;How would I add content to the RH side? (Still learning Java)&lt;BR /&gt;&lt;BR /&gt;PS&amp;gt; Like the new forum!&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 17 Apr 2013 20:53:25 GMT</pubDate>
    <dc:creator>ericsnyder</dc:creator>
    <dc:date>2013-04-17T20:53:25Z</dc:date>
    <item>
      <title>Report questions</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141208#M98931</link>
      <description>I want to write a report that gives an expandable list (tree) of all tasks and information about jobs at that task. Example -Say we have three tasks in a process (task1, task2 and task3). the report would look like this:- task1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Job 27&amp;nbsp;&amp;nbsp;&amp;nbsp;Kermit, Fozzie+ task2+ task3‍‍‍‍Basically it would be a li</description>
      <pubDate>Mon, 15 Apr 2013 15:53:35 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141208#M98931</guid>
      <dc:creator>ericsnyder</dc:creator>
      <dc:date>2013-04-15T15:53:35Z</dc:date>
    </item>
    <item>
      <title>Re: Report questions</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141209#M98932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;All of what you write is possible.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;A tree is indeed not supported in the current reporting capabilities (it is a firs release after all), but should be fairly easy to add.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You are not restricted to the reporting functionality of Explorer, actually any reporting/charting library would do the trick.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Apr 2013 10:37:33 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141209#M98932</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-04-16T10:37:33Z</dc:date>
    </item>
    <item>
      <title>Re: Report questions</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141210#M98933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;jbarrez:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for the prompt answer. You are right, I could use Jasper Reports or BIRT.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Next question. I am digging into the code for explorer and see that there is a fair degree of abstraction going on:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CustomComponet -&amp;gt; AbstractPage -&amp;gt; AbstractTablePage -&amp;gt; SavedReportsPage (and so on)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would be interested in using a tree. I see there is an AbstractTreePage class but it seems unfinished. I have overridden the "createTree" method added some code to create a demo Vaadin Tree object (ripped shamelessly from the Vaddin book). I end up getting a tree on a page but no vertical split and it seems no way to add a component on the right hand side. I tried &amp;lt;blockcode&amp;gt;grid.addComponent(new TextArea("Hello"), 2, 0, 2, 2);&amp;lt;/blockcode&amp;gt; in my constructor but that did not work. My code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;blockcode&amp;gt;/* Licensed under the Apache License, Version 2.0 (the "License");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * you may not use this file except in compliance with the License.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * You may obtain a copy of the License at&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://www.apache.org/licenses/LICENSE-2.0" rel="nofollow noopener noreferrer"&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt; * &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * Unless required by applicable law or agreed to in writing, software&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * distributed under the License is distributed on an "AS IS" BASIS,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * See the License for the specific language governing permissions and&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * limitations under the License.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;package com.sharpline;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.explorer.ui.AbstractTreePage;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.explorer.ui.custom.ToolBar;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.explorer.ui.reports.ReportsMenuBar;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.vaadin.ui.Component;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.vaadin.ui.Panel;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.vaadin.ui.TextArea;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.vaadin.ui.Tree;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import com.vaadin.ui.VerticalSplitPanel;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * @author Frederik Heremans&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;public class CustomReportsPage extends AbstractTreePage {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public CustomReportsPage() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; super();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; this.addMainLayout();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; grid.addComponent(new TextArea("Hello"), 2, 0, 2, 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; /**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; * &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; private static final long serialVersionUID = 1624598539717116635L;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; @Override&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; protected Tree createTree() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; final Object[][] planets = new Object[][]{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Mercury"}, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Venus"},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Earth", "The Moon"},&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Mars", "Phobos", "Deimos"},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Jupiter", "Io", "Europa", "Ganymedes", "Callisto"},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Saturn",&amp;nbsp; "Titan", "Tethys", "Dione", "Rhea", "Iapetus"},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Uranus",&amp;nbsp; "Miranda", "Ariel", "Umbriel", "Titania", "Oberon"},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Object[]{"Neptune", "Triton", "Proteus", "Nereid", "Larissa"}};&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Tree tree = new Tree("The Planets and Major Moons");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* Add planets as root items in the tree. */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; for (int i=0; i&amp;lt;planets.length; i++) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String planet = (String) (planets&lt;/SPAN&gt;&lt;EM&gt;[0]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tree.addItem(planet);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (planets&lt;EM&gt;.length == 1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The planet has no moons so make it a leaf.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tree.setChildrenAllowed(planet, false);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Add children (moons) under the planets.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int j=1; j&amp;lt;planets&lt;EM&gt;.length; j++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String moon = (String) planets&lt;EM&gt;[j];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Add the item as a regular item.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tree.addItem(moon);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Set it to be a child.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tree.setParent(moon, planet);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Make the moons look like leaves.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tree.setChildrenAllowed(moon, false);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Expand the subtree.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tree.expandItemsRecursively(planet);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; return tree;&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt; @Override&lt;BR /&gt; protected ToolBar createMenuBar() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new ReportsMenuBar();&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&amp;lt;/blockcode&amp;gt;&lt;BR /&gt;&lt;BR /&gt;How would I add content to the RH side? (Still learning Java)&lt;BR /&gt;&lt;BR /&gt;PS&amp;gt; Like the new forum!&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Apr 2013 20:53:25 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141210#M98933</guid>
      <dc:creator>ericsnyder</dc:creator>
      <dc:date>2013-04-17T20:53:25Z</dc:date>
    </item>
    <item>
      <title>Re: Report questions</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141211#M98934</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You can consider audit trail too (&lt;/SPAN&gt;&lt;A href="https://github.com/gro-mar/activiti-crystalball/wiki/Audit-trail-diagram" rel="nofollow noopener noreferrer"&gt;https://github.com/gro-mar/activiti-crystalball/wiki/Audit-trail-diagram&lt;/A&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Apr 2013 06:37:59 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141211#M98934</guid>
      <dc:creator>gromar</dc:creator>
      <dc:date>2013-04-18T06:37:59Z</dc:date>
    </item>
    <item>
      <title>Re: Report questions</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141212#M98935</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;gromar: Very interesting, I'll check that out further. Thanks for the pointer!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Apr 2013 13:54:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141212#M98935</guid>
      <dc:creator>ericsnyder</dc:creator>
      <dc:date>2013-04-18T13:54:56Z</dc:date>
    </item>
    <item>
      <title>Re: Report questions</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141213#M98936</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The AbstractTreePage is a legacy class from a really long time ago (if I remember correctly).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't know if it would 'fit' in the 'newer' architecture we have.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Typically, we use the AbstractTablePage, the lefthand side is implemented by subclasses implementing the&amp;nbsp; protected abstract Table createList(); method. The right hand side is actually done in the AbstractPage class. Check the setDetailComponent() method.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For example for process definitions, the table on the left has a value change listener:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;blockcode&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; processDefinitionTable.addListener(new Property.ValueChangeListener() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final long serialVersionUID = 1L;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void valueChange(ValueChangeEvent event) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showProcessDefinitionDetail((String) event.getProperty().getValue());&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/blockcode&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and it calls this method:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;blockcode&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;protected void showProcessDefinitionDetail(String selectedModelId) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; detailPanel = new EditorProcessDefinitionDetailPanel(selectedModelId, this);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setDetailComponent(detailPanel);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; changeUrl("" + selectedModelId);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/blockcode&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the setDetailComponent() will change the right hand side.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Apr 2013 17:46:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/report-questions/m-p/141213#M98936</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-04-18T17:46:58Z</dc:date>
    </item>
  </channel>
</rss>

