Ilang mga buwan na nakalipas, habang nagtatrabaho sa isang proyekto para sa isang client, I created a feature. Among other things, na ang tampok na tinukoy ng isang pasadyang aksyon (mga lumitaw sa ilalim ng mga setting ng site). The only purpose for this custom action was to demonstrate to me that the feature activation was working as expected. Talaga, Ginamit ko ito bilang isang magaspang na paraan ng pag-debug.
Karamihan sa aking kahihiyan, ang pag-debug artepakto ginawa ng paraan mula sa dev sa UAT at sa produksyon bago isang tao nakuha sa paligid sa pagtatanong, "what is this xyzzy link?"
Sa ngayon, Ikinalulungkot namin sa production at ko talagang ayaw mong i-uninstall ang tampok, fix elements.xml and then reinstall.
Todd Bleaker pointed out an easy way to handle it. In his words:
"CustomActions are not copied into the database, ang mga ito ay basahin nang direkta mula sa Elements.xml file at makopya ang application ng estado sa runtime. Kaya, hindi mo kailangang i-deactivate, i-uninstall, muling i-install, at muling isaaktibo ang Tampok na alisin ang CustomAction. Lang alisin ito mula sa Elements.xml file at recycle ang application pool(s) maapektuhan sa. Ang susunod na oras na Tampok ay nasa saklaw, hindi mo makikita ang CustomAction na ngayon."
Sinundan ko ang kanyang mga tagubilin at, mangyari pa, gumagana ang mga iyon.
Sa aking kaso, this is a department level installation with just a single WFE. If you find yourself with this problem in future and with multiple WFE’s, Naniniwala akong kailangan mong gawin ang pagbabago sa bawat.
</dulo>