Issue #SCB2793 (3-Normal) Add Scarab skins

Hussayn Dabbous <[email protected]> Mon, 12 Jan 2009 21:52:01 +0100 (CET)
Newsgroups gmane.comp.java.scarab.issues
Message-ID <[email protected]>
Activity report on

  *Enhancement SCB2793 - Add Scarab skins*

  Scarab Link: http://www.solitone.org/scarab/issues/id/SCB2793
  Module: Scarab


  Activity generated by Hussayn Dabbous ([email protected]) at 01/12/2009 21:34

  *Reasons for the changes*


  ** null:  () **

-------------------------------------------------------------------------------
  *Attribute changes*
  - Priority: 3-Normal ()
  - Summary: Add Scarab skins ()
  - Target milestone: 0.23 ()
  - Status: Unconfirmed ()
  - "Short description" set to:
    "Add better support for Scarab skins. For more detailed Information see the comments."
  - Database: All ()

-------------------------------------------------------------------------------
  *Comments*
  - By Hussayn Dabbous - 01/12/2009 21:38 ---
  "I have just seen the skin technology used by JSPWiki. It is realy super straight forward and simple:

They define a skin folder and within this folder they interpret each subfolder as a separate "skin"-definition.
A skin-definition contains one .css file and possibly one .js file.

During runtime, users can decide, which skin they prefer. The software
then generates appropriate calls to the correct skin-definition files. It
is all so easy going and very easy changing too. Just concentrate on
the .css...  

well, i thought, maybe Scarab wants something similar. The whole 
css-fetching algorythm could be programmed somewhere in a velocity file.
So i would start with layouts/Default.vm and first setup the "default skin":

__Strip down the existing css-files:__

** tigris.css
** inst.css
** scarab.css

I am not sure, why we have 3 files here. It looks like tigris.css is a tigris generic style sheet,
which was used by tigris for all components. Then inst.css has been added as a "custom sheet", to 
show how to overide the tigris default. Then there is scarab.css which adds application specific stuff.
I tend to merge these three files into one scarab.css, which will become the "default skin".

there are 2 additional css sheets:

** ns4_only.css
** print.css

While i understand the relevance of print.css i do not at all understand why ns4_only is necessary 
at all. It seems to contain pretty simple and standard css-declarations, which IMHO do not need to
be "ns4_only". Maybe this file has survived a decade and has become obsolete by now ?

Maybe at the end we can have this set of default files:

** scarab.css  (merge of tigris.css, inst.css, scarab.css)
** print.css     (for printing)


__add a new skins-folder to the top folder of the webapp__

     /skins

__move the .css files from the style directory to the skins directory.__

     these files will be used by Scarab as the default skin.

__Change the relevant velocity macros to support "custom skins"__

     a custom skin is just a subfolder of the skins-folder. The name
     of the Folder is used as the name of the skin. The folder contains
     a file skin.css and possibly a file skin.js (where i do not yet know, if
     we need that at all, but it might come in handy).

     Finally add a "skin" property to the user-preferences. In the user-preferences
     screen add a selector-box for the existing skins.

__add an example "skin" "Scarab2009" to the skins folder.__
"

  - By Hussayn Dabbous - 01/12/2009 21:44 ---
  "I have just seen the skin technology used by JSPWiki. It is realy super straight forward and simple:

They define a skin folder and within this folder they interpret each subfolder as a separate "skin"-definition.
A skin-definition contains one .css file and possibly one .js file.

During runtime, users can decide, which skin they prefer. The software
then generates appropriate calls to the correct skin-definition files. It
is all so easy going and very easy changing too. Just concentrate on
the .css...  

well, i thought, maybe Scarab wants something similar. The whole 
css-fetching algorythm could be programmed somewhere in a velocity file.
So i would start with layouts/Default.vm and first setup the "default skin":

__Strip down the existing css-files:__

** tigris.css
** inst.css
** scarab.css

I am not sure, why we have 3 files here. It looks like tigris.css is a tigris generic style sheet,
which was used by tigris for all components. Then inst.css has been added as a "custom sheet", to 
show how to overide the tigris default. Then there is scarab.css which adds application specific stuff.
I tend to merge these three files into one scarab.css, which will become the "default skin".

there are 2 additional css sheets:

** ns4_only.css
** print.css

While i understand the relevance of print.css i do not at all understand why ns4_only is necessary 
at all. It seems to contain pretty simple and standard css-declarations, which IMHO do not need to
be "ns4_only". Maybe this file has survived a decade and has become obsolete by now ?

Maybe at the end we can have this set of default files:

** scarab.css  (merge of tigris.css, inst.css, scarab.css)
** print.css     (for printing)


__add a new skins-folder to the top folder of the webapp__

     /skins

__move the .css files from the style directory to the skins directory.__

     these files will be used by Scarab as the default skin.

__Change the relevant velocity macros to support "custom skins"__

     a custom skin is just a subfolder of the skins-folder. The name
     of the Folder is used as the name of the skin. The folder contains
     a file skin.css and possibly a file skin.js (where i do not yet know, if
     we need that at all, but it might come in handy).

     Finally add a "skin" property to the user-preferences. In the user-preferences
     screen add a selector-box for the existing skins.

__add an example "skin" "Scarab2009" to the skins folder.__
"

  - By Hussayn Dabbous - 01/12/2009 21:46 ---
  "And of course we would need to do some rework of the general page construction, so that the styles can not only be customized, but also
it becomes easy to do that. Currently making a custom style for
Scarab is enerving."

  - By Hussayn Dabbous - 01/12/2009 21:41 ---
  "I have just seen the skin technology used by JSPWiki. It is realy super straight forward and simple:

They define a skin folder and within this folder they interpret each subfolder as a separate "skin"-definition.
A skin-definition contains one .css file and possibly one .js file.

During runtime, users can decide, which skin they prefer. The software
then generates appropriate calls to the correct skin-definition files. It
is all so easy going and very easy changing too. Just concentrate on
the .css...  

well, i thought, maybe Scarab wants something similar. The whole 
css-fetching algorythm could be programmed somewhere in a velocity file.
So i would start with layouts/Default.vm and first setup the "default skin":

__Strip down the existing css-files:__

** tigris.css
** inst.css
** scarab.css

I am not sure, why we have 3 files here. It looks like tigris.css is a tigris generic style sheet,
which was used by tigris for all components. Then inst.css has been added as a "custom sheet", to 
show how to overide the tigris default. Then there is scarab.css which adds application specific stuff.
I tend to merge these three files into one scarab.css, which will become the "default skin".

there are 2 additional css sheets:

** ns4_only.css
** print.css

While i understand the relevance of print.css i do not at all understand why ns4_only is necessary 
at all. It seems to contain pretty simple and standard css-declarations, which IMHO do not need to
be "ns4_only". Maybe this file has survived a decade and has become obsolete by now ?

Maybe at the end we can have this set of default files:

** scarab.css  (merge of tigris.css, inst.css, scarab.css)
** print.css     (for printing)


__add a new skins-folder to the top folder of the webapp__

     /skins

__move the .css files from the style directory to the skins directory.__

     these files will be used by Scarab as the default skin.

__Change the relevant velocity macros to support "custom skins"__

     a custom skin is just a subfolder of the skins-folder. The name
     of the Folder is used as the name of the skin. The folder contains
     a file skin.css and possibly a file skin.js (where i do not yet know, if
     we need that at all, but it might come in handy).

     Finally add a "skin" property to the user-preferences. In the user-preferences
     screen add a selector-box for the existing skins.

__add an example "skin" "Scarab2009" to the skins folder.__
"

  - By Hussayn Dabbous - 01/12/2009 21:40 ---
  "I have just seen the skin technology used by JSPWiki. It is realy super straight forward and simple:

They define a skin folder and within this folder they interpret each subfolder as a separate "skin"-definition.
A skin-definition contains one .css file and possibly one .js file.

During runtime, users can decide, which skin they prefer. The software
then generates appropriate calls to the correct skin-definition files. It
is all so easy going and very easy changing too. Just concentrate on
the .css...  

well, i thought, maybe Scarab wants something similar. The whole 
css-fetching algorythm could be programmed somewhere in a velocity file.
So i would start with layouts/Default.vm and first setup the "default skin":

__Strip down the existing css-files:__

** tigris.css
** inst.css
** scarab.css

I am not sure, why we have 3 files here. It looks like tigris.css is a tigris generic style sheet,
which was used by tigris for all components. Then inst.css has been added as a "custom sheet", to 
show how to overide the tigris default. Then there is scarab.css which adds application specific stuff.
I tend to merge these three files into one scarab.css, which will become the "default skin".

there are 2 additional css sheets:

** ns4_only.css
** print.css

While i understand the relevance of print.css i do not at all understand why ns4_only is necessary 
at all. It seems to contain pretty simple and standard css-declarations, which IMHO do not need to
be "ns4_only". Maybe this file has survived a decade and has become obsolete by now ?

Maybe at the end we can have this set of default files:

** scarab.css  (merge of tigris.css, inst.css, scarab.css)
** print.css     (for printing)


__add a new skins-folder to the top folder of the webapp__

     /skins

__move the .css files from the style directory to the skins directory.__

     these files will be used by Scarab as the default skin.

__Change the relevant velocity macros to support "custom skins"__

     a custom skin is just a subfolder of the skins-folder. The name
     of the Folder is used as the name of the skin. The folder contains
     a file skin.css and possibly a file skin.js (where i do not yet know, if
     we need that at all, but it might come in handy).

     Finally add a "skin" property to the user-preferences. In the user-preferences
     screen add a selector-box for the existing skins.

__add an example "skin" "Scarab2009" to the skins folder.__
"

------------------------------------------------------
http://scarab.tigris.org/ds/viewMessage.do?dsForumId=458&dsMessageId=1020167

To unsubscribe from this discussion, e-mail: [[email protected]].