-*-mode: outline; outline-regexp: "[*\f]+" -*-

* BROKEN MODULES
(If a module is broken, add it here so we know to add it right away.)
(Module requests go under * Comic Modules.)

**

----------------------------------------------------------------------

* Webpage Creation Features

** Create a method for retrieving a list of valid days on sporatically
   updated comics. (This would fix 404s comming from the following comics:)
*** comicspage_ed*
*** exploitation
*** doemain
*** elf_life

** Include icon links in webpages.

** Add web page creation option to specify order of comics in web pages.
(partially done with -L)

** Separate file element out of body element template. 
Have 2 templates for the body elements--a template wrapper around a
set of file element templates, and a file element template.

** Include banner ads with comics

** Use image size even if specified
This means that the only time when the file size is used is when the
image couldn't be downloaded.

** Option for specifying comics to include in webpage
This would mean that when the option is specified, only those comics
selected by the user would be included in the webpage.
(Partially done with rewrite of HTML code)

** Create webpage with only the latest comics
This option would have the webpage that's generated include only the
latest strip of each comic in the repository.

** Group comics by pages, index by comic names
For example, all Dilbert strips would be on their own page,
Foxtrot in its own.  The index page would then have links to
the pages themselves, and not to the individual comic strips.

** Index of indices
If the user specified a maximum number of items per index page, then
an index page for the index pages could be created.
----------------------------------------------------------------------

* Comic Modules

** Finish each of the disabled modules.

** Add Fat Boy and Little Man: http://www.fatboyandlittleman.com/

** Change comicspages_ed to use a 'func' to determine what comics to download.
Should probably base it off of penny_arcade.

** Add limpidity (releases by number, but what's change page has some dates)n
http://www.furcrazy.com/limpidity/

-----------------------------------------------------------------------

* Globalization

** Add timezone adjustment logic & include general TZ for each rli.

** Localize documentation

** Internationalize & localize software, including html templates

** Add select of language preference.
Like color preference, this would be another argument sent to the
module functions.  If the comic is in multiple languages, it would
download the user's prefered language.  Ex: Love Is... at
ComicsPage.com is in English and Spanish:
http://www.comicspage.com/loveis/

-----------------------------------------------------------------------

* Displaying Comics

** Find a program that can display animated gifs.

** Find screen savers that can show the comics.

** Update show_comics to use the Tk image command to display comics
If jpeg can't be displayed with that command, resort to something else.
http://members1.chello.nl/~j.nijtmans/img.html
http://www.cs.cornell.edu/dali/

** Update show_comics to allow specifying the command to use
For example, make it so that they can have their background set to
that image.

-----------------------------------------------------------------------

* Distribution & Build Environment

** Create an icon for netcomics.

** Provide a way to automatically download updates to the modules.
This should probably use CVS revision IDs.

** Remove dependency of the main rpm on the modules rpm.

-----------------------------------------------------------------------

* General Features

** Use Getopt::Mixed for handling of command-line options

** Support multi-file sizes.

** Add an option to specify the umask of the files created.

** Add mechanism to add support for downloading categories of comics.

** Create a CGI script that would produce webpages on the fly.
See the phpComics project.

** Add a GUI for configuring netcomics & possibly displaying comics
(Partially done with comicpage, but needs work)

** Add a daemonized mode

** Add a way to more flexibly define the name to give to files.

** Optimize netcomics so same URL doesn't get downloaded many times.
Perhaps add a field called static that would list the names of the
other fields that never change.

** Add support for set names.

** Add option to get a whole archive of comics.

** Add ability to specify a set of dates per comic.

** Add sort by author option & list author names in -l output.

** Add advertisement download feature

** Include ability to download banner ads

** Restructure modules so that non-RLI fields don't have to be accessed
through running the function.

** Add capability for user to override days behind info in rc file.

** Output an error message saying that modules package wasn't installed
or the module directory path is wrong if no modules are found.

** Filetype from final URL
Add option for modules to utilize that instructs netcomics to derive
the filetype from the URL used to download the image.

** GnomeTransferManager & FreeNet
Consider utilizing or extending GnomeTransferManager to download files
http://gtm.sourceforge.net/
And consider tapping into freenet to distribute images
http://freenet.sourceforge.net/

** Ability to specify a referer for individual URLs
The current scheme allows a module to specify a referer, but the same
one is used for all HTTP requests generated to download its image.  It
is possible that a website would setup a scheme that requires a
different referer for the webpage that contains the IMG SRC for the
image.  Design proposal: utilize 'referer' in @exprs each time (which
means that the last entry in a referer list in @exprs wouldn't be used
and that the global 'referer' would have to be set for the first page
downloaded.  Something else would have to be devised for functions
that return a list of relative URLs that might need different referers
(although highly unlikely this functionality would be needed).

** Download statistics
It would be nice to have netcomics keep statistics on download
failures over time so that netcomics' maintainer could setup a scheme
where those statistics are monitored and if too high a percentage of
failures are occurring, it will shoot the maintainer for not doing
his/her job! (-;

** Keywords/Categories
Add a field that would contain a list of keywords or categories then
that could be utilized to select a group of comics.  This should tie
into the separate comics feature somehow.

** Limit -u, the "don't download, but use URLs" option to not work on refers
This option makes the output webpage contain URLs to the comics at the
website on which they're published.  For those comics that require a
specific referer, this doesn't work.  Although it would be nice to
find someway to tell the browser to fake the referer for specific
images, I don't think that's possible.  Therefore, this option should
be enhanced so that it downloads the *minimum* number of comics
possible: those that require a referer, while simply generating URLs for
those that don't.

One reason for using -u is to not actually store copyrighted
material (but to let the webbrowser's cache do that just as if the
user were browsing the comic's website).  Since a system like freenet
is designed from the ground up to address this issue, perhaps
utilization of it would be good technical solution to the referer
problem.

** Username & password authentication mechanisms for websites

** Option to delete only those comics & status files that were successful
or were unsuccessful and reached the maximum retry limit.

** Add a signal catcher 
if Crl-C'd during download, it would stop and then go to webpage
creation.  Also, if saving rli information at the end, it should
save the rlis.

** Better file type handling
Allow multiple-file-comics to have different types (sketch, eg: 20001211).
Use file command to determine image type.
Else, look for filetype in the url.

** Option & API for selecting the file type.
Source Wars provides comics in png and gif.  Like color, should be
able to let the user choose which one to grab.

** Intelligent selective loading of persistent data
To overcome performance issues when a directory contains a lot of
comics, only load in those rli files that are of the particular dates
in question.  This will be useful if webpages aren't being made.  To
be useful when regenerating webpages, would need to develop a way to
tack onto webpages the new comics.

-----------------------------------------------------------------------

* Bugs

** Fix bug from Archimede on 12/14/99

** From Chris McAvaney: When I get netcomics to re-create the html pages,
it puts the newer formated gif files in the comics1.html file and not
the last file.  So the sorting routine must be doing something a bit
weird.

** Fix bug where RLIs loaded from files have 'name' which is deprecated.

** Work on speeding up loading numerous (+1000) RLIs.
*** Glob RLIs into one file?
*** Use a Berkly DB file for storing persistant data?

** -o should imply -W
When the user specifies to output the webpage on STDOUT, it should
always create the webpage.
**** Almost Done?

** verbose output should always be sent on STDERR.

** Work on speeding up loading numerous (+1000) RLIs. Glob RLIs into one
file?

** Fix bug regarding index.html files that are a list of ALL comics while
using the -P feature. (No clue on this one...)

-----------------------------------------------------------------------

* Comicpage
** Multiple Columns
Add support for an optional column to the comics list. Different options
could include Authors, Days Behind, etc. (Requires update to 
Factory::comic_names())

** More user control on comics list
Let the user define which coluns they want to see & allow
them to filter.

** Highlight downloaded comics
Add a mode that filters the list of comics or highlights the
comics & dates in the calendar for those comics that are
already downloaded
(Requires major changes to Netcomics::Factory and the comic modules)

** Groups
Let the user define custom groups and be able to select the
group to filter the comic list with. (depends on group support
in netcomics)

** Delayed Download
A mode where the user selects multiple comics to download then
presses a download button.

** Threads
The user can continue selecting comics to download while a
comic (or comics) are currently being downloaded. (This will
require a few changes to Factory and maybe even Config.
Should a new thread be spawned each time, with it's own
Factory instance? Or should Factory be redesigned so that
rlis are added to a "waiting to be processed" queue?)

