Commit Graph

425 Commits

Author SHA1 Message Date
David Anderson aaa60334be - web: add $prefix arg to sample project_header(), project_footer()
(fix links on profile-index pages)
- web: use cache-control "no-store" only for home.php.
    This makes it so that, e.g. if you scroll to the middle of a long page,
    follow a link, then click Back,
    you'll go back the original scroll position rather than top of page.

svn path=/trunk/boinc/; revision=15391
2008-06-12 04:50:10 +00:00
David Anderson 304c1dc934 svn path=/trunk/boinc/; revision=15369 2008-06-05 22:37:55 +00:00
David Anderson fc3f542161 rename
svn path=/trunk/boinc/; revision=15367
2008-06-05 22:06:31 +00:00
David Anderson d5ec5a3e11 rename single_job_setup
svn path=/trunk/boinc/; revision=15366
2008-06-05 22:04:16 +00:00
David Anderson 0e03df254b - Back end: add adaptive validation feature
(DB update required)
- Fixed typo in Eric's 5/28 checkin

svn path=/trunk/boinc/; revision=15357
2008-06-04 23:04:12 +00:00
David Anderson ebfb1e8e3b - Validator framework: change get_output_file_path()
to return a struct FILE_INFO (including "optional")
    instead of just the filename.
    This lets you avoid erroring out if optional file is missing.
- Sample bitwise validator: support > 1 output file correctly

svn path=/trunk/boinc/; revision=15332
2008-05-29 20:11:43 +00:00
Matt Lebofsky 864f6f0b6a Added <email/> tag (so users can see which e-mail these reminders
were being sent to, as to hopefully avoid confusion)


svn path=/trunk/boinc/; revision=15297
2008-05-27 22:19:14 +00:00
Matt Lebofsky 9d9531a5f4 Bug fixes and added "count" command line option
svn path=/trunk/boinc/; revision=15086
2008-04-23 20:59:14 +00:00
David Anderson 6af9f66b4e - DB/feeder/scheduler: change app_version.xml_doc from blob to mediumblob,
and change the correspending structure field from 64KB to 256KB
    (could increase this if needed).
    This is needed to handle app versions with lots (> 100) of files
- change LARGE_BLOB_SIZE to BLOB_SIZE a bunch of places
- Change COPROCS from vector<COPROC> to vector<COPROC*>.
    Otherwise the right virtual functions of COPROCs don't get called

svn path=/trunk/boinc/; revision=14986
2008-03-31 16:19:45 +00:00
David Anderson bacf9512d1 - web: on completion of team foundership transfer,
clear ping_user and ping_time fields
- web: fix outdated update_forum_activities script

svn path=/trunk/boinc/; revision=14973
2008-03-28 03:05:19 +00:00
David Anderson 4e9fbac5e0 - admin web: touch reread_db in manage_app_versions.php
- DB code: remove "is_high_priority" stuff.
- scheduler: merge find_app_version() into get_app_version().
    Have the latter memoize its results (both positive and negative).
    Have it call app_plan() for apps with nonempty plan_class.
- scheduler: first steps towards improved selectability of log messages.
    It will eventually be like the client,
    where you can select among various types of messages.
- feeder: if can't unlink the reread_db trigger file, exit
    (else we'd go into an infinite loop)

svn path=/trunk/boinc/; revision=14940
2008-03-18 21:22:44 +00:00
David Anderson 815b8fc043 Various preparation for handling multithreaded apps
and apps that use coprocessors.
There now can be several app_versions for the same
(app, platform, version_num) combination.
This changes a number of things.

- Added app_version.plan_class field to DB
- update_versions now looks for a :plan-class in the
    file or directory name, and puts it in the app_version's DB record
- Change uniqueness constraint to include plan_class
- Feeder: the feeder was putting non-deprecated app_versions
    in shared mem, and leaving it to the scheduler to
    find the latest version for a given platform.
    This is dumb.
    Instead, for each app/platform pair the feeder now
    finds the highest version number of a non-deprecated app version,
    and enumerates all non-deprecated app_versions with that
    app/platform/version
- Scheduler: add a BEST_APP_VERSION data structure that keeps track,
    for each app, what the best app_version is for this host.
    This saves the work of recomputing it for each job.

svn path=/trunk/boinc/; revision=14906
2008-03-13 22:57:24 +00:00
David Anderson 546c0b899a - server: fix botched checkin from 7 March.
The new field (workunit.rsc_bandwidth_bound)
    goes at the END of the record.
    Always do it this way!
- make_work: after creating a batch of new WUs,
    we were waiting 60 sec for the transitioner to
    create the results for them
    (so that our next count of unsent results would be correct).
    This is bogus; if e.g. the transitioner isn't running,
    we'll never get the results, and we'll keep creating WUs forever.

    Instead: explicitly wait for there to be results for
    the last WU from the batch just created.

- scheduler: parse <allow_non_preferred_apps>, <allow_beta_work> correctly.

svn path=/trunk/boinc/; revision=14875
2008-03-10 17:03:15 +00:00
David Anderson 95772cba77 - removed boinc_ncpus_available() and boinc_nthreads() calls.
The design has been changed to constant #threads per app version
    Various changes from Kevin Reed/WCG:
    - server: add workunit.rsc_bandwidth_bound: if nonzero,
        send this WU only to hosts with that much download bandwidth
    - assimilators: if a handler returns DEFER_ASSIMILATION,
        the WU remains in INIT state and will be handled when the
        next instance completes.
        Useful if you want the assimilator to see all instances.
    - scheduler: when setting result.outcome = DETACHED,
        set received_time to now
    - scheduler: removed the reliable_time and reliable_min_avg_credit
        options
    - scheduler/web: add optional <allow_non_preferred_projects>
        in project preferences.
        If present, user will accept work from non-selected apps
        if no work is available for selected apps
    - scheduler: improved messages for projects with multiple apps
    - scheduler: added config options
        <granted_credit_weight> and <granted_credit_ramp_up>.
        Used in calculating host.claimed_credit_per_cpu_sec,
        but I'm not sure how.
    - Added two new credit-granting formulas (validate_util.C):
        stddev_credit() and two_credit()
    - server DB: add rollback_transaction() and affected_rows() to DB_CONN

    NOTE: DB update required

svn path=/trunk/boinc/; revision=14870
2008-03-07 21:13:01 +00:00
David Anderson 0dadf8d62f - admin web: fix profile screen form formatting
- web: remove get_transform_settings_from_user().
    There's only get_output_options()

    NOTE: why is text_transform() doing stripslashes()?
    The slashes shouldn't be in the DB in the first place.
    There's some fundamental confusion here.

- web: fix uotd.php


svn path=/trunk/boinc/; revision=14866
2008-03-07 04:38:06 +00:00
David Anderson 4e3764df34 - server: debugged single-job submission feature.
It works, at least in my test case.
- boinc_submit script:
    show status every 10 seconds until completed
    add --wait option to show status for previous submission
- Added get_logical_name() in validate_util.C
- create_work: change default target_nresults from 5 to 2,
    max_error_results from 10 to 3,
    max_total_results from 20 to 10,
    max_success_results from 10 to 6
- boinc_cmd: show full usage if no args
- project setup: copy single_job_assimilator

svn path=/trunk/boinc/; revision=14847
2008-03-05 20:16:10 +00:00
David Anderson b20f2d915c - server: added a mechanism for submitting jobs as:
> boinc_submit --infile foo --outfile blah program --args
    This will run "program" on a remote host,
    with the given input, output files, and command-line args

    It manages everything for you.
    You don't have to worry about apps, app_versions,
    template files, wrapper job files, etc.
    See: http://boinc.berkeley.edu/trac/wiki/SingleJob

    Initial checkin - not debugged yet.

svn path=/trunk/boinc/; revision=14842
2008-03-04 23:50:38 +00:00
David Anderson 1106da6ec6 - transitioner: we're not supposed to ever see "assigned" WUs.
But if we do, set their transitioner time to plus infinity
    so that we don't see them again.
    (otherwise we go into an infinite loop)
- DB code: remove "high_priority" from queries not from scheduler
    (should probably remove them from there too)
- file_deleter: print error msg if apache user doesn't exist

svn path=/trunk/boinc/; revision=14835
2008-03-03 19:33:32 +00:00
David Anderson 86857a5452 - Scheduler: fix bugs in work assignment feature
svn path=/trunk/boinc/; revision=14810
2008-02-27 22:26:37 +00:00
David Anderson d77e8a093c - Bolt maps
svn path=/trunk/boinc/; revision=14778
2008-02-22 20:09:23 +00:00
David Anderson 79f6720547 - scheduler: add <max_ncpus> config option.
Use this with N=1 if your application primarily uses a coprocessor

svn path=/trunk/boinc/; revision=14772
2008-02-21 20:10:10 +00:00
David Anderson 54519a4ee1 - Server: add "job assignment" feature.
Lets you assign a WU to a particular host,
    to one or all hosts belonging to a user or team, or to all hosts.
    See http://boinc.berkeley.edu/trac/wiki/AssignedWork
    Disabled unless you include <enable_assignment> in config.xml
    Uses a new DB table.
    Tested but only a little.
- Server: code cleanup; moved result-handling to a new file,
    and removed the PLATFORM_LIST arg to everything
    (put it in SCHEDULER_REQUEST instead)

svn path=/trunk/boinc/; revision=14767
2008-02-21 00:47:50 +00:00
David Anderson 0bcaa761f0 - rename cgi.log to scheduler.log
- fix ops login

svn path=/trunk/boinc/; revision=14747
2008-02-15 15:25:44 +00:00
David Anderson 02adbc4d49 - web: remove all references to the PHP "session" mechanism,
which added only confusion.
    Implement login directly, using cookies.
- All cookie setting/clearing now goes through two functions,
    send_cookie() and clear_cookie().
    These deal with path and expiry
    (e.g. if you want to have different language or forum settings
    on two projects on the same server, that now works).

svn path=/trunk/boinc/; revision=14735
2008-02-13 19:02:44 +00:00
David Anderson b543bcc3c4 svn path=/trunk/boinc/; revision=14730 2008-02-13 04:25:52 +00:00
David Anderson 35dab13859 - client code: my next-to-last checkin was flawed
svn path=/trunk/boinc/; revision=14725
2008-02-12 20:33:05 +00:00
David Anderson 51286a03dc - Initial checkin of Bossa code
svn path=/trunk/boinc/; revision=14716
2008-02-11 23:38:31 +00:00
David Anderson a1664cc070 - scheduler: simplified Carl's checkin (avoid virtual destructors)
- API: small tweak for standalone

svn path=/trunk/boinc/; revision=14679
2008-02-05 21:26:43 +00:00
David Anderson 904cbe5a4f - Add Bolt admin page
- added "hidden" flag to courses


svn path=/trunk/boinc/; revision=14660
2008-02-01 23:11:09 +00:00
David Anderson e9c716debe - web: fixed screwed-up UOTD logic.
The meaning of the <screen_profiles> config flag is:
    If set:
        profiles must be screened by admins before their photo is shown.
        When this is done, profile.verification is set to 1
        (and they become eligible to be UOTD)
    If not set:
        profile photos are always shown.
        Profiles must be screened by admins before
        they are eligible for UOTD.
        When this is done, profile.verification is set to 1
    So default_uotd_candidates_query() is the same in either case.
- web: fix profile_screen_form.php
    (admin page for screening profiles)
- web: make a copy of login_action.php in ops/

svn path=/trunk/boinc/; revision=14561
2008-01-15 22:14:07 +00:00
David Anderson cf0bd5911c - tweak credit_study.php
svn path=/trunk/boinc/; revision=14516
2008-01-09 20:29:09 +00:00
David Anderson 3d5ab321d4 - Fix the credit_study.php script to 1) be correct and
2) explain its output

svn path=/trunk/boinc/; revision=14515
2008-01-09 20:12:13 +00:00
David Anderson d642cd6815 - small web fixes; fixes #421
svn path=/trunk/boinc/; revision=14485
2008-01-07 23:33:48 +00:00
David Anderson fef16a7498 - web: bug fixes
svn path=/trunk/boinc/; revision=14474
2008-01-06 18:09:23 +00:00
David Anderson 57f0bbc6e5 - make_project: prepend "./" to config.xml script names in case "." is not
in Apache's search path
- web: show UOTD text correctly
- web: memoize profile_screening() in attempt to fix out-of-memory error
    when building profile pages on S@h
- web: move gallery.inc into update_profile_pages and remove it

svn path=/trunk/boinc/; revision=14460
2008-01-03 17:24:28 +00:00
David Anderson b542785c1e - web: My Account page, other user account page, and profile pages
now have community info in a 2nd column on the right.
    This accomplishes two things:
    1) it puts community info in more places;
    2) it provides a reasonable way to format long lists of friends;
        they just continue down the right column.

svn path=/trunk/boinc/; revision=14452
2008-01-01 22:29:10 +00:00
David Anderson f183b6f47f - web: add general-purpose notification mechanism.
Users can choose whether to get 1 email per notification,
    a daily "digest" email, or no email.
    (All notifications are shown on the Account page).
    Currently used for:
    - Friend requests and confirmations
    - Posts to subscribed threads
    - Private messages

    NOTE: To implement the "daily digest" feature, projects must add
    a periodic task for html/ops/notify.php to config.xml
- web: have project_footer() generate links for
    Account Page and Message Boards as well as Home
    NOTE: projects that want this change
    will have to modify their own project.inc.

svn path=/trunk/boinc/; revision=14447
2007-12-30 22:02:16 +00:00
David Anderson f125e7e2de - web: don't require login for show_user.php
- web: add app selection to example project-specific prefs
    (commented out by default)
- web: in prefs, flag too-low numeric values as errors,
    rather than just setting to min value
- web: fix bug when add new venue from "columns" view

svn path=/trunk/boinc/; revision=14442
2007-12-24 21:34:21 +00:00
David Anderson bcf062975c - make_project: don't create symbolic link html/user_profiles/user_profiles.
If there was ever a need for this, it has disappeared.
    Fixes #524
- fix bug in BOINC-wide team export script

svn path=/trunk/boinc/; revision=14441
2007-12-24 17:32:54 +00:00
David Anderson dcce4d6717 - user web: bug fix in code to limit posting rate
- admin web bug fixes

svn path=/trunk/boinc/; revision=14416
2007-12-19 21:28:58 +00:00
David Anderson 13baee4302 - user web: add "friend" and "notification" features
- user web: code cleanup in Profile area
- GUI RPC: add missing "/" in auth2 RPC

svn path=/trunk/boinc/; revision=14394
2007-12-18 20:28:08 +00:00
David Anderson 3f41f9a88d - Add weak account key mechanism.
Each account has an associated weak account key.
    The user can see it by visiting weak_auth.php.
    If you put the weak account key in the account file on a computer
    (instead of the regular account key)
    the computer will attach to the account.
    But the weak account key cannot be used to log in
    to the account on the web, or to do web RPCs, or anything else.

    Note: this involves a scheduler change.

svn path=/trunk/boinc/; revision=14367
2007-12-07 23:23:25 +00:00
David Anderson cea8e84c7b - ops: in team import script, send email to team founder
when creating team
- web: if user changes email addr, clear email_validated

svn path=/trunk/boinc/; revision=14353
2007-12-04 22:16:37 +00:00
David Anderson dc774182b1 - web: if a team forum is deleted, delete all the threads and posts
beneath it.
    Otherwise you get "zombie" posts, and e.g. when we should a user's
    posts, they might all be hidden.
    Also added a script to retroactively clean up these.

svn path=/trunk/boinc/; revision=14325
2007-11-30 00:00:44 +00:00
David Anderson 68ec6e6ce6 svn path=/trunk/boinc/; revision=14319 2007-11-29 02:56:10 +00:00
David Anderson 17949271a1 svn path=/trunk/boinc/; revision=14296 2007-11-24 05:11:43 +00:00
David Anderson 19267f06e1 - team import: fix string-escaping bugs
- user web: don't show links to sched logs if they don't exist
- user web: add new team types

svn path=/trunk/boinc/; revision=14295
2007-11-24 04:51:03 +00:00
David Anderson 4a81532043 - DB: add fulltext index on team.name
- user web: improve "team search" function,
    and get rid of the superceded "search by name" function
- user web: don't show team founder link to initiate transfer
- user web: show team types
- user web: fix "top teams by type" function
- client: tread NOT_FOUND error on file upload as transient;
    it means the project is missing its file_upload_handler

svn path=/trunk/boinc/; revision=14272
2007-11-20 22:58:14 +00:00
David Anderson 615d4dcf22 - user web: the "private-message notification by email" flag
should default to off.
    Note: it's necessary to clear everyone's flag.
    Projects will need to notify users (e.g. via a news item)
    that they need to explicitly set this pref if they want email
    notification of PMs

svn path=/trunk/boinc/; revision=14255
2007-11-19 02:17:57 +00:00
David Anderson 512af1d30e - user web: don't append "/" to URL_BASE.
URL_BASE is assumed to end with a /.
    If you put another /, you end up with // in URLs.
    This leads to a situation where you can have
    one cookie for // and another for / - bad.

    If this causes problems for any projects,
    they should edit their project.inc accordingly

svn path=/trunk/boinc/; revision=14254
2007-11-18 22:42:47 +00:00