witten
/
luminotes
Archived
1
0
Fork 0
Commit Graph

83 Commits

Author SHA1 Message Date
Dan Helfman e971959755 Attempting to access the RSS feed for a non-existent notebook now
displays a somewhat informative message in the feed instead of just
silently raising an error.
2008-05-26 23:00:31 -07:00
Dan Helfman ae5c911c1c New multiple-notebook search query was way too slow. Now fixed.
- make model.Notebook.sql_search_notes() search either with user_id or an anonymous user_id, not both
  - update controller.Notebooks.search(), so if the anonymous user has access to the given notebook,
    then run the search as the anonymous user instead of the given user id
  - update unit tests
  - don't search trash/deleted notebooks
2008-05-19 22:36:21 -07:00
Dan Helfman 02a3544590 Search result now return notes from multiple notebooks.
- change model.Notebook.sql_search_notes() to be a static method
   - take a first_notebook_id argument and a user_id argument
   - join user_notebook on notebook_id and matches on user_notebook.user_id instead of notebook_id
   - order by notebook_id = first_notebook desc, rank instead of just rank
   - include search result for notebooks readable by anonymous user, but only if such a notebook is given as first_notebook_id
 - update code that calls model.Notebook.sql_search_notes()
 - update model.Note.to_dict() to include notebook_id
 - modify Wiki.display_search_results()
   - separate search results for the current notebook and results for all other notebooks
   - indicate which notebook each result is from
   - if there are results in other notebooks but no results in the current notebook, indicate that clearly
   - when you click on a result note link in the current notebook, it should simply open a new note
   - when you click on a result note link in another notebook, it should open in a new window
 - test in IE
 - update unit tests for:
   - controller.Notebooks.search()
   - model.Notebook.sql_search_notes()
   - model.Note.to_dict()
2008-05-19 15:16:25 -07:00
Dan Helfman bb77cefeaa Possibly fixed a bug where IE 7 would fail to download as HTML via HTTPS
due to cache issues. The fix entailed using a new @weakly_expire decorator
on controller.Notebooks.download_html().
2008-05-06 21:41:00 +00:00
Dan Helfman 1d17ea4eff Fixed a bug where attempting to load a notebook preview without access
would give a "list index out of range" error instead of an access error.
2008-05-05 23:10:26 +00:00
Dan Helfman 97c373561d * Added replace_contents() to model.Note to set the contents without updating the revision or anything else.
* Added new optional previous_revision params to default(), contents() and load_note() in controller.Notebooks.
   These use Html_differ() to generate and return diffs.
 * Updated Wiki.js:
   * provide previous_revision when a revision is opened in a new window/tab
   * call load_note() when two revisions when a revision is clicked in Changes_pulldown
   * update compare_versions() to display a diff instead of opening the two revisions separately
   * update load_editor():
     * update all invocations of load_editor(), including in Editor.js, to accept a new previous_revision argument
     * modify load_editor() to use the previous_revision argument (when supplied) to load a diff
2008-05-03 04:29:23 +00:00
Dan Helfman 5f852a3d8e Bug fix: Used to get access error when you loaded the children links for a note that was in the trash. 2008-04-29 21:26:09 +00:00
Dan Helfman 1d0867d776 * Renamed existing controller.Notebooks.load_recent_notes method to just recent_notes().
* Implemented new controller.Notebooks.load_recent_updates() method.
 * Added new Wiki.js total_notes_count_updated signal
 * Added "more" and "less" links to "recent updates" table.
 * Updated Wiki.js Recent_notes to support new "more" and "less" links.
 * Commented out unfinished discussion forums unit test.
2008-04-29 00:54:08 +00:00
Dan Helfman b316b2f4a3 * Increasing after_login max string size from 100 to 1000 to accomodate larger URLs.
* controller.Notebooks now takes (and stores) an https_url constructor parameter.
 * New controller.Notebooks.updates() method to produce an updates RSS feed for a particular notebook.
 * New controller.Notebooks.get_update_link() method to make a brief page with just a link for an updated note, referred to by the feed.
 * Implemented views for the new RSS feed.
 * Fixed bug in Rss_item's guid that caused newlines to be inserted before and after long URLs.
 * Still need to unit test new controller code.
2008-04-22 23:24:30 +00:00
Dan Helfman 1ca9af536c Added RSS subscription links for all notebooks. 2008-04-18 20:49:22 +00:00
Dan Helfman eb587fc44f Fixed bug where recent notes were ordered by creation time instead of revision time. 2008-04-18 20:39:23 +00:00
Dan Helfman c488864273 * Now if you try to load a page where access is required, and you're not
logged in, you'll be redirected to a login page. After you login, you'll
   be redirected to the page you were originally trying to access.
2008-04-18 19:54:50 +00:00
Dan Helfman d0a1cbf71d Complete unit tests for controller.Notebooks.load_note_links(). 2008-04-16 08:13:35 +00:00
Dan Helfman 456c1b5fb8 Don't display recent notes on the main Luminotes notebook. 2008-04-16 01:39:24 +00:00
Dan Helfman 431bf6ace7 Completed recent notes list:
* displaying list of links
  * adding links
  * removing links
  * updating links
  * controller.Notebooks.contents() changes to return recent notes
2008-04-16 00:28:18 +00:00
Dan Helfman db03f39c06 When all the children of a display note are removed, remove the expander from
that note's entries in the note tree. When a note with no children is updated
so that it has at least one child, add an expander to that note's entries in
the note tree.
2008-04-14 23:54:04 +00:00
Dan Helfman 0d4bb81943 Clicking an external link or a file link in the note tree now opens with target=_new. 2008-04-12 02:32:11 +00:00
Dan Helfman eaaf1b3de5 Lots more work on the note tree control. Still not done, and some of the new icons suck. 2008-04-12 00:51:32 +00:00
Dan Helfman f3b0d563c1 Fixed database transaction leak by wrapping every exposed database-using
controller method with a new @end_transaction() decorator. This
decorator is responsible for rolling back unfinished transactions.
2008-03-17 21:17:00 +00:00
Dan Helfman 94a51889f9 Added ability to reorder notebooks on the right side of the page.
Need to complete unit tests for controller.Notebooks.move_up() and move_down().
2008-03-15 03:04:59 +00:00
Dan Helfman 21ccc97826 Now using memcached in various places to improve performance. If the Python
cmemcache module is not importable, then memcached simply won't be used.
2008-03-05 00:34:58 +00:00
Dan Helfman 36b11805c6 Now purging files from the database/filesystem when notes they're linked from
are deleted from the trash. Also displaying a message when deleting a file
manually via the "delete" button.
2008-02-22 21:08:29 +00:00
Dan Helfman 65ce915755 When saving a note, auto-delete any files that used to be linked from it but no longer are. Still need unit tests. 2008-02-22 19:47:28 +00:00
Dan Helfman e56503903b Factored out file upload methods from Notebooks to new Files controller.
Changed file link insertion code to reuse existing link creation code.
2008-02-01 19:17:10 +00:00
Dan Helfman 0cf2b5bda7 Initial work on UI and controller for file uploading:
* new toolbar button for attaching a file
 * button opens new Upload_pulldown() for uploading a file
 * began controller.Notebooks.upload_file() to process the upload
2008-01-31 21:52:32 +00:00
Dan Helfman ffd2d15175 Now, if you delete a notebook and the only remaining notebook is read-only,
then a new read-write notebook is created for you automatically. This fixes a
bug where you could delete a notebook and have only a read-only notebook
remaining, thereby having no way to add a new notebook.
2008-01-24 22:02:02 +00:00
Dan Helfman 2bcbc17172 Feature to preview notebook as viewer or collaborator, so you can see what it
will look like to people you share it with.

Hopefully fixed broken demo conversion detection.
2008-01-06 00:12:18 +00:00
Dan Helfman 5520fe5892 * make a User_revision object containing a revision timestamp, user_id, username
* change controller.Notebooks.load_note_revisions() to select and return User_revision objects
 * change controller.Notebooks.save_note() to use User_revision objects for new_revision and previous_revision as well
 * update client to deal with new load_note_revisions() return values (make sure all uses of revisions_list are updated)
 * update client to deal with new new_revision/previous_revision
 * update changes pulldown to show username along with each timestamp
 * update model.Invite to load redeemed_username along with redeemed_user_id
 * display the redeemed username next to each email address in the "share this notebook" note
2008-01-04 04:45:43 +00:00
Dan Helfman a354eadcbb When saving a model.Notebook or model.Note to the database, set the user_id field based on the current user. 2008-01-01 01:44:54 +00:00
Dan Helfman 05279d2c8e Only owners of a notebook should get a list of its invites. 2007-12-12 06:15:15 +00:00
Dan Helfman 225167035d * model.Invite now has a to_dict() method, like other model classes do.
* Initial invites are now returned through Main_page() and displayed (but not
   yet updated) within the "share this notebook" note.
2007-12-12 00:52:34 +00:00
Dan Helfman 32fd09b3f7 * Implemented controller.Users.send_invites().
* Added some SQL indices to invite table.
2007-12-06 01:32:20 +00:00
Dan Helfman 1cb12f6ae4 Making various notebook/user functions support the new "owner" access flag. 2007-12-04 21:28:03 +00:00
Dan Helfman af3bf3c51c Improving error reporting and completing 1.0.2. 2007-11-28 19:17:13 +00:00
Dan Helfman 0152b49475 Refactored the way note summaries are created in the link pulldown window. 2007-11-27 21:28:25 +00:00
Dan Helfman 45f94aa188 Deleting a notebook forever now updates the user's storage usage accordingly. 2007-11-19 22:03:04 +00:00
Dan Helfman 517e4d4925 Add strongly expire to default(). 2007-11-17 23:45:18 +00:00
Dan Helfman eec5ef6411 Implemented delete forever for notebooks. And unit tests! 2007-11-17 23:29:22 +00:00
Dan Helfman 7bd83199a1 Almost done with notebook deletion/undeletion. Just need to implement delete forever. 2007-11-17 22:55:13 +00:00
Dan Helfman cdd971780e Began work on notebook deletion and subsequent undo/undeletion.
Changed schema slightly to support this.
Added a schema delta file and wrote an UPGRADE doc with info on how to upgrade schemas.
2007-11-17 04:21:48 +00:00
Dan Helfman c1b4a58f65 Adding a new notebook now puts you directly into renaming it. 2007-11-15 23:46:30 +00:00
Dan Helfman 3b2462eff3 Not allowing "trash" as a new name when you rename a notebook.
Not allowing renaming of the actual trash notebook.
Not showing "add new notebook" link when anonymous user.
2007-11-15 22:55:57 +00:00
Dan Helfman b22c784d39 Can now create and rename notebooks. Still need to implement deletion and some other niceties. 2007-11-15 01:30:45 +00:00
Dan Helfman c31856b40b Added some code to support Google's conversion tracking. 2007-11-12 10:51:31 +00:00
Dan Helfman 44a1cb79c2 Added basic multipage navigation to blog.
Made name of notebook link at the top of the page better for "special" Luminotes notebooks.
2007-11-10 01:46:56 +00:00
Dan Helfman 88dd396feb Fix for: I get "that note is in the trash" error when clicking on an old
revision of a note that's not in the trash. This is because that particular
revision of the note represents when the note used to be in the trash (because
it was previously deleted).
2007-11-03 08:15:39 +00:00
Dan Helfman 37e886f27c Revamped searching to use PostgreSQL's tsearch2 full-text searching. 2007-11-02 20:19:53 +00:00
Dan Helfman ad58956f34 Some early work in support of a reverse chronological order view of a notebook, useful for a blog. 2007-10-30 23:05:46 +00:00
Dan Helfman 84283f524e If you click on a link for a note that's in the trash, you just get a message telling you so, with a button to undelete the note. 2007-10-22 23:17:56 +00:00
Dan Helfman 28835e5850 Strip newlines before comparing contents of a note to see if it's been altered. 2007-10-22 21:20:20 +00:00