Uploaded image for project: 'In-Portal CMS'
  1. In-Portal CMS
  2. INP-382

Automatic CSS / JS Compression

    XMLWordPrintable

    Details

      Description

      The elegant and simple implementation (doesn't exist yet) of solving problems with large javascript, css files being sent on every page load.

      Instead of
      <script type="text/javascript"
      src="<inp2:m_TemplatesBase/>js/script.js"></script>

      we should use

      <script type="text/javascript" src="<inp2:m_Script
      file="js/script.js"/>"></script>

      Tag Script would:

      1. get compressed version of given file based on current theme (compressed
      versions could be stored under "/system/cache")

      2. if given file was changed after compressed file was created, then create
      compressed file with file modification time in it's name and return url to
      compressed file

      3. if given file wasn't changed after compressed file was created, then
      return url to compressed file

      There would not be any additional calls to index.php to load every
      compressed javascript, because of tag implementation is being used. What
      ever compression is made or not could be determined by new configuration
      variable. Compression could be turned off automatically, when debug mode is
      turned on for example. What compressor to use would be determined based on
      given file extension. What compressor engine to use will be determined in
      later development stages of this feature (command-line, php, java etc.).

      [B]NOTE:[/B]

      We should be able to process multiple JS files (and probably CSS) in a single minimized version.

      Let's say I want something like this <script type="text/javascript"
      src="<inp2:m_Script file="js/script.js|js/another_jq.js"/>"></script>
      I did see it a few times like this - can't remember the software /
      website, but will find this and put examples here.

      Steps to Reproduce:

      Need to find good Compress methods for both CSS and JS files.

      Here are some samples:

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                !COMMUNITY !COMMUNITY
                Reporter:
                dmitry Dmitry Andrejev [Intechnic]
                Developer:
                Alex
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: