We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 6726
    • 7,075 Posts
    I hear marketing ?

    Let me drop a line into this fascinating (yet sometimes hard to grasp), debate.
    I better be clear about what an API is, since I am no programmer, and I am communicating quite a bit about MODx... so far, I have referred to WikiPedia’s definition : http://en.wikipedia.org/wiki/Application_programming_interface

    Short :
    An application programming interface (API) is the interface that a computer system, library or application provides in order to allow requests for services to be made of it by other computer programs, and/or to allow data to be exchanged between them.

    Does that seem acceptable to you guys ?

    So far I have mentionned the MODx API and dbAPI as it is on the main modxcms.com website...
    what’s the guideline here (except, don’t talk about what you don’t know tongue ) ?
      .: COO - Commerce Guys - Community Driven Innovation :.


      MODx est l'outil id
      • 25663 MODX Staff
      • 12,272 Posts
      Jason, just to clarify, won’t it become relatively easy to rewrite the manager using the built-in API of MODx with your core? If so, we can probably cut down quite a bit on the filesize.
        Ryan Thrash, MODX Co-Founder
        Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
        • 22303 MODX Staff
        • 10,725 Posts
        Quote from: davidm at Sep 06, 2006, 01:11 PM

        Let me drop a line into this fascinating (yet sometimes hard to grasp), debate.
        I better be clear about what an API is, since I am no programmer, and I am communicating quite a bit about MODx... so far, I have referred to WikiPedia’s definition : http://en.wikipedia.org/wiki/Application_programming_interface

        Short :
        An application programming interface (API) is the interface that a computer system, library or application provides in order to allow requests for services to be made of it by other computer programs, and/or to allow data to be exchanged between them.

        Does that seem acceptable to you guys ?

        So far I have mentionned the MODx API and dbAPI as it is on the main modxcms.com website...
        what’s the guideline here (except, don’t talk about what you don’t know tongue ) ?
        Yes, the WikiPedia definition is good; though I would stress that typically, an API is more specifically referring to the public interfaces (or functions) of a library or application which the developer expects users to stick to when using the library or writing additional code for the application.

        And in terms of xPDO, it’s essentially a tool with which you can quickly build custom libraries that are, simple, out-of-the-box API’s into any data model. These API’s consist of the core CRUD logic, the xPDO extensions logic, plus whatever additional logic you add to the generated code, which in most cases, from my experience using this tool over the last 6 months in various stages of development, is usually very little.

        As for MODx API and dbAPI, we need to be careful; an API in a framework is of utmost importance. To me, an API is the primary public interaction point with an application or product. Moving forward, the MODx API will be one consistent set of classes and methods that will be used to interact in any official way with the core. This will help make maintenance of and extensions to the core much easier to accomplish (i.e. code that does essentially the same thing isn’t spread out illogically all over the filesystem, as it is currently).

        The dbAPI is a special case, however. Since the main class of the proposed 0.9.7 MODx release is an extension of PDO, which is in itself a database API, the dbAPI is now redundant and will be kept around only to support legacy components and to serve as an alternative, slightly more abstract API that simply wraps the PDO methods which are part of MODx. For instance, $modx->db->query("SELECT * FROM foo") can now be written as $modx->query("SELECT * FROM foo") and the implementation of $modx->db->query() will be refactored to simply use the $modx->query() method, rather than it’s own implementation using the mysql extensions. In a sense, it just becomes an API which wraps the PDO db methods.

        Quote from: rthrash at Sep 06, 2006, 02:15 PM

        Jason, just to clarify, won’t it become relatively easy to rewrite the manager using the built-in API of MODx with your core? If so, we can probably cut down quite a bit on the filesize.
        Absolutely; I’ll try and provide some examples of exactly how to go about this as I start going through the manager to link up my new caching system. Obviously, once we start working on this, it will be essential to replace any calls directly to the mysql db extensions throughout the manager in order to prepare for releasing MODx for PostgreSQL or SQLite, etc. I’ll also try to start talking about what can go away and what will need to stay for this release plan over the next couple of days.

        BTW, for those of you curious about the xPDO-powered code, I’ve checked in my current progress to the branch called opengeek in SVN. This does not yet work out of the box or following an installation, but you can review the new file structure (see /core/) and the xPDO-based API (located at /core/xpdo/om/modx095/), and I should have it installable and testable within the next 24 to 48 hrs.
          • 1764
          • 680 Posts
          Wow! Really exciting stuff. I’ve been dying to have a symlink feature since day one with Etomite.

          If it’s not too much trouble I say we get 0.9.5 (in light of these developments would it be better to call it 0.9.3 or maybe even 1.0 and then call the recursive parser/xPDO version 2.0?) out the door and then focus everything on leaving the Etomite legacy behind and doing things right.
            • 25663 MODX Staff
            • 12,272 Posts
            I think to hit 1.0, we need three things:

            1) New (hopefully frame-free) manager written in MODx itself
            2) Versioning
            3) Better handling (not hackish) of multiple-language sites

            And that’s about it.

            Let’s release whatever bugs we can squish in the next week or so as 0.9.5 (with a public release candidate available this week). Soon thereafter – or even simultaneously – we could release a public beta of 0.9.8 with the recursive parser and XPDO-based session mojo. That should be fun. smiley
              Ryan Thrash, MODX Co-Founder
              Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
              • 22815
              • 1,097 Posts
              Last word from me on the API thing is to highlight this part of the Wikipedia definition: that a computer system, library or application provides in order to allow requests for services to be made of it. API infers officialness and completeness, not a reverse-engineered interoperability aid.

              Anyway.

              Time clearly is moving apace..
              Quote from: rthrash at Sep 06, 2006, 03:07 PM
              we could release a public beta of 0.9.8 with the recursive parser and XPDO-based session mojo. That should be fun. smiley
              0.9.8? It was 0.9.7 a minute ago..

              And I think the sole defining feature of 1.0 is not what it contains, but what it doesn’t contain: any etomite code. Everything else is bonus new not-eto code.
                No, I don't know what OpenGeek's saying half the time either.
                MODx Documentation: The Wiki | My Wiki contributions | Main MODx Documentation
                Forum: Where to post threads about add-ons | Forum Rules
                Like MODx? donate (and/or share your resources)
                Like me? See my Amazon wishlist
                MODx "Most Promising CMS" - so appropriate!
                • 25663 MODX Staff
                • 12,272 Posts
                At what I described, 1.0 will not contain any Eto code. wink
                  Ryan Thrash, MODX Co-Founder
                  Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
                  • 10487 MODX Staff
                  • 1,535 Posts
                  Garry Nutting Reply #18, 20 years ago
                  I’m a bit late to this thread but this is just fantastic news! I’m just amazed with the ground that has been covered in such a short space of time.

                  Let’s release whatever bugs we can squish in the next week or so as 0.9.5 (with a public release candidate available this week). Soon thereafter – or even simultaneously – we could release a public beta of 0.9.8 with the recursive parser and XPDO-based session mojo.
                  Got my vote on that, I can’t wait to get my mitts on 0.9.7 (or 0.9.8?) - the next few weeks are just going to be a rollercoaster ride grin

                  Also, I don’t mind helping with converting the current Manager mysql db calls over to the new API calls, if that helps in any way.
                    Garry Nutting
                    Senior Developer
                    MODX, LLC

                    Email: [email protected]
                    Twitter: @garryn
                    Web: modx.com
                    • 25663 MODX Staff
                    • 12,272 Posts
                    Heck, and now that a few more minutes has passed, it’s feeling very 0.9.9-ish. tongue

                    (seriously, the version number doesn’t matter to me)
                      Ryan Thrash, MODX Co-Founder
                      Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
                      • 25663 MODX Staff
                      • 12,272 Posts
                      Quote from: garryn at Sep 06, 2006, 05:24 PM

                      Also, I don’t mind helping with converting the current Manager mysql db calls over to the new API calls, if that helps in any way.

                      That will be quite helpful. You’ve been on a rampage recently and we certainly don’t want to stop the progress!
                        Ryan Thrash, MODX Co-Founder
                        Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me