apostrophecms / apostrophe

A full-featured, open-source content management framework built with Node.js that empowers organizations by combining in-context editing and headless architecture in a full-stack JS environment.
https://apostrophecms.com
Other
4.36k stars 590 forks source link

Collapsed page tree is broken and very slow #3577

Open ObscurusGrassator opened 2 years ago

ObscurusGrassator commented 2 years ago

Bug number 1:

  1. In file 'node_modules/apostrophe/modules/@apostrophecms/page/ui/apos/components/AposPagesManager.vue' I set:
    export default {
    name: 'AposPagesManager',
    data() {
    return {
    treeOptions: {
    startCollapsed: true,    // <<
  2. Start server: 'node app @apostrophecms/asset:build ; npm start'
  3. Please watch Apostrophe app video:

https://user-images.githubusercontent.com/17063579/144985738-b9525582-4cdc-4fb7-84bb-37d0ff94b396.mp4

Bug number 2:

It takes tens of minutes to render an expanded 2000-page tree. Rendering of a collapsed tree is not much faster. The collapsed tree contents must be generated dynamically during the opening of the tree parts!

Software:

Node.js v16.9.1 Apostrophe v3.8.1 Chrome v96.0.4664.55 (x86_64) macOS Big Sur v.11.6

boutell commented 2 years ago

Re: bug number one, are you saying that it has problems if you manually change something in our source code to add an option that is not there now? It seems that way (I don't see the option being set in the source).

I can see why you might like to have the tree start collapsed, but since we're not actually doing that, I don't think I'd call it a bug in Apostrophe if it doesn't work when you modify our source code to set that flag.

As for bug number two though, that of course is a concern. We should work on improving tree performance as people do build big page trees sometimes and A2 had acceptable performance for large trees.

On Tue, Dec 7, 2021 at 2:34 AM Obscurus Grassator @.***> wrote:

Bug number 1:

  1. In file @.***/page/ui/apos/components/AposPagesManager.vue' I set:

export default { name: 'AposPagesManager', data() { return { treeOptions: { startCollapsed: true, // <<

  1. Start server: 'node app @apostrophecms/asset:build ; npm start'
  2. Please watch Apostrophe app video:

https://user-images.githubusercontent.com/17063579/144985738-b9525582-4cdc-4fb7-84bb-37d0ff94b396.mp4

Bug number 2:

It takes tens of minutes to render an expanded 2000-page tree. Rendering of a collapsed tree is not much faster. The collapsed tree contents must be generated dynamically during the opening of the tree parts!

Software:

Node.js v16.9.1 Apostrophe v3.8.1 Chrome v96.0.4664.55 (x86_64) macOS Big Sur v.11.6

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/apostrophecms/apostrophe/issues/3577, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAH27KMVVRWDBUYFEYQIJDUPW2ITANCNFSM5JQRFLOQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--

THOMAS BOUTELL | CHIEF TECHNOLOGY OFFICER APOSTROPHECMS | apostrophecms.com | he/him/his