We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 36667
    • 57 Posts
    Peter Falkenberg Brown Reply #71, 17 years, 6 months ago
    Hello All,

    After installing MODx on a Linux/Apache site, I’ve spent a few days scouring the MODx site, the forums, the Wiki and many, many reviews found via Google, while trying to decide if I can recommend MODx to the higher ups in our publishing company. Forgive my lengthy post, but I’m trying to get some perspective on using MODx for large data sets. I’ve read this entire thread, by the way.

    I’m very impressed with the MODx concepts. I like the extensible ’hooks’ a LOT.

    As some background, I wrote my own Perl/MySQL CMS, which I use at:
    http://worldcommunity.com/journal/.
    It has only around 300+ articles, so I’m safe for awhile, in terms of that 5,000 limit smiley.

    However, I used the very same software for the publishing company I work at for my day job, for 3 of their magazines, quite successfully. The CMS I wrote contained articles for the 3 mags, plus a number of micro-sites, with a total of about 15,000 articles. One mag had 7,000 articles. My program (WCN:SQL) wrote out all of the pages to static html files, and used "section pages" to display paginated lists of documents in each section, with Previous and Next links. The section pages were also static files. I never ran into a problem with maxing out, because the Perl code created the Next links using MySQL’s limit clause, and then translated that into the appropriate filenames. It took about 1-2 minutes to write out about 7,000 files, which we did every time an editor added or updated a story.

    Here’s an example of a paginated section from my smaller site:
    http://worldcommunity.com/pages/s.0001/t.p0001.html

    That said, our publishing company has moved on to a so-called "enterprise" system that we all now officially hate (Ektron). The magazine that had 7,000 articles probably has 8,000 or 9,000 by now, and will continue to grow. Many of the 30+ mags in our new larger company have multiple posts each day, so things add up really quickly over the years.

    Also, it would be nice to have one MODx install for 3 or 4 mags. It is of course possible to have one installation per magazine, but the mags belong to groups, and the way we have it set up now is that the editors from one group log in and can take care of the 3 or 4 mags in their groups. That would mean, however, that the numbers would jump from 7,000 to many more, based on the group.

    So, I’m looking for something better and faster than Ektron. My old system won’t quite cut it, in terms of desired features, (and it’s a one-man endeavor, so it’s not being considered smiley.

    Is there any clarity at this point, in terms of the real upper limits of MODx Revolution?

    It seems to me that it’s not only the caching issue, but Ditto itself that may have some problems. I’ve been searching for the code and explanation of how to display paginated pages of sections that have hundreds of articles (like my system did, see above), and it seems like Ditto is the snippet everyone uses, but some of the posts in this thread seemed to say that Ditto would choke on large numbers of records.

    Is there an extension that just has the Previous and Next links, without the numbered links, that might be a lot quicker?

    Besides the cache issue and Ditto, it seems that the Manager Tree might get unwieldy with 8 or 9 or 10,000 documents.
    With Ektron (and with my Perl system), one can simply page through the documents, with Next links, and/or search for docs to edit, so it doesn’t get unwieldy.

    Finally, although this is slightly off topic (but will get back on topic really quickly), our magazines (and mine too) use "multi-section" pages, like this:

    http://worldcommunity.com/pages/c.0001.html

    to display a certain amount of links within a section, with multiple sections displayed on the page. The above link only displays one article in each section, but it could be 3 or 5 or whatever. The order of sections in the multi-section page (or "category page") can be set in the CMS.

    Can MODx do that as well? Would that have to be done by placing one Ditto snippet for each section, by hand, on the category page? It would be nice if it was automatic, so that when one added a section to a larger category, the section displayed on the multi-section page. But I also saw higher up in this thread (and this IS on topic) that having multiple Ditto sections on a page with large numbers of articles makes the page very slow. So that’s a problem. It seems that Ditto is parsing through all the records, or did I read that wrong?

    Based on all of the above, do you think MODx Revolution will fit the bill?

    Thanks for what looks like a great program!

    Peter Brown
      Visit The Significato Journal ~ nectar for the soul ~ http://significatojournal.com
      • 25663 MODX Staff
      • 12,272 Posts
      Hi Peter, I am confident MODx Revolution can fit the bill quite well with a few custom snippets. I’d like to speak with you offline about this though as there’s a lot that can be covered quickly in a conversation that would take hours of typing back and forth. Please contact me via ryan -atmark- collabpad.com. Thanks!
        Ryan Thrash, MODX Co-Founder
        Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
        • 33372
        • 1,611 Posts
        I expect that Ryan and Jason et al could come up with a customized version of Revo that would do all of that, since Revo is not that far from being feature ready (it powers the new MODx site and many others). You could probably also make the current 0.9.6.x version work for you as long as you have a server with sufficient CPU to parse large cache files, minimize the site cache file as much as possible using the various tricks throughout these forums, and perhaps modify the document tree code in the Manager so as to avoid an overwhelming number of docs being displayed there. Personally I would think that given the scope of this project and the certainty that you’ll be pushing up against the outer limits of the current version very soon, Revo would be the best choice.

        Regarding your Ditto concern, I think that you’d only have issues with very large data sets when using uncached Ditto calls, but I expect that you could probably cache many of them and then this is a non-issue. I often don’t use Ditto for very specific aggregate queries because I feel like it’s too much tool for the job. If I find it’s easy to just use a regular MySQL query or the MODx API to grab the data I need, I just do that.

        The modular nature of MODx is really its strongest selling point for people like you who are comfortable extending it, since you don’t have to be limited by the standard feature set.

        EDIT: Ryan beat me to replying (somehow his reply didn’t show up while I was typing mine; I guess I’d had that tab open a lot longer than I thought)...
          "Things are not what they appear to be; nor are they otherwise." - Buddha

          "Well, gee, Buddha - that wasn't very helpful..." - ZAP

          Useful MODx links: documentation | wiki | forum guidelines | bugs & requests | info you should include with your post | commercial support options
          • 36667
          • 57 Posts
          Peter Falkenberg Brown Reply #74, 17 years, 6 months ago
          Dear Ryan and Zap,

          Thank you both very much for your responses.
          As they say in Perl land (and maybe PHP land too), "there’s more than one way to do it."

          If custom snippets can make things work, that’s good news.

          Ryan, I’ll email you off list.
          My email is [email protected].

          Best regards,

          Peter
            Visit The Significato Journal ~ nectar for the soul ~ http://significatojournal.com
            • 21739
            • 49 Posts
            Has this document ’limit’ been lifted in the RC1 release of Evolution? Or are there plans to resolve this issue for Evolution in the future?
            Greetz!
              • 5340
              • 1,624 Posts
              I found this on the issue

              http://svn.modxcms.com/jira/browse/MODX-446

              MODX-446 is part of Evolution now.
                • 25663 MODX Staff
                • 12,272 Posts
                That doesn’t really rectify the "limit" issues which are not really limits per se but general guidelines based on the configuration of your server. It does help a bit in regenerating the cache file when clearing though.
                  Ryan Thrash, MODX Co-Founder
                  Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
                  • 7350
                  • 24 Posts
                  I’m aware of this topic being a bit old, but I’d really like to know whether the latest 1.0.3 version is also suffering this limit issue and whether weblinks count toward this ’maximum’ page limit?

                  Thank you!
                    • 22303 MODX Staff
                    • 10,725 Posts
                    Yes 1.0.3 is still built on the same architecture and will continue to have these practical limitations. But, as we’ve said, there a many ways to avoid these, and not treating every single piece of data as a Resource in MODx is still the best one. When you have thousands of Resources, I’m willing to bet many of them are simply the same View presenting different data.
                      • 7350
                      • 24 Posts
                      Thanks for the answer OpenGeek!

                      I’ve been re-reading the whole thread again and I just wanted to make sure whether I’ve understood the probem and the way to evade it.

                      May I supose that uncached documents don’t take into account for this document limit guideline (even though they remain in the database maybe causing other side effects, but those could be solved optimizing/filtering my database requests I guess)?

                      For example, supose that I’m running a news site that is reaching the 5K "limit". If I eventually unchache (and unpublish) older entries (but maintain them for record purposes) and clear the cache, in order to consistenly maintain a number of 3K cached/published documents. Should I worry about this limit and performance decrease (assuming that I have optimized my DB queries and tables)?

                      Thank you!