1

I am forced, against my will and all common sense, to turn my series of WSP Builder solutions into VSeWSS 1.3. So far, i have encountered, conquered and totally knocked down every illogical, inconsistent, and downright wrong error message thrown at me.

It has taken over 25 hours of development time so far, but I'm nearly there. Except one thing... The order of retraction, inside of solution.

I have a series of Site Columns, and then I have a content type based on it. Because the Columns are SiteCol wide lookups I create them in a separate feature, activating them via a receiver (All works fine), then I create a Content Type based on those cols (And using the activationDependancies tag too), all good.

When I retract the solution however the the solution retracts the columns first, which fails, and screws everything else up in the solution file.

Any idea how I can order the solution, to order the retraction appropriately?

1 Answer 1

1

Bad luck on the WSPBuilder vs WSeWSS decision!

I think the main thing to consider here is that feature deactivation does not fire automatically when solutions are retracted. So maybe what you need to ensure is that features are deactivated (manually or via a script) in the correct sequence before your WSPs get retracted. This should then provide you with some control in what happens when. In general terms, retracting solutions does tend to leave behind some 'brokenness' if the artifacts are referenced by other artifacts which aren't themselves taken away.

A key consideration with deactivation/retraction is always data - what if your site columns/content types are in use? Should you delete the lists so that the columns get removed completely, or do you not 'own' the lists? (N.B. in the scenario that you don't delete, the list content types/columns will remain but the site content types/columns will disappear on deactivation). Obvously there aren't really any one-size-fits-all answers here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.