[
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 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
}
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.
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 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
> }
--
This message was sent by Atlassian JIRA
(v6.2#6252)