You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Tim Webster (JIRA)" <ji...@apache.org> on 2014/08/14 17:24:12 UTC

[jira] [Updated] (CMIS-836) Allow the option to not list contents of the root folder in the workbench

     [ 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)