Commit Graph

289 Commits

Author SHA1 Message Date
David Anderson dbd2d03a0d server/web: add support for per-application credit
See http://boinc.berkeley.edu/trac/wiki/PerAppCredit
If enabled (by the <credit_by_app> config flag)
validators will maintain on a per-(app, user, credit type) basis,
and same for teams,
in new DB tables credit_user and credit_team.
This info is displayed in the web site, on user and team pages,
using project-supplied functions to generate the HTML.

Note: update_stats doesn't decay the recent-average values
for per-app credit; I'll add this if needed.
2014-08-15 14:01:32 -07:00
David Anderson dd5c8a804c web: add "chars remaining" for friend message
friend-request messages have a 250 char limit.
Show this in the GUI.
Factor this out into a function so we can use it elsewhere if needed.
2014-08-11 15:45:13 -07:00
David Anderson 3788d0c337 web: code cleanup 2014-08-11 14:57:34 -07:00
David Anderson cd1a12d4f4 web: show badges in more places
Also: improve the badge admin page
Also: zebra-stripe top user and team lists
2014-08-11 09:50:06 -07:00
David Anderson 73d6012003 web: fix DISABLE_BADGES warning 2014-06-12 09:50:31 -07:00
David Anderson 3776548971 web: allow badge disable 2014-06-10 01:24:37 -07:00
David Anderson bd77c5c52c web: add CPU list page 2014-05-05 22:33:07 -07:00
U-X1\korpela c6995ce06b These files aren't modified. Git claims otherwise.
Subversion was so much better then git.  I spend all my effing time dealing
with git's issues.  What a PITA.
2014-04-29 07:59:06 -07:00
David Anderson 1010cee2ae web: 2014-04-17 23:31:51 -07:00
David Anderson fc7c75b200 server: parse peak memory/disk info from client, store in DB, display in web
The latest client reports the peak working set size, swap size,
and disk usage for completed jobs.
Add fields to the results table to store these.
Parse them in scheduler request messages, and write to the DB.
Display them in the result web page.

This data can be used to improve (or even automate)
the job estimates for memory and disk usage.
2014-04-02 19:35:59 -07:00
David Anderson 01b78c714a Remote job submission: allow efficient batch query
The batch query call used by Condor (query_batch_set(), in the C++ API)
returned info about all the jobs in the set of batches,
even those that hadn't changed.
This is potentially inefficient - a query might return info
about 10,000 jobs, only a few (or none) of which have changed state
since the last call.

Solution: add a "min_mod_time" parameter to the call.
Only jobs that have changed state since that time are reported.
Also, add a "server_time" field to the return,
giving the current time on the server
(in case there's clock skew between client and server)

Also, fix some text scrambling introduced in previous checkin;
there must have been a gremlin in my vim.
2014-01-16 10:24:10 -08:00
David Anderson 387c04c365 web: tweak badge images 2013-12-22 20:39:52 -08:00
David Anderson b33bf69a98 web: enhance badge features
- the default badges (defined in ops/badge_assign.php) are now
  based on RAC percentile (top 1%, 5%, and 25%) rather than plain RAC.
- RAC percentile badges are now granted for teams as well as users;
  show badges in team page.
- move badge utility functions to inc/util_ops.inc
2013-12-20 15:03:24 -08:00
David Anderson 00897ecc3f web: remove some mysql_* calls 2013-12-16 19:22:34 -08:00
David Anderson 65b5ab5184 server/web: preliminary support for badges
- DB: add tables for badges and badge/user and badge/team associations
- add script that defines 3 RAC-based badges and assigns them
- add images for these badges
- add admin page for creating/editing badges
- show badges on user page
not done:
- figure out how to send badges to client
- display badges somewhere in the GUIs
- export badges in db_dump
- enable badges by default for new projects
2013-12-05 10:14:26 -08:00
David Anderson 5689ded88d web: on HTTPS pages, load stylesheets using HTTPS also; otherwise Firefox rejects them 2013-11-14 18:23:44 -08:00
David Anderson 4d09bb549c web: fix bug where am_set_info RPC incorrectly removed people from teams
The problem: post_int() was returning 0 rather than null when arg is missing
2013-07-10 13:00:50 -07:00
David Anderson 023e1ce684 web: don't try to increate PHP mem limit to 256MB
Apparently this generates warning messages that fill up log files,
and we may not need it anymore.
2013-05-22 11:10:49 -07:00
David Anderson 1b4c2c0dbf web: fix PHP warnings 2013-05-13 23:29:19 -07:00
David Anderson b8edb91ec1 web: fix PHP warnings, and use HTTPS for all forms with password 2013-05-09 22:49:25 -07:00
David Anderson 82b153b75d admin web pages: validate some input values 2013-05-06 16:41:55 -07:00
David Anderson 4f7bd9e7ad web: user $x = new StdClass instead of $x = null for new objects 2013-05-03 22:12:26 -07:00
David Anderson 478900c321 - web/scheduler: add project preference for not getting Intel GPU jobs 2013-04-20 12:25:55 -07:00
David Anderson d95da0f75c - Condor integration:
- change "query_batch" to "query_batches"; allow multiple batches
    - add "ping server" web RPC and GAHP function
    - change BoincDb::get() so that it generates XML error message if needed
2013-03-22 10:25:39 +01:00
David Anderson 47409201aa - web (ops): update profile page generator:
- to use current DB interface
    - to add "-d" option printing debug info
    - to show start time w/o getting header errors
    From Christian Beer.
2013-03-05 17:26:33 +01:00
David Anderson 46f06b9350 - Remote job submission stuff for Condor.
Submit and Query are more or less working.
2013-03-05 14:52:37 +01:00
David Anderson 58808d507e - web: use &middot; instead of | as a separater 2013-03-04 17:19:39 +01:00
David Anderson ddf4551108 - web: add hook for "science info" link in result lists (for CAS@home) 2013-03-04 15:23:38 +01:00
David Anderson b2f9e30570 - scheduler: fix bug that cause NCI to be sent even when
client is not requesting work
- client: parse the <vbox_window> option in cc_config.xml


svn path=/trunk/boinc/; revision=26127
2012-09-19 23:21:04 +00:00
Wenjing Wu da2f59137e enable downloading one result file of a workuint, enable sandbox file downloading
svn path=/trunk/boinc/; revision=25743
2012-06-06 09:11:56 +00:00
David Anderson 69a595329d - scheduler: various fixes to plan_class_spec.cpp; from Bernd
- admin web: don't include the project's stylesheet,
    which may assume a layout not used by admin pages


svn path=/trunk/boinc/; revision=25731
2012-06-03 17:31:00 +00:00
David Anderson 138c8f5f7d - web: fix PHP warnings by calling date_default_timezone_set().
Set it to the timezone specified by the constant TIMEZONE
    (in project.inc) or "UTC" if none specified.
- web: fix bugs in submit.php

svn path=/trunk/boinc/; revision=25693
2012-05-18 17:57:14 +00:00
David Anderson e06a11174c - web: put <nobr> around username | log in
svn path=/trunk/boinc/; revision=25605
2012-04-27 06:10:08 +00:00
David Anderson d5347f0ff1 - web: allow a project to specify 2 stylesheets
svn path=/trunk/boinc/; revision=25398
2012-03-09 21:40:57 +00:00
David Anderson 7558829e4a - web: open BBCode instructions in new window (or tab).
Otherwise, on IE, you lose the text you already entered
    when you go back.


svn path=/trunk/boinc/; revision=25378
2012-03-04 20:37:10 +00:00
David Anderson d5bf5c46e3 - Manager: in Project Properties page,
show if a GPU type is excluded by configuration
- client: don't fetch work for a resource type if all instances
    of that type are excluded
- web: don't use filter_var(, FILTER_SANITIZE_STRING)
    to strip HTML tags from a string.
    This escapes singles quotes also.
    Use strip_tags() instead.


svn path=/trunk/boinc/; revision=25375
2012-03-04 04:58:41 +00:00
David Anderson bba4ce24ce - client: compute projects' disk share (based on resource share).
Report it (along with disk usage) in scheduler request messages.
    This will allow the scheduler to send file-delete commands
    if the project is using more than its share.
- client: add <disk_usage_debug> log flag
- create_work: add --help, show --command_line option


svn path=/trunk/boinc/; revision=24968
2012-01-02 05:53:42 +00:00
David Anderson 517a49e607 - web: add [sup] BBCode tag for superscripts.
- web: show BBCode info in the same page, rather than target=new.
    On Firefox, this opens a new tab but doesn't switch to it,
    which makes it look like nothing happened.


svn path=/trunk/boinc/; revision=24622
2011-11-20 17:26:32 +00:00
David Anderson a7e7da6bff - client: show error messages (as notices) when get an error
parsing cc_config.xml
- client: if an <exclude_cpu> element in cc_config.xml
    specifies a nonexistent app, show an error msg with
    a list of existing app names
- web: increase the default mem limit from 64MB to 256MB
    TODO: change user_hosts.php to show N at a time


svn path=/trunk/boinc/; revision=24593
2011-11-14 23:31:12 +00:00
David Anderson 690e18bbe3 - server: plan class names containing 'nvidia' or 'cuda'
are assumed to be for NVIDIA GPU apps;
    plan class names containing 'ati' are assumed to be for AMD GPU apps.
    Clauses for 'nvidia' were missing in a couple of places.


svn path=/trunk/boinc/; revision=24512
2011-11-03 05:26:19 +00:00
David Anderson c22f8f41b9 - client simulator: make the output more graphical
svn path=/trunk/boinc/; revision=24406
2011-10-17 06:13:51 +00:00
David Anderson b7f1aa0226 - client: fix a bug reported by Jacob Klein,
where work fetch didn't work right in the presence of
    multiple GPUs and <exclude_gpu> config options.
    For example: suppose:
        - you have 2 GPUs and 2 projects
        - Project A is excluded from GPU 1
        - you have lots of jobs for project A
    Then the client won't try to fetch jobs from project B.

    The problem had 2 parts:
    a) round-robin simulation wasn't taking GPU exclusions into account.
        In the above example, it would think that both GPUs had jobs.
        I fixed this by computing the # of GPUs from each project
        is excluded, and using this in the RR simulation.
    b) Once this was done, I needed to make the client
        request GPU jobs from project B rather than project A.
        I did this with following policy:
        If a project has excluded GPUs of a given type,
        and has a runnable job of that type,
        don't ask it for more work of that type.

    Notes:
    - the policy in b) is crude, and it means that work-buffer
        preferences are ignored in some cases.
    - neither a) nor b) takes into account app-level exclusions.

    I could fix both of these with a lot of work,
    but I'd rather move to a model in which dissimilar GPUs
    are modeled as different resources,
    which would remove the need for the <exclude_gpu> mechanism
    in the first place.

- web: remove extraneous ) at end of button tooltips


svn path=/trunk/boinc/; revision=24312
2011-10-01 16:23:28 +00:00
David Anderson 02a14b56af - web: don't addslashes() for button titles; this was left over
from when buttons were implemented in Javascript


svn path=/trunk/boinc/; revision=24277
2011-09-23 17:17:12 +00:00
David Anderson 1c054907c7 - web: fix some stuff broken by my checkin [24039].
- web: use &amp; instead of & in URLs (not complete)


svn path=/trunk/boinc/; revision=24064
2011-08-29 05:37:52 +00:00
David Anderson 1daa9c804e - web: fix to the above
- web: fix forum search


svn path=/trunk/boinc/; revision=24063
2011-08-28 21:27:52 +00:00
David Anderson 34efc9a85e - web: add a magic header string that supposedly will make
Recaptcha work on some IE variants.  WTF??


svn path=/trunk/boinc/; revision=24062
2011-08-28 05:15:16 +00:00
David Anderson 78a9c920c7 - web: more fixes from Christian Beer. Fixes #1129
svn path=/trunk/boinc/; revision=24050
2011-08-26 18:30:13 +00:00
David Anderson bc52bf3563 - remote job submission: bug fixes
svn path=/trunk/boinc/; revision=23943
2011-08-07 22:36:17 +00:00
David Anderson a01d8d8ccd - web: fix bug in next_url mechanism
svn path=/trunk/boinc/; revision=23912
2011-08-01 21:09:29 +00:00
David Anderson 5b159c6735 - remote job submission: bug fix and tweaks
- client: cc_config.xml: if <devnum> is omitted from a <exclude_gpu>,
    it means exclude all instances of that GPU type
- client: if all instances of a GPU type are excluded for a project,
    don't ask the project for jobs of that type


svn path=/trunk/boinc/; revision=23898
2011-07-29 00:07:20 +00:00