witten
/
luminotes
Archived
1
0
Fork 0
Commit Graph

50 Commits

Author SHA1 Message Date
Dan Helfman 96456efd76 Fixed a bug in which some printed or exported notes appeared in alphabetical order instead of your chosen ordering. 2009-06-14 21:45:08 -07:00
Dan Helfman 4d00c92e3a Changed the order of exported HTML and CSV notebooks so that after all the "startup" notes are included, the remaining notes are included in alphabetical order (instead of reverse chronological order). 2009-02-24 12:52:44 -08:00
Dan Helfman a8af8b3fb3 Fixed several edge cases with re-ranking notes during a reorder. Now updating several notes' ranks on every reorder instead of making successively more precise fractional ranks. 2009-02-10 17:05:03 -08:00
Dan Helfman fc502c6c82 Clarified the names of some of the notebook note-loading methods so that they are less confusing. 2009-02-02 13:41:09 -08:00
Dan Helfman fc3849b8be HTML entities/characters like """ are now stripped from notebook names before turning them into friendly ids.
This means that blog posts now have better URLs if they the post titles contain HTML entities/characters.
2008-11-21 14:07:23 -08:00
Dan Helfman d3e040d984 Blog post URLs are now user-friendly and SEO-friendly. 2008-11-18 15:11:58 -08:00
Dan Helfman 4855ac0c7e New note_count member on model.Notebook. 2008-11-17 23:42:29 -08:00
Dan Helfman 7185a9f8a3 Fixed a bug in which search result note summaries were not showing the portion of the note that matched the search term. 2008-11-14 12:30:03 -08:00
Dan Helfman b368fa23b6 Fixed SQL statement bugs related to new Note.username member. 2008-10-31 11:43:53 -07:00
Dan Helfman dccab45de3 The username of the author of a forum post now shows up in the UI. 2008-10-30 16:53:42 -07:00
Dan Helfman b4a40d2c25 More work on the discussion forums. 2008-10-30 15:26:27 -07:00
Dan Helfman 36af0bbfed Propagating notebook tags to the UI code. 2008-10-24 15:07:36 -07:00
Dan Helfman 388f2fcb02 Foundational work for both tags and discussion forums. Should have checked this in in smaller pieces. 2008-10-24 11:51:19 -07:00
Dan Helfman 30283b0e29 More unit tests passing on Windows. 2008-08-21 14:22:20 -07:00
Dan Helfman 410f6f8cbf Added basic note searching for SQLite. Should really be using SQLite's full-text search instead.
In sql_load_notes, no longer adding offset clause if start = 0 since SQLite doesn't like offset without limit.
Switched from using "ilike" to "like" with lower(), since "ilike" is a PostgreSQL-specific extension.
Moved BACKEND flags from Database to Persistent to prevent need from circular imports (model files importing controller.Database).
2008-08-19 17:48:33 -07:00
Dan Helfman 85443e3849 Fixed another limit/offset ordering problem to make SQLite happy. 2008-08-19 14:45:13 -07:00
Dan Helfman 98042c5c3f Fixed ordering of SQL offset/limit clauses to make SQLite happy. 2008-08-18 18:05:51 -07:00
Dan Helfman 3fd3f23fe0 No longer stripping out puncutation when searching titles. 2008-06-30 02:09:14 -07:00
Dan Helfman fe139cc749 First pass for suggest-as-you-type for linking. 2008-06-27 16:11:09 -07:00
Dan Helfman 599971ba01 When linking to a note by title, the note resolution is now
case-insensitive instead of case-sensitive.
2008-06-25 20:04:06 -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 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 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 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 10cee7291a Improved input validation on search terms, so certian punctuation doesn't cause the query to fail. 2007-12-06 03:49:50 +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 82bf5bca29 Schema and model changes to support invitations and multiple user collaboration:
* added new database table of invited email addresses
 * altered user_notebook table to have a new owner boolean column, indicating whether the user has owner access to the notebook
 * altered notebook and note tables/views to have an additional user_id field to indicate the user that created that revision
 * updated model.Notebook and model.Note to support new user_id field
2007-12-01 01:08:16 +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 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 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 9fccf7c81f Removed debugging print. 2007-11-02 22:05:31 +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 27a6a06c91 Display a realtime count of total notes next to the "all notes" link. 2007-10-19 20:24:16 +00:00
Dan Helfman bbebad528e Renaming new_model to model, now that the old bsddb model is out of the way. 2007-10-11 19:49:00 +00:00
Dan Helfman 17ad869635 Old model no longer needed now that all databases are convered to PostgreSQL. 2007-10-11 19:45:46 +00:00
Dan Helfman 295369bad5 None notes are skipped. 2007-09-04 23:27:50 +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 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 1796ccca71 Schema evolution: Adding a trash member to those Notebooks that don't have it. 2007-08-03 21:55:02 +00:00
Dan Helfman 4e28620348 * Added a trash Notebook to model.Notebook.
* Made sure the trash is not exposed by the read-only notebook view.
 * Modified model.User.check_access() to consider read-write access to a
   notebook to be sufficient for access to that notebook's trash.
 * Modified controller.Users so new users are created with a notebook that
   has a trash.
 * Changed controller.Notebooks so deleted notes go to the trash (if any).
2007-08-03 21:12:17 +00:00
Dan Helfman 58665fe14a Handle None notes. 2007-08-01 20:10:54 +00:00
Dan Helfman ccfcd3ccfe * Added convenience method to model.Notebook called is_startup_note(), and made use of it.
* is_startup_note() checks whether the object id of the given note is in the list of startup notes,
   not whether the actual object is.
 * This fixed a bug in which the same note could be saved to the list of startup notes multiple
   times, thereby causing funny display problems when the same note was loaded twice.
2007-08-01 02:23:54 +00:00
Dan Helfman 733e104872 Now that the databases are changed from Entry to Note, removing schema evolution stuff. 2007-07-18 20:05:55 +00:00
Dan Helfman eb957d169b Re-adding Entry yet again, and putting __setstate__() back in Notebook to
properly update the database's schema for Entry -> Note.
2007-07-18 20:05:13 +00:00
Dan Helfman 2bdf683ae4 Removing __setstate__() methods and the Entry class now that all databases
have been switched over to new Note class. In the future some schema evolution
script would probably be useful.
2007-07-17 17:32:15 +00:00
Dan Helfman 15d4758766 Fixed __setstate__() methods to update revision. 2007-07-17 17:29:47 +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 02cfca5322 Renaming repository to new name: luminotes 2007-07-16 20:22:38 +00:00