We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 38290
    • 712 Posts
    Quote from: sottwell at Sep 05, 2013, 12:58 PM
    I think I got it all installed - tons of errors, half a dozen other things had to be installed, had to use sudo to install everything. Seems to be working though. Now the question is what do I do with it? I guess I'll just poke at it and see if it bites.

    npm install definitely goes crazy. It installs any package dependencies the grunt file uses in a node_modules folder. After npm install you should be able to see that running grunt build compiles the index.css and login.css files. So as a test you could

    cd _build/templates/default
    rm -rf ../../../manager/templates/default/css/index.css
    grunt build
    ls ../../../manager/templates/default/css/
    


    And see that grunt has compiled and re-created the index.css file you just deleted. The last task grunt build runs is css:compress so if it makes it to that and you get a Done, without errors message all is well!

    If you'd like grunt to watch for changes to the Sass files and automatically re-compile the CSS simply run
    grunt

    Grunt is now watching for changes. Use Control + C in the terminal to stop the watch task.

    If you'd like to poke around the CSS uncompressed run
    grunt expand

    but please run grunt build to recompile before checking anything in. CSS should be checked in compressed.
      jpdevries
      • 28042 ☆ A M B ☆
      • 24,524 Posts
      Hm. Pretty menu, but the logout menu item gives you the error log. Apparently we aren't allowed to log out as yet wink

      I fixed it! I edited the menu item (the styling is messed up in the menu management page but I don't know enough about it to even make a start at fixing it) and put in the handler that was in the one for 2.2.9, and set the action to 0. Now the logout works as expected. [ed. note: sottwell last edited this post 13 years, 1 month ago.]
        Studying MODX in the desert - http://sottwell.com
        Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
        Join the Slack Community - http://modx.org
        • 38290
        • 712 Posts
        I made some updates to the instructions that fix a few errors and note that depending on your ruby setup you may need to run gem install as sudo.
        https://github.com/modxcms/revolution/pull/599/files

        Also since commonly in the context of MODX 'front end' means 'not Manager' we are referring to this as 'Manager Contribution Workflow' moving forward
          jpdevries
          • 8386 ☆ A M B ☆
          • 160 Posts
          Can we remove dependencies which are OS specific, the Growl notifier would be the first of those since it doesn't work on Windows. Currently we seem to be depending on bower to setup bourbon, but since this is already a gem, why are we installing yet another package manager to install something from another package manager we would have already installed?

          I am not sure of the relevance of the Asciify stuff, but if its purely for adding that do not edit at the top of files which increases the filesize, it kinda defeats the purpose. I would propose removing it, if its purely only for that.

          It's good that we are using all these toolings, but keeping the dependency down to a minimum is best to make contributions easier. I am not opposed to all the dependencies being setup, but I would like to know the reason some of these routes are chosen.

          edited. Growl Notifier makes no difference to Windows users, but should be noted its optional in the setup docs. [ed. note: easylancer last edited this post 13 years, 1 month ago.]
            • 38290
            • 712 Posts
            Quote from: easylancer at Sep 07, 2013, 08:06 AM
            Can we remove dependencies which are OS specific, the Growl notifier would be the first of those since it doesn't work on Windows. Currently we seem to be depending on bower to setup bourbon, but since this is already a gem, why are we installing yet another package manager to install something from another package manager we would have already installed?

            I am not sure of the relevance of the Asciify stuff, but if its purely for adding that do not edit at the top of files which increases the filesize, it kinda defeats the purpose. I would propose removing it, if its purely only for that.

            It's good that we are using all these toolings, but keeping the dependency down to a minimum is best to make contributions easier. I am not opposed to all the dependencies being setup, but I would like to know the reason some of these routes are chosen.

            edited. Growl Notifier makes no difference to Windows users, but should be noted its optional in the setup docs.

            Bower will be used for future dependencies such as Modernizr and require.js as well. We see having the entire up-to date source code, demos and docs of each of these dependencies stored within bower_components as a plus. Also, each time grunt build is run it automatically checks for updates to dependencies.

            Sure, Asciify can be removed or changed to a MODX Revolution header. It was originally used before we made the decision to commit compiled CSS and didn't want people making edits to CSS directly. In the end a banner may still be used to insert licensing info at the top of compiled CSS.
              jpdevries
              • 8386 ☆ A M B ☆
              • 160 Posts
              I know some of what you mention is based on thinking ahead, but I will outline some problems I see with some of these recommendations.

              It's not necessarily a good thing that each time build runs it looks for the latest version and plug into the project, the problem with this is that if a change was made in one of the packages that break BC we then end up with problems.

              Adding in require.js at a later date will only bring more confusion to the already confusing setup for contributors. I personally think the benefits of require.js are outweighted by its steep learning curve. Understanding modules in JavaScript is something alot find hard to grasp. I kinda see this as another ExtJS waiting to happen. Especially when it comes on to packages that don't already support AMD.

              I think Modernizr is something that was useful to have back when browsers didn't auto-update and you couldn't make use of new features because you would need a polyfill for something like Internet Explorer.

              Either way, if any of these two projects will be used in the future, they should be included manually than rather relying on Bower. The more package managers a contributor have to become familiar with lower the chances of them contributing.

              WordPress recently decided to start using Grunt in their pipeline for the build process, but they tried to introduce as little dependencies as possible on other package managers.

              By the way, you have done a great piece of work to get some of these stuff added in the whole MODX process, this is something I have been looking to see for time now and I respect you for that.
                • 38290
                • 712 Posts
                Quote from: easylancer at Sep 07, 2013, 04:47 PM
                It's not necessarily a good thing that each time build runs it looks for the latest version and plug into the project, the problem with this is that if a change was made in one of the packages that break BC we then end up with problems.[/b]

                With a new PR font-awesome is now also managed through Bower.
                https://github.com/modxcms/revolution/pull/600

                You mentioned Codekit 1.8 supports Bourbon. With that workflow, I believe you'd automatically be running the latest as well.

                The way package management works in Bower and NPM is you can control whether or not dependencies are automatically updated and if so to what extend. This gives you granular control over if and when potential breaking changes are introduced. For example ~3.2.1 means grab font-awesome 3.2.1 or any newer patch releases. It will not automatically fetch 3.3.0, however ~3 or ^3.2.1 would. More on controlling version ranges here.
                https://github.com/isaacs/node-semver#ranges

                As far as Modernizr and require.js those are just ideas for 3.0. If we are to still support IE8, or IE at all really we are still in a state of browsers not auto updating. Also a browser being new and claiming new features doesn't mean they pass tests. For example Firefox 23.0.1 still doesn't pass Modernizr.flexbox.

                A current working draft of a new Media Manager uses Modernizr to detect newest flexbox model and gracefully degrades both to the 2011 spec and to .no-flexbox.
                https://github.com/jpdevries/flexperiments

                Of course we are trying to keep things light but truth be told with 2.3 being both backwards and forwards compatible in certain regards, it is going to be a bit of a pretty but overly perfumed fat pig.
                  jpdevries
                  • 436 ☆ A M B ☆
                  • 265 Posts
                  Is there an expected ETA for 2.3? smiley
                    MODX Ambassador for Thailand. Managing Director at Monogon, a web design and development studio based in Bangkok, Thailand. - Follow me on Twitter.
                    • 38290
                    • 712 Posts
                    Quote from: AdamWintle at Sep 08, 2013, 11:59 AM
                    Is there an expected ETA for 2.3? smiley
                    not in the past smiley
                      jpdevries
                      • 28042 ☆ A M B ☆
                      • 24,524 Posts
                      Indeed. Lots to do. Controllers to connect. Styling to correct. But it's going to be pretty awesome.
                        Studying MODX in the desert - http://sottwell.com
                        Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
                        Join the Slack Community - http://modx.org