Commit Graph

128 Commits

Author SHA1 Message Date
David Greenspan
0fe094f530 docs wording 2013-03-21 14:09:40 -07:00
David Greenspan
df5d2800ae dep.depend() instead of Deps.depend(dep)
simpler than having Deps.depend and addDependent, reads fine
2013-03-21 14:09:40 -07:00
Geoff Schmidt
a158e3f901 Update docs: update/remove RPCs may only use IDs as selectors, other tweaks 2013-03-13 05:52:58 -07:00
Nick Martin
abe3ee9cbe Merge remote-tracking branch 'origin/deps-radical' into devel 2013-03-12 10:39:03 -07:00
Naomi Seyfer
1c4041ee71 Doc review and example code in docs 2013-03-11 17:52:38 -07:00
Naomi Seyfer
1653c091e7 Change the names from factory to transform 2013-03-11 15:49:17 -07:00
David Greenspan
96d05d741f Deps.Variable => Deps.Dependency 2013-03-11 12:37:25 -07:00
David Greenspan
a18a92e65f Deps.run => Deps.autorun 2013-03-11 12:17:39 -07:00
Naomi Seyfer
0ee4446315 draft of docs for models/factories 2013-03-10 14:48:42 -07:00
David Greenspan
934322f2d4 minor docs tweaks 2013-03-08 13:38:55 -08:00
David Greenspan
69ee6af08a finish porting docs to radical deps 2013-03-08 12:06:05 -08:00
David Greenspan
2d35276f4c complete radical deps API docs 2013-03-08 00:49:43 -08:00
David Greenspan
717ed1f6f9 more work 2013-03-07 23:10:44 -08:00
David Greenspan
a0f0f64b7f lots of docs 2013-03-06 17:36:05 -08:00
David Greenspan
7e90bc9268 docs wip 2013-03-04 18:09:13 -08:00
Naomi Seyfer
dba23bd29c Session.setDefault, and updating todos to use it. #698 2013-02-20 17:56:39 -08:00
Naomi Seyfer
a920d568ec Added an E to the JSON where we support it, in the docs 2013-02-20 16:33:27 -08:00
Naomi Seyfer
c911cd9ef4 Greenspan comments on ddp-pre1 diff 2013-02-20 14:52:28 -08:00
Naomi Seyfer
f741531c01 Fixed inaccurate/old api for publish removed 2013-02-19 10:18:29 -08:00
David Glasser
806ffc6b60 Updates to ObjectID docs. 2013-02-13 14:46:27 -08:00
David Glasser
eb14cfceeb Rename Meteor.id() -> Random.id() 2013-02-12 23:44:04 -08:00
David Glasser
1eecbb070e Merge branch 'devel' into ddp-pre1 2013-02-12 17:42:20 -08:00
David Glasser
db535c93f3 Improved docs for two Meteor.subscribe changes.
(onError and handle.ready())
2013-02-11 20:11:05 -08:00
David Glasser
40bfd2e360 Add a reactive ready() method to subscription handles. Fixes #273.
Inspired by a pull request from tmeasday (though we've changed the underlying
code enough on ddp-pre1 that I had to rewrite it myself).

Use it in todos. No docs yet, but the Meteor.subscribe docs are already
scheduled for some attention.
2013-02-08 18:41:41 -08:00
David Glasser
4f2d725d3f If Meteor.settings.public exists, make it available on the client as well.
(Suggested by @jagill at Meteor Dev Shop 0!)
2013-02-08 17:51:33 -08:00
David Glasser
db917f4741 DDP server: Implement sub.error() and reimplement sub.stop().
Note that sub.stop() is now handled by the client (it removes the record of the
subscription) but there is no way for an app to observe this. (I expect we'll
use sub.stop() in implementing "fetch" in the Mongo connector.)
2013-02-07 15:43:28 -08:00
Geoff Schmidt
9b3cd467d0 Second draft of observe/observeChange docs 2013-02-07 15:41:20 -08:00
Geoff Schmidt
557dd363f4 markdown is mia 2013-02-07 14:52:18 -08:00
Geoff Schmidt
97cbc5a50e correct error in previous commit 2013-02-07 13:49:10 -08:00
Geoff Schmidt
e2ddf0aead Change descriptions of observe and observeChanges 2013-02-07 13:47:52 -08:00
Naomi Seyfer
c6f72b612f Draft docs for new observe 2013-02-06 18:37:33 -08:00
David Glasser
90afe9e9d5 New onError callback to Meteor.subscribe.
This callback receives any terminating error from a subscription. Currently this
can only be because the subscription is unknown, but soon subscriptions will be
able to send other errors.

Also, adjust the semantics of ready callbacks in a reactive context to only call
the latest instance of the callback rather than all callbacks.
2013-02-04 13:20:21 -08:00
Naomi Seyfer
e1aa360b98 Merge branch 'devel' into ddp-pre1
Now don't require _id to be unset on insert anymore.

Some error handling around duplicate _id

Conflicts:
	packages/minimongo/minimongo.js
	packages/mongo-livedata/collection.js
	packages/mongo-livedata/mongo_livedata_tests.js
2013-02-01 16:10:18 -08:00
Naomi Seyfer
d76562f0fb Docuentation for allowing _id to be spec by the user 2013-02-01 15:24:45 -08:00
David Glasser
3f2aad7c0e Rename subscription "complete" to "ready" everywhere (including in the
protocol and the publisher API).

Also update examples/other/quiescence for ddp-pre1.
2013-01-30 13:34:58 -08:00
Naomi Seyfer
deb06b627e Workshopping docs for EJSON and ObjectID w/ nim 2013-01-17 15:56:13 -05:00
Naomi Seyfer
20145a7f42 Docs for EJSON package 2013-01-17 15:56:13 -05:00
Naomi Seyfer
c99c816331 Fixing up docs, making ObjectID consistent with Node api 2013-01-17 15:51:56 -05:00
Naomi Seyfer
5b4910c965 First draft of docs for types. 2013-01-17 15:49:52 -05:00
Naomi Seyfer
91b1f3b15c Workshopping words on the publish docs 2013-01-17 15:25:01 -05:00
Naomi Seyfer
daa559366c Modified docs to reflect ddp-pre1 and new publish handler api 2013-01-17 15:24:28 -05:00
David Glasser
27d3073660 Make Meteor.autosubscribe a deprecated alias for Meteor.autorun.
Instead of a general client-side sub de-duping mechanism (which mostly existed
for the sake of autosubscribe, and causes issues with server-driven
unsubscribes), make Meteor.subscribe explicitly aware of reactivity.

Expose an "invalidated" flag on Meteor.deps.Context.

Guarantee that invalidation callbacks from different contexts will not be
interleaved at flush time. This has the implication that if you do

   context1.onInvalidate(function () {
     context2.invalidate();
   });

and this is the only way to invalidate context2, then context2's invalidation
callbacks will not be called until after *ALL* of context1's callbacks are
called. This allows us to be sure that the "unsubscribe, unless autorun tried to
re-create an identical sub" logic runs after the autorun function is rerun.
2013-01-15 17:07:03 -05:00
Naomi Seyfer
06a3e23730 The rest of the docs for Meteor.settings 2012-12-12 12:53:39 -08:00
Avital Oliver
5efd9ff4b2 OAuth offline token docs improvement 2012-12-03 22:10:43 -08:00
Avital Oliver
240d6e64f7 Improve offline google oauth token support:
- Use an argument to Meteor.loginWithGoogle and Accounts.ui.config
  rather than a UI-powered configuration option
- Add documentation
- Some cleanup
2012-12-03 22:10:43 -08:00
David Glasser
3a3126568a docs: clarify that the 'fields' option to find/findOne is server-only
and the 'reactive' option is client-only.

Avoid using the term Minimongo to mean "client-only".

Fixes #492.
2012-11-28 13:27:20 -08:00
David Glasser
f8c54c4046 Overhaul quiescence, method callback timing, and login methods on the client.
- Data streamed from the server is quiesced on a per-object basis, not a global
  basis. We track which documents a method stubs modifies, and create individual
  snapshots ("server documents") of those documents rather than whole-Collection
  snapshots. Data writes from the server to documents not modified by stubs are
  applied immediately to the local cache; other writes are applied to the
  "server document" snapshots. Server documents are flushed to the local cache
  when all method stubs that wrote to the document have sent their "data write"
  message.  (We still do "full database" quiescence after a reconnect.)

- Instead of calling method callbacks as soon as the result is received, we wait
  until all data that precedes their "data done" message is flushed to the local
  cache. This way, method callbacks can see all of their results locally. (This
  applies to Collection mutator callbacks as well.) If this delay is
  unacceptable, you can also specify the onResultReceived option to
  Meteor.apply; this callback is given the method result as soon as it comes in,
  and there's no guarantee that the local cache is up to date.
  (This is a client-only change: server-side callbacks do not block on the
  write fence.)

- Methods invoked with the "wait" option to Meteor.apply now wait until all
  preceding methods are fully finished to be *sent*, not just to call their
  callbacks. ie, previous calls block the "wait" method in the same way that
  "wait" methods block subsequent calls.

- Remove Meteor.userLoaded and {{currentUserLoaded}}.
  Meteor.userId() is now set only at the point where Meteor.user() is fully
      loaded.
  Current user data is published via an unnamed subscription, not via
      "meteor.currentUser".
  Replace them with Meteor.loggingIn() and {{loggingIn}}, which become true
      as soon as the login method is sent (instead of only once it succeeds).
  In accounts-ui, move the spinny into the dropdown, because it now shows up
      before error messages would.

- Previously, if we received the "result" message from a method but no "data"
  message, and then disconnected and reconnected, quiescence would be
  permanently blocked. Now, not only do we allow the app to continue working,
  but we even guarantee that the method's callback will be called at the
  "reconnect quiescence" point.

- Remove reset function from the Store API (the interface between
      _LivedataConnection and Collection), and add a boolean "reset" argument to
      beginUpdate instead.
  Add saveOriginals/retrieveOriginals functions to the Store API (pass-through
      to minimongo implementation).
  Allow "replace" messages to be passed to the Store API's update function
      (in addition to set/unset).
  Allow Store API implementations (eg tinytest_client) to not specify all
      functions.

- Server-side tinytest results now stream into the result page instead of
  appearing all at once at the end.

- Rename fields and methods of Meteor._LivedataConnection as camelCase, and
  prepend all internal fields with _.

- Different Meteor._LivedataConnection objects now have separate
  _userIdListeners _ContextSets.

- Remove snapshot/restore functionality from Minimongo collections. (Individual
  queries still have result snapshots.) The "server documents" in
  Meteor._LivedataConnection serve the equivalent purpose.

- Meteor.loginWithToken's callback is now a "call with error on error, call
  with no args on success" callback like the other login callbacks.

- The test-only Meteor._LivedataConnection.onQuiesce function is removed.
  Every single use of it is now supported by normal method callbacks.
2012-11-14 18:10:08 -08:00
David Glasser
c8a9bc9e5a Fix doc argument type formatting (fixes #432) 2012-11-05 14:55:55 -08:00
David Glasser
7d8f744f15 Some tweaks to dandv's doc cleanups. 2012-11-05 11:36:47 -08:00
Dan Dascalescu
5ccacd1fbd Doc cleanups. Fixes #430. 2012-11-05 11:19:23 -08:00