- editing resource shared wasn't working
- change sizes of controls to "input-sm"
- show errors correctly in project prefs
- move selection of project prefs from project_specific_prefs.inc
to project.inc.
This means that (unless you've added your own project prefs)
you can update project_specific_prefs.inc from master, with no changes.
NOTE: projects will need to move their project prefs selections, e.g.
define('COLOR_PREFS', false);
from project_specific_prefs.inc to project.inc.
Then copy project.sample/project_specific_prefs.inc to your project/
policy change: when showing lists of name/value pairs in a table,
don't show the names with a different background color or font.
This is what Edward Tufte would call "noise".
Keep the visuals as simple as possible.
Bootstrap forms require a bunch of <div>s and other stuff.
I wrapped these in functions like
form_start()
form_end()
form_submit()
form_select_multiple()
form_input_text()
General idea going forward:
put HTML (especially Bootstrap-specified) in utility functions,
e.g. in util.inc or bootstrap.inc.
This will make the higher-level code easier to read,
and will facilitate moving to CSS frameworks other than Bootstrap.
The front page was displaying as 2 columns even on phones.
I couldn't figure out the problem, but I switched to the standard
page_head() (moving the top part to project_banner()) and that fixed it.
Omitting the first directory in the filename of translatable strings is ambiguous if you don't know what directory this template was build from. So this adds back the top level directory and the filename in comments inside the pot files is now always relative to the source directory.
I also added the generic language name header to the BONIC-Web ressource becaue it also needs to know the language names and not necessarily gets the info from BOINC-Project-Generic.
In messages (forum or PM) a [pre] section with a long line
would stretch the table cell,
causing that message and others to run off the edge of the window.
The solution, as Juha pointed out, is to use table-layout:fixed
for those tables, and to explicitly set the width of the other columns.
This causes the long lines to be put in boxes with a horizontal scrollbar,
and nothing overflows.