Commit graph

14257 commits

Author SHA1 Message Date
Simon Kornblith
cbe3611182 references #110, implement CSL for citation styling
add Scholar.Cite and Scholar.CSL for parsing items into a bibliography using CSL. unfortunately, the output is not very good at the moment, and the format likely needs some changes, but I'm working with a few other people on getting it to that point.
2006-07-22 01:25:46 +00:00
David Norton
0cf2101019 SelectItemsDialog (for See Also) unregisters tree views on close.
Fixes minor display problems with Tags, See Also.
2006-07-20 23:57:53 +00:00
David Norton
7103fd4f1d Fixes #23, "see also" part of note.
Also, metadata looks better. See Also and Tags and Items.
2006-07-20 23:19:31 +00:00
David Norton
8427ebdf2a Fixes #114, Preference for Scholar location (top, bottom).
(I had to go a little roundabout way of doing it, as you can't use the overlay-related positioning attributes on-the-fly)
2006-07-19 16:14:27 +00:00
David Norton
785954f4f5 Fixes #116, Make full screen button text.
Fixes #115, Windows should open with Scholar Pane closed.
Fixes #105, search box loses focus after search starts.

Retooled the interface a bit, and removed the top toolbar. The close and fullscreen buttons are located to the right of the items toolbar. The item pane cannot be collapsed.
2006-07-17 14:09:12 +00:00
Simon Kornblith
c64e5c841f closes #78, figure out import/export architecture
closes #100, migrate ingester to Scholar.Translate
closes #88, migrate scrapers away from RDF
closes #9, pull out LC subject heading tags
references #87, add fromArray() and toArray() methods to item objects

API changes:
all translation (import/export/web) now goes through Scholar.Translate
all Scholar-specific functions in scrapers start with "Scholar." rather than the jumbled up piggy bank un-namespaced confusion
scrapers now longer specify items through RDF (the beginning of an item.fromArray()-like function exists in Scholar.Translate.prototype._itemDone())
scrapers can be any combination of import, export, and web (type is the sum of 1/2/4 respectively)
scrapers now contain functions (doImport, doExport, doWeb) rather than loose code
scrapers can call functions in other scrapers or just call the function to translate itself
export accesses items item-by-item, rather than accepting a huge array of items
MARC functions are now in the MARC import translator, and accessed by the web translators

new features:
import now works
rudimentary RDF (unqualified dublin core only), RIS, and MARC import translators are implemented (although they are a little picky with respect to file extensions at the moment)
items appear as they are scraped
MARC import translator pulls out tags, although this seems to slow things down
no icon appears next to a the URL when Scholar hasn't detected metadata, since this seemed somewhat confusing

apologizes for the size of this diff. i figured if i was going to re-write the API, i might as well do it all at once and get everything working right.
2006-07-17 04:06:58 +00:00
Simon Kornblith
d65328c830 adds Biblio/DC/FOAF/PRISM/VCard RDF export type. Bruce D'Arcus, author of CiteProc and co-lead on the OpenOffice bibliographic project, is currently using this as his ontology, and we can unambiguously encode all of our metadata with it.
caveats:
- it's not human readable. mozilla doesn't nest blank nodes, so everything's scattered throughout the file. it would be relatively easy to do post-processing with E4X or even regexps to correct this.
- there's no generic callNumber field, so all callNumbers are encoded as LCC.

adds container creation routines to dataMode rdf

changes Dublin Core export to Unqualified Dublin Core, and removes DC Terms qualifiers
2006-07-07 18:41:21 +00:00
Simon Kornblith
c02666fcd3 add an API for Mozilla's RDF data source, so that import/export translators will be able to create and parse RDF with minimal effort
convert Dublin Core export to new API
2006-07-06 21:55:46 +00:00
David Norton
ce26db3495 Closes #12, credits panel.
This custom credits panel gives us more flexibility. Also, there is an About link which is certainly easier to find than right-clicking on the extension in the Add-ons window.
2006-07-06 20:43:32 +00:00
David Norton
c078ebcef7 Fixes tags (broken in r359) 2006-07-06 16:27:34 +00:00
Dan Stillman
40b3ecc996 Addresses #87, Add fromArray() and toArray() methods to Item objects
Item.getTags() (which toArray() uses) now returns actual tags rather than ids -- separate method getTagIDs to return ids
2006-07-06 13:06:32 +00:00
Simon Kornblith
b7124bd8c1 ack, update scrapers.sql version info 2006-07-06 03:41:18 +00:00
Simon Kornblith
2d8ed16d88 adds export of tags to MODS.
adds export of seeAlso info and project hierarchy to RDF. for now, this is embedded in the modsCollection root element.

uses nodeIDs for Dublin Core RDF.
2006-07-06 03:39:32 +00:00
Simon Kornblith
89a770d56b include fileInterface.js in overlay.xul so that file export will work
make replace work from save dialog
2006-07-05 22:08:25 +00:00
Simon Kornblith
c0251085a9 Add export filters for RIS and Dublin Core RDF 2006-07-05 21:44:01 +00:00
David Norton
52ae9b321e Fixes problems with long tags and cropping. 2006-07-05 17:59:17 +00:00
David Norton
c478fea15f Fixes #52, button to expand to full screen mode.
Fixes #92, sometimes it starts up in full screen mode and you can't switch it back.
Fixes problem with tags summary on Notes not updating.
2006-07-05 16:19:26 +00:00
David Norton
cb4a79ef9d Fixes problem where deleting a note would accidentally hide other items in the list. 2006-07-05 15:35:15 +00:00
David Norton
daf8808615 Fixes #109, add import/export buttons to interface.
- Look under the cog menu above the Projects list.
2006-07-05 15:19:18 +00:00
David Norton
1cdd1f3de2 Fixes #24, tags for notes.
This is now a new control, <tagsbox> which is pretty darn portable.
2006-07-05 15:08:24 +00:00
David Norton
7333a1b538 Fixes #32, implement tags in tags tab 2006-07-05 13:09:58 +00:00
David Norton
07e75aa9de The default location of the bar is at the bottom of the screen. 2006-07-05 11:23:05 +00:00
Simon Kornblith
8b4a44be0f fixes a bug that made the Google Books translator not appear
adjusts the Google Books translator to work with the latest revision of the site

renames the MODS translator to just MODS, because "Metadata Object Description Schema (MODS)" was too long for the export dialog
2006-06-30 19:21:36 +00:00
Dan Stillman
6c88563ded Changed translators.type column to INT and added index
Updated scraper updated mechanism to handle new translator schema, roughly
2006-06-29 07:58:50 +00:00
Dan Stillman
7328a3eab3 Add notes to the sample data 2006-06-29 07:04:24 +00:00
Dan Stillman
35eb1292a5 Changed getRandomID() to use the full SQLite three-byte range if unable to find a two-byte id in 3 tries 2006-06-29 07:03:24 +00:00
Dan Stillman
b495bb6334 Use getRandomID() for new item ids rather than auto-increment 2006-06-29 06:28:50 +00:00
Dan Stillman
72ca609b52 Addresses #87, Add fromArray() and toArray() methods to Item objects
Changed _getDescendents to take _nested_ flag, be extensible later for smart folders and other types, and include the collection name in the dataset

Added Collection.toArray()

Sample array:

'0' ...
	'id' => "13"
	'type' => "item"
'1' ...
	'id' => "14"
	'type' => "item"
'2' ...
	'id' => "7373"
	'name' => "A Sub-project!"
	'type' => "collection"
	'children' ...
		'0' ...
			'id' => "15"
			'type' => "item"
		'1' ...
			'id' => "9233"
			'name' => "A Sub-sub-project!"
			'type' => "collection"
			'children' ...
2006-06-29 05:18:55 +00:00
Dan Stillman
9b23e1ecdc Addresses #87, Add fromArray() and toArray() methods to Item objects
toArray() improvements:

- seeAlso support (array of itemIDs)

- Added itemID to source notes

- Fixed bug in creator handling
2006-06-29 03:56:22 +00:00
Simon Kornblith
77282c3edc - fixes a bug that could result in scrapers using utilities.processDocuments malfunctioning
- fixes a bug that could result in the Scrape Progress chrome thingy sticking around forever
- makes chrome thingy disappear when URL changes or when tabs are switched
2006-06-29 03:22:10 +00:00
Simon Kornblith
cd25ecc034 I swear I've fixed this bug before, but make multiple item ingest work right for InnoPAC 2006-06-29 02:54:37 +00:00
Dan Stillman
2d23ba97e5 See Also functionality for items and notes
Item.addSeeAlso(itemID)
Item.removeSeeAlso(itemID)
Item.getSeeAlso() -- array of linked items

Relationships are mutual

Closes #82, Notes: see also table
2006-06-29 01:37:53 +00:00
Dan Stillman
098b7b1b9e Allow single bound parameters not in arrays in DB.query() calls 2006-06-29 01:06:02 +00:00
Simon Kornblith
45b9234996 addresses #78, figure out import/export architecture
- changes scrapers table to translators table; all import/export/web translators now belong in this table
- adds Scholar.Translate to handle translation issues. eventually, Scholar.Ingester.Document will become part of this interface
- adds Scholar_File_Interface (in fileInterface.js) to handle UI for export and eventually import. (David, when you have time, please connect Scholar_File_Interface.exportFile to a button.)
- adds an export translator for MODS. all of our metadata, but not our hierarchy (projects, etc.) translates directly and unambiguously into valid MODS. eventually, we can use RDF or another format to handle hierarchy.
- adds utilities.getVersion() and utilities.inArray() for simplified scraper coding
- fixes minor interface issues with the nifty chrome scraping status window
2006-06-29 00:56:50 +00:00
Dan Stillman
1bc344695c Change the version number to 1.0a1
Chnage the homepage URL to /tools/firefoxscholar for now

(Note: this is still not the official alpha release--that will be built separately)
2006-06-28 21:07:15 +00:00
Dan Stillman
e45520b871 Updated obsolete references to itemKeywords table to use itemTags (this was breaking item delete and search) 2006-06-28 19:12:35 +00:00
David Norton
3a3b6ab70d Fixes #30, clicking on note in the hierarchical view shows contents of the note in the right panel.
- Generally, restructured the way that editing notes works: there is now a <noteeditor> control.
2006-06-28 18:30:29 +00:00
Dan Stillman
20bad3609d Moving Scholar.Notes in the code -- ignore 2006-06-28 18:30:20 +00:00
Dan Stillman
e22bdaab33 Disallow setting note source to another note (presumably that's what See Also is for) 2006-06-28 18:28:09 +00:00
Dan Stillman
cef196529c Return the tagID, new or otherwise, in Item.addTag() 2006-06-28 18:12:38 +00:00
Dan Stillman
52f7ed62d0 Closes #31, tag data infrastructure
New methods:

Item.addTag(tag)
Item.getTags() -- array of tagIDs
Item.removeTag(tagID)

Tags.getName(tagID)
Tags.getID(tag)
Tags.add(text) -- returns tagID of new tag
Tags.purge() -- purge obsolete tags

The last two are for use by Item.addTag() and Item.removeTag(), respectively, and probably don't need to be used elsewhere.
2006-06-28 18:06:36 +00:00
Dan Stillman
b75376c1c1 Fixes #96, When notify() is called for a new note, getNote() on the item returns false
Item.save() changed to not call notify() if a transaction is in progress, which is totally going to trip someone up at some point, and probably me, but it's better than a new parameter
2006-06-28 15:47:58 +00:00
David Norton
965f4c3c0a Fixes #97, target="_blank" error
All windows opened will check their opener and try to match the collapsed state of the scholar pane to that of the window that opened it.
2006-06-28 15:15:38 +00:00
Dan Stillman
cb8f961639 Removed Scholar.HTTP, now that its functionality has been incorporated back into Scholar.Utilities.HTTP 2006-06-27 23:24:02 +00:00
Dan Stillman
312f32f505 Fixes #96, When notify() is called for a new note, getNote() on the item returns false
getNote() now returns an empty string rather than false on a new item

David, I assume this is what you meant--if not, reopen
2006-06-27 22:55:43 +00:00
David Norton
0991ae230e Fixes #94, New independent notes do not appear in item view until clicking away from folder and back
Also fixes a lot of other issues regarding independant notes.
2006-06-27 22:47:17 +00:00
Dan Stillman
2dece39ad3 Fixes #95, Notes.add() fails when sourceitem is null 2006-06-27 22:14:28 +00:00
Simon Kornblith
9a7d619122 closes #42, save directly to project folder by clicking and holding down the icon in the toolbar. you actually have to right click (not just click and hold) for this to work, because 2.0 gets rid of the click-and-hold = contextual menu thing that existed in older version. 2006-06-27 21:02:26 +00:00
Dan Stillman
91b732c3e1 Addresses #87, Add fromArray() and toArray() methods to Item objects
Item.toArray() implemented -- builds up a multidimensional array of item data, converting all type ids to their textual equivalents -- currently has empty placeholder arrays for tags and seeAlso

Sample source output:

'itemID' => "2"
'itemType' => "book"
'title' => "Computer-Mediated Communication: Human-to-Human Communication Across the Internet"
'dateAdded' => "2006-03-12 05:25:50"
'dateModified' => "2006-03-12 05:25:50"
'publisher' => "Allyn & Bacon Publishers"
'year' => "2002"
'pages' => "347"
'ISBN' => "0-205-32145-3"
'creators' ...
	'0' ...
		'firstName' => "Susan B."
		'lastName' => "Barnes"
		'creatorType' => "author"
'notes' ...
	'0' ...
		'note' => "text"
		'tags' ...
		'seeAlso' ...
	'1' ...
		'note' => "text"
		'tags' ...
		'seeAlso' ...
'tags' ...
'seeAlso' ...


Sample note output:

'itemID' => "17"
'itemType' => "note"
'dateAdded' => "2006-06-27 04:21:16"
'dateModified' => "2006-06-27 04:21:16"
'note' => "text"
'sourceItemID' => "2"
'tags' ...
'seeAlso' ...

sourceItemID won't exist if it's an independent note.

We'll use the same format in reverse for fromArray, so Simon, let me know if you need more data (preserving type ids, etc) or want anything in a different form.
2006-06-27 20:45:41 +00:00
David Norton
711a277173 Fixed hierarchical viewing of notes. (Standalone notes not very well supported yet). Please post bugs to Trac (component: interface) 2006-06-27 20:37:02 +00:00