We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 4172
    • 5,888 Posts
    Quote from: splittingred at Jun 12, 2012, 08:28 AM
    We will most likely be using ExtJS as the future for 3.0

    That's great news.
      -------------------------------

      you can buy me a beer, if you like MIGX

      http://webcmsolutions.de/migx.html

      Thanks!
      • 34027
      • 30 Posts
      Having done some ExtJS development with Revo, I have to say that I'm not a fan of the current system. As in: I'm really, really super not a fan. ExtJS is one of the the biggest pains in the ass I have ever had to deal with.

      But I'm willing to accept that MODX must leverage the work that has already been done: not just in the core, but in the library of extras.

      Repeated rewrites of the system are not productive. Revo is already a very sophisticated platform, and even if it is hard to program in, it is far ahead of the other options out there in terms of features and flexibility and robustness of its architecture.

      Rewriting the UI again would be a large setback for the community. One of the biggest problems with moving from Evo to Revo in the first place was that it took a long time before Revo caught up to Evo in terms of having a robust set of extras available.

      If we have to start over again with MODX 3 with another blank slate and no extras available, that will be a huge setback. The community will be stranded between Evo (which works but is aging and inflexible), Revo (which works but is cumbersome and slow) and MODX 3 which is beautiful and shiny but doesn't have any extras written for it.

      That would seem to me to be repeating the situation that happened with the Evo/Revo split. Please, please, please don't repeat that.

      Revo desperately needs performance improvements and simplified UIs for permissions and manager customization. It could also use some other features like version control for elements and resources, and better front-end editing. And lots and lots of little detail improvements here and there. All possible with the current architecture.

      Do that, and you'll have a solid, solid product that you can support for years. Call it MODx 3 if you like, but keep the architecture compatible with Revo extras.

      Once you have a super stable product and a happy stable community, you can think about the next big ground-up rewrite in ExtJS4 or JQuery. Or ideally, just rewrite the whole thing in Rails.</ducks>

      Quote from: splittingred at Jun 12, 2012, 08:28 AM
      That said - CMP development will be easier (even with parts of it starting so in MODX 2.3 due to refactoring there).

      Can you give us an idea of the vision for how you'd like to see CMP development made simpler using the current system?


      Michael


        • 4172
        • 5,888 Posts
        Creating CMPs can be very easy! There is MIGXdb.
        You can try it here:
        http://rtfm.modx.com/display/ADDON/MIGXdb.Tutorials

        more features and Tutorials will come.
          -------------------------------

          you can buy me a beer, if you like MIGX

          http://webcmsolutions.de/migx.html

          Thanks!
          • 28215
          • 4,149 Posts
            shaun mccormick | bigcommerce mgr of software engineering, former modx co-architect | github | splittingred.com
            • 34027
            • 30 Posts
            Quote from: splittingred at Jun 12, 2012, 01:24 PM
            Michael,

            For an example of 2.3's CMPs: http://rtfm.modx.com/display/revolution20/Custom+Manager+Pages+in+2.3

            Thanks Shaun. That is indeed a simplification of how it currently works.

            That's a pretty basic CMP, though - just a hello world. Are there going to be more tools to make Ext components easier to use and debug? Or is the idea that most developers will use something other than Ext?

              • 36404
              • 307 Posts
              hi

              Quote from: splittingred at Jun 12, 2012, 01:24 PM
              Michael,

              For an example of 2.3's CMPs: http://rtfm.modx.com/display/revolution20/Custom+Manager+Pages+in+2.3

              wow, at last! nearly as simple as the include_once in evo module management! keep simplifying things like that and revo/could may become as fast as evo wink

              have swing
                réfléchir avant d'agir
                • 28215
                • 4,149 Posts
                Quote from: michael.graham at Jun 13, 2012, 12:08 AM

                Thanks Shaun. That is indeed a simplification of how it currently works.

                That's a pretty basic CMP, though - just a hello world. Are there going to be more tools to make Ext components easier to use and debug? Or is the idea that most developers will use something other than Ext?

                Well, we've looked into a few ideas - one being a "scaffolding" extra that would pre-build stubs for all the files for you for a basic CMP with CRUD actions. This however is a bit tricky, but we're thinking about it. The big push for 2.3 is to make modNamespace a first-class citizen, centralizing Extras dev around it and streamlining development processes.

                We're also open to ideas from the community as well.
                  shaun mccormick | bigcommerce mgr of software engineering, former modx co-architect | github | splittingred.com
                  • 40029
                  • 52 Posts
                  Oops!
                  I have been removing a lot of arguments in this post.

                  Ok seem right to me explain, because I asked the question:
                  whether "MODx Cloud" will replace a "MODx Revo".


                  In our office we are working on a project of abstraction of the "core MODx" to allow,
                  the control objects and the data objects, can be managed from the MODx panel.

                  Thus allowing that "MODx" control the flow of all our services
                  so you can administer all layers of management of our
                  platforms (end user, operator, administrator, owner, snmp, rest, etc).

                  What today we call in our group, "The Jungle" (Jungle of services), in a few months
                  should be an ordered structure of control.

                  And our choice would lead us to "MODx". that since some years, we use,
                  as a simple content manager only for our "end users".

                  Why MODx?


                  By cleaning up your code, for the modular structure of its classes and especially
                  the orientation of a significant number of professionals using MODx.

                  Initially thought to provide the appropriate revisions to integrate MODx
                  amicably with our other services (CXF and panels in java).

                  But to our surprise, reading the code of "MODx" we understood that
                  the MODx team, has done an extraordinary job.

                  So We have asked ourselves,
                  why not do just one layer of abstraction?

                  Why not allow that our Java objects, are created or modified from the MODx Control Panel?

                  Why not allow for creating components, in other programming languages ​​or other "UI frameworks", from the same panel?


                  With this type of structure could peacefully integrate objects of all types
                  without having to play the composition of the core.

                  It could have a panel creation of elements, developed in ZK, and others in jQuery,
                  mootools or whatever one chooses without removing benefits MODx,
                  so creating CMPs is simple, as long as one is capable of doing them.

                  And thus our only concern is to do something based on a system
                  that will be declared obsolete in a few months. But if this will not Occur,
                  ...MODx is our best ally. 

                  And as a last response to:

                  Quote from: splittingred at Jun 13, 2012, 07:28 AM


                  We're also open to ideas from the community as well.


                  I do not know if, upon completion of our project of abstraction, this may be easily integrated into the core as a component or patch MODx precisely because, in the politics of MODx, there are many rules about how a component should be ready for use in the community, (seems to be on a mailing list of netBSD smiley)but surely the linked approach of looking at the MODx component, ready as an abstract object provides the core, is very realistic and in many success projects, is this abstraction that makes, the powerful and versatile product.

                  Regards
                    Developer of RTOS and Drivers
                    Specializes in portability of BSD/Linux
                    • 3749
                    • 24,544 Posts
                    Quote from: splittingred at Jun 13, 2012, 07:28 AM

                    We're thinking about it. The big push for 2.3 is to make modNamespace a first-class citizen, centralizing Extras dev around it and streamlining development processes.
                    We're also open to ideas from the community as well.

                    Shaun, you might want to take a look at the dev branch of MyComponent (https://github.com/BobRay/MyComponent/tree/dev) -- lots of stuff going on there.

                    The biggest thing is a class to export almost any object and write the transport.object.php file for you as well as the source file for objects that need one - it skips the source file for static objects and will export objects by category. You export the objects and you're pretty much done with them. It still needs some tweaks for less common cases like property sets and menus, but it will do all the basic objects (including Resources, snippets, plugins, TVs, templates, and chunks) and will get close on the rest.

                    Also -- these are working fairly well:

                    LexiconHelper now lets you add lexicon strings to your code like this:

                    if (! $fp) {
                      return $modx->lexicon('componentname.file_not_found~~Could not open file');
                    }
                    


                    LexiconHelper will parse the code file, output all the language strings that are currently missing from the language file, then (optionally) remove the part after the '~~ ' in the code file and append the language strings to the language file. Never type another language string into a build file or language file.


                    CheckProperties will test to make sure you have a property in transport.properties.php for every getOption('xx', $scriptProperties) call and reports orphan properties in the transport file that are not used in the code. It outputs the code for the properties file for any that are missing. You set the string used to identify the $scriptProperties argument.

                    CreatePropertiesTable uses the properties build file and properties.inc.php to create a table of properties for your tutorial. If you format the property descriptions as you would for LexiconHelper, it will also write the language strings for you, and (optionally) append them to the language file and clean up the properties file.

                    Bootstrap (which still needs a lot of work), builds you a full transport package directory for a component based on TPLs for the various kind of objects. Ultimately, it will probably have a form for you to indicate what objects you need to include in the package.

                    In theory, MyComponent could create a full build script (minus readme, docs, and resolvers) for a fairly complex extra in a few steps. The MyComponent build script will now handle almost anything after you set the variables at the top.

                    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
                      • 28215
                      • 4,149 Posts
                      Bob, could you put some of those features in the new Proposals section for MODX so they dont get lost here? We've made that section to propose new feature sets like this; having a detailed proposal for each one would be great.

                      http://tracker.modx.com/projects/modx-proposals/

                      You can see the recommended format for a proposal by viewing one that exists currently: http://tracker.modx.com/issues/7790

                      Good ideas, Bob! Thanks!
                        shaun mccormick | bigcommerce mgr of software engineering, former modx co-architect | github | splittingred.com