I think widget settings related part in the shindig code depends on http://www.gmodules.com/ site. When user clicks on the settings link in the gadget, handleOpenUserPrefsDialog() function will be called.
This function is including a script, which will be generated by http://www.gmodules.com/. Script source path will look like: http://gmodules.com/ig/gadgetsettings?url=http://hosting.gmodules.com/ig/gadgets/file/110155793148601977194/Views.xml&mid=SQsojzFoFu2uTAGXXWG-8w&output=js Which is returning ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- var ig_html_0= '\x3cdiv id\x3dig_edit_div0 style\x3d\x22display:none\x22\x3e\x3ctable\x3e\x3ctr\x3e\x3ctd class\x3dm_fieldname_0\x3eName\x3cdiv id\x3dm_required_0_0 class\x3dc_required_0 name\x3dm_required_0_up_MyName\x3e\x3cfont color\x3d#ff0000\x3e\x3csup\x3e*\x3c/sup\x3e\x3c/font\x3e\x3c/div\x3e\x3c/td\x3e\x3ctd colspan\x3d2\x3e\x26nbsp;\x3cinput type\x3d\x22text\x22 id\x3dm_0_0 name\x3dm_0_up_MyName class\x3dc_text_0 value\x3d\x22\x22 \x3e \x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd class\x3dm_fieldname_0\x3eFavorite Color\x3c/td\x3e\x3ctd colspan\x3d2\x3e\x26nbsp;\x3cselect id\x3dm_0_1 name\x3dm_0_up_FavColor class\x3dc_enum_0 \x3e\x3coption value\x3d\x22Blue\x22\x3eBlue\x3coption value\x3d\x22Yellow\x22\x3eYellow\x3coption SELECTED value\x3d\x22Pink\x22\x3ePink\x3coption value\x3d\x22Gray\x22\x3eGray\x3c/select\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr id\x3drequired_0\x3e\x3ctd colspan\x3d2\x3e\x3csup\x3e*\x3c/sup\x3e\x26nbsp;required\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3cinput id\x3dm_0_numfields type\x3dhidden value\x3d2\x3e\x3c/div\x3e\n'; /* PNC edit window -- leave in this line for testing */ function _gel(n) { return document.getElementById ? document.getElementById(n) : null; } /* collect the userprefs into a ampersand-separate string, suitable for appending to a URL *//* note: this doesn't gather the locale */ function gatherUserprefs_0() { var res = ""; var num_fields = document.getElementById("m_0_numfields").value; for (var i = 0; i < num_fields; i++) { var obj = document.getElementById("m_0_"+i); /* stop at the end-- should be num_fields, but you never know */ if (obj == null) { continue; } /* strip module IDs */ var name = obj.name.replace(/^m_.*?_/, ""); /* separate by ampersands */ if (res != "") { res += "&"; } res += name + "=" + encodeURIComponent(obj.value); } return res; } if (ig_callback_0) ig_callback_0(ig_html_0); -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- When we decrypt the ig_html_0, it contains the html part for displaying gadget settings part and is given below: <div id=ig_edit_div0 style="display: none"> <table> <tr> <td class=m_fieldname_0>Name <div id=m_required_0_0 class=c_required_0 name=m_required_0_up_MyName><font color=#ff0000><sup>*</sup></font></div> </td> <td colspan=2> <input type="text" id=m_0_0 name=m_0_up_MyName class=c_text_0 value=""></td> </tr> <tr> <td class=m_fieldname_0>Favorite Color</td> <td colspan=2> <select id=m_0_1 name=m_0_up_FavColor class=c_enum_0> <option value="Blue">Blue <option value="Yellow">Yellow <option SELECTED value="Pink">Pink <option value="Gray">Gray </select></td> </tr> <tr id=required_0> <td colspan=2><sup>*</sup> required</td> </tr> </table> <input id=m_0_numfields type=hidden value=2></div> In the similar way, do we have any gadgetsettings like servlet in Shindig gadgets server, so that we can use that instead of gmodules.com?

