08c4cc6d16 2007-07-30 drh: Things to work on: 08c4cc6d16 2007-07-30 drh: 7fe1e734e9 2007-07-31 drh: * Use the wiki_convert() routine to render comments and other text 7fe1e734e9 2007-07-31 drh: on web pages. 08c4cc6d16 2007-07-30 drh: 08c4cc6d16 2007-07-30 drh: * If the server does not have write permission on the database 08c4cc6d16 2007-07-30 drh: file, or on the directory containing the database file (and 609e4caf29 2007-08-25 aku: it is thus unable to update the database because it cannot create 08c4cc6d16 2007-07-30 drh: a rollback journal) then it currently fails silently on a push. 08c4cc6d16 2007-07-30 drh: It needs to return a helpful error. 08c4cc6d16 2007-07-30 drh: 933875bbd1 2007-08-01 drh: * If the server returns an error (for example if the outbound /xfer 933875bbd1 2007-08-01 drh: message exceeds the maximum POST size of the server) the client 933875bbd1 2007-08-01 drh: does not report this error back to the user as it should. 933875bbd1 2007-08-01 drh: 8df950d14a 2007-08-01 drh: * Bug: If the server closes the socket unexpectedly, the 8df950d14a 2007-08-01 drh: fwrite() in http.c:103 throws a signal and kills the child 8df950d14a 2007-08-01 drh: process. fwrite() is not suppose to do this. Need to figure 8df950d14a 2007-08-01 drh: out what is going wrong. f767ae0568 2007-07-30 drh: f767ae0568 2007-07-30 drh: * The ipaddr field of the rcvfrom table is not being set. This f767ae0568 2007-07-30 drh: field should be the IP address from which information is received f767ae0568 2007-07-30 drh: for the local repository. So when somebody does a push of new f767ae0568 2007-07-30 drh: files we record the ipaddr. Or when we do a pull, we record f767ae0568 2007-07-30 drh: the ipaddr. 08c4cc6d16 2007-07-30 drh: 08c4cc6d16 2007-07-30 drh: * Additional information displayed for the "vinfo" page: 08c4cc6d16 2007-07-30 drh: 08c4cc6d16 2007-07-30 drh: + All leaves of this version that are not included in the 609e4caf29 2007-08-25 aku: descendant list. With date, user, comment, and hyperlink. 609e4caf29 2007-08-25 aku: Leaves in the descendant table should be marked as such. 08c4cc6d16 2007-07-30 drh: See the compute_leaves() function to see how to find all 08c4cc6d16 2007-07-30 drh: leaves. 933875bbd1 2007-08-01 drh: + Add file diff links to the file change list. 08c4cc6d16 2007-07-30 drh: 08c4cc6d16 2007-07-30 drh: * Timeline enhanced so that you can specify a range of dates. 08c4cc6d16 2007-07-30 drh: 08c4cc6d16 2007-07-30 drh: * The /xfer handler (for push, pull, and clone) does not do 08c4cc6d16 2007-07-30 drh: delta compression. This results in excess bandwidth usage. 609e4caf29 2007-08-25 aku: There are some pieces in xfer.c that are sketches of ideas on 08c4cc6d16 2007-07-30 drh: how to do delta compression, but nothing has been implemented. 9c28ba4956 2007-07-31 drh: 9c28ba4956 2007-07-31 drh: * Enhancements to the diff and tkdiff commands in the cli. 9c28ba4956 2007-07-31 drh: Allow the entire tree or a subtree to be diffed, not just a 9c28ba4956 2007-07-31 drh: single file. Allow diffs against any two arbitrary versions, 9c28ba4956 2007-07-31 drh: not just diffs against the current check-out. Allow 9c28ba4956 2007-07-31 drh: configuration options to replace tkdiff with some other 609e4caf29 2007-08-25 aku: visual differ of the users choice. Example: eskil. 08c4cc6d16 2007-07-30 drh: 08c4cc6d16 2007-07-30 drh: * Ticketing interface (expand this bullet) 08c4cc6d16 2007-07-30 drh: 9c28ba4956 2007-07-31 drh: + Create new tickets as files in the file hierarchy 9c28ba4956 2007-07-31 drh: + Append remarks to a ticket 9c28ba4956 2007-07-31 drh: + Add attachments to a ticket 9c28ba4956 2007-07-31 drh: + Change attributes of a ticket 9c28ba4956 2007-07-31 drh: + Delete tickets that are no longer current. (The old 9c28ba4956 2007-07-31 drh: content is still accessible, the ticket is just not in 9c28ba4956 2007-07-31 drh: the current check-out.) 9c28ba4956 2007-07-31 drh: + Server setup to define the allowed attributes and 9c28ba4956 2007-07-31 drh: attribute values for tickets 9c28ba4956 2007-07-31 drh: + Permanently remove malicious edits and/or attachments 9c28ba4956 2007-07-31 drh: such as wiki-spam or warez. (Content is no longer accessible.) 9c28ba4956 2007-07-31 drh: + View a history of all changes to a ticket 9c28ba4956 2007-07-31 drh: + Generate reports over all tickets 9c28ba4956 2007-07-31 drh: + Generate reports over all tickets as they existed for 9c28ba4956 2007-07-31 drh: a chosen point in time and space. 9c28ba4956 2007-07-31 drh: + Do full text search against the text in any single ticket or 9c28ba4956 2007-07-31 drh: across the current versions of all tickets, or across all current 9c28ba4956 2007-07-31 drh: and historical versions of all tickets. 9c28ba4956 2007-07-31 drh: 08c4cc6d16 2007-07-30 drh: * Wiki interface (expand this bullet) 9c28ba4956 2007-07-31 drh: 9c28ba4956 2007-07-31 drh: + Create new wiki pages 9c28ba4956 2007-07-31 drh: + Designate a single wiki page as the home page for the www interface 9c28ba4956 2007-07-31 drh: + Designate wiki pages as read-only, append-only, or read/write. 9c28ba4956 2007-07-31 drh: + Append comments to a wiki page 9c28ba4956 2007-07-31 drh: + Add attachments (such as GIF images) to a wiki page 9c28ba4956 2007-07-31 drh: + Change the content of a wiki page 9c28ba4956 2007-07-31 drh: + Delete obsolete wiki pages. (Old content is still accessible, 9c28ba4956 2007-07-31 drh: the page is just not on the current list of pages.) 9c28ba4956 2007-07-31 drh: + Permanently remove malicious edits and/or attachments 9c28ba4956 2007-07-31 drh: such as wiki-spam or warez. (Old content is no longer accessible.) 9c28ba4956 2007-07-31 drh: + Add nofollow on external links added by unprivileged 9c28ba4956 2007-07-31 drh: users when the link is less than N hours old. 9c28ba4956 2007-07-31 drh: + Show the complete history of a single wiki page 9c28ba4956 2007-07-31 drh: + Provide the ability to diff two versions of a wiki page 9c28ba4956 2007-07-31 drh: + Show a listing of all wiki pages, both current and deleted 9c28ba4956 2007-07-31 drh: + Do a full-text search against current versions of all wiki pages 9c28ba4956 2007-07-31 drh: + Do a full-text search against all historical versions of a single 9c28ba4956 2007-07-31 drh: wiki page 9c28ba4956 2007-07-31 drh: + Do a full-text search against all historical versions of all 9c28ba4956 2007-07-31 drh: wiki pages 08c4cc6d16 2007-07-30 drh: 08c4cc6d16 2007-07-30 drh: * Full-text search against check-in comments and diffs of each 08c4cc6d16 2007-07-30 drh: check-in. 9c28ba4956 2007-07-31 drh: 9c28ba4956 2007-07-31 drh: * Ability to check-in some subset of changes to the tree instead 9c28ba4956 2007-07-31 drh: of having to check in all changes. 9c28ba4956 2007-07-31 drh: 9c28ba4956 2007-07-31 drh: * Add a "revert" command that will undo all changes to a file 9c28ba4956 2007-07-31 drh: or files in the current check-out - restoring the files back 9c28ba4956 2007-07-31 drh: to their original check-out state. 9c28ba4956 2007-07-31 drh: 9c28ba4956 2007-07-31 drh: * Add an "annotate" command in both the cli and the www interface 9c28ba4956 2007-07-31 drh: that will show line-by-line the most recent changes to every line 9c28ba4956 2007-07-31 drh: in the file. 9c28ba4956 2007-07-31 drh: 9c28ba4956 2007-07-31 drh: * Browse the file hierarchy, similar to the "Browse" feature in 9c28ba4956 2007-07-31 drh: CVSTrac. 9c28ba4956 2007-07-31 drh: 9c28ba4956 2007-07-31 drh: * Add the ability to override check-in comments. It is not possible 9c28ba4956 2007-07-31 drh: to change the comment in the check-in itself due to the cryptographic 9c28ba4956 2007-07-31 drh: hash. But you can add a new record to the repository that overloads 9c28ba4956 2007-07-31 drh: a check-in comment with a new comment. Comment changes should be 9c28ba4956 2007-07-31 drh: GPG clearsigned at the very least. Comment changes only apply if 9c28ba4956 2007-07-31 drh: the user who made the change has the right permissions. 08c4cc6d16 2007-07-30 drh: 08c4cc6d16 2007-07-30 drh: * New cli commands: "deconstruct" and "reconstruct". The deconstruct 08c4cc6d16 2007-07-30 drh: command populates an indicated directory with copies of all files 08c4cc6d16 2007-07-30 drh: contained within the repository. Files are named aaa/bbbbbbb where 08c4cc6d16 2007-07-30 drh: aaa is the first 3 characters of the uuid and bbbbbb is the 08c4cc6d16 2007-07-30 drh: remaining 37 characters. reconstruct builds a new repository 08c4cc6d16 2007-07-30 drh: containing all files in an indicated directory. When reconstructing, 08c4cc6d16 2007-07-30 drh: some information is lost: project-code, server-code, users. 08c4cc6d16 2007-07-30 drh: Just make up a new project-code. 08c4cc6d16 2007-07-30 drh: 08c4cc6d16 2007-07-30 drh: * Get a build working for win32. Perhaps use cygwin. Or omit 08c4cc6d16 2007-07-30 drh: the server component from win32 (to eliminate the need for fork()). 9c28ba4956 2007-07-31 drh: 9c28ba4956 2007-07-31 drh: * Make the interface to fossil look pretty and be customizable so 9c28ba4956 2007-07-31 drh: that other people will be attracted to it, will take over maintenance 9c28ba4956 2007-07-31 drh: of it, and we can eventually move on to other things.