在EVALSYS的安装指南中,它说"The tool should be added to all My Workspaces"但它没有提供有关如何执行此操作的任何详细信息。这似乎是一件很常见的事情,有没有最好的做法?
答案 0 :(得分:5)
最简单的方法是将工具添加到!user 网站(使用特殊的管理网站工具)。找到!用户站点,然后添加页面(使用“页面”按钮),然后向该页面添加工具,并从列表中选择要添加到所有工作区的工具。完成此操作后,所有新的我的工作区将在用户首次登录Sakai时自动创建该工具。
关于现有工作空间的说明:
如果您还希望所有现有我的工作区包含该工具,那么您必须实际删除它们,以便在下次用户登录时重新创建它们(这将导致当前登录用户出现问题)。这最好在系统未运行(或至少未被主动使用)时完成。为此,您需要在数据库上运行这样的SQL:
delete from sakai_site where SITE_ID like '~%' AND SITE_ID <> '~admin';
通过Sakai网络服务的替代方法:
还有一个SOAP Web服务可以为所有我的工作区添加一个工具,该工具位于: HTTP:// {your.sakai.server} /sakai-axis/SakaiScript.jws?wsdl
如果您使用的是Sakai 10+,那么也可以通过CXF webservice获得相同的功能。 有关文档和其他方法,请参阅此处的源代码:https://source.sakaiproject.org/svn/webservices/branches/sakai-10.x/axis/src/webapp/SakaiScript.jws
public String addNewToolToAllWorkspaces(
String sessionid, String toolid, String pagetitle, String tooltitle,
int pagelayout, int position, boolean popup);
有关使用Sakai SOAP Web服务的更多详细信息,请访问: https://confluence.sakaiproject.org/display/WEBSVCS/How+to+use+the+Sakai+Web+Services
答案 1 :(得分:1)
当您导航到http://your.server/sakai-axis/SakaiScript.jws?wsdl时,还有一个Axis Web服务可以执行此操作。如果您使用的是Sakai 10+,那么同样的呼叫也可以通过CXF获得。
/**
* Adds a tool to all My Workspace sites
*
* @param sessionid the id of a valid session for the admin user
* @param toolid the id of the tool you want to add (ie sakai.profile2)
* @param pagetitle the title of the page shown in the site navigation
* @param tooltitle the title of the tool shown in the main portlet
* @param pagelayout single or double column (0 or 1). Any other value will revert to 0.
* @param position integer specifying the position within other pages on the site (0 means top, for right at the bottom a large enough number, ie 99)
* @param popup boolean for if it should be a popup window or not
*
* @return success or exception
* @throws AxisFault
*
* Sakai properties:
* #specify the list of users to ignore separated by a comma, no spaces. Defaults to 'admin,postmaster'.
* webservice.specialUsers=admin,postmaster
*
*/
public String addNewToolToAllWorkspaces(String sessionid, String toolid, String pagetitle, String tooltitle, int pagelayout, int position, boolean popup) throws AxisFault