<h1>Annozilla 'to do' list</h1>
<li>FF3 compatibility. (Grey background on annotation editor? "Syntax error" in error console.)
<li>Change from Local to Remote server and load annotations: old annotation icons and highlighting are not removed. (They are removed from the sidebar list correctly. Update: actually I don't think they are.)
<li>No animation when deleting annotation.
<li>Don't write to window.status?
<li>Are we slowing down new window/tab creation by loading so much code into the context menu? (use mozIJSSubScriptLoader?)
<li>Preference wizard for easy first-time setup. (Now pretty much working I think, except, if Annozilla sidebar is open, the server settings don't seem to be used until after a restart - seems a bit of an edge case).
<li>iconClick->openEditorWindow->doesn't get fragment to add temporary icon
Error: [Exception... "'openEditorWindow requires either a fragment or an existing annotation' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "<unknown> data: no].
(Does it need it? The condition in the code doesn't seem to match the error message.)
<li>IconManager trouble getting body from server?
due to asynchronous body load: see loadBodyOnSuccess
<li>Don't want to load annotation bodies during annotation loading (in general case - OK for local server)
<li>Remove server as default post server if that server is deleted from the list
<li>"Basic" server prefs - is there any way we can set the data up only on "OK"?
<li>Improved behavior for tabbed browsing (autoload for multiple tabs at once etc.) This works well now. The sidebar throbber doesn't always get updated correctly though, and some methods don't care about the "target" parameter when they probably should.
<li><strike>"Basic" server prefs - got the following setting up a remote server:
<pre>Error: uncaught exception: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIRDFService.GetResource]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: chrome://annozilla/content/prefs/pref-annozilla-servers.js :: setBasicServer :: line 429" data: no]</pre></strike> Fixed in CVS.
<li><strike>After changing server types and trying to select an annotation icon, get the error "Unable to delete the selected annotation due to an internal error. Try reloading the annotations for the page." - but I was only attempting to open the annotation, not delete it. (These errors are not properly localised anyway.)</strike> Fixed in CVS.
<li><strike>Move 'Server prefs' and 'Edit Site List' back into the main panel on Firefox</strike> (fixed in CVS)
<li><strike>Rename "Post"/"Update" to "Save"</strike> (fixed in CVS)
<li><strike>Fix memory leaks (3 objects leaked per window)</strike> fixed in CVS
<li><strike>Get <code>"Stylesheet annotations.css not found: using chrome://annozilla/content/annotations.css"</code> in error console.</strike> Update: this is intended behaviour, however I have removed the logging to the console.
<li><strike>Autoloading for tabbed browsing?</strike> Implemented by CGH.
<li><strike>From an empty sidebar (showing "No annotations loaded"), create an annotation without first loading the annotations for the page. The new annotation is added for the list but "No annotations loaded" is still present.</strike> Fixed, but other scenarios exist where this could be problematic.
<li><strike>Remove extra nodes from DOM when a highlight is deleted. (At the moment we just remove the highlighting.)</strike>
<li>Open annotation window by double-clicking on icon opens window at unreasonably small size. <strike>Or sometimes get "Sorry, couldn't download the annotation body."</strike> - fixed by allowing multiple annotation windows
<li><strike>Integrate Firefox 2 built-in spelling checker.</strike> fixed in CVS
<li><strike>Annotation passed to postAnnotationOnSuccess from remote server
doesn't have proper annotation type; need to reload to get it
and sometimes author is something like "rdf#mjAmH".
(We send RDF to the server and get back an annotation to indicate success;
however the annotation data is incomplete and so we try to supplement it
with the data we originally passed. The test on 'creator' goes wrong,
because we pass it as a literal and get it back as a resource.
We fail to overwrite the more "specific" type of "Comment" because the
"Annotation" type is already present.) Fixed.</strike>
<li>Make all sidebar options available via menu (not just context menu)
<li>In the Server Options panel, display "Local Server" not "urn:localserver"
<li>Rework classes using model/view/controller terminology. (The
nsIAnnotationsObserver provides some of this.)
<li>On sidebar load with no servers, make it easier to load the Server options
<li>Move multiple server support into an 'Advanced' panel???
<li><strike>Use XBL language binding everywhere</strike> Now expecting to
remove the language options from the UI
<li><strike>XBL for annotation icons and/or highlights</strike> Doesn't seem to be possible because we can't bind to arbitrary text nodes
<li>The 'fastback' feature would presumably leave annotation icons/highlights in the document but not held by Annozilla. Could the annotation data be held in the document, with DOM UserData? (speculation, I don't know whether this is possible.)