locked
Modify standard application page RRS feed

  • Question

  • Hi,

    I want to create a custom sharepoint application page. i.e. modify the standard site collection features page(ManageFeatures.aspx in LAYOUTS) so that I can hide certain third party features from curious users. The standard app page uses a usercontrol(FeatureActivator) which contains the logic to list the features. I want to make a modification to this usercontrol so as to filter out the features. Is it possible to override the usercontrol method that creates this? Any ideas?

    Thanks,

    KR

    • Moved by Mike Walsh FIN Thursday, May 27, 2010 3:57 AM customization q (of existing page) (From:SharePoint - Development and Programming (pre-SharePoint 2010))
    Wednesday, May 26, 2010 9:16 PM

Answers

  • Kartik,

     

    you can take the 3rd party feature definitions (feature.xml files in the 12/TEMPLATE/FEATURE/[featurename] folder) and set the HIDDEN-Attribute to FALSE so those features will be invisible though this will be valid for all sites so you will activate those only by API and not by UI anymore.

    The least invasive procedure for changing the ManageFeatures.aspx IMHO would be adding a Javascript that removes all features you will make invisible.

    While the full change would require:

    -inheriting from Microsoft.Sharepoint.WebControls.FeatureActivator and overwrite the OnLoad-method (you're a lucky boy, this class is not sealed!)

    -GACing your new assemlby with the new class for "FeatureActivator".

    -registering the new class to the FeatureActivator.ascs control and rename the control

    -adding the new  control to the ManageFeatures.aspx instead of the old one

     

    Nevertheless, you could also develop your own custom feature-site where you enumerate and activate/deactivate the features completely on your own! So you won't have any hassles with the existing logic there.

    regards,

    Markus

    • Marked as answer by karthik.ramana Thursday, May 27, 2010 2:36 PM
    • Edited by Markus I_ Thursday, May 27, 2010 2:42 PM
    Thursday, May 27, 2010 6:51 AM

All replies

  • I am also interested in knowing this.
    Wednesday, May 26, 2010 9:19 PM
  • I have never heard of anyone doing this before.  I shouldn't say it because someone always proves me wrong, but I venture to say there's no good way to do this.

     


    --Paul Galvin, Computer Generated Solutions (CGS)
      Microsoft MVP - SharePoint
      Blogging @ http://feeds.feedburner.com/PaulGalvinsSharePointSpace
      Twitter @ http://www.twitter.com/pagalvin
    Wednesday, May 26, 2010 11:53 PM
  • Kartik,

     

    you can take the 3rd party feature definitions (feature.xml files in the 12/TEMPLATE/FEATURE/[featurename] folder) and set the HIDDEN-Attribute to FALSE so those features will be invisible though this will be valid for all sites so you will activate those only by API and not by UI anymore.

    The least invasive procedure for changing the ManageFeatures.aspx IMHO would be adding a Javascript that removes all features you will make invisible.

    While the full change would require:

    -inheriting from Microsoft.Sharepoint.WebControls.FeatureActivator and overwrite the OnLoad-method (you're a lucky boy, this class is not sealed!)

    -GACing your new assemlby with the new class for "FeatureActivator".

    -registering the new class to the FeatureActivator.ascs control and rename the control

    -adding the new  control to the ManageFeatures.aspx instead of the old one

     

    Nevertheless, you could also develop your own custom feature-site where you enumerate and activate/deactivate the features completely on your own! So you won't have any hassles with the existing logic there.

    regards,

    Markus

    • Marked as answer by karthik.ramana Thursday, May 27, 2010 2:36 PM
    • Edited by Markus I_ Thursday, May 27, 2010 2:42 PM
    Thursday, May 27, 2010 6:51 AM
  • Thanks Markus!
    Thursday, May 27, 2010 2:37 PM