| 1 | [[TOC]] |
| 2 | |
| 3 | == Introduction == |
| 4 | HTML and JavaScript have become the predominate rendering technologies on the web. Used for everything from web browsing to mobile phone applications. HTMLGfx attempts to bring HTML rendering technologies into the BOINC graphics and screensaver environment. |
| 5 | |
| 6 | By providing precompiled binaries the barrier to entry is greatly reduced allowing projects to deploy customized graphics for their applications. All projects would need to supply is the HTML/CSS/JavaScript required to display something about what is going on with the currently executing job. |
| 7 | |
| 8 | In theory, volunteers could even get in on the act and create graphics for whatever applications suit their interests and share them with the community. It is conceivable that projects may even hold yearly competitions to include a volunteers graphics bundle to be deployed with the project's application. |
| 9 | |
| 10 | Currently HTMLGfx is only supported on Windows at this time. |
| 11 | |
| 12 | References: [GraphicsApi Making graphics applications for BOINC] |
| 13 | |
| 14 | == System Overview == |
| 15 | |
| 16 | HTMLGfx leverages existing operating system dependent libraries for rendering HTML. By leveraging the operating systems HTML renderer HTMLGfx will be able to support whatever the latest technologies the operating systems browser supports. |
| 17 | |
| 18 | == Design Considerations == |
| 19 | |
| 20 | === Assumptions and Dependencies === |
| 21 | |
| 22 | === General Constraints === |
| 23 | |
| 24 | === Goals and Guidelines === |
| 25 | |
| 26 | === Development Methods === |
| 27 | |
| 28 | == Detailed System Design == |
| 29 | |
| 30 | === Configuration File === |
| 31 | |
| 32 | The graphics description file has the logical name of '''boinc_graphics.xml''' |
| 33 | (its physical name should include a version number and other info). |
| 34 | It has following structure: |
| 35 | |
| 36 | {{{ |
| 37 | <boinc_graphics> |
| 38 | [ <default_url>filename</default_url> ] |
| 39 | [ <running_url>filename</running_url> ] |
| 40 | [ <suspended_url>filename</suspended_url> ] |
| 41 | [ <network_suspended_url>filename</network_suspended_url> ] |
| 42 | [ <exiting_url>filename</exiting_url> ] |
| 43 | </boinc_graphics> |
| 44 | }}} |
| 45 | Optional elements: |
| 46 | '''default_url''':: |
| 47 | '''running_url''':: |
| 48 | '''suspended_url''':: |
| 49 | '''network_suspended_url''':: |
| 50 | '''exiting_url''':: |
| 51 | |
| 52 | === Graphics Status File === |
| 53 | |
| 54 | The graphics status file has the name of '''boinc_graphics_status.xml'''. |
| 55 | |
| 56 | It is read once a second and is generally managed via the worker application via |
| 57 | the boinc_write_graphics_status() BOINC API. |
| 58 | |
| 59 | It has following structure: |
| 60 | {{{ |
| 61 | <graphics_status> |
| 62 | <updated_time>%f</updated_time> |
| 63 | <cpu_time>%f</cpu_time> |
| 64 | <elapsed_time>%f</elapsed_time> |
| 65 | <fraction_done>%f</fraction_done> |
| 66 | <boinc_status> |
| 67 | <no_heartbeat>%d</no_heartbeat> |
| 68 | <suspended>%d</suspended> |
| 69 | <quit_request>%d</quit_request> |
| 70 | <reread_init_data_file>%d</reread_init_data_file> |
| 71 | <abort_request>%d</abort_request> |
| 72 | <network_suspended>%d</network_suspended> |
| 73 | </boinc_status> |
| 74 | </graphics_status> |
| 75 | }}} |
| 76 | Optional elements: |
| 77 | '''default_url''':: |
| 78 | '''running_url''':: |
| 79 | '''suspended_url''':: |
| 80 | '''network_suspended_url''':: |
| 81 | '''exiting_url''':: |
| 82 | |
| 83 | |
| 84 | === !JavaScript Extension === |
| 85 | |
| 86 | |