No announcement yet.
  • Filter
  • Time
Clear All
new posts

    saas skin files missing in latest 13

    Hey, downloaded a new version of 13.0P (2021-08-12). I went into the Tahoe skin and noticed that the _skinSettings and _skinStyles are missing, and instead theres a skin_styles.scss file. Is there some recent change to the saas-process i've missed?

    skin_styles.scss has always been there; it's the compilation script - perhaps you meant that there is now a _fonts.scss?

    All the same information is still there, and these structural changes actually address some issues which you brought up in the past - namely that you had to add your attributes to _userSettings.scss in a certain way for them to work, and you couldn't get rid of fonts you didn't want from the base-skin.

    1) _skinSettings.scss used to have standard (non-!default) variables and font-faces for the base-skin
    - now, the base-skin variable-list is folded into _base.scss, and marked as !defaults
    - the font-faces are in _fonts.scss, so you can change them from the base-skin without leaving behind orphaned loads

    2) _skinStyles.scss used to have skin-specific styles for the base-skin - these were always empty but, if they ever do contain anything, they are now also folded into _base.scss.

    So - _base.scss is now the entire base-skin SASS, representing skin_styles.css, minus the fonts, which are kept separate as described above - compass compile will take that _base file and fold the fonts, and your custom settings/styles, into the final CSS.

    In other words - you can now update your custom skin to the latest base-skin by just copying the latest _base.scss into your template dir and recompiling.

    We'll get to updating the docs about these changes shortly
    Last edited by Isomorphic; 16 Aug 2021, 03:32.


      Yes that's what i meant :) there's a new _fonts-file and the 2 scss-files were missing as you explain.

      Sounds like great updates, but i have looked at the "new" Tahoe structure and compared it to old, and i have a few questions:

      The whole "base-skin" terminology is a bit confusing. Is that an abstract skin shared by all other skins (Tahoe, Stratus, etc.)? If that is so (which i think), more questions below:

      1. The old Tahoe _skinSetting file has a bunch of variables, but they are all marked !default. Above you write that they are "non-!default" so i'm not sure i understand.

      2. In the OLD skin, the only place where variables were defined ($variable) was in _skinSettings. The _base file only refers to variables, it doesn't define any new.
      In the NEW skin, the _skinSettings is gone, and all variables are defined in the top of _base, again all marked !Default

      You talk about base and "skin-specific", but neither in the old or new structure do i understand which $variables that are "base" and which are "skin-specific".

      3. So there's only one scss-file now, _base, but the user overrides are still two separate files?


      4. I'm not sure this addresses my main issue, that as soon as i put something in userStyles, i basically have to copy everything over there. A very simple proof-of-concept is this:

      add only one line to user_styles:
      $button_border_color: $standard_border_color;
      The compiler will complain:
      sass/skin_styles.scss (Line 6 of sass/_userSettings.scss: Undefined variable: "$standard_border_color".)
      But the variable exists! in _base!
      Last edited by mathias; 16 Aug 2021, 07:13.


        It seems pretty obvious that if you base your custom skin on some other skin, by copying it's structure as you must have done, then that skin is the base-skin, no? So, if you based you skin on Tahoe, then the base-skin is Tahoe... You might understand this better if you tried the skinEditor, which would probably also save a lot of time on this backwards and forwards.

        1) if you look at builds from the last week or two, yes - but if you look a few weeks further back, no - they were not marked as !default, and they never had been. Bear in mind, this is a bleeding-edge development branch you're using, and also that these changes were made specifically because you complained about the way things were before.

        2) again, this seems pretty obvious - base-settings are those applied by the base-skin - that is, settings which *we* define for our builtin skins, in this case, and which your custom settings (which you add into _userSettings) override. In other words, nothing you need to worry about, since your custom skin will only ever be extending out internal skin. Not sure how much clearer that could be made.

        3) Yes - we're not clear why you think this is unusual or questionable. One file is for settings, one is for styles. Pretty obvious.

        4) Have you actually updated the files in your template directory? In particular, have updated the compilation script which, of course, now loads different files.
        Last edited by Isomorphic; 16 Aug 2021, 09:30.


          Additional comments below but first - geez louise, are you sure you really want any user feedback? Based on the post, i am doubtful. Anyway:

          1. I looked at my current project that i got sometime in July. If you say they weren't there earlier, ok. I just commented on the changes i saw, because i was trying to *help and understand*. It wouldn't be the first time someone in the world had made a mistake, perhaps i could have saved you some time on your documentation or something.

          2. From your first post: "skin-specific styles for the base-skin". To me, it was not "pretty obvious" exactly what that sentence meant, which is why i asked to be sure. I am sorry that you felt the need to all but call me an idiot but thanks for clarifying.

          3. Again, thanks for clarifying that it's "pretty obvious." I asked because your documentation isn't ready and i might have had a file that i could remove. I don't think it's unreasonable to just ask if you had made any changes to the user files since you made other structural file changes.

          4. No, since we already established that i don't know what i'm doing, i didn't change a single file but expected different results anyway. To be serious - i removed everything in the /template/sass directory in my skin, copied in the /template/sass directory from the new Tahoe in the 13.0 zip. I still got the same error i reported above.

          -- However, since posting, i dug some more and saw that there's a hidden" .sass-cache" directory directly under /template. I removed that too, and now it works. I suspect that that was the reason, but who am i to know.


            Apologies, we didn't intend to be unreasonable or abrupt - hopefully things are now clear. Of course, we are always and remain interested in feedback, so please continue in that vein.

            The hidden sass-cache directory is created by compass compile runs - we hadn't been aware that it could cause this kind of problem, but we'll note it in the docs.


              After doing some more changes in the user_styles file over the last days i have some more feedback.

              A couple of times, seemingly out of the blue, i've gotten the same compile error again:
              error sass/skin_styles.scss (Line 39 of sass/_userSettings.scss: Undefined variable: "$standard_border_color".)
              Compilation failed in 1 files.
              I then again removed the hidden (recreated) temp folder, and it starts compiling again. No idea what triggers it.


                Thanks for the detail, we'll add it to the docs.

                You may be able to work around this by passing the --force flag to compass, like 'compass compile --force'. Alternatively, you can 'compass clean', which will remove that directory for you.


                  That does not work for me. If i do a clean, followed by a --force, i still get the error.
                  (Also, not sure how the --force flag would help with the compile, at least according to the docs: "Allows compass to overwrite existing files.")

                  Finally, i have unfortunately noticed that even when you clean the hidden folder and do a new compile that does not result in an error, the resulting .css still only contain the compile error output. I missed that since i used old files anyway when running my app in tomcat.

                  Here is some input:

                  1. To be sure, i downloaded the 13.d pro zip from your site. I unzipped the pro jar, went in to Tahoe and copied what was in the skin dir except for the userstyles and usersettings.
                  2. I removed the .sass dir.
                  3. compass compile --force results in the same error message
                  4. just compass compile does not give an error message, but the resulting skin_styles still.css contains the same compass compile error output trace.

                  So, have a question about your comment above that the "compilation script of course loads different files".
                  the only file i can find that is new in the tahoe skin dir is base.scss. The skin_styles.scss is fairly new, from August 5.

                  The other files:
                  config.rb is from March 28, 2018
                  config.json is from march 23 this year
                  fonts.scss is from August 1
                  the skin_styles_editor file is new, but that's in the parent dir.

                  If the compilation script is something else, i'm not sure where it resides, but these files are old in the zip. Or am i copying the wrong files? or is base.scss what you mean when you say "compilation script"

                  Happy to send you a zip of my template dir if you want.
                  Last edited by mathias; 25 Aug 2021, 02:34.