Color Scheme documentation
ColorScheme entries are constructed as follows:
Portal:(CSS string)CSS
Portal:(CSS string)fgColor
Portal:(CSS string)bgColor
Note: If dealing with a different Portal app (say Accounting) then you would substitute Portal: with the app name:.
Ex: App = 'Accounting', Accounting:(CSS string)CSS, etc.
Note: CSS entries should not specify the foreground and/or background properties
as they will be added on by the Portal code and will use the values associated
with the CSS entries fgColor and bgColor values.
Ex: Portal:(a:link)CSS would add "color: Portal:(a:link)fgColor; background-color:
Portal:(a:link)bgColor;" to the Portal:(a:link)CSS string, where Portal:(a:link)fgColor and
Portal:(a:link)bgColor are the values of the named entries.
The
output algorithm finds all CSS entries that exist with the correct prefix
and then generate the complete string by looking up the fgColor and bgColor
values for the specified CSS entry.
If working with an app other than Portal, display all Portal entries first.
For each portal entry, see if the app has specified a value. If
they did, then work with it and don't display the Portal version. If
they didn't, display the Portal version. Need to keep track of those
Portal App entries already generated so we don't duplicate them.
Install Updates: When an app
installs itself into the Portal (registers itself, etc.) and it wants to define
colorScheme entries, it needs to use the {create|update}ColorScheme methods from
the Application module and provide the colorScheme object it wants to make. It must provide a CSS, fgColor, bgColor combo
for every css entry it wants defined or overloaded. This method will then load all
colorScheme entries in the colorScheme_tb table and for all System entries
(-1) it will make sure the entries exist. If an entry already existed,
we then update the value associated with it. For all user entries we
only make sure that any non-existant entries are added. We leave the
values alone for any that already existed so that the user can keep their
customizations.
Update - instead of passing a hash, we specify an
xml ColorScheme file. Any entries that begin with a - are removed from
all colorschemes they are found in. Otherwise all entries are the same
as before. Also, the Portal will have it's color schemes specified
using the colorSchemeInstall.pl script. This means that the database
no longer has to have the colorScheme_tb pre-populated. We need to
create another portal helper script who's sole purpose is to install color
schemes, this app is colorSchemeInstall.pl. The color scheme xml file should be in install/colorSchemes/colorSchemeName.xml. Where colorSchemeName.xml is the name of the colorScheme being defined
(Default, Blue, Green, etc.). It is up to the installer to walk over
all files in the install/AppName/colorSchemes directory (after the files are installed in the web tree) and process them.
If an app wants to totally remove a colorScheme,
then they should use the deleteColorScheme(colorScheme) method which takes the name of the colorScheme
to remove from the colorScheme_tb table. The app should then remove
it from it's install/colorScheme directory so that it is not added back in
the next time the app is upgraded or re-installed.
ColorScheme Editor Notes: The
editor should group all Portal entries together (sorted) and then each app
that has entries that the user has assigned to them after it. Hopefully
they will all sort in the same order.
Extra Notes: We do not delete
entries for an app that is un-installed or un-assigned from a user so that
when the app is re-installed or re-assigned the previous settings are already
there and the user does not have to re-customize the apps colorscheme entries.
Links:
Normal
Portal:(a:link)fgColor
Portal:(a:link)bgColor
Portal:(a:link)CSS
Portal:(a:active)fgColor
Portal:(a:active)bgColor
Portal:(a:active)CSS
Portal:(a:visited)fgColor
Portal:(a:visited)bgColor
Portal:(a:visited)CSS
Portal:(a:hover)fgColor
Portal:(a:hover)bgColor
Portal:(a:hover)CSS
Menu
Portal:(a.menu:link)fgColor
Portal:(a.menu:link)bgColor
Portal:(a.menu:link)CSS
Portal:(a.menu:active)fgColor
Portal:(a.menu:active)bgColor
Portal:(a.menu:active)CSS
Portal:(a.menu:visited)fgColor
Portal:(a.menu:visited)bgColor
Portal:(a.menu:visited)CSS
Portal:(a.menu:hover)fgColor
Portal:(a.menu:hover)bgColor
Portal:(a.menu:hover)CSS
Desktop Icons
Portal:(a.icon:link)fgColor
Portal:(a.icon:link)bgColor
Portal:(a.icon:link)CSS
Portal:(a.icon:active)fgColor
Portal:(a.icon:active)bgColor
Portal:(a.icon:active)CSS
Portal:(a.icon:visited)fgColor
Portal:(a.icon:visited)bgColor
Portal:(a.icon:visited)CSS
Portal:(a.icon:hover)fgColor
Portal:(a.icon:hover)bgColor
Portal:(a.icon:hover)CSS
Help
Portal:(a.help:link)fgColor
Portal:(a.help:link)bgColor
Portal:(a.help:link)CSS
Portal:(a.help:active)fgColor
Portal:(a.help:active)bgColor
Portal:(a.help:active)CSS
Portal:(a.help:visited)fgColor
Portal:(a.help:visited)bgColor
Portal:(a.help:visited)CSS
Portal:(a.help:hover)fgColor
Portal:(a.help:hover)bgColor
Portal:(a.help:hover)CSS
Form Items:
Portal:(input)fgColor
Portal:(input)bgColor
Portal:(input)CSS
Portal:(input:hover)fgColor
Portal:(input:hover)bgColor
Portal:(input:hover)CSS
Portal:(input:focus)fgColor
Portal:(input:focus)bgColor
Portal:(input:focus)CSS
Portal:(input:hover:focus)fgColor
Portal:(input:hover:focus)bgColor
Portal:(input:hover:focus)CSS
Portal:(select)fgColor
Portal:(select)bgColor
Portal:(select)CSS
Portal:(select:hover)fgColor
Portal:(select:hover)bgColor
Portal:(select:hover)CSS
Portal:(select:focus)fgColor
Portal:(select:focus)bgColor
Portal:(select:focus)CSS
Portal:(select:hover:focus)fgColor
Portal:(select:hover:focus)bgColor
Portal:(select:hover:focus)CSS
Portal:(textarea)fgColor
Portal:(textarea)bgColor
Portal:(textarea)CSS
Portal:(textarea:hover)fgColor
Portal:(textarea:hover)bgColor
Portal:(textarea:hover)CSS
Portal:(textarea:focus)fgColor
Portal:(textarea:focus)bgColor
Portal:(textarea:focus)CSS
Portal:(textarea:hover:focus)fgColor
Portal:(textarea:hover:focus)bgColor
Portal:(textarea:hover:focus)CSS
Portal:(button)fgColor
Portal:(button)bgColor
Portal:(button)CSS
Portal:(button:hover)fgColor
Portal:(button:hover)bgColor
Portal:(button:hover)CSS
Portal:(button:focus)fgColor
Portal:(button:focus)bgColor
Portal:(button:focus)CSS
Portal:(button:hover:focus)fgColor
Portal:(button:hover:focus)bgColor
Portal:(button:hover:focus)CSS
Global Defaults:
Portal:(body)fgColor
Portal:(body)bgColor
Portal:(body)CSS
Portal:(.error)fgColor
Portal:(.error)bgColor
Portal:(.error)CSS
Portal:(.error)TextfgColor
Portal:(.error)TextbgColor
Portal:(.error)TextCSS
Portal:(.status)fgColor
Portal:(.status)bgColor
Portal:(.status)CSS
Portal:(.status)TextfgColor
Portal:(.status)TextbgColor
Portal:(.status)TextCSS
Figure out what we want to do in regards to fonts!
fontName
fontSize
Login Screen:
Portal:(.login)fgColor
Portal:(.login)bgColor
Portal:(.login)CSS
Menubars:
Portal:(.menu)fgColor
Portal:(.menu)bgColor
Portal:(.menu)CSS
Portal:(.menuHilight)fgColor
Portal:(.menuHilight)bgColor
Portal:(.menuHilight)CSS
Desktop:
Portal:(.cell)fgColor
Portal:(.cell)bgColor
Portal:(.cell)CSS
Portal:(.cellTitle)fgColor
Portal:(.cellTitle)bgColor
Portal:(.cellTitle)CSS
Help:
Portal:(.helpTopic)fgColor
Portal:(.helpTopic)bgColor
Portal:(.helpTopic)CSS