Remove widget from pages programmatically?

Developer Space

Developer Space
Want to extend the Telligent Evolution platform? Collaborate with other developers and product experts here.

Remove widget from pages programmatically?

This question is not answered

Is there a way to remove programmatically remove widgets from a select number of group pages? We have a few thousand groups and some of those groups have pages where two instances of the same widget exist with slightly different configuration data. We want to remove all of the widgets with a particular configuration pattern. Is there a way to do this through one of the APIs or directly through the database? If the latter, is removing the records enough or will the OrderNumber need to be updated as well?

We're using Telligent Community 7.6.

All Replies
  • Are each of your groups saved individually? or did you "Save For Group" and apply it to all thousands of groups?

  • Hi Luke,

    The former. We use Telligent Community as a platform for teacher websites within a school district. Many of these teachers have customized pages within their groups and I need to update or remove the offending widgets without wiping out their customizations. I already have a tool for updating widget configuration data using a Regex search and replace scheme but don't know what the safest method is for removing widgets from a subset of pages.

  • Better leave this one to the experts :)  However, what is the difference in configuration data between the two widget instances?

  • Without going into specifics, they are "link list" style widgets belonging to an application. Affected pages have two copies of the widget with different links enabled and disabled. I would like to remove one of them.

  • Worst case scenario, you could modify the widget code to hide the widget with the bad configuration until you can get a solid way to nuke it from the db (If you haven't done this already).   Good Luck!

  • Have you taken a look at the theme automation apis - specifically the page content fragments service &

    Specifically use the list method to get widgets on a specific page, test if you've got your bad widget in them, then use the remove method to remove the bad widget if it exists.