<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">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">jeff@ayendesigns.com</a> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<div style="direction: ltr;" bidimailui-charset-is-forced="true" bidimailui-detected-decoding-type="latin-charset" text="#000000" bgcolor="#ffffff">
    &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 cite="mid:AANLkTi=-r9_thQoviL5FKz87jpUMxFaBFwe8ZfpPz3GM@mail.gmail.com" 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 moz-do-not-send="true" href="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 moz-do-not-send="true" href="mailto:jeff@ayendesigns.com">jeff@ayendesigns.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
            0.8ex; border-left: 1px solid rgb(204, 204, 204);
            padding-left: 1ex;">
            <div style="direction: ltr;" text="#000000" bgcolor="#ffffff"><div style="margin-bottom: 0cm; margin-top: 0pt; ">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-bottom: 0cm; margin-top: 0pt; "><br>
              </div><div style="margin-bottom: 0cm; margin-top: 0pt; ">I believe
                I have the vocabulary and its data, and the cck content
                type and its data accounted for with:</div><div style="margin-bottom: 0cm; margin-top: 0pt; "><br>
              </div><p style="margin-bottom: 0cm; margin-top: 0pt;"></p>
              &nbsp; taxonomy_del_vocabulary($vid);
              <div style="margin-bottom: 0cm; margin-top: 0pt; ">&nbsp;
                drupal_load('module', 'content');<br>
                &nbsp; content_notify('uninstall', 'my_module');</div><div style="margin-bottom: 0cm; margin-top: 0pt; "><br>
              </div><div style="margin-bottom: 0cm; margin-top: 0pt; ">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-bottom: 0cm; margin-top: 0pt;"></p><p style="margin-bottom: 0cm; margin-top: 0pt;"></p><p style="margin-bottom: 0cm; margin-top: 0pt;"></p><p style="margin-bottom: 0cm; margin-top: 0pt;"></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 moz-do-not-send="true" href="http://ayendesigns.com/" target="_blank">ayendesigns.com</a><br>
                      Blog: <a moz-do-not-send="true" href="http://theaccidentalcoder.com/" target="_blank">theAccidentalCoder.com</a><br>
                      Drupal: <a moz-do-not-send="true" href="http://drupal.org/user/367108" target="_blank">j. ayen green</a><br>
                      IRQ: j_ayen_green<br>
                      IM (Yahoo) baalwww&nbsp;&nbsp;&nbsp;&nbsp;(MSN) <a moz-do-not-send="true" href="mailto:baalwww@yahoo.com" target="_blank">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></body></html>