<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial, helvetica, sans-serif;font-size:12pt"><DIV></DIV>
<DIV>You can easily check to see if any other node types are using the vocabulary and issue a warning that you cannot delete it because it is being used in other content. Generally someone is going to uninstall soon after install, so the risk is minimal.<BR>&nbsp;</DIV>
<P><FONT color=#ff007f size=4 face="bookman old style, new york, times, serif"><EM><STRONG>Nancy</STRONG></EM></FONT></P>
<P>&nbsp;</P>
<P><FONT face="arial, helvetica, sans-serif">Injustice anywhere is a threat to justice everywhere. -- Dr. Martin L. King, Jr.</FONT></P>
<DIV><BR></DIV>
<DIV style="FONT-FAMILY: arial, helvetica, sans-serif; FONT-SIZE: 12pt"><BR>
<DIV style="FONT-FAMILY: times new roman, new york, times, serif; FONT-SIZE: 12pt"><FONT size=2 face=Tahoma>
<HR SIZE=1>
<B><SPAN style="FONT-WEIGHT: bold">From:</SPAN></B> Gordon Heydon &lt;gordon@heydon.com.au&gt;<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> development@drupal.org<BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> Wed, January 26, 2011 7:17:48 PM<BR><B><SPAN style="FONT-WEIGHT: bold">Subject:</SPAN></B> Re: [development] D6 Cleaning up on module uninstall<BR></FONT><BR>Hi, 
<DIV><BR></DIV>
<DIV>You shouldn't remove the taxonomy on uninstall, as people may be using the taxonomy you created for another purpose, and what you originally intended. Just on the uninstall let the user know that they should be deleted.</DIV>
<DIV><BR></DIV>
<DIV>If your module defines the content type Drupal will handle the fact that the definition is missing, and the admin can clean up all the nodes, and other definitions.</DIV>
<DIV><BR></DIV>
<DIV>Gordon.</DIV>
<DIV><BR></DIV>
<DIV><BR>
<DIV>
<DIV>On 27/01/2011, at 11:09 AM, <A href="mailto:jeff@ayendesigns.com" rel=nofollow target=_blank ymailto="mailto:jeff@ayendesigns.com">jeff@ayendesigns.com</A> wrote:</DIV><BR class=Apple-interchange-newline>
<BLOCKQUOTE type="cite">
<DIV style="DIRECTION: ltr">&nbsp;But what about the fact that the content type of the node, the field definition of the fields within it, and the taxonomy vocabulary that categorizes them will all be gone? What if someone attempts to edit?<BR>
<BLOCKQUOTE type="cite">Do what core does. Do not remove nodes on uninstall. That's better left for a batch process, which is not appropriate for uninstall. 
<DIV><BR clear=all>Dave Reid<BR><A href="mailto:dave@davereid.net" rel=nofollow target=_blank ymailto="mailto:dave@davereid.net">dave@davereid.net</A><BR><BR><BR>
<DIV class=gmail_quote>On Wed, Jan 26, 2011 at 3:48 PM, <SPAN dir=ltr>&lt;<A href="mailto:jeff@ayendesigns.com" rel=nofollow target=_blank ymailto="mailto:jeff@ayendesigns.com">jeff@ayendesigns.com</A>&gt;</SPAN> wrote:<BR>
<BLOCKQUOTE style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex" class=gmail_quote>
<DIV style="DIRECTION: ltr">
<DIV style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0cm">I have my module -install- working fine...creating the needed vocabulary, cck content type with fields, adding the content type to the vocabulary. Now I'm working on the uninstall, and the seemingly infinite cleanup that's needed, not that anyone would ever want to remove my module, once installed!</DIV>
<DIV style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0cm"><BR></DIV>
<DIV style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0cm">I believe I have the vocabulary and its data, and the cck content type and its data accounted for with:</DIV>
<DIV style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0cm"><BR></DIV>
<P style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0cm"></P>&nbsp; taxonomy_del_vocabulary($vid); 
<DIV style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0cm">&nbsp; drupal_load('module', 'content');<BR>&nbsp; content_notify('uninstall', 'my_module');</DIV>
<DIV style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0cm"><BR></DIV>
<DIV style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0cm">and that brings me to nodes et al. There will be nodes (and node revisions) to be removed, and each node can have multiple field instances (cck image field). I don't seem to see a magic function that, given a node type, will remove all associated node data for that type. Also, I think I should remove the files that were uploaded as cck image content. Any tips on a good example of a complete "undo"? :)<BR></DIV>
<P style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0cm"></P>
<P style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0cm"></P>
<P style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0cm"></P>
<P style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0cm"></P>
<DIV>-- <BR>
<P style="MARGIN-BOTTOM: 0in"><SPAN>&lt;ayenlogo.jpeg&gt;</SPAN> <FONT style="FONT-SIZE: 8pt" size=1>Ayen Designs </FONT><FONT face="Times New Roman, serif"><FONT style="FONT-SIZE: 8pt" size=1><BR>388 Bullsboro Drive #105  Newnan, Georgia 30263</FONT></FONT> <BR><FONT face="Times New Roman, serif"><FONT style="FONT-SIZE: 8pt" size=1>404-271-9734<BR>Web:<A href="http://ayendesigns.com/" rel=nofollow target=_blank>ayendesigns.com</A><BR>Blog: <A href="http://theaccidentalcoder.com/" rel=nofollow target=_blank>theAccidentalCoder.com</A><BR>Drupal: <A href="http://drupal.org/user/367108" rel=nofollow target=_blank>j. ayen green</A><BR>IRQ: j_ayen_green<BR>IM (Yahoo) baalwww&nbsp;&nbsp;&nbsp;&nbsp;(MSN) <A href="mailto:baalwww@yahoo.com" rel=nofollow target=_blank ymailto="mailto:baalwww@yahoo.com">baalwww@yahoo.com</A><BR>Skype: ayendesigns <BR><BR>Ayen Designs is a tradename of the computer services division of
 <SPAN>&lt;acmelogo.jpeg&gt;</SPAN></FONT></FONT></P></DIV></DIV></BLOCKQUOTE></DIV><BR></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR></DIV></DIV></DIV></div></body></html>