[Clipart] Document::Manager 0.12

Andrew Archibald andrew.archibald at sympatico.ca
Mon May 23 14:06:26 PDT 2005

Bryce Harrington wrote:

>>>>The CGI interface, in theory, should be the easy part, at least to get
>>>>something basic working initially.
>>>Agreed.  If I put together a really simple proof of concept cgi, would
>>>you be interested in taking that on?
>>Quite possibly.  Although I may be fairly busy in June.  It's also the
>>sort of thing we might be able to share among several people, long term.
> Okay, I started roughing together some code based on CGI::Builder.  I
> can populate it with a few soap calls as examples.  I think it should be
> pretty straightforward to build off of.  What CVS should I check it
> into?

I could write some of the CGIs (if nobody minds they're in Python).  But 
maybe there should first be some discussion about the desired ultimate UI - 
no need to finalize it, but it would be good to plan the right general 

As I see it, we need:
(1) An upload interface
(2) A search and download interface
(3) A way for "developers" to manipulate the repository

(1) should be a CGI script.  It should accept on SVG file or an archive 
file containing SVG files.  Upon receipt, they should be extracted, parsed, 
thumbnailed, scanned for malware and non-portable SVG, and marked "not yet 
reviewed". A page showing thumbnails and listing keywords for all the 
submitted images should be shown to the user; at the bottom there should be 
a button saying "Yes, I want to release these images, as they appear here, 
as part of OCAL."  Any problem images (no license keyword, 
broken/non-portable SVG, scripts) can be flagged here.  If the user does 
not approve their own upload, we should probably discard the images (in the 
interest of respecting the author's wishes).

(2) should present a search box that searches (at the user's request) some 
or all of: filename, different types of metadata, text inside the SVG file, 
OCAL-internal status (not yet scanned for malware, etc.) It should also 
present a list of "top-level" keywords as clickable links. The result would 
be another search page, with the search narrowed to the results, and with 
thumbnails of a page full of the results. (clicking on a keyword link would 
narrow the images of interest to those containing the keyword or a 
sub-keyword of that keyword: for example, since flags would be tagged as 
"symbol" and "geography"), clicking on the symbol link followed by the 
geography link (in either order) would narrow the results to just images 
matching symbols and geography.

(3) should be done using SOAP so that scripts can be easily written (in any 
language).  A developer wants to de-capitalize all the keywords; they write 
a script that browses all the available keywords and for each capitalized 
one they search for all images matching it and changes it to lower-case 
(incidentally, I do not think this would be a good idea).  A developer 
wants to approve an image that contains script; they run a standard 
scriptlet that does just that.  This obviously requires some sort of 
authentication; the easiest (if SOAP supports this) is to require these 
connections to be from the fdo machine (developers can use SSH port 
forwarding to run programs on their home machines, but anyone with an fdo 
account then gets magic developer powers); better would be to use OpenSSL 
user authentication (as OpenVPN does).  However, an anonymous access to the 
library would be extremely valuable - this would then make writing an OCAL 
browser (possibly with built-in uploading) just a question of using SOAP to 
access the Web version.


More information about the clipart mailing list