<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><BR><DIV><DIV>On Jun 22, 2007, at 8:50 PM, Rob Thorne wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="4" style="font: 14.0px Helvetica">I've just gone through the handbook pages you did on the API.<SPAN class="Apple-converted-space">  </SPAN>They describe the API well, but I don't think I grok the "user experience" that the API implements.<SPAN class="Apple-converted-space">  </SPAN>Am I right in assuming that the implementation generates a standard UI for deleting a "package" along with the various hooks it implements for letting other code respond to the deletion?</FONT></P></BLOCKQUOTE><DIV><BR class="khtml-block-placeholder"></DIV><DIV>there really is no user experience -- or, rather, it's whatever the dev wants it to be.  the API exposes the deletion cycle to modules, and allows them to do a few things with it.  from a user's perspective, the differences would be:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>1. extra info on a confirm screen b/c a module injected it.</DIV><DIV>2. a user warning b/c a package deletion was aborted by a module.</DIV><DIV>3. maybe an extra user message here and there.</DIV><BR><BLOCKQUOTE type="cite"> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="4" style="font: 14.0px Helvetica">Also, I found the explanation of the "package" concept a bit abstract.<SPAN class="Apple-converted-space">  </SPAN>A real-world-ish example might help.</FONT></P> </BLOCKQUOTE><BR></DIV><DIV>sorry about that.  i really wasn't sure what else to call it.  i'm happy to pick a better name if it avoids confusion.  :)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>package == 'logical set of deletions that happen together'</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>as in, when you delete a node, you also delete the associated comments, associated revisions, etc.  they happen as a logical unit.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>the API keeps the logical units together, and presents the logical units to the hooks so that outside modules may have a look.</DIV><BR></BODY></HTML>