We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 32645
    • 377 Posts
    We use 1 instance of MODX to handle many sites, and unfortunately its become incredibly bloated and very slow.

    Whilst most of it could be down to simple HTML/JS/CSS issues, or server caching/optimization, I do have a sense that its MODx that is causing a majority of the slow-down.

    Currently we have over 11500+ pages (not including chunks, snippets, plugins, etc) and of course we’re handling 3 sites with 1 instance of MODX...

    Anyway, whilst we’re all waiting for MODX2 to come out, I’m thinking about a move to the Zend Framework, or at the very least using Zend to look at the MODX database and do stuff, that way I don’t have to do much.

    On this thread there is a discussion about Zend and MODX. My question is, they keep mentioning "Tattoo", I did a search but I couldn’t find anything. What is "Tattoo" and how does it relate to MODX.

    http://modxcms.com/forums/index.php/topic,3203.0.html

    Finally has anyone used the ZF to extend MODX so that you use ZF instead of MODx?
      • 25663 MODX Staff
      • 12,272 Posts
      11700 docs ... wow, would never recommend putting all of that into a single modx instance. I don’t think the Zend Framework will alleviate anything either. The slowdown is coming from the cache files. How big are your two .idx files? MODx has to parse the main .idx file on every request.

      Tattoo = 0.9.7 = Revolution (the last name is sticking)
        Ryan Thrash, MODX Co-Founder
        Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
        • 36416
        • 589 Posts
        Quote from: OpenGeek at Feb 21, 2008, 11:54 AM

        Quote from: bakalek at Feb 21, 2008, 11:32 AM

        Do unpublished pages count toward the ’maximum’ page limit?
        They do not increase the cache file size, but they may have other performance affects since they are additional rows in the database.

        Interesting... so one could probably maintain global cutoff date for content and display archive of older documents "synthetically" (Ditto have parameter to aggregate unpublished documents). I need to think it through because we just inherited site with cca. 2800 articles.
          • 4749
          • 623 Posts
          Jason,
          When using the wrapper snippet with Ditto/Reflect I get errors. Well, more specifically, when using reflect to show the archive I get "The Ditto object is invalid. Please check it." error (Line ~304 of the reflect snippet). I know the include snippet is working as it should, but what needs to be changed in ditto/reflect to accommodate the way it’s called in the wrapper snippet? Here’s my call:

          [!Includes? &file=`reflect/reflect.snippet.php` &return=`1` !]
            The MODx has you...
            Utah Web Design
            • 25663 MODX Staff
            • 12,272 Posts
            Try stripping the &return=`1` param and see what happens. Also you might want to pass in the additional params normally needed by those snippets.
              Ryan Thrash, MODX Co-Founder
              Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
              • 4749
              • 623 Posts
              No dice, I had already stripped it out once. I had the other parameters in there too I just didn’t post them because there were so many.
                The MODx has you...
                Utah Web Design
                • 34017
                • 898 Posts
                reflect uses runSnippet(ditto, params).

                but ditto isnt in the modx db anymore. So you’d need to have reflect do runSnippet(includes, dittoparams+includeparams).


                  Chuck the Trukk
                  ProWebscape.com :: Nashville-WebDesign.com
                  - - - - - - - -
                  What are TV's? Here's some info below.
                  http://modxcms.com/forums/index.php/topic,21081.msg159009.html#msg1590091
                  http://modxcms.com/forums/index.php/topic,14957.msg97008.html#msg97008
                  • 13712
                  • 15 Posts
                  Quote from: OpenGeek at Dec 10, 2008, 12:21 PM

                  Just change the snippet call to ’include’ and add the file and return parameters; all the other parameters for the snippet call would be the same as if you were calling the snippet the old fashioned way:
                  [[include? &file=`assets/snippets/wayfinder/wayfinder.snippet.php` &return=`1` &startId=`0` &outerTpl=`MyWayfinderOuterTpl`]]


                  Very nifty piece of work indeed. Although I am still new to all of this, I can see the merit of using this procedure.

                  The above example uses a wayfinder snippet call which I gather (I may be wrong) is standard in modx. How about if a custom snippet in /assets/my_snippets/test.snippet.php is to be included, What other/different would be required? I asked this based on the following, especially the "modified tag that adds an additional parameter" part:
                  Quote from: OpenGeek
                  ...then simply put your snippets in external files and include them, replacing the snippet calls with a modified tag that adds an additional parameter identifying the file containing the snippet code.

                  I would not be surprised if the solution is quite trivial but I am still learning so don’t have a laughing fit smiley.
                    • 22303 MODX Staff
                    • 10,725 Posts
                    Regular tag for Wayfinder:
                    [[Wayfinder? &startId=`0` &outerTpl=`MyWayfinderOuterTpl`]]

                    "modified tag that adds an additional parameter":
                    [[include? &file=`assets/snippets/wayfinder/wayfinder.snippet.php` &return=`1` &startId=`0` &outerTpl=`MyWayfinderOuterTpl`]]
                      • 28309
                      • 12 Posts
                      As per my understanding their is no problem in holding the document.
                      as id in modx_site_content is of type int with size 11.

                      The only problem is how you organise your data.
                      You have to cache static document and and uncached the document with dynamic data.