[ https://issues.apache.org/jira/browse/CMIS-836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tim Webster updated CMIS-836: ----------------------------- Description: The workbench lists the contents of the root folder on start up. This causes a huge delay or crash when opening the workbench if the root folder contains a large number of items. I propose an option to NOT list the contents of the root folder if a particular system property is passed in. This is the simplest fix, although I imagine something could be done with paging, etc but the code that does this is not using queries. Other options are: - offer a limit (with a system property or re-use cmis.workbench.folder.maxItemsPerPage) - don't list at start-up, and add a 'fetch' button on the toolbar from loadFolder() in ClientModel.java: if (this.listRootContents()) { ItemIterable<CmisObject> iter = ((Folder) folderObject).getChildren(clientSession .getFolderOperationContext()); for (CmisObject child : iter) { children.add(child); } } private boolean listRootContents() { final String dontListRootContents = System.getProperty("cmis.workbench.dontListRootContents"); if (dontListRootContents != null) { return !Boolean.parseBoolean(dontListRootContents); } return true; // default behaviour } was: The workbench lists the contents of the root folder on start up. This causes a huge delay or crash when opening the workbench if the root folder contains a large number of items. I propose an option to NOT list the contents of the root folder if a particular system property is passed in. This is the simplest fix, although I imagine something could be done with paging, etc but the code that does this is not using queries. Other options are: - offer a limit (with a system property or re-use cmis.workbench.folder.maxItemsPerPage) - don't list at start-up, and add a 'fetch all' button on the toolbar from loadFolder() in ClientModel.java: if (this.listRootContents()) { ItemIterable<CmisObject> iter = ((Folder) folderObject).getChildren(clientSession .getFolderOperationContext()); for (CmisObject child : iter) { children.add(child); } } private boolean listRootContents() { final String dontListRootContents = System.getProperty("cmis.workbench.dontListRootContents"); if (dontListRootContents != null) { return !Boolean.parseBoolean(dontListRootContents); } return true; // default behaviour } > Allow the option to not list contents of the root folder in the workbench > ------------------------------------------------------------------------- > > Key: CMIS-836 > URL: https://issues.apache.org/jira/browse/CMIS-836 > Project: Chemistry > Issue Type: Improvement > Components: opencmis-workbench > Affects Versions: OpenCMIS 0.11.0 > Reporter: Tim Webster > Priority: Minor > Fix For: OpenCMIS 0.12.0 > > Original Estimate: 24h > Remaining Estimate: 24h > > The workbench lists the contents of the root folder on start up. This causes > a huge delay or crash when opening the workbench if the root folder contains > a large number of items. > I propose an option to NOT list the contents of the root folder if a > particular system property is passed in. This is the simplest fix, although > I imagine something could be done with paging, etc but the code that does > this is not using queries. > Other options are: > - offer a limit (with a system property or re-use > cmis.workbench.folder.maxItemsPerPage) > - don't list at start-up, and add a 'fetch' button on the toolbar > from loadFolder() in ClientModel.java: > if (this.listRootContents()) { > ItemIterable<CmisObject> iter = ((Folder) > folderObject).getChildren(clientSession > .getFolderOperationContext()); > for (CmisObject child : iter) { > children.add(child); > } > } > private boolean listRootContents() { > final String dontListRootContents = > System.getProperty("cmis.workbench.dontListRootContents"); > if (dontListRootContents != null) { > return !Boolean.parseBoolean(dontListRootContents); > } > return true; // default behaviour > } -- This message was sent by Atlassian JIRA (v6.2#6252)