From 1777bbb3b8818cb8c59ffe396286e876b7363407 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Wed, 10 Jan 2024 17:30:54 -0800 Subject: [PATCH] add notes --- notes | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 notes diff --git a/notes b/notes new file mode 100644 index 0000000..e2478cf --- /dev/null +++ b/notes @@ -0,0 +1,123 @@ +AdminInstallerUnix +CompileAppLinux +CompileAppWin +BuildMacApp +CompileClient +FileList +ServerIntro +SoftwareBuilding + nothing links to this +BuildSystem +CompileApp +SoftwarePrereqsUnix +CompileWithWxWidgets + +---------------- +top-level doc (SoftwareBuilding) + +the BOINC software consists of several parts: +- server +- client software (client, Manager, boinccmd) +- Application library (API) +Each of these parts can be built +for different platforms (e.g. Win, Mac, Linux, Android). + +Depending on your goals, you probably need just a subset of these. +For example, if you're developing a BOINC project, +you might want to build the server software for Linux, +and the API software for Win, Mac, and Linux. + +Application library + (Note: if you use the Wrapper or VirtualBox, + you don't need to build anything; + you can use pre-built executables) + Win -> CompileAppWin + Linux -> CompileAppLinux + Mac -> BuildMacApp + Android -> AndroidBuildApp +Server + linux -> BuildSystem +Client + Win + Linux -> BuildSystem + Mac -> MacBuild + Android +==================== +doc big picture +Intro docs + (base-case examples w/ cookbooks; pictures; videos where feasible) + + Introduction to BOINC + What BOINC is; why use it; volunteer computing + client/server: projects, worker nodes + role of UCB + features + The structure of BOINC + projects, attachments, account managers + Science United, BOINC Central + role of UCB + cookbook: server setup + Introduction to BOINC applications + apps and app versions + plan classes + files; dir structure + process structure + BOINC API, communication + packaging options + native, wrapper, VM + cookbook: vbox app + Introduction to job processing + failures and errors + replication + files + upload/download hierarchies + file checksums + file staging + means moved/copied to hierarchy + don't need to md5; that's done by create_work + (process_input_template()) + batches + ownership + pipeline components + work generator + validators + assimilators + C++ and Python + job submission + on server + work generators + web interface + remote + Python binding + cookbook: job processing + python scripts: + work generator + makes a job for each file in a dir + use create_work + makes a batch + validator (use script_validator) + make sure file is UC + compare 2 files + assimilator (use script_assimilator) + move output file to a dir + web interface for batch status + Making a production BOINC server + domain name + SSL + code signing + software upgrade + log files + backups + get listed + Science United + web site: + content + forums + spam control +----------------------------- +detailed docs +Handling completed jobs (assimilation) + Standard assimilators + Assimilators in scripting languages (Python, PHP, etc.) + Assimilators in C++ +