We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 3749
    • 24,544 Posts
    I’ve spent some more time in a careful reading of your review (you might want to do the same with my last post, you seem to have missed its point).

    As I said before, there is much good information there. I believe you are dead on in your review of the documentation with respect to findability and usability. I think everyone here is aware of the problem and work is being done, behind the scenes, to address it.

    What you still seem not to get, in spite of everyone here trying -- with varying degrees of civility -- to beat it into you, is the crux of what MODx is.

    The default template and home page and .css file are simply there to help new users get started. They are placeholders for the USER’s web site. What you appear to have done in some parts of your review is to create a web site yourself, then blame its deficiencies on MODx. You like to be able to identify visited links, so do most of us -- so we implement that in our .css files. You complain that you had to write PHP code to implement some of what you wanted -- MODx is intentionally minimal so as not to restrict people from using PHP to do exactly what they want. The whole point of MODx is to be a platform that allows you to easily create *exactly* the web site you want with no restrictions. The obvious price to be paid for that is a lack of functionality "out of the box." To complain about that lack of functionality is to misunderstand MODx.

    I also think one thing that people here are responding to is the relatively limited choice of features that you are interested in and had trouble implementing in MODx. Of the many, many possible features of a web site, you’ve selected a tiny handful to discuss that happen not to be effortlessly implementable using MODx.

    More to the point, one of the greatest strengths of MODx (completely ignored by your review) is its active and helpful developer community. It would be an interesting exercise for you to implement your test website again but, when stuck, ask a question here (do it under an assumed name if you’re concerned about it being objective). My guess is that you would get helpful replies and be able to easily implement everything you want in MODx in a very short time.

    At any rate, thanks for the effort you have put into your review and for helping raise the visibility of MODx.

    Bob
      Did I help you? Buy me a beer
      Get my Book: MODX:The Official Guide
      MODX info for everyone: http://bobsguides.com/modx.html
      My MODX Extras
      Bob's Guides is now hosted at A2 MODX Hosting
      • 33372
      • 1,611 Posts
      I just stumbled upon this thread and I think I have better things to do today than read through it all. Maybe I will later when I’m not so crazed. But I did want to mention that I recently did a MODx site with Previous/Next links for multiple subsections, and it was a cinch (that part probably took me five minutes to code and test).
        "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
      • LOL: Please post that here so Rahul can cross another one off the list. tongue (Just to be clear, this is me making a light of this thread, not of Rahul.)
          Ryan Thrash, MODX Co-Founder
          Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
          • 34017
          • 898 Posts
          This is looking like a bash-Rahul post to me.

          I dont think he meant any offense by the comparison he tried. (I could be wrong). I think we can discuss these kinds of things without getting all pissy cant we?


          It is an older review (as he said) since it menations DropMenu (those were the days eh?). I think most of his concerns over this review are either taken care of, need better documentation, are or in the hopper/plans.
          1. caching (taken care of)
          2. documention (being worked on continually (wiki was a huge help)
          3. Previous/Next links (it can be done pretty easily but is not out of the box)
          4. Backups and restores (in the works. Better solutions now with mod_backup. I dont know many CMS’ that do this great)

          So I thank you Rahul for your shot at a comparison and urge you to try it again with a newer version. The Wiki makes a lot of things a lot easier (such as gallery) with step-by-step tutorials.

          Chuck
            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
          • I probably did get a bit defensive over the caching bit. I perceived as a lack of acknowledgement of a simple configuration change even to the older/outdated version would eliminate a mark against MODx in light of this review and what makes MODx perform well: caching. I sincerely apologize apologize for reacting the way I did.

            I do think it bears repeating that MODx != YAPS, despite some very YAPS-like add-ons being available. That’s just not what we need to focus our attention on right now, and that will become apparent why this year with our 097 efforts. (YAPS is my Yet Another Portal System term)

            The prev/next thing is a minor point of disagreeing on what’s important in a review. Prev/next add-on is/would be just that: an add-on and not a core function applicable to a majority of sites. Wayfinder: definitely (super-configurable/flexible menu builder ... quick sitemap recipe: [!Wayfinder!]). Breadcrumbs: possibly (and included) ... and the list goes on.

            097 will bring a more clear separation of the core (what MODx is) and add-ons (what you can do with MODx to build sites and applications). In the same light as above, Add-ons != YAPS (but they admittedly let you make them with some effort) != MODx ... But 097 is not here today, and that clarity about MODx/add-ons isn’t quite so well handled in today’s and to a considerably larger extent in the 095 release which was reviewed. So Rahul has every right (not the right word exactly, but I hope the intended message comes across) to draw most of the conclusions he does.

            I do especially agree with Rahul regarding documentation. While there’s lots of great information scattered about, finding it is too frequently difficult and frustrating between the forums, the wiki, various tutorial sites and our own sometimes dated and incomplete existing documentation. You probably have to have groked MODx for a while to get into the zen-like state of knowing exactly where to look and the right magic combination of what to type into which search box. The forum Google Search and the built-in SMF search from the menu below your login name return different results. Heck I even have to use the "Show lasts posts" links attached to forum profiles to find what I’m looking for for posts made in the last 24 hours sometimes. I did that today and for this thread, remembering that Susan (Sottwell) had commented about the Previous Next snippet that a forum member I was not familiar with had posted just today. Can someone make a recommendation that will help us fix that? Would Rollyo help?

            BobRay is also very right, probably the best resource is asking on the forums after performing some cursory investigations on the wiki and in the forums. (Sounds like my signature eh?) The MODx community (and founders) are passionate and very helpful. And yes sometimes they can react like an over-protective parent who defends their baby a bit over-zealously. smiley

            note: edited a couple of times for clarity and tone

            note 2: done editing ... no more I promise!
              Ryan Thrash, MODX Co-Founder
              Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
              • 6016
              • 55 Posts
              Quote from: rthrash

              I probably did get a bit defensive over the caching bit. I perceived as a lack of acknowledgment of a simple configuration change even to the older/outdated version would eliminate a mark against MODx in light of this review and what makes MODx perform well: caching. I sincerely apologize apologize for reacting the way I did. 

              I do think it bears repeating that MODx != YAPS....

              You are being more gracious here than you need to be. Apology gladly accepted, though your comments about caching were on the mark and, as I said, I will make updates soon to reflect those comments.

              Regarding what MODx "is" or "is not": Generally, I find that arguments about what something "is" don’t lead to any place useful. I find it much more useful to talk about what something "does" or "does not do". What something "does" I can observe. What something "is" I can rarely figure out, with a few exception. I can tell that a dog "is" a dog and a cat "is" a cat, but how do I figure out if a software package "is" or "is not" something?

              So what "does" MODx do, and what does it not do? What "does" CMSMS do and what does it not do? These questions seem to me far more practical to ask.

              BobRay says: "What you still seem not to get, in spite of everyone here trying  -- with varying degrees of civility -- to beat it into you, is the crux of what MODx is." And he’s right. I don’t know what MODx "is". I do have a pretty good idea of what it "does" (and some things it doesn’t do"). I also know what it’s called -- sometimes a CMS, sometimes a CMF. But what you call something doesn’t mean a lot, unless you connect that name to what it *does*.

              OpenGeek says: "You have already shown everyone on this board how little you understand about MODx.". And he’s right; I don’t claim to "understand" MODx, I only claim to have a pretty good idea of what it does, and what it doesn’t do.

              And so on -- I hope you see where I am going with this.

              I have no understanding of what MODx "is" in some abstract sense. I have always thought of software as performing computations. Maybe very complex computations, maybe computations that make it almost human (e.g., software that plays chess), maybe computation at an awesome speed (e.g., real-time control of an airplane), but still, just computations, calculations, string processing, HTML rendering, whatever.  Computations, that’s it. And I find it useful to know what computations MODx can do, and which ones it doesn’t do.

              It could be that I’m missing a whole new way of looking at software. If so, by all means, please enlighten me. (Without name-calling, if possible. smiley

              Rahul
                • 33372
                • 1,611 Posts
                Just because Ryan asked to see it, here’s my quick and dirty previous/next links snippet. It has a JavaScript jump menu in between the links as well. Nothing fancy, but it did what I needed and only took a few minutes to code.

                The snippet:
                <?php
                $parentInfo=$modx->getParent($modx->documentIdentifier,1,'id');
                $docs=$modx->getActiveChildren($parentInfo['id'],'menuindex','ASC',$fields='id,pagetitle');
                
                $previous=$next='';
                $links='<select onchange="jumpMenu(this)">'."\n";
                $howmany=count($docs);
                for ($x=0; $x<$howmany;$x++) {
                   if($docs[$x]['id']==$modx->documentIdentifier && $x!=0) $previous='<a href="'.$modx->makeURL($docs[$x-1]['id']).'">« previous</a> ';
                   if($docs[$x]['id']==$modx->documentIdentifier && $x!=$howmany-1) $next=' <a href="'.$modx->makeURL($docs[$x+1]['id']).'">next » </a>';
                   $links.= '<option value="'.$modx->makeURL($docs[$x]['id']).'">'.$docs[$x]['pagetitle'].'</option>'."\n";
                }
                $links.='</select>';
                $output='<p style="text-align:center">'.$previous.$links.$next.'</p>';
                
                return $output;
                ?>


                And the jump menu JavaScript in case anyone’s interested:
                <script type="text/javascript">
                   function jumpMenu(list) {
                     location.href = list.options[list.selectedIndex].value
                   }
                </script>
                  "Things are not what they appear to be; nor are they otherwise." - Buddha

                  "Well, gee, Buddha - that wasn&#39;t very helpful..." - ZAP

                  Useful MODx links: documentation | wiki | forum guidelines | bugs & requests | info you should include with your post | commercial support options
                • Just to chime in on this thread (even though I have been following it with interest)...

                  Quote from: crossconnect at Jan 25, 2008, 02:10 AM

                  I find it much more useful to talk about what something "does" or "does not do". What something "does" I can observe. What something "is" I can rarely figure out, with a few exception. I can tell that a dog "is" a dog and a cat "is" a cat, but how do I figure out if a software package "is" or "is not" something?

                  Quickbooks is an Accounting Program that Does Invoices; Freshbooks Does Invoices (well)
                  I actually agree with Rahul, that one needs to judge an application on what it does but often a comparison needs to be done within a class of applications so to make an analogous comparison it would be sensible to compare Simply Accounting to QuickBooks Pro both are accounting applications that do invoicing. But, it would not be fair to compare either to Freshbooks an invoicing application. You would spend all day remarking on FreshBooks limitations and restrictions when those limitations or restrictions (read simplicity) are what make me use it for invoicing clients and managing my business with Quickbooks.

                  MODx is a CMF that Does CMS
                  If MODx promotes itself as a CMS it is because it does allow the management of content but it does more and assumes less. Most CMS packages assume more and offer more upfront tools, plugins and more but with limits and with often very oddball implementation schemes. I see that the true form of the Content Management Framework is coming to light in 0.9.7 in that custom distros will be able to be built and that individual developers (like you and me) will be able to build our own for deployment the way we see fit. No current CMS can do this. So while MODx is a CMF that offers a CMS it is not a CMS. CMSMS is a CMS that is only a CMS. If you are a web designer CMSMS is probably fine but if you are a developer looking to build out a custom solution for a client without hacking a lick of the core then MODx is the thing.

                  I Still use a Hammer to Hit Nails
                  I still install WordPress for blog sites for clients as it is a streamlined (although templating is a pain in the a$$) but it is the right tool for the job. I use Open Realty for real estate websites (although I hope to be able to package MODx 0.9.7 for this) because it is easy (it has built in prev/next).

                  Thanks for the Shortlist
                  That all said, I think that your assessment that it should be in your shortlist of two selected applications is thoughtful and although imperfect welcome and as has been said before, try out the latest release and then tryout 0.9.7.

                  BTW: What other CMS has this much functionality and flexibility at less than 1.0?

                  Kindest regards,

                  Jay

                    Author of zero books. Formerly of many strange things. Pairs well with meats. Conversations are magical experiences. He's dangerous around code but a markup magician. BlogTwitterLinkedInGitHub
                    • 3749
                    • 24,544 Posts
                    OK, I’ll take a shot.

                    First, we need to distinguish between MODx and MODx’s add-ons. The distinction is somewhat blurry because some add-ons are installed automatically when you install MODx. Still, MODx itself is just the underlying engine. Much of your review is actually about the add-ons because MODx itself does no menus, no web pages, no links, etc. A pure review of MODx would look at the performance, robustness, and ease of interaction with the engine. Each add-on (preferably its current version) would have to be evaluated separately.

                    That said, it’s not unreasonable to review the installable package as you did. The key, though, is to appreciate the tradeoffs some of us have mentioned. Any time you make something easier "out of the box" you limit its flexibility. What MODx "does" (using your preferred terminology) is provide a fairly high-performance, extremely robust, and easily extendable framework. Not only is the complete source code available, but it is written with user-extensibility in mind.

                    I know these sound like marketing slogans, but after you’ve done things in a few hours in MODx that you spent weeks trying to get to work reliably in another CMS, they become real. While other CMSs let you put PHP on a web page, MODx provides dozens of hooks into the core code that allow users to alter MODx’s behavior in almost infinite ways. All the elements of a MODx document are available to you (see: http://www.modxcms.com/the-document-object.html) and here are some of the more commonly used hooks into the engine itself: http://www.modxcms.com/api-quick-reference.html. There are many more, sadly not as well documented as they should be. What other CMS gives you an ondocumentprerender() function that you can hijack for whatever purpose you like?

                    Notice particularly the regClientCSS() function, which allows you to inject CSS code, generated on the fly, into the header of any page (based on conditions you evaluate at the moment) even though your code is called at the bottom of that page. Similarly, the regStartupScript() function lets you do the same with javascript code.

                    Note also, the eForm and eFormToDB snippets, which let you create custom forms that interface with the database and email systems in countless ways with just a few lines of code.

                    Yes, you can hack the core code of any open-source CSM and make it do whatever you want, but what happens when the next version comes out?. The difference with MODx is that you almost never have hack the core because the hooks you need are already there and are designed for your use.

                    With virtually all other CMS packages, there are many things that a user might reasonably want to do on a web site that absolutely can’t be done without hacking the core code. MODx not only lets you do those things, it lets you do so safely and, more often than not, easily.

                    And let’s not forget maintainability. Because of MODx’s design, your custom code is not buried somewhere in the voluminous codebase or spread across dozens of pages, it is readily visible (and editable) in the MODx Manager under the name you give it in the category you created and assigned it to.

                    And, I haven’t even gotten to the reason that actually attracted me to MODx in the first place. All of the above were just frosting on the cake. I wanted a site that would allow me to assign naive (not very web savvy) users, to add the actual content to the site securely and easily. I wanted aggregated news articles, automatic menus, publish and unpublish dates, multiple photo galleries, newsletter uploads, user editing of limited areas of the site, and a ubiquitous page template (with header, footer, sidebar, and menu) that the users couldn’t modify. I got it all in MODx in just a few days with a minimum of strain and frustration and an astoundingly small number of lines of code. Best of all, because of MODx’s design, I had *total* control over the site’s look and feel. To get that kind of robustness and ease of maintenance without being locked into a standard design was something I didn’t dream existed until I found MODx.

                    If all you want is a simple "brochure" web site that can be navigated from end to end with "previous" and "next" links, or a standard no-frills blog, MODx might not be the answer. If you want to do (there’s that word again) something truly interesting and unique on a robust, secure, and easily maintained web site, MODx might be your only choice.

                    Bob
                      Did I help you? Buy me a beer
                      Get my Book: MODX:The Official Guide
                      MODX info for everyone: http://bobsguides.com/modx.html
                      My MODX Extras
                      Bob's Guides is now hosted at A2 MODX Hosting
                    • MODx does not force you into a site structure. MODx does allow you to build from flat uni-level sites to practically infinitely nested sites.

                      MODx does not force you into a markup style. MODx does allow you to ruin the web with table based layouts if you so desire. tongue

                      MODx does not do well with huge sites. MODx does just fine for sites from 3500-5000 pages and smaller.

                      MODx does not make sites in terms of blocks or taxonomy. MODx does allow you to emulate that workflow if you’d like.

                      MODx does not in general make you build sites in any way. MODx lets you build sites in a way that’s comfortable, often much faster than with desktop WYSIWYG html editors.

                      MODx does not force you to do things in any prescribed manner, there’s always more than one way to reach a desired end result. MODx does lend itself to building sites in more efficient ways – sites built several years ago are likely much more difficult to maintain than those built today as folks have realized just how malleable MODx solutions really are.

                      MODx does not force you to use any particular helper libraries. MODx does allow you to use pretty much any library in your projects with ease, be it jQuery or Mootools, Magpie or Simplepie, PHP Mailer or ...

                      MODx does not force you into a limited number of content areas. MODx does allow you to have virtually any type of content on every page: grids automagically built from CSV files that the receptionist FTPs to a specific location daily to simple text input fields.

                      MODx does not limit the number of layout templates you have. MODx does allow for pretty much unlimited anything.

                      MODx does not do workflow publishing. MODx does allow you to work out a simple publishing workflow "hack" by creative use of manager groups and publishing permissions.

                      MODx does not do versioning. MODx does provide an API that allows developers to extend it’s behavior and pull this off if they were so inclined without hacking the core at all. Probably. tongue

                      MODx does not force you to put your files in any particular place. MODx does allow developers to set up site pretty much any way you want, even working off templates stored on the filesystem.

                      MODx does a lot of things if you’re creative. MODx does not work well for those that have fixed mindsets about how things should be or ingrained habits learned from other systems.

                      In short, MODx is what you make it. MODx is strangely seductive in a lot of ways, and infuriatingly complex in others. MODx is not YAPS, unless you’re willing to make it YAPS, because MODx is really flexible. MODx does what you tell it to do, exactly how you want it to do it.

                        Ryan Thrash, MODX Co-Founder
                        Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me