Places: Difference between revisions

(→‎Quick Links: typo, "MDC" to "MDN")
 
(77 intermediate revisions by 27 users not shown)
Line 1: Line 1:
''Please comment in the Talk page (use the Discussion tab above)''
Places is a system for storing bookmarks, history, and other user information about the Web, intended to improve developer access to this data and make it easier for people to Bookmark pages. Places is currently enabled for Firefox 3 and greater, powering History and Bookmarks, as well as providing plumbing for Livemarks, Annotations and Microsummaries and the Awesomebar.


Tracked by: [https://bugzilla.mozilla.org/show_bug.cgi?id=317841 bug 317841]
= Quick Links =


= Goals & Objectives =
Documentation
The primary objectives of this project are to:  
* [http://developer.mozilla.org/en/docs/Places Developer documentation] on MDN
* [http://people.mozilla.org/~dietrich/places/ Doxygen-generated API documentation]
* [http://people.mozilla.org/~dietrich/places-erd.png Database schema ERD]
* [[Places/Places_SQL_queries_best_practices]] for code contributors and internal developers
* [[Places/Places_Branch]] Places branch annotations
* [[Places/Coding_Style]] Places coding style


* Improve access to History and Bookmarks
Communication:
* Make it easier for people to Bookmark pages
* [news://news.mozilla.org/mozilla.dev.apps.firefox mozilla.dev.apps.firefox newsgroup]
* [irc://irc.mozilla.org/#places #places] on irc.mozilla.org
* Weekly meetings on Monday at '''9'''am PST in [irc://irc.mozilla.org/#places #places]. See [[Places/Status_Meetings]] for meeting notes.


Secondary objectives include:
Source:
* Firefox front-end code: [http://mxr.mozilla.org/mozilla-central/source/browser/components/places/ mozilla/browser/components/places/]
* Toolkit backend code: [http://mxr.mozilla.org/mozilla-central/source/toolkit/components/places/ mozilla/toolkit/components/places/]


* Consolidating user data formats
Current work:
* Provide a platform for using interesting per-URL metadata
* See the [[Places:Plan]] for current work.
* Improving the capabilities of Live Bookmarks


== Planned Milestones ==
Active module peers:
* [http://autonome.wordpress.com/ Dietrich Ayala] (MO)
* [http://shawnwilsher.com/ Shawn Wilsher]
* [http://www.bonardo.net/ Marco Bonardo]


All milestone builds are hosted at http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/experimental/places/
= Design =


Milestone 1 (12/15/2005):
* Contemporary design information is on the [http://developer.mozilla.org/en/docs/Places Places developer wiki].
* [[Places:Design Overview]] contains much of the original design documentation from Firefox 2 and 3 work on Places.
* [[Places:Performance]]
* [[Places:SecurityReview|Places Security Review]]


This is our first public milestone build.  It has a working Places view, history, and bookmarks (with import).  There are a few known issues:
= Compatibility =


* These builds are based on the Firefox trunk.  As a result, any extensions which claim only 1.5.0.* compatibility will be disabled.
As of Firefox 3, the APIs for accessing Bookmarks and History have been replaced. Some history APIs remain the same. See the [http://developer.mozilla.org/en/docs/Places Places developer wiki] for more information.
* If you use the installer, you have to do a custom install and disable Quality Feedback Agent. Otherwise, the installation will error out.
* Existing bookmarks are imported, but history is not yet imported.
* Bookmark keywords do not work yet.
* If your profile directory is on NFS, you will see slower performance.


Please file bugs in bugzilla.  You can use this link:
= Extensions =
https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox&component=Places


= Overview =
The APIs for accessing and manipulating Bookmarks and History have been replaced entirely in Firefox 3, and are incompatible. Almost all Bookmarks and History user interface components have been replaced or updated significantly. Any extension that does anything with History or Bookmarks will almost certainly have to be rewritten, at the very least to use the new APIs.


Implement new back ends for Bookmarks and History using the mozStorage system. Develop newer, more usable front end components to display results, emphasizing simple search and categorization.
= Timeline and History =


== Background ==
* Initial Places implementation slated for Firefox 2. Landed for early alphas and then backed out and eventually cut from the release. [TODO: proper links and dates needed]
* Project re-initialized in fall 2007, slated for Firefox 3.
* History-on-Places was enabled on the trunk in January 2007, first released in Gran Paradiso Alpha 2.
* Bookmarks-on-Places was enabled in May 2007, first released in Gran Paradiso Alpha 5.


Studies from the late 1990s show that while revisitations of pages previously seen counted for roughly 39% of all page navigations (see [http://scholar.google.com/ Google Scholar]), Bookmarks and History usage was low (1-3%), despite the fact that roughly 20% of those revisitations were to pages seen > 10 URLs ago (and thus outside the usefulness range of the Back button or menu).
= Credits =


Autocomplete in the URL bar is a useful tool but fails to address some common desires when looking up visited pages. There is a gulf between the capabilities of that tool, the capabilities of the Bookmarks and History systems today, and the desired capabilities of those systems.
Past core contributors:


== Use Cases ==
* Asaf Romano
* [http://www.xulplanet.com/ndeakin/ Neil Deakin]
* [http://blog.mozilla.com/thunder/ Dan Mills]
* [http://blog.mozilla.com/sspitzer/ Seth Spitzer]


TBD.
Help and guidance from:


== Functional Requirements ==
* [http://maxradi.us/ Brett Wilson] (former back-end contributor)
* [http://www.melez.com/mykzilla/ Myk Melez] (microsummaries)
* [http://www.franklinmint.fm/ Robert Sayre] (feeds)
* [http://steelgryphon.com/blog/ Mike Connor]
* [http://blog.mozilla.com/faaborg Alex Faaborg]


TBD, but reasonable compatibility with Firefox 1.x
= Discussion & Research =


== Plans & Design Documents ==
In-depth discussion is in the original design documents, linked from [[Places:Design Overview]].


=== Design Documents ===
* [http://robert.accettura.com/archives/2005/08/01/intelligent-bookmarking-draft/ Intelligent Bookmarking (Draft) - Robert Accettura]
* [http://pubnotes.wordpress.com/2007/10/14/evolution-of-bookmarking/ The Evolution of Bookmarking -- Bookmarks, Firefox, del.icio.us, Tagging, and Information Management]
* [http://www.ra.ethz.ch/CDstore/www5/www185/overview.htm Automatically Organizing Bookmarks per Contents], Fifth International World Wide Web Conference, May 6-10, 1996, Paris, France.  ([http://scholar.google.com/scholar?cluster=5092164817324641042 Google Scholar search for the article] if it moves)
* [[User:Dria/On Tagging|Deb Richardson's "On Tagging"]]


* [[Places:User Interface]]
* Comments from Todd Agulnick of Foxmarks
* [[Places:Design Overview]]
** [http://blog.foxcloud.com/?cat=7 blog post]
 
** [http://groups.google.com/group/mozilla.dev.apps.firefox/browse_frm/thread/173ba1f87d7f88c2 newsgroup thread on sync]
* [[Places:URL Store]]
** [http://www.foxcloud.com/Places/ ERD (possibly obsolete)]
* [[Places:Bookmarks]]
* [[Places:Query System]]
* [[Places:place URIs]]
* [[Places:Results]]
* [[Places:Controller]]
* [[Browser_History]]
* [[Places:AutoComplete]]
 
==== Special Containers ====
* [[Places:Bookmarks Containers]]
* [[Places:Live Bookmarks]]
* [[Places:File System Container]]
 
More to come...
 
=== Code Location ===
 
<pre>mozilla/browser/components/places/</pre> for the most part. Build with --enable-places in your .mozconfig file. This development is happening simultaneously on the trunk and MOZILLA_1_8_BRANCH.  To avoid conflicting with the browser and causing bustage, there are some shims in place that overlay the browser to insert the Places UI access points.
 
=== Team ===
 
* [[Places:Task List]]
 
== API Changes Required ==
 
The APIs for accessing Bookmarks and History will be replaced. APIs abstracting the layout of the metadata tables used in the profile storarge file will be provided. See above for details.
 
* [[Places:History API]]
* [[Places:Bookmarks API]]
* [[Places:Annotations API]]
 
== Impact ==
 
=== Extensions ===
The APIs for accessing and manipulating Bookmarks and History are being replaced with new ones, and almost all Bookmarks and History user interface will be replaced or updated significantly. Any extension that does anything with History or Bookmarks will almost certainly have to be rewritten, at the very least to use the new APIs.
 
= Discussion & Implications =
 
== Discussion Elsewhere ==
 
[http://robert.accettura.com/archives/2005/08/01/intelligent-bookmarking-draft/ Intelligent Bookmarking (Draft) - Robert Accettura]
 
[http://tdot.blog-city.com/evolution_bookmarking.htm/The Evolution of Bookmarking -- Bookmarks, Firefox, del.icio.us, Tagging, and Information Management]
 
[http://www.ra.ethz.ch/CDstore/www5/www185/overview.htm Automatically Organizing Bookmarks per Contents], Fifth International World Wide Web Conference, May 6-10, 1996, Paris, France.  ([http://scholar.google.com/scholar?cluster=5092164817324641042 Google Scholar search for the article] if it moves)

Latest revision as of 19:32, 15 December 2016

Places is a system for storing bookmarks, history, and other user information about the Web, intended to improve developer access to this data and make it easier for people to Bookmark pages. Places is currently enabled for Firefox 3 and greater, powering History and Bookmarks, as well as providing plumbing for Livemarks, Annotations and Microsummaries and the Awesomebar.

Quick Links

Documentation

Communication:

Source:

Current work:

Active module peers:

Design

Compatibility

As of Firefox 3, the APIs for accessing Bookmarks and History have been replaced. Some history APIs remain the same. See the Places developer wiki for more information.

Extensions

The APIs for accessing and manipulating Bookmarks and History have been replaced entirely in Firefox 3, and are incompatible. Almost all Bookmarks and History user interface components have been replaced or updated significantly. Any extension that does anything with History or Bookmarks will almost certainly have to be rewritten, at the very least to use the new APIs.

Timeline and History

  • Initial Places implementation slated for Firefox 2. Landed for early alphas and then backed out and eventually cut from the release. [TODO: proper links and dates needed]
  • Project re-initialized in fall 2007, slated for Firefox 3.
  • History-on-Places was enabled on the trunk in January 2007, first released in Gran Paradiso Alpha 2.
  • Bookmarks-on-Places was enabled in May 2007, first released in Gran Paradiso Alpha 5.

Credits

Past core contributors:

Help and guidance from:

Discussion & Research

In-depth discussion is in the original design documents, linked from Places:Design Overview.