Changeset - 981712cbd0ba
[Not reviewed]
default
0 1 0
Ethan Zonca (ethanzonca) - 15 years ago 2010-06-07 17:50:43
e@ethanzonca.com
Cleanup and edits of TODO
1 file changed with 45 insertions and 38 deletions:
TODO
45
38
0 comments (0 inline, 0 general)
TODO
Show inline comments
 
@@ -5,6 +5,8 @@ M-LordofWar needs to fix this
 
E-normaldotcom needs to fix this
 
x-finished task
 
=-Long-term goal
 
~-Cancelled goal
 
a-Goal needing assessment
 
?-needs reconsideration/explanation/rewording
 

	
 
Notes:
 
@@ -14,51 +16,56 @@ Notes:
 
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
 
  =-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.
 
  B-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
 
  ?*-update frame assigner to distribute some frames for lower-priority jobs when there's a higher priority job (Ask LordOfWar if this is implemented in sprocs already)
 
  B/E/?-Add calls to remotio -> make API for sending messages ~= a function for every type of message defined in protocol.h (are SendSignal() and SendExtSignal() good enough?)
 
  a-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
 
  *-figure out delete-during-traversal with liblist
 
  *-after job is complete and verified by the user, tar frames for easy download
 
 
 
  x-Complete testing with interactive test mode
 
  x-Complete DB testing with php server workaround
 
  x-resolve conflict between liblist and libmysqlclient
 

	
 
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
 
  E-Backport SimpleSlave functionality to slave code
 
  B-UnpackJob() and supporting functions need to work
 
  E-Restore tar functionality after unpackJob() is functional
 
  E-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
 
  E-Finish stub to delete old job data and output
 
  =-Upload finished frames' output files while rendering subsequent frames
 

	
 
  x=Add lockout of slaves below a certain version
 
  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
 
  B-Push patch for relative includes in confuse to the confuse developers -- windows/mingw32 testing required first
 
  ?-Expand execio() to support stderr
 
  =-Rewrite some stuff, try to make it simpler
 
  =-Review all confuse interfacing
 

	
 
  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
 

	
 
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?
 
  *-Tarball validation and other checks
 
  *-Scale images on web interface, imagemagick?
 
  *-Add "stop" button functionality and other missing button functionality
 
  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
 
  =-Allow "archiving" of jobs?
 
  =-Begin working on MeshLib seamless integration with DistRen
 

	
 
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
 
  *-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
0 comments (0 inline, 0 general)