We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 13643
    • 44 Posts
    We recently rebuilt a client's website in MODx, and added a couple custom manager pages for him to do maintenance-related tasks. He is now requesting some additional programming not related to website management. Originally, we had planned to code these scripts as more custom manager pages on his website, to make use of existing security and other functionality, as well as our own familiarity with MODx and ExtJS programming, and we've already done some coding in this direction.

    As is often the case with such projects, however, scope creep is setting in. (Note: This is hourly work, so scope creep in this case is not really a bad thing as far as we're concerned.) The customer now wants the new application to be hosted on his local server, both to protect sensitive customer information and decrease reliance on his not-so-robust internet connection. More business-related functionality is being requested, with a possible view to the web application we're writing eventually replacing his current legacy (1980's) dBase system.

    Our first thought was to simply move the MODx and ExtJS code we've already done to his local server, and port it to the front end, rather than the manager, using the login snippet for security. Considering, however, that the foundation we are currently laying may in future support a full-blown business management system, complete with invoicing, inventory, etc., we want to be very careful in our selection of the technology stack.

    Which brings us to the point of this somewhat rambling thread: How does MODx perform as an application framework, relative to the other ones out there, such as Cake (which we don't much like), CodeIgniter (which we haven't really tried) or any of the others? Are there latency issues? Extensability problems? Are there other frameworks that have the flexibility and object-orientation of MODx, with better documentation or performance? Any thoughts on the subject would be appreciated, particularly from anyone who has actually used MODx in this type of application.
      • 36404
      • 307 Posts
      hi,

      honestly, reading what you're describing, data not being website related at all and the app having to be portable, i would take the framework choice... there are quite a lot to be as flexible as modx' one (sorry guys here but i would even say far more when it comes to non-modx related data)

      i've often had to do what you describe and have used Code Igniter (2) to code apps that have been installed near modx websites and as standolne apps without any neighbour
      CI choice was because it fast and not overwhelmed with unuseful dependecies, but there are other very good frameworks that are worth a try as Yii for example, a little more complex but still very fast and coming with a impressive scaffolding app that may help save some time

      have swing
        réfléchir avant d'agir
        • 22303 MODX Staff
        • 10,725 Posts
        If you like building web sites with MODX, I see no reason to learn another framework to build a secure web application. We are working hard to make MODX even more useful as a stand-alone framework, and we build many different kinds of web applications (internet and intranet) using MODX as a framework ourselves.
          • 13643
          • 44 Posts
          Thanks for your input, guys. We do like MODx a lot, and I believe it's true what I read somewhere that how well you know your framework of choice is more important than which one you use. The main concern we have is the performance issue, since I have heard that xPDO can slow things down somewhat. Any insight into that?

          (BTW, I'm subscribed to this thread, but it seems I'm not getting email updates - anyone else experiencing that problem?)
            • 22303 MODX Staff
            • 10,725 Posts
            Quote from: javadecaf at Jun 05, 2012, 03:23 PM
            The main concern we have is the performance issue, since I have heard that xPDO can slow things down somewhat. Any insight into that?
            I think misusing any O/RM or even raw database access layer can "slow things down", but I certainly don't see how xPDO as a tool for building an O/R table model and CRUD scaffolding for it can slow things down. Maybe we could discuss specific scenarios where you think using xPDO might be a bottleneck to performance to better clarify the issues you've been hearing about.

            Quote from: javadecaf at Jun 05, 2012, 03:23 PM
            (BTW, I'm subscribed to this thread, but it seems I'm not getting email updates - anyone else experiencing that problem?)
            Yes, unfortunately email notifications are temporarily disabled because of an issue with the forums. This and many other forum issues are being addressed as quickly as possible. We apologize for the inconvenience.
              • 9102 ☆ A M B ☆
              • 318 Posts
              I have heard that xPDO can slow things down somewhat
              Not sure exactly what you're referring to, but I think most of the speed concerns are about the Revo manager and the performance of some snippets (Wayfinder especially) that are designed for general-purpose use and can be a bit slow in some circumstances.

              I've never built an app like you describe, but I've been fiddling around with speed issues a lot lately and my experience has been that xPDO in itself is plenty fast. Using a custom snippet to pull data from a custom table works fast enough that I can't tell the difference between cached and uncached performance.

              I think it's only when you get into using output modifiers and general-purpose snippets to do complex tasks that would be better done with custom code that you run into performance issues. Since you're talking about building your own custom app, you can optimize your code to your specific purposes and I would expect it to perform well. YMMV, but that's been my experience.
                • 13643
                • 44 Posts
                Sorry to be so long again posting back to this thread (no reply notifications and a lot of other stuff going on!) Thanks to both you guys for your thoughts on the performance issue. Reading back over the thread that planted doubts in my mind to begin with I realize that, as you said, the performance issues that have been noted with Revo seem to be mostly unrelated to xPDO. There are a couple other issues I'd like to discuss, but I'm going to wait until forum notifications are fixed and post a new thread. Thanks again for the help!