witten
/
luminotes
Archived
1
0
Fork 0
Commit Graph

445 Commits

Author SHA1 Message Date
Dan Helfman ca61369963 Fix for bug where read-write notebooks that the anonymous user had
read-only access to would show up as read-only, even when logged in.
2008-05-20 00:51:23 -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 8389eae2e5 Expanded workaround for IE iframe positioning bug to include IE 7 and not just 6. 2008-05-18 01:43:20 -07:00
Dan Helfman 99c32fa120 Improved the detection of whether an existing note has been altered.
* Using the browser's tweaked version of the initial HTML, instead of the HTML that we tell the browser to use.
 * Improved normalize_html() function to handle more cases.
 * Added start_dirty flag to Editor() constructor and made use of it for completely new notes.
2008-05-18 01:07:15 -07:00
Dan Helfman 8f08927692 Fixed a bug where the toolbar didn't auto-resize if there were no
notes open.
2008-05-14 08:00:51 +00:00
Dan Helfman 507e8412da New strikethrough toolbar button. 2008-05-14 00:07:02 +00:00
Dan Helfman c9814075fa Added timed autosave. 2008-05-13 22:52:20 +00:00
Dan Helfman 2a542999c5 * In development mode, disable session filter for static files. This may
prevent some session deadlock errors.
 * Fixed some bugs with the new auto-resizing toolbar:
   * In IE 6/7, when you click on a formatting button such as italics, it
     doesn't visibly depress, because update_toolbar() is causing it to
     unpress until you start typing the italic text. Fixed by only calling
     update_toolbar() in focused_editor() if focused_editor is null.
   * When downing or upping a toolbar button, now calling
     resize_toolbar_button() unconditionally.
2008-05-13 04:02:31 +00:00
Dan Helfman 5d38e917f6 * Created different sizes of toolbar buttons.
* Made the toolbar auto-resize based on browser window size.
2008-05-12 23:27:42 +00:00
Dan Helfman 0323f6bc91 Passing new yearly parameter to main page. 2008-05-08 19:29:11 +00:00
Dan Helfman a4eecfaa65 No longer showing "settings" link unless you're viewing your wiki.
In account settings note, now showing link to upgrade/downgrade/cancel.
2008-05-08 03:37:24 +00:00
Dan Helfman 18982dc129 Implemented basic user account settings. Now you can change your email
address.
2008-05-08 03:05:35 +00:00
Dan Helfman 668c782781 Bug fix: flag a note as "show on startup". hide it. click the note's title on
the left under "notes". the "show on startup" checkbox for that note is not
checked, even though the note is a startup note.
2008-05-06 20:27:10 +00:00
Dan Helfman 60e07faf79 Made it clearer whether the invitee has accepted a particular invite yet. 2008-05-06 06:23:51 +00:00
Dan Helfman 5a3bb508b2 Fixed brokenness in IE. (Introduced by previous commit.) 2008-05-06 05:52:14 +00:00
Dan Helfman 7ba5351b32 Fixed inability to hide previous note revisions. (This bug was introduced by the previous commit.) 2008-05-06 05:50:49 +00:00
Dan Helfman 9e0177f90c - bug: if you save a note that fails to be saved, e.g. due to being longer than 25k characters in size, then the note still shows up in
recent updates. fixed by making it so that when an error is received by invoker, the error message is displayed but the callback is
  not invoked
- bug: if you get an error when saving a note, the note should not disappear. it should still be present so you can try to save it again    - make invoker not call a callback if there's an error
  - in Wiki.hide_editor(), only close an editor after save_editor() has invoked a provided callback function
  - make sure this doesn't break the note conflict notification error (saved editor should still shutdown)
  - test this in IE
2008-05-06 05:47:31 +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 ab83f4de6a Bug fix: Opening an old revision should not modify the recent updates list. 2008-04-30 02:51:56 +00:00
Dan Helfman 53bc23f374 UI and font size changes. 2008-04-29 20:53:39 +00:00
Dan Helfman d8eb591549 Made function not throw in IE when run before the page is fully loaded. 2008-04-29 03:25:19 +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 6124532500 * Better support for RSS feeds of notebooks with unicode names.
* Now dynamically altering RSS feed link when notebook is renamed.
2008-04-24 20:32:43 +00:00
Dan Helfman 1d03540f71 New "nothing but notes" mode, allowing you to hide everything on the page
except for your notes and the toolbar.
2008-04-18 23:54:09 +00:00
Dan Helfman dbc83be740 * Modified tree control down arrows to have some blank space at the top, so as to better align with the right arrows.
* Put all expanders into <div>s, which are then wrapped in <td>s. This makes for better vertical centering, especially in IE.
 * Modified Wiki.js to account for expanders now having yet another parent.
 * Put note tree instructions in a <tr><td> instead of in a <div>, as <div>s alone don't belong in tables.
2008-04-16 06:38:19 +00:00
Dan Helfman 82623d6e1f Removing TODO since there are now note tree instructions displayed when there are zero note tree links. 2008-04-16 01:20:56 +00:00
Dan Helfman ec526e9e41 Made link pattern case insensitive to match uppercase <A> tags in IE. This
fixes the following bug: When you set a note as a startup note and add its
link to the note tree in IE6, the link isn't added with a visible expander
even if it has child links.
2008-04-16 01:14:37 +00:00
Dan Helfman 4398d07d4c Bug fix: Toggling a note's startup flag didn't add a link to the the note tree
in IE6. Apparently Internet Explorer doesn't support appending rows directly
to tables. Fixed by adding a <tbody> to the table and appending to that
instead of the table itself.
2008-04-16 01:05:12 +00:00
Dan Helfman a282c8d1e1 Bug fix: Clicking the expander for a link that just got its first child didn't appear to work because of double processing the link
clicked event, which caused it to expand and then immediately collapse.
2008-04-16 00:44:57 +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 ea4ad4c683 Bug fix: If you opened the link info box on a link to a deleted note, and then
clicked that link, it wouldn't give you a message about the link being in the
trash but would instead just open an empty version of that note.
2008-04-15 20:59:27 +00:00
Dan Helfman 5202629be0 Now clearing messages/pulldowns upon undeletion of a note. 2008-04-15 20:22:06 +00:00
Dan Helfman efd9755547 Fixed bug where note deletion didn't properly remove the note link from the note tree.
Add a brief paragraph with instructions on how to add a note to the note tree, shown only when there are no notes there.
Added a heading for "recent notes", which should be filled out with links in a subsequent commit.
2008-04-15 19:40:36 +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 fbcd767aa9 Note_tree.update_link() now properly updates the list of children links under
an expanded note tree item whenever the editor for that item is saved.

Still todo: Update the presence of the expander as children come and go.
2008-04-14 21:57:48 +00:00
Dan Helfman fad6abacbd Now when you toggle the "show on startup" flag, the note's link is appropriately added to or removed from the note tree. 2008-04-14 20:28:42 +00:00
Dan Helfman 17cf1bf9a6 Made note tree expander arrows not show while in the trash.
When emptying the trash, the note tree table is cleared.
2008-04-14 20:18:32 +00:00
Dan Helfman 2fd9514a04 When the expander is clicked for a note id that's also a parent/grandparent/etc note, don't expand and just highlight the
containing table.
2008-04-14 20:14:32 +00:00
Dan Helfman 935c6a5031 Improved automatic adding/removing of note tree root notes when notes are deleted/undeleted. 2008-04-13 22:29:50 +00:00
Dan Helfman 0908693946 Changed note tree root link adding to use new note_tree_root_table id. 2008-04-13 22:02:42 +00:00
Dan Helfman 5af010fab7 Fixed bug that caused exception when Note_tree got signal for a note being removed (and it wasn't a startup note). 2008-04-13 21:57:03 +00:00
Dan Helfman b58ff2450a Note tree links to non-existent notes now work correctly. 2008-04-13 21:25:47 +00:00
Dan Helfman a3909d05d5 * Added onclick handlers for dynamically loaded note tree links and their
associated expanders.
 * Waged an epic battle against the dark forces of CSS. Did you know that the
   max-height property applies to nearly all HTML elements *except* tables? No?
   Well neither did I until I looked it up, seriously wondered what the W3C
   could have been smoking, and then proceeded to spend the next DAY AND A
   FRICKING HALF making my table have a max-height without breaking any of my
   other intricately arranged CSS. Victory is mine.
2008-04-13 07:28:32 +00:00
Dan Helfman b6acd92630 Refactored expand_link() to no longer get elements by note id. Since there may
be multiple links with the same note id, this was fragile.
2008-04-12 21:57:29 +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 cd98b7c9e6 Now the tree expander arrow only displays if there are actually any links within the note. 2008-04-10 19:40:17 +00:00
Dan Helfman ae5fbd5837 When the startup status for a note is changed, update the note tree accordingly. 2008-04-10 18:45:52 +00:00
Dan Helfman 0d0e552a09 Reducing indenting of top-level note tree items.
Made "untitled note" the title for note tree links with no titles.
2008-04-10 00:05:03 +00:00
Dan Helfman a56536ee5e Began implementing note tree control on the left side of the page:
* Added a fixed list of startup links.
  * When link in list is clicked, open corresponding note editor.
  * When a startup note is added/deleted, update the list.

Still much more work to do on this before it's complete.
2008-04-09 23:31:30 +00:00
Dan Helfman a072cbc5ae When search text field is blurred, redisplay "search" in it. 2008-04-04 06:28:26 +00:00
Dan Helfman d232826d0b Several cosmetic and layout changes to the wiki editing page. Specifically,
made the header that's on the product pages present at the top of the wiki
page as well. Still need to make links bold when viewing certain pages
(help, contact, etc).
2008-04-04 05:39:40 +00:00
Dan Helfman 03f015f99a * Propsetting a bunch of svn:ignores.
* Added a bunch of thumbnail-related methods to controller.Files.
 * Modified Files.download() method to redirect to image preview if
   requested.
 * Implemented image preview to popup full image in a separate window.
 * Added empty stubs for relevant unit tests. Still to-do.
 * Added new dependency on python-imaging package (PIL).
 * Updated file info popup to include clickable thumbnail.
2008-04-01 21:54:43 +00:00
Dan Helfman 010cbcf01b Now issuing a *synchronous* save_note() call on page unload. When this call
was done asynchronously, and a Luminotes Firefox window was closed, sometimes
save_note() didn't get called. This didn't occur in IE.
2008-03-29 08:31:34 +00:00
Dan Helfman c452408106 Finished remake of signup page. You can now click "signup" for non-free accounts even if you're not logged in. 2008-03-24 22:33:00 +00:00
Dan Helfman 2cae1faf2d Conditionally quoting download filenames based on detected browser. 2008-03-18 22:22:19 +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 911137b112 The "all notes" note now actually hides when the "hide" button is clicked and
doesn't just reappear.
2008-03-12 01:06:50 +00:00
Dan Helfman 22228f5a2c Resizing browser text now causes wiki notes to resize accordingly. 2008-03-11 23:50:09 +00:00
Dan Helfman db101b2c2f Don't call ScrollTo for display of messages/errors if the error/message is fully visible within the window. 2008-03-11 10:40:43 +00:00
Dan Helfman 7c51c02928 Show list of all notes on startup if there are no startup notes and the
notebook isn't empty.
2008-03-11 04:52:23 +00:00
Dan Helfman c0cf5892be No longer popping up a link info box when clicking on a note link. 2008-03-11 00:48:37 +00:00
Dan Helfman 2d55455120 Fixed a bug where, after you highlighted a link and clicked the link button
to unlink it, the link info box popped up.
Actually checking in cache changes that were supposed to be in previous
release.
2008-03-10 23:15:33 +00:00
Dan Helfman 2b0a9af3e3 Client code now only calls save_note() on the server when necessary, and
takes startup flag into account.

Fixed unit test for database cache.
2008-03-07 23:14:39 +00:00
Dan Helfman 50367579c0 Beginning revamp of tour page and screenshots. 2008-03-06 07:21:35 +00:00
Dan Helfman 192d043e29 JavaScript code now tracking editor dirty state and not calling save_note() when editor is clean. 2008-03-05 02:56:58 +00:00
Dan Helfman 0790463b8d Now scrolling vertically to opened errors/messages. 2008-03-03 21:11:01 +00:00
Dan Helfman 3af5af18c5 Changed controller.Users.logout() to not be a JSON method so just hitting the
"/users/logout" URL will log you out and redirect you the front page.

Made front page prettier and better at explaining Luminotes (hopefully). The
front page is no longer a wiki, but is instead a mostly static page.
2008-03-01 00:26:06 +00:00
Dan Helfman 092f3ff9c6 Removed Wiki.js.Upload_pulldown.shutdown() "force" flag as it's redundant if this.uploading is set accordingly.
Make IE 6 and 7 actually stop uploading a file when the cancel button is clicked.
Ignoring blank filename renames.
2008-02-25 21:56:33 +00:00
Dan Helfman e7c96cadf5 Using "link.innerHTML =" instead of replaceChildNodes() to set a file link's
title when uploading a file, as this plays more nicely with IE. With
replaceChildNodes(), IE swallows the text cursor and won't give it back.

Also explicitly passing link parameter to Upload_pulldown() constructor, as
editor.find_link_at_cursor() wasn't always working in IE.
2008-02-22 23:03:10 +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 7b8f6bd6e5 Improved error reporting in the controller.Files.upload() method. Now
correctly displays an error to the user when uploading without a filename or
with an invalid file.
2008-02-21 19:39:03 +00:00
Dan Helfman 6a5481f7d6 Fixed updating and display of storage usage when an uploaded file is deleted. 2008-02-21 03:41:37 +00:00
Dan Helfman e0c65a6ac4 File deletion now works. Still need unit tests. 2008-02-21 00:41:08 +00:00
Dan Helfman eb18b6020d File renaming works. Unit tests still pending.
File deleting implemented. Testing and unit tests still pending.
Now releasing session lock at top of download() to prevent session deadlocks.
2008-02-20 23:25:13 +00:00
Dan Helfman fd0e91ea39 Implemented quota enforcement when uploading a file. This occurs in two places:
1. In progress(), around the time when the file starts uploading. This causes
an upload that's too large to bail before the whole file uploads, but the
quota calculation is only an estimate and relies on the client actually
calling progress().

2. In upload(), when the file finishes uploading. This quota calculation is
exact, but only happens after the entire upload completes.
2008-02-20 20:21:54 +00:00
Dan Helfman 3d5baa1e24 * Quota storage calculation now takes uploaded files into account.
* controller.Files.upload() now updates user quota storage.
 * When a file is uploaded, the new storage bytes count is returned to the client and displayed.
2008-02-20 00:57:10 +00:00
Dan Helfman ddc58449f8 Now displaying a message when the upload is cancelled. 2008-02-19 21:15:09 +00:00
Dan Helfman 8443f7e5cb Once an upload has started, you can no longer close the Upload_pulldown by
clicking somewhere else. You have to click "cancel". This is to prevent
accidental upload cancellations.
2008-02-19 20:48:43 +00:00
Dan Helfman a34ffe2dc6 controller.Files.upload() now removes file data from disk upon an aborted upload.
Wiki.js Upload_pulldown() now has an update_position() method that's used when the pulldown is already open.
2008-02-19 20:40:19 +00:00
Dan Helfman ebf123d052 Now you can close an upload / file link pulldown and end a file link. 2008-02-19 20:25:35 +00:00
Dan Helfman 804332b3e2 I hate the web. 2008-02-19 00:47:59 +00:00
Dan Helfman b80ad248f9 Fixed to make progress bar and download link work properly in IE 6 and 7. 2008-02-18 23:44:17 +00:00
Dan Helfman 731dc52623 More work on file uploading. Unit tests need to be fixed. 2008-02-18 20:08:07 +00:00
Dan Helfman 90c83ad1e5 New File_link_pulldown, not yet complete. 2008-02-05 19:45:11 +00:00
Dan Helfman 04f86f05a6 Rewrote controller.Files.upload_file() not to use a CherryPy-2.1-style file upload filter.
Now releasing session lock before streaming the file to prevent session deadlock in the event of a cancelled upload.
2008-02-04 20:06:02 +00:00
Dan Helfman 362a125b1b Working "cancel" button during upload. 2008-02-01 22:44:01 +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 c4a313bf08 Completed conversion of checkbox and radio button text to use HTML <label> tag. 2008-01-26 19:32:22 +00:00
Dan Helfman 329397a681 Converted "share this notebook" access choice radio buttons to use HTML <label> tag. 2008-01-26 00:37:38 +00:00
Dan Helfman cb0e9137c9 Fixed several race conditions between save_note() and other note-mutating controller methods. 2008-01-22 23:29:16 +00:00
Dan Helfman e4c6fa052a * bug: occasionally, undeleted notes don't leave the trash (but change to having non-trash buttons when undeleted).
repro:
    1. delete a note
    2. go to the trash
    3. click undelete, and then *very quickly*, click the name of the notebook
    4. when the notebook loads, it won't have the undeleted note
    5. go back to the trash. the deleted note will be there, with non-trash note buttons
  this seems to be a race between undelete_editor_via_trash() and save_editor(), which is invoked upon page close. solution: don't
  allow save_editor() to call save_note() if editor.closed is set
2008-01-18 21:29:11 +00:00
Dan Helfman 948c1cd059 The quota nag message now has an link to /upgrade. 2008-01-11 09:02:14 +00:00
Dan Helfman 8f00cceb94 Made upgrade page dynamically generated on the server instead of static html.
This allows things like only displaying subscription buttons if you're logged in.
2008-01-10 08:33:19 +00:00
Dan Helfman 08cd7057f3 Fixed bug that prevented you from opening a note with a title that looked
like an external URL.
2008-01-08 23:33:25 +00:00
Dan Helfman 8e87239e6f Display all redeemed invites sent to the same email address, instead of just displaying one invite per email address. 2008-01-06 22:22:46 +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 1b830c06a1 Add username on conflicting revision to change notification message. 2008-01-04 21:50:11 +00:00
Dan Helfman 762de24bca Fixed bug that prevented loading notes to compare conflicting versions. 2008-01-04 21:43:54 +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 405081e27a Fix for note summary sometimes showing up with literal HTML tags. 2007-12-30 21:55:25 +00:00
Dan Helfman f00809955c * Users.signup(), Users.login(), and Root.default() now support optional invite_id parameter.
* Modified Wiki.js to include invite_id parameter when necessary.
 * Increased storage quota (and price) for premium rate plan.
 * Added a note displayed when redeeming an invite, with links to signup and login.
2007-12-27 22:16:47 +00:00
Dan Helfman 60f8838b1d Preventing "x invitations have been sent message." from disappearing as soon as it's displayed. 2007-12-13 23:02:33 +00:00
Dan Helfman a501d5fcce UI for invite revocation. 2007-12-13 22:29:57 +00:00
Dan Helfman 36c5ff5b08 Display of current invites now updates when you add new invites.
This means that controller.Users.send_invites() now returns a list of current invites.
Added a "new!" to the share link.
2007-12-13 20:26:32 +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 02444c81cc Adding some emphasis to remark within "share this notebook". 2007-12-11 05:52:33 +00:00
Dan Helfman 52c111895a Non-paying users can now invite people to their notebook, but only as viewers.
Paying users can invite them as viewers, collaborators, or owners.
2007-12-11 02:58:31 +00:00
Dan Helfman 5554b1df17 * Started a static upgrade HTML file with rate plans.
* Fixed Invite.sql_update() to have SQL params in proper order.
 * Fixed bug where email addresses containing "-" were considered invalid.
 * Made UI for inviting other people to your notebook.
 * Tweaked the rate plans and added a new one.
2007-12-11 01:15:03 +00:00
Dan Helfman 8b030b1a87 Sigh. 2007-12-05 22:55:23 +00:00
Dan Helfman 69889b5a29 Fix for bug where you'd see "&amp;" in notebook rename field. 2007-12-05 22:52:37 +00:00
Dan Helfman c750862263 Whoops, didn't mean to checkin the commenting out of these lines. 2007-12-03 21:36:25 +00:00
Dan Helfman 83b3fb5baa Refactored Wiki.toggle_button to work mostly correctly, as the previous revision broke it. 2007-11-30 01:43:06 +00:00
Dan Helfman d9b36fa613 * Fixed note focusing in Safari.
* Fixed note state detection (bold, italic, etc.) in Safari.
2007-11-30 01:00:03 +00:00
Dan Helfman 2e178f08be Resizing all iframes whenever the window resizes. 2007-11-29 20:15:37 +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 079f7e6f98 Fixed bug where clicking "all notes" in an empty notebook didn't show a message that the notebook is empty. 2007-11-18 23:06:51 +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 8fe52cef50 Now showing "notebook has been moved to the trash" message even if the notebook we've been redirected to has notes in it.
Also saving the focused note (if any) when deleting a notebook.
2007-11-17 04:39:33 +00:00
Dan Helfman f7d2bd4885 Making IE happy by removing commas. 2007-11-17 04:31:19 +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 dfaba35d79 Refactored JavaScript total notes count and empty message display code so when
you create a new notebook, it says "This notebook is empty."
2007-11-15 22:40:16 +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 e04a2a8a11 ctrl-n shouldn't work if the notebook isn't read-write. 2007-11-12 11:26:10 +00:00
Dan Helfman 46b888f514 Restoring code in Wiki.js so that clear_messages() clears both errors and messages. 2007-11-12 10:48:37 +00:00
Dan Helfman 21ec98ea2e Add permalink to each note on blog page. 2007-11-11 21:37:30 +00:00
Dan Helfman 6bc242395c You can now press ctrl-n to open a new note even if no note is focused. 2007-11-09 20:07:32 +00:00
Dan Helfman 650de327a5 Whoops, forgot a parameter. 2007-11-09 06:54:45 +00:00
Dan Helfman 9d7c38c396 Revamped positioning of new editors and messages so that they show up
immediately after the editor you're working on instead of at the bottom of the
page. Also, if you undo a note's deletion, it'll show up right back where it
was amonst the notes.
2007-11-09 06:49:26 +00:00
Dan Helfman 9cee493141 Bug fix: If you click on a link that has a destination note with a different
title than the link itself, then the destination note title won't show up in
the link info box. It'll instead incorrectly show the link title.
2007-11-08 21:51:13 +00:00
Dan Helfman 1d89b83cf0 "No matching notes" is now orange instead of red. 2007-11-04 18:27:28 +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 8c498e2c0b Prevent progress bar from flashing in Firefox everytime you press a key within an editor. 2007-10-31 21:03:06 +00:00
Dan Helfman 6ad00cecf6 Fixed incorrect arguments passed to create_editor(), which, among other things, caused hiding "all notes" to yield an error message. 2007-10-31 06:41:23 +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 22ce1728f4 Adding a blank note stub box thingy at the bottom of the notes. When you hover
over it, you see its outline. When you click on it, a new blank note is
created.

Also, now creating a blank now closes open pulldowns/messages.
2007-10-27 03:22:34 +00:00
Dan Helfman a8117f3c2f No longer auto-hiding blank editors unless they are the blank_editor_id. In
other words, if you have an existing note and you nuke all of its contents,
then navigate to another note, the blank note won't just disappear.
2007-10-26 21:01:22 +00:00
Dan Helfman c23515d249 Switching to new image-based buttons on the toolbar. Also preloading those images for great premature optimization. 2007-10-25 23:19:57 +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 8dabd65291 Fix for bug where loading the link pulldown title can overwrite something the user has typed/pasted. 2007-10-22 21:44:17 +00:00
Dan Helfman c4e523a52d Shouldn't include search results note in "all notes" list. 2007-10-22 20:57:26 +00:00
Dan Helfman 9ef2eb9954 Update "all notes" note dynamically as notes as created, deleted, undeleted, renamed, etc. 2007-10-22 20:52:04 +00:00
Dan Helfman 6fe4b1f38e alert() warning message for Safari/Opera user agents in read-write mode. 2007-10-19 21:07:22 +00:00
Dan Helfman cfaf607a7a Briefly highlight the all notes link when you hide a note. 2007-10-19 20:38:38 +00:00
Dan Helfman 27a6a06c91 Display a realtime count of total notes next to the "all notes" link. 2007-10-19 20:24:16 +00:00
Dan Helfman 613ee8a217 Completely revamped the way the main page and the notes on it are loaded by
the client. Previously, the main page would load as mostly blank, then the
client would immediately issue two async json calls to load the user and
notebook data, including startup notes. Now, the main page loads with the note
data actually as part of the page. If JavaScript is off, then you see all the
notes displayed, including startup notes and any designated note. If
JavaScript is on, then those "static" notes are instantly hidden and their
contents are loaded into iframes for editing/display.

The real upshot is that Luminotes in read-only mode is now more useful when
JavaScript is off, and actually displays notes and their contents. This is
very useful for search engine indexing.

Updated all Python unit tests. Still have to get to JavaScript unit tests,
what few their are.
2007-10-16 21:37:12 +00:00
Dan Helfman 6786f9801a No longer asking the server for revisions for a note that hasn't been saved yet. 2007-10-11 11:29:42 +00:00
Dan Helfman 1875f1ed00 Fix for case where revisions list doesn't yet exist. 2007-10-11 10:07:27 +00:00
Dan Helfman 43c6f54e9f Merged revisions 401-446 via svnmerge from
svn+ssh://torsion.org/home/luminotes/repos/luminotes/branches/postgres

................
  r402 | witten | 2007-10-04 00:48:49 -0700 (Thu, 04 Oct 2007) | 3 lines

  Initialized merge tracking via "svnmerge" with revisions "1-401" from
  svn+ssh://torsion.org/home/luminotes/repos/luminotes/trunk
................
  r404 | witten | 2007-10-04 01:17:07 -0700 (Thu, 04 Oct 2007) | 2 lines

  Beginning a conversion from bsddb to postgres.
................
  r405 | witten | 2007-10-04 01:18:58 -0700 (Thu, 04 Oct 2007) | 9 lines

  Merged revisions 402-404 via svnmerge from
  svn+ssh://torsion.org/home/luminotes/repos/luminotes/trunk

  ........
    r403 | witten | 2007-10-04 01:14:45 -0700 (Thu, 04 Oct 2007) | 2 lines

    Yay, no more stupid deprecation warnings from simplejson about the sre module.
  ........
................
  r406 | witten | 2007-10-04 15:34:39 -0700 (Thu, 04 Oct 2007) | 4 lines

   * Switched back to Python 2.4 because many Python modules in Debian are not packaged to work with Python 2.5
   * Began removal of all references to Scheduler, @async, yield, and so on.
   * Converted Database.py to support PostgreSQL and updated its unit tests accordingly.
................
  r407 | witten | 2007-10-04 16:34:01 -0700 (Thu, 04 Oct 2007) | 2 lines

  All unit tests for the new model classes now pass.
................
  r409 | witten | 2007-10-05 00:53:56 -0700 (Fri, 05 Oct 2007) | 2 lines

  Reordering some columns and adding some indices.
................
  r410 | witten | 2007-10-05 16:08:37 -0700 (Fri, 05 Oct 2007) | 4 lines

  Now adding trash notebooks to user_notebook table. Also switching db
  conversion/verification tools back to require Python 2.5, since they still use
  the old Scheduler, which requires 2.5 generator features.
................
  r411 | witten | 2007-10-06 16:26:56 -0700 (Sat, 06 Oct 2007) | 2 lines

  Lots more unit tests passing. Most of the recent work was on controller.Users and related stuff.
................
  r412 | witten | 2007-10-07 01:52:12 -0700 (Sun, 07 Oct 2007) | 2 lines

  controller.Users unit tests now finally pass!
................
  r413 | witten | 2007-10-07 02:14:10 -0700 (Sun, 07 Oct 2007) | 3 lines

  Got controller.Root unit tests passing.
  Moved fake sql_* function shenanigans from Test_users.py to Test_controller.py, for use by other controller unit tests.
................
  r414 | witten | 2007-10-08 23:11:11 -0700 (Mon, 08 Oct 2007) | 2 lines

  All unit tests pass! Fuck yeah!
................
  r415 | witten | 2007-10-08 23:13:07 -0700 (Mon, 08 Oct 2007) | 2 lines

  Removing all references to Scheduler from luminotes.py
................
  r416 | witten | 2007-10-08 23:54:51 -0700 (Mon, 08 Oct 2007) | 3 lines

  Converted deleted_from to deleted_from_id in a few more places.
  Fixed bug in Users.contents().
................
  r417 | witten | 2007-10-09 00:11:59 -0700 (Tue, 09 Oct 2007) | 3 lines

  Typo fix in Note sql method.
  Adding autocommit flag to Database.next_id() method.
................
  r418 | witten | 2007-10-09 00:13:19 -0700 (Tue, 09 Oct 2007) | 2 lines

  Updating unit test for new auto commit flag.
................
  r419 | witten | 2007-10-09 00:14:09 -0700 (Tue, 09 Oct 2007) | 2 lines

  Removing debugging print.
................
  r420 | witten | 2007-10-09 00:20:55 -0700 (Tue, 09 Oct 2007) | 2 lines

  More sql fixes. I really need some funtional tests that hit the database and exercise the SQL.
................
  r421 | witten | 2007-10-09 00:51:34 -0700 (Tue, 09 Oct 2007) | 3 lines

  Fixed controller.Database handling of tuple as an Object_type.
  Made SQL for user storage calculation better at handling null values and also more succinct.
................
  r422 | witten | 2007-10-09 13:32:16 -0700 (Tue, 09 Oct 2007) | 2 lines

  Converting Wiki.js to trash_id notebook member instead of trash object.
................
  r423 | witten | 2007-10-09 13:42:10 -0700 (Tue, 09 Oct 2007) | 2 lines

  No longer displaying "download as html" on the front page, as people see "download" and think they're downloading the software.
................
  r424 | witten | 2007-10-09 14:24:40 -0700 (Tue, 09 Oct 2007) | 2 lines

  Notebooks.contents() now returns notebooks with correct read-write status.
................
  r425 | witten | 2007-10-09 14:32:25 -0700 (Tue, 09 Oct 2007) | 2 lines

  Fixed reporting of validation errors to the user. Now says "The blah is missing." instead of just "is missing"
................
  r426 | witten | 2007-10-09 17:05:22 -0700 (Tue, 09 Oct 2007) | 2 lines

  No longer redirecting to trash notebook upon login.
................
  r427 | witten | 2007-10-09 17:20:33 -0700 (Tue, 09 Oct 2007) | 2 lines

  Made controller.Database use a connection pool.
................
  r429 | witten | 2007-10-09 20:13:30 -0700 (Tue, 09 Oct 2007) | 2 lines

  Converted initdb.py and updatedb.py to Postgres from bsddb.
................
  r430 | witten | 2007-10-09 20:37:14 -0700 (Tue, 09 Oct 2007) | 2 lines

  Changing error message to remove underscores from variable names.
................
  r431 | witten | 2007-10-10 13:23:30 -0700 (Wed, 10 Oct 2007) | 2 lines

  Removing unused note_title parameter from Wiki.create_editor().
................
  r432 | witten | 2007-10-10 13:25:16 -0700 (Wed, 10 Oct 2007) | 2 lines

  Revision regular expression now supports timezone notation.
................
  r433 | witten | 2007-10-10 14:43:47 -0700 (Wed, 10 Oct 2007) | 2 lines

  Finished implementing ranked ordering for startup notes. (However, there's no way to change the rank from the client yet.)
................
  r434 | witten | 2007-10-10 16:25:19 -0700 (Wed, 10 Oct 2007) | 4 lines

  More strict access checking. Fixed oversight in Postgres DB conversion where,
  in certain controller.Notebook methods, access was only checked at the
  notebook level, not at the note level as well.
................
  r435 | witten | 2007-10-10 17:45:18 -0700 (Wed, 10 Oct 2007) | 3 lines

  Now loading revisions on demand from client when the "changes" button is clicked. Also caching
  loading revisions so subsequent clicks don't have to reload.
................
  r436 | witten | 2007-10-10 21:31:20 -0700 (Wed, 10 Oct 2007) | 2 lines

  Tweaking some of the error handling in Expose and Root so that unhandled errors give a generic error message to the client.
................
  r437 | witten | 2007-10-10 21:33:49 -0700 (Wed, 10 Oct 2007) | 2 lines

  The release script no longer runs initdb.py, because the default database is no longer a single file included in the tarball.
................
  r438 | witten | 2007-10-10 21:40:11 -0700 (Wed, 10 Oct 2007) | 2 lines

  Updated install instructuctions to include use of initdb.py.
................
  r439 | witten | 2007-10-10 21:56:42 -0700 (Wed, 10 Oct 2007) | 3 lines

  Made initdb.py only nuke (drop tables/views) when given a command-line flag.
  Also made install directions more correct.
................
  r440 | witten | 2007-10-10 21:58:48 -0700 (Wed, 10 Oct 2007) | 2 lines

  IE 6 doesn't like commas.
................
  r441 | witten | 2007-10-10 22:08:50 -0700 (Wed, 10 Oct 2007) | 4 lines

  load your notebook. without clicking on "changes", edit a note that has previous revisions. click on "changes". it'll only show
  the most recent revision. fixed by not appending to changes as a result of a save unless the client-side revisions list cache has
  something in it
................
  r442 | witten | 2007-10-10 23:30:41 -0700 (Wed, 10 Oct 2007) | 2 lines

  Forgot to actually save off the new revision as editor.revision.
................
  r443 | witten | 2007-10-11 01:35:54 -0700 (Thu, 11 Oct 2007) | 13 lines

  More intelligent datetime handling:
    * convertdb.py assumes old bsddb database timestamps are Pacific, and then
      converts them to UTC before inserting them into the new PostgreSQL
      database.
    * No longer using naked timezoneless datetime objects in model/controller
      code, except in unit tests that need compatability with pysqlite. Now
      using UTC everwhere.
    * Asking PostgreSQL to give us all timestamps back in UTC.
    * New dependency on python-tz (pytz) package, noted in INSTALL doc.
    * Client now responsible for converting UTC timestamps to local time for
      display.
................
  r444 | witten | 2007-10-11 01:46:09 -0700 (Thu, 11 Oct 2007) | 2 lines

  Tweak to prevent potential race in IE.
................
  r445 | witten | 2007-10-11 01:49:58 -0700 (Thu, 11 Oct 2007) | 2 lines

  Got JavaScript "unit" tests passing again.
................
  r446 | witten | 2007-10-11 01:53:58 -0700 (Thu, 11 Oct 2007) | 2 lines

  Noting that js tests require the Luminotes server on localhost.
................
2007-10-11 09:03:43 +00:00
Dan Helfman 76e036eab6 Made a demo that you can get to without signing up or entering any information. 2007-09-28 23:54:19 +00:00
Dan Helfman 31750d0040 Removed the word "used" from quota report in the client. 2007-09-28 20:42:27 +00:00
Dan Helfman 5d860300f1 Removed search options button because:
1. It's confusing. People think you click it to perform the search, then are surprised when it doesn't do that.
  2. Now that the search results are displayed more clearly, there's really no need for a titles-only search option.
2007-09-28 20:31:20 +00:00
Dan Helfman 776765031d "New note" toolbar button now correctly presses and depresses. 2007-09-28 19:40:00 +00:00
Dan Helfman 9673d84c3f "Please check your inbox" message is now an orange message box instead of a red error box. 2007-09-27 22:40:18 +00:00
Dan Helfman cb66bc6da3 Fewer small fonts, and sans-serif instead of times. 2007-09-27 00:26:51 +00:00
Dan Helfman f6da052e88 Self-service password reset functionality, plus full unit tests.
GOD DAMN that was annoying to implement.
2007-09-26 23:49:27 +00:00
Dan Helfman c5a2b3900f Sigh. IE commas. 2007-09-20 23:34:34 +00:00
Dan Helfman 212f516aeb uh, whoops 2007-09-20 23:30:09 +00:00
Dan Helfman 68d07a6fc8 Adding "ok" button to all messages/errors.
Making quota warning messages not disappear as soon as it's displayed.
2007-09-20 23:25:59 +00:00
Dan Helfman f1caee29a4 Removed trash link in quota warning, because we don't have access to this.notebook there. 2007-09-20 23:07:24 +00:00
Dan Helfman c5c4498d19 Warning displayed when you're nearing your storage quota. 2007-09-20 22:59:00 +00:00
Dan Helfman c9bd2ae576 Now updating storage utilization on client in "realtime" as a result of user actions. 2007-09-20 22:26:43 +00:00
Dan Helfman 4d736d4821 Lots of work on user storage quotas:
* Each model.User now has a current storage bytes and a rate plan.
 * model.User.to_dict() updated accordingly.
 * Minor Scheduler.add() change to bail of the given thread is None.
 * controller.Users.current() returns current user's rate plan details.
 * controller.Users.update_storage() now takes an optional callback.
 * Various methods in controller.Notebooks responsible for calling controller.Users.update_storage().
 * Added rate plan details to config/Common.py.
 * Added quota utilization colors to style.css.
 * Implemented quota utilization calculation and display in Wiki.js.

Still to-do: Return updated storage bytes where appropriate in controller.Notebook and update the
client accordingly.
2007-09-20 20:36:19 +00:00
Dan Helfman d4d41c9d48 Now replacing/refreshing "all notes" when it's already open and you click the "all notes" link again. 2007-09-11 19:19:03 +00:00
Dan Helfman 49a692f378 Intentionally *not* showing a link pulldown when you start a link and begin
typing. Only showing the pulldown when you end the link (or when you navigate
away and then come back).
2007-09-11 00:10:44 +00:00
Dan Helfman 060b0b6845 Overhauled display of search results. Now displaying a "magic" search results
note containing a list of search results along with previews of the display
notes.
2007-09-10 20:04:46 +00:00
Dan Helfman 78d5845140 Fixing broken "all notes" link. Sigh. 2007-09-07 23:58:03 +00:00
Dan Helfman 773ea3bf2b If a link had title "all notes" but a different link id for the destination,
and you clicked on the link without opening the link pulldown first, then the
link would open up "all notes" instead of the correct link destination.
2007-09-07 23:46:01 +00:00
Dan Helfman ecf44bdf6e Made code dealing with "all notes" in link pulldown work better (or at all). 2007-09-07 23:03:12 +00:00
Dan Helfman ae347d0e3b Wrote stub invoker for testing purposes and made use of it in Test_wiki.html. 2007-09-06 21:36:39 +00:00
Dan Helfman e747e9c2ff Reverting r333 and making alternate fix for duplicate notes when repeatedly
clicking links, because r333 broke link pulldown title grabbing. Must..
write.. unit.. tests!
2007-09-06 08:27:41 +00:00
Dan Helfman ae342ac5d6 Preventing opening of dup notes from note links. 2007-09-05 23:49:25 +00:00
Dan Helfman f7b97fb41d Don't create duplicate "all notes" when opened from a note link. 2007-09-05 23:44:34 +00:00
Dan Helfman 5aaf0d6276 Reverting to earlier behavior: Options pulldown doesn't close if you click a checkbox. 2007-09-05 23:11:19 +00:00
Dan Helfman 439fd49880 Prevent one note from "shadowing" another note with the same name. Previously,
if you clicked a link with a note id and a note with the link's title was
already open, it just highlighted that note, regardless of the id. Now, that
will only happen if the link has no id.
2007-09-05 19:54:04 +00:00
Dan Helfman 8a2c872e0a Fixing IE extra comma bug. 2007-09-05 19:06:33 +00:00
Dan Helfman b6204179c9 No hide button while in the trash. 2007-09-05 18:57:50 +00:00
Dan Helfman ad7c6aca7f Removing unused insert_after_iframe_id parameter. 2007-09-05 18:53:42 +00:00
Dan Helfman f21610eaf7 * In the trash, now showing "the trash is empty" when you delete/hide/undelete enough notes to make it empty.
* Wiki.create_editor() returns the editors it just created.
 * Wiki.open_editors initialized with startup notes.
2007-09-05 18:49:28 +00:00
Dan Helfman 7bf6d8685f Changing "This notebook is empty." from error to message. 2007-09-05 07:37:04 +00:00
Dan Helfman ce4c49d87e There's now a link to the trash in the "This note has been moved to the trash." message. 2007-09-05 07:34:59 +00:00
Dan Helfman 259002efe0 Clicking the background now closes any open pulldowns. 2007-09-05 02:30:15 +00:00
Dan Helfman 197d65877f * Changed client "recent notes" link to "all notes".
* When you try to load a note called "all notes", load a magic (dynamically-generated) note that
   lists all notes in reverse revision time order.
 * Changed controller.Notebooks.recent_notes() to all_notes().
 * Prevent "all notes" link from showing up when you're in the trash.
 * Prevent link pulldown from showing up for links within read-only notes.
 * Wrote a crappy deletenote tool.
2007-09-04 21:37:48 +00:00
Dan Helfman c3e4f69525 Fixing bug that prevent viewing older revisions of notes in the trash. 2007-09-02 03:51:31 +00:00
Dan Helfman 0b920ca8a5 Changing unused "recent notes" href to different unused URL. (It's unused because a Javascript onclick handler overrides it.) 2007-09-01 21:24:55 +00:00
Dan Helfman 2608350762 Remove "FIXME" for something that turned out not to be a bug. 2007-09-01 21:21:59 +00:00
Dan Helfman 70b3e415f1 * Added new controller.Notebooks.delete_all_notes() method.
* Put UI link in trash to delete all notes.
2007-09-01 21:06:37 +00:00
Dan Helfman bcade394e9 Moved login link to the top of the page; now present dependent on whether you're already logged in. 2007-08-30 23:57:56 +00:00
Dan Helfman 0f401829e7 Some limitations on trash notebooks:
* Can no longer create new notes in the trash.
 * If you click on a link within a note in the trash, you just get a message telling you to undelete it.
2007-08-30 20:39:41 +00:00
Dan Helfman 2732e262f0 IE now properly shows link pulldown when you end a link. Also, in all
browsers, now silently refusing to close a pulldown upon request when it's
been open less than a quarter second.
2007-08-30 20:17:10 +00:00
Dan Helfman a1fb86f306 Reverting [304] because it prevents you from seeing the main Luminotes wiki when you're logged in. 2007-08-30 19:08:37 +00:00
Dan Helfman f53ea0dcbd When you start a link, the link pulldown doesn't show up right away anymore
because many people found this confusing. Instead, now the link pulldown shows
up when you end the link.
2007-08-29 23:54:14 +00:00
Dan Helfman 4e932255a4 UI code no longer responsible for surpressing display of "Luminotes" notebook link. That's now done on the server. 2007-08-29 18:36:41 +00:00
Dan Helfman eebbabb664 Not showing "Luminotes" notebook in list of notebooks, as it's kind of confusing. 2007-08-29 01:18:06 +00:00
Dan Helfman d90f21b17a New optional parent_id argument to controller.Notebooks.default() to support "return to notebook" in the trash. 2007-08-29 00:50:46 +00:00
Dan Helfman c1b99b3a71 No longer opening a new black note when clicking on the background, and that
can get really annoying if you miss a button.
2007-08-28 23:51:53 +00:00
Dan Helfman cebc6458cb When viewing the trash, header/border/etc have their own trash color. 2007-08-28 20:57:08 +00:00
Dan Helfman 41372a2df8 At Kevin's suggestion, added a partial border around the notebook, added a
notebook title to the top of the page, and highlighted the notebook title on
the right as well.
2007-08-28 20:36:33 +00:00
Dan Helfman fd175aa85d No longer sending quite as much data in response to /users/current requests.
Now the client has to explicitly request the inclusion of startup notes.

Also no longer including startup notes or revision lists with every single
serialized Notebook.
2007-08-27 22:37:22 +00:00
Dan Helfman bbc3f11914 Changing unordered list key combo from ctrl-u to ctrl-period since it collided with underline's key. 2007-08-27 21:09:39 +00:00
Dan Helfman e2d85b79a5 Added underline button to toolbar. Useful for things like book titles. 2007-08-27 21:01:42 +00:00
Dan Helfman 86a2daf09d Removed unused from_iframe_id argument from several functions. 2007-08-24 20:50:07 +00:00
Dan Helfman 20313728d2 Several changes to handle the case where a note is changed out from under you, due to being saved
from a different window:
 * Made controller.notebooks responsible for preventing unmodified notes from being saved, instead
   of model.Notebook handling this task.
 * Created a revision validator for passing revisions as arguments to exposed methods.
 * controller.Notebooks.save_note() now requires a previous_revision parameter, used to determine
   whether the note has been modified in the particular window it's being saved from.
 * save_note() returns a new previous_revision value, so the client can determine whether a save
   has occurred from another window.
 * controller.Notebooks.undelete_note() fixed to quietly bail if the note to undelete isn't
   actually deleted, which can happen if it was undeleted in another window.
 * Editor() now responsible for making revisions list if it doesn't exist
 * No longer giving an "undo" message when the user deletes an empty note.
 * On the client side, detecting whether the previous_revision as reported by save_note() looks
   correct, and if not, alerting the user about the conflict. Also displaying a "compare versions"
   button that opens both the current version and the previous version.
2007-08-23 23:56:42 +00:00
Dan Helfman 2dcd3e1483 Fixed broken revisions list under "changes" button.
I really need client-side Javascript unit tests to catch exactly these sorts of regressions.
2007-08-23 07:00:18 +00:00
Dan Helfman 094323ee58 Fixed broken deletion undo. 2007-08-23 06:45:42 +00:00
Dan Helfman f9b355277c When there's an error, remove all empty editors. This prevents a bug where
empty editor frames stay displayed but never load if there's a network
connectivity problem.
2007-08-21 21:25:59 +00:00
Dan Helfman 082697fe5a More title tags for various links. 2007-08-20 20:10:19 +00:00
Dan Helfman 22767f1cc9 Added some explanitory title tags to various pulldown options. 2007-08-20 20:02:42 +00:00
Dan Helfman e0e144a200 Fix for broken inheritance, which incidentally cause a link's pulldown not to
show up more than once because the pulldown's derived shutdown() method wasn't
being invoked the first time.
2007-08-20 19:51:02 +00:00
Dan Helfman f4428c65ba Selecting all text in link pulldown's title field only on focus not, not every click. 2007-08-20 18:43:45 +00:00
Dan Helfman 7973d87a7d * Turned "search:" label into a search button that, when clicked, displays a
pulldown with "titles only" and "everything" radio buttons, defaulting to
   "titles only".
 * Wiki javascript code for submitting a search now sends a new titles_only
   parameter according to what the user has selected in the search pulldown.
 * controller.Notebooks.search() now takes a new titles_only boolean argument,
   which does exactly what you would expect.
2007-08-17 22:26:02 +00:00
Dan Helfman 5a4ec1911b Display "there are no notes here" when showing an empty trash. 2007-08-16 23:27:29 +00:00
Dan Helfman faaa4b6fdd Got external links working!
* Altered Html_cleaner to allow link targets.
 * Modified Wiki.load_editor(), Wiki.resolve_link(), and Link_pulldown() to
   support external links with "_new" targets.
 * Modified Editor.mouse_clicked() to explicitly open a new window for external links clicked in
   read-write editors, because the browser won't open clicked link by itself unless they're in
   read-only iframes.
 * Removed a duplicate Editor.contents() function.
 * Increased Link_pulldown title field size to 30 characters.
2007-08-16 22:27:58 +00:00
Dan Helfman a6182dffeb Autoselect title field text in link pulldowns when clicked. 2007-08-16 20:17:14 +00:00
Dan Helfman 8f8f0a2262 In Link_pulldown's constructor, if the note has no destination note id set,
try loading the note from the server by title.
2007-08-16 20:11:01 +00:00
Dan Helfman a849935b1d Bugfix that prevented undo from working. 2007-08-16 19:55:11 +00:00
Dan Helfman 3424e6ad12 Some refactoring of the new link resolving and launching code, because, well,
it was just plain broken:

 * Setting link hrefs is no longer done in quite so many places to prevent
   conflicts. Still could be more centralized though.
 * Editor is no longer responsible for tracking note titles. It now issues
   signals for title changes, and Wiki takes care of tracking titles for all
   open editors.
 * A few places in Editor weren't making use of the new link_title()
   convenience function. Now they are.
 * They way Wiki was associating link pulldowns with their links was
   completely broken, because Javascript Arrays can't use DOM objects as keys.
   At least not if you want them to work. Now just setting a "pulldown" member
   on each link node directly.
 * Moved some of the "if you click a link and the target editor is already
   open, just highlight it" logic out of Editor and into Wiki. (Both
   load_note() and resolve_link(), unfortunately.)
 * Made Link_pulldown.title_field_changed just rely on resolve_link() instead
   of doing all the link resolving itself.
2007-08-16 01:29:18 +00:00
Dan Helfman 8e819b7c01 Work-around for bug in IE where positions of iframe contents are not only
relative to the iframe itself, but also relative to how far the user has
scrolled.
2007-08-15 20:35:02 +00:00
Dan Helfman 52fd0d154a * Implemented a link_title() convenience function to get the link title from a link, either from
it's query string "title=" arg or from the actual contained title.
 * Made use of this new function in various places where title-grabbing was being done manually.
 * Made Editor.mouse_clicked() highlight and bail if there's already an open editor with a matching
   title. (Previously, it only did this matching by id.)
 * Wiki.load_editor() now looks to an open Link_pulldown's title field for the note's title, if
   available.
 * Link_pulldown formats "title=" query string args with MochiKit's queryString() to escape spaces
   and such.
 * Updated NOTE_LINK_PATTERN in wiki download view (untested currently).
2007-08-15 00:18:30 +00:00
Dan Helfman 429dc44370 Fixed a bug where Link_pulldown.display_preview() didn't correctly support either a DOM node or a string for its contents argument.
Also no strip()ing the scraped contents text so removing the note title works better.
2007-08-14 20:56:13 +00:00
Dan Helfman cae5d2272d When loading and parsing a note for display in an editor, there's now an optional link argument so
that the link clicked to launch the editor can be updated with the new editor's assigned id.

Also, the link pulldown init code now also examines already open notes when displaying a link title
and contents before asking the server for that information.
2007-08-14 20:34:31 +00:00
Dan Helfman 69caeaf655 Code mostly related to manipulating wiki links, plus a new link pulldown:
* Implemented a new controller.Notebooks.lookup_note_id() method to get only a note's id given its title.
 * Added some new link resolution code to Editor and Wiki, to fill in a link's id according to its destination note.
 * Factored out some of the link finding code into a common Editor.find_link_at_cursor() method.
 * Factored out query parsing into a common parse_query() function, which operates on a link node.
 * Added new Link_pulldown class-thingy to represent the little pulldown you see when the cursor's on a link.
 * Refactored Pulldown's positioning code to support offset positioning (needed for elements within an iframe).
2007-08-14 04:13:49 +00:00
Dan Helfman ec9cd1066c No longer moving any iframes when displaying search results that are already
open, as that causes the iframe contents to revert to as they were when the
iframe was loaded.
2007-08-11 21:49:33 +00:00
Dan Helfman ea64cc97a2 If you undelete a note via undo, now it's indicated in the options pulldown that it's a startup note. 2007-08-10 19:19:47 +00:00
Dan Helfman 3de7d59d64 No longer hiding any editors when you click a link in a note in the middle of the page. 2007-08-10 19:07:00 +00:00
Dan Helfman f2eac9cb1f Implemented a basic trash, including undo upon note deletion and undeletion from the trash:
* model.Note has a deleted_from member to indicate the notebook id it was deleted from (if any)
 * controller.Notebooks sets the deleted_from member and makes all deleted notes startup notes in the trash
 * new controller.Notebooks.undelete_note() method
 * split up the idea of UI messages into errors and informational messages, with separate CSS
 * updated Editor and Wiki UI code to deal with new deleted_from variable
 * added "undelete" button when viewing a deleted note, and "delete" changes to "delete forever"
 * added a "trash" link to the notebook links
 * reorganized responsibilities for displaying notebook/user links among Wiki.populate() and Wiki.display_user()
 * when deleting messages in a notebook with a trash, displaying "The note has been moved to the trash"...
   with a working undo button!
 * tweaked focusing logic in display_search_results(), which has been renamed to display_loaded_notes()
2007-08-07 01:48:43 +00:00
Dan Helfman 0ac518e395 * controller.Users.current() now returns an http_url if one is configured in config/Common.py
* changed controller.Users and controller.Root constructor arguments to support this.
 * Updated INSTALL document accordingly.
 * Client now will prepend this new http_url variable to the logout link.
2007-08-02 18:52:20 +00:00
Dan Helfman f23fcdde21 * Can now click on revision timestamps to open up the contents of previous note revisions with a small timestamp at the top.
* Revisions can be opened either in the current page or in a new window/tab.
 * Added ability for a read-write notebook to contain read-only notes. This supports showing read-only revisions.
 * Fixed updatedb.py to properly load the anonymous user.
 * Updated initdb.py and updatedb.py to deadl with new-style /notebooks/notebookid?note_id=noteid wiki links.
 * Made Persistent copy the revisions_list on each revision update so different revisions don't share lists.
 * Prevented Note from updating its revision twice upon construction. Now it's only updated once.
 * Work-around for nasty urlparse() caching bug related to unicode strings that cherrypy barfs on.
 * Added optional revision flag to various controller.Notebooks methods to allow opening of a notebook with a particular note revision displayed.
2007-07-31 22:53:57 +00:00
Dan Helfman 2c20d60f9e * Rewrote all wiki note links to be of the form: /notebooks/notebookid?note_id=noteid
* Refactored some of validator decorator to use clearer variable names internally.
 * Validator decorator now supports treating arguments with default values as optional.
 * controller.Notebooks.default() takes an optional note_id argument.
 * controller.Notebooks.contents() takes an optional note_id argument.
 * Wiki.js now makes use of these new controller APIs.
 * Editor.js now takes a notebook_id argument to its constructor so it can properly make links.
2007-07-28 04:22:44 +00:00
Dan Helfman 069532b58c Reverting to previous revision. Didn't mean to checkin these changes yet, as they're not complete. 2007-07-27 00:33:32 +00:00
Dan Helfman 35459270be Now ignoring link clicks that are with the right or middle mouse buttons. 2007-07-27 00:32:42 +00:00
Dan Helfman ccc1cc2f2d Fix for bug introduced by revisions list that preventing opening of new editors by clicking links. 2007-07-26 23:02:24 +00:00
Dan Helfman f05d3db661 * Added a "changes" tab with a list of revision timestamps for each note. Note yet clickable.
* Made controller.Notebooks.save_note() return the newly minted revision timestamp upon a successful save.
 * Whenever we get back a revision timestamp from save_note(), we store in in the client's list of revisions for that note.
 * Now raising Access_error in controller.Notebooks in various places where the notebook requested is unknown.
 * Tweaked pulldown CSS a bit. Now will sport a handy-dandy scrollbar if the pulldown gets too tall, at least in real browsers.
 * Fixed bug where clicking "show on startup" checkbox directly didn't visually toggle the checkbox.
2007-07-26 01:18:41 +00:00
Dan Helfman 120c29954c More changes to search results displaying:
* Now, already open editors that happen to be in the search results are forcibly moved to be with the result of the search results.
2007-07-23 23:42:53 +00:00
Dan Helfman 94f75f23a7 Search results display changes:
* Search results are now appended to the open notes, instead of replacing them.
 * Already-open notes that also happen to be in the search results are closed so that they're not shown twice.
2007-07-23 23:19:15 +00:00
Dan Helfman 8e6b152483 Factored out options pulldown into a separate "sub-class" of Pulldown. 2007-07-20 22:41:20 +00:00
Dan Helfman 5dca7e972e Changing note link key to ctrl-L and unordered list to ctrl-U. 2007-07-18 20:28:42 +00:00
Dan Helfman 0976fdf8c6 Renaming all entries to notes to fit better with the name "Luminotes". 2007-07-17 01:21:31 +00:00
Dan Helfman 64bf5e34a1 Renamed placeholder title "Limited Medium" to "Luminotes". 2007-07-16 21:03:39 +00:00
Dan Helfman 02cfca5322 Renaming repository to new name: luminotes 2007-07-16 20:22:38 +00:00