Key: *-An important Item that needs to be finished B-Initial of person who needs to fix this (Binki) M-LordofWar needs to fix this E-normaldotcom needs to fix this x-finished task =-Long-term goal ?-needs reconsideration/explanation/rewording Notes: Initial release will no longer feature SSH auth, distrend will handle auth telnet-style. User registration will be done via PHP. Simpleslave uses a PHP API to communicate with the mysql-backed server, allowing debugging while server software is nonfunctional. Build General =-documenation: manpages =-runtime support: should we eventually just go with APR, glib, maybe something from suckless people? Is libdaemon (or whatever's out there) useful? =-XML (XML-RPC): useful as a communication protocol? as RPC protocol? see atheme; useful as job description format possibly. *-remoteio: figure out how to handle communications; async + callbacks seems the best method to me atm Master *=Add lockout of slaves below a certain version *-Complete testing with interactive test mode -update frame assigner to distribute some frames for lower-priority jobs when there's a higher priority job B-Add calls to remotio -> make API for sending messages ~= a function for every type of message defined in protocol.h -Write a stub for getting info from the tarball/validifying the tarball. Read distren-job.xml, a file in the tarball, to find out 1. which rendering system to use (that system, e.g. blender/povray, can read more specifics, such as name of file to pass to blender and frames. Options common between different systems will be handled in common as best as possible) -Write a stub for publishing file and constructing job description so that the job can be shared B-XML-RPC interface for obtaining info =-charsets: the program should operate in UTF-8. This is partially required by libxml2's (and XML's) usage of UTF-8. We want the program's internal charset to be UTF-8 and figure out if we need w_char/whatever to fulfill UTF-8. I don't believe we do... mabye we just need a declaration that al data stored must be in UTF-8 format. -> we need to consider how charsets work when and if issues come up M-explain members of struct general_info; e.g., what is timestamp used for, what's the point of the hibernate var, etc. *-resolve conflict between liblist and libmysqlclient *-figure out delete-during-traversal for liblist *-zip images into one file Slave -Fix current bugs *-Add calls to remoteio, once it works or even before it works -> write message API functions and API =-Make code more flexible for different types of jobs and operating systems (such as paths, libs, etc) =-Add code to allow pausing/resuming of the slave (including a running blender process) -> signal handling (SIGTSTP vs. SIGSTOP), distrenslave_control cmdline interface B-Add tmpdir variable (just like the datadir variable) that is compile-time or whatever -> simple API to allow configuration-file override while taking into account defaults set by ./configure *-Finish stub to delete old job data and output =-Upload finished frames' output files while rendering subsequent frames x-Add simpleslave with code to work around nonexisting server codebase Options =-Rewrite some stuff, try to make it simpler x-Move server and client confuse code into their individual files, rather than in the common file. -- note: there wasn't any client code in options.c. There was the ``server'' section. That section is passed multiple times and provides information to remoteio on how to connect to servers =-Review all confuse interfacing B-Push patch for relative includes in confuse to the confuse developers -- windows/mingw32 testing required first ?-Expand execio() to support stderr WebInterface *-Scale images on web interface, imagemagick? E-Begin working on MeshLib seamless integration with DistRen E-Simplify web interface, make it more lightweight E-Make some icons for deleting/editing/etc that aren't horribly ugly E-Get rid of "My Output" or move some functionality to this area E-Allow "archiving" of jobs? Overall *-Output type is currently a placeholder option at this point, make it actually affect the output *-Change the way the database handles storage of paths to frame data (path + extension?) *-Output resolution is currently a placeholder option, make it actually affect the output