Project | Key | Summary | Description |
|
BasicLTI |
BasicLTI | BLTI-119 | Improve IMS Learning Tools Interoperability Support (Basic LTI, IMS CC 1.1 Support, Full LTI) | This is an umbrella JIRA to capture a series of improvements to the LTI support in Sakai. At a high level, the following are the tasks: - Build an administrator user interface that allows creation of new Basic LTI tools without using an XML descriptor - Build an instructor user interface to create BLTI virtual tools for placement in Lesson Builder - Add support for BLTI to Lesson Builder, integrated with the new LTI Service - Add support for importing and exporting BLTI placements - similar to what was done for Moodle 2.1 - http://tracker.moodle.org/browse/MDL-20534 - Add support for dynamic URL remapping and instructor custom parameter configuration per the soon-to-be released Basic LTI 1.1 best practices. The UI for this will look a *lot* like the Moodle Basic LTI Module and the ATutor Basic LTI support. In particular you can see the use cases of the Administrator UI and the Instructor UI. ATutor is more like what the Sakai UI will be like as ATutor supports instructor custom properties ( new Basic LTI 1.1 best practice) as well as instructor configured tools. Moodle: http://www.vimeo.com/9957979 ATutor: http://www.vimeo.com/18074396 This will also lay down some workflow and data model elements that will be needed for Full LTI - mostly about tool lifecycle. I won't yet build the Full LTI user interface, profiles, and services - but I will put elements in place and have UI hooks that will make Full LTI provisioning, launch, import, and export come in pretty easily. |
BasicLTI | BLTI-104 | Version specified for provided jars | the root dependency management specifies versions for servelet-api and commons-logging - both of these are provided by sakai-standard-tool and intorduce risk of dependency drift in the future |
BasicLTI | BLTI-123 | Add Support for new IMS POX-Style Services | Add support for the emerging IMS Plain Old XML (POX) services for outcomes, roster, etc. |
BasicLTI | BLTI-156 | Site info External Tools generates 'unexpected error' | Error in Site info: When the user clicks on External Tools the page says an unexpected error has occurred. Please find the screenshots of the error in the attachments. |
Kernel-K1 |
Kernel - K1 | KNL-934 | Authz performance issues | Here is the patch file for our (VT) local changes to the authz service to support that query change (discussed in the TCC meeting). Since the parameter order had to be tweaked to accomodate our change, and since we implemented a static role-key cache to support the hardcoding of role key values into the query, the patch is somewhat complicated. There's also a change to ehcache.xml that I'm not certain is related to the function of this patch at all, but I wanted to get this patch to you right away rather than spending a bunch of time verifying things. Will and I worked together on redesigning the query itself, starting from a suggestion by Richard Quintin. Jihane did most of the work on implementing the role key cache, I believe. This patch tweaks the query for all DB implementations, but Oracle is the only one we've tested at production scale. I'm guessing some actual stats on the improvement this query makes in performance would be worthwhile. I will try to dig those up from my email archive or I might resort to recalculating them if need be. It should be relatively straightforward to do so. The patch applies cleanly against kernel 1.2.6 (the one paired with Sakai 2.8.1). My understanding is that this query or the role key cache would need to be made optional if this were to be included in 2.9. I'm guessing Will and/or Jihane are better equipped to help out with that effort than I would be. Otherwise, let me know what else I can do to help the effort to get this work into the community code. |
Kernel - K1 | KNL-970 | Update default role permissions in sakai_realm.sql for Lesson Builder, SiteStats, and roleswap | When you first add Lessons to a site - in this case a project site - the default permissions are still missing. I know we talked about this a while back and was not sure if this was done in kernel configuration scripts or conversion scripts - but I tried this on the current 2.9 Longsight Server today and it is still unfixed. I checked out a copy of 2-9-x last week and it was still unfixed. So I am putting it in because I could not find the JIRA that tracks this and I just don't want us to forget about it. |
Kernel - K1 | KNL-629 | Allow content from CHS to be filtered when served | SAK-13492 has details of how the kernel can filter served up content. This is useful initially to add headers and footers to HTML fragments created by the FCKEditor in resources. |
Kernel - K1 | KNL-742 | Add new Messages permissions to sakai_realm.sql | A new feature was added to the Messages tool in MSGCNTR-401 that introduced new permissions that need to be added to the sakai_realm script: msg.permissions.allowToField.allParticipants msg.permissions.allowToField.groups msg.permissions.allowToField.roles Patch attached for sql additions. Please let me know if there is a different route I need to take to get these permissions added for ootb sakai. Thanks! |
Kernel - K1 | KNL-897 | Admin Worksite Setup - Unpublished sites not appearing in list | While experimenting on the nightly server (http://nightly2.sakaiproject.org:8082/portal/), I noticed that a new site I created as "unpublished" was not appearing at all in My Workspace > Worksite Setup. It was appearing as a "tab" up top, since I called the site "A test site" so it was alphabetically available. However, it should also be listed in the "Worksite Setup" area since an admin should be able to view all sites, not just published sites. (Like a faculty member can see his/her published and unpublished sites if they are the site owner/maintain/instructor role.) I opened a new browser and could reproduce the behavior. I logged out and logged back in and it still happened. I created a new site ("A test site 2"), also unpublished, and it wasn't listed either. I created another ("A test site 3"), this one published, and it did appear in the list. Please see the screenshot for the visual. |
Kernel - K1 | KNL-807 | ContentHosting should post an event whenever a change is made in the availability of a resource | Please add a new event "content.upd.visibility" that will be posted whenever a previously shown resource becomes hidden, whenever a previously hidden resource becomes shown, and whenever release and/or retract dates for a resource are added, changed or deleted. |
Kernel - K1 | KNL-919 | Delegated Access Sakai patches | The following patch need to be in Sakai for the delegated access tool to work properly https://source.sakaiproject.org/contrib/delegatedaccess/trunk/delegatedaccess_kernel.patch This patch do not modify the user experience in any way unless the system has enabled the delegated access tool. |
Kernel - K1 | KNL-946 | Standardize parsing of property values in sakai.properties | There currently are multiple strategies invoked for parsing property values in sakai.properties. One of the side-effects of these multiple approaches is that they split comma-separated parameters up in different ways with regards to white-space, some of which are not as well equipped variations as others (e.g., SAK-9447). We should standardize on how white-space is treated in sakai.properties, and provide developers with uniform methods for parsing their parameters. |
Kernel - K1 | KNL-342 | Allow ToolListener to be configured to use a path other than /tools/ | I was doing a little bit of development and had ny tool registration files in /WEB-INF/tools/ which is wrong (should be in /tools/) the ToolListener doesn't warn when it can't find the folder (or it doesn't register any files). So I've added some logging at WARN level as if you have the ToolListener but not tool registration files you can probably remove the listener (or add a tool registration file in the correct place. I also allowed for the tool registration folder to be configurable with a context init parameter (defaulting to /tools/), context listeners can't have configuration directly so we have to use a context init parameter. |
Kernel - K1 | KNL-356 | Automatically remove dropboxes for users who aren't members of the site | SAK-7964 Was the original issue. When a user is added to a site a dropbox is created for them, however if they leave the site the dropbox remains even if the user didn't ever upload anything into it. The attached patch removes empty dropboxes of users who are no longer members of the site. |
Kernel - K1 | KNL-655 | Upgrade to Ehcache to 1.7.2 | We're using ehchache 1.6.0 at the moment. This is now 2 year old. Also later versions have a smaller memory footprint: "Update: Ehcache 2.0 will introduce a new implementation for MemoryStore based on a custom ConcurrentHashMap. This version provides fast iteration and does away with the need for the keyArray thus bringing memory use back down to pre 1.6 levels. And with other memory optimisations made to Element in 1.7, memory use will actually be considerably lower than pre 1.6 levels." http://ehcache.org/documentation/faq.html#Why_does_Ehcache_1.6_use_more_memory_than_1.5 http://ehcache.org/changes-report.html |
Kernel - K1 | KNL-885 | The group property to enable Site Info to see groups should be moved out of site-manage and into kernel-api | In order for a group to show up in the Manage Groups part of Site Info, it must have the property: group_prop_wsetup_created=true This is defined in: site-manage-util/util/src/java/org/sakaiproject/site/util/SiteConstants.java: public static final String GROUP_PROP_WSETUP_CREATED = "group_prop_wsetup_created"; Therefore, other tools that want to create groups with this property must either take a chance that the property won't change and hard code it themselves, or use the constant from the site manage utils, creating a hard dependency. Ideally, this property would be moved to the kernel. |
Kernel - K1 | KNL-893 | KNL-532 AuthenticationCache cache not serialized | Click here for more information. |
Kernel - K1 | KNL-895 | No way to override/clear the force.url.secure property | I have an installation defined with the property force.url.secure=443 in sakai.properties I also have a local.properties and security.properties file for specific overrides. On a particular instance I want to disable the force secure setting as I am running http only. However there is no way to do that. If I set the value to a blank value (in local or security.properties, ie as an override) in an attempt to clear it, then it throws a NumberFormatException. So once the setting has a value it must always have a value, AND forces URLs to be https. The code should be adjusted so that a blank value negates any previous value that has been set. |
Kernel - K1 | KNL-817 | rename method in BaseContentService is actually copy/remove | The "rename" method in BaseContentService does not actually rename resources or collections. It copies them and then removes the old copy. This may work all right for relatively small files and collections, but for large files and collections this can create I/O throughput issues as well as potential risks in multi-volume storage setups, when all that is needed is to update a few fields in existing database records. We've recently been experiencing performance problems on application servers struggling to keep up with multiple large "rename" activities on directories full of multi-gigabyte files, which quickly saturates the NFS I/O throughput available on that application server. |
Kernel - K1 | KNL-705 | CLONE - The ability to move a site to a recycle bin and then purge it after a set period of time | This is a set of patches that add some interesting behaviour to site deletions. It adds the capability for sites to be softly deleted, and after a set period of time, purged from the system. The way it works is thusly: A maintainer of a site deletes that site. If this is enabled, the user receives a message about this instead of the normal message. The site is then, for all intents and purposes, deleted. It does not show in any lists and users cannot navigate to it. However the site still exists and is completely intact with all content and user lists. Users with the appropriate permission (site.visit.softly.deleted) can manually navigate to the url. They get a message that the site is due to be purged but can still act on the site, perhaps retrieving content. Normal users of a softly deleted site cannot access the site at all. After a configured grace period, a Quartz job purges softly deleted sites from the system. In addition, another permission is added, site.del.softly.deleted. This allows users with this permission to issue another removeSite call, perhaps from a webservice or similar, and that will manually purge the site from the system. The sakai.properties: # enable soft site deletions when a site is deleted normally # if true, they will be softly delete and then purged after 30 days # if false, thet will be deleted immediately # defaults to false. site.soft.deletion=true # the number of days to keep softly deleted sites until they are purged. # if not set and site.soft.deletion=true, defaults to 30 days. site.soft.deletion.gracetime=30 There are a couple of components touched by this, and for trunk, there are two patches per component (I haven't merged the patches together sorry). Simply apply the -trunk patch, then the -trunk-2 patch. |
Kernel - K1 | KNL-976 | MultiRefCacheEntry is not serializable | Click here for more information. |
|
Lesson Builder |
Lesson Builder | LSNBLDR-32 | Lesson Builder has dependencies on contrib tools | The LessonBuilder code has dependencies on contrib tools (yaft and mneme). Core tools should never depend on contrib tools -- see lessonbuilder/pom.xml: <sakai.yaft.version>1.2.1-SNAPSHOT</sakai.yaft.version> <sakai.mneme.version>1.2-hack</sakai.mneme.version> These dependencies should be removed for the 2.9 release |
Lesson Builder | LSNBLDR-69 | Regression : Change links broken in current 1.4.x @107763 | On 2.9.0-b05 it works if you create a quiz, hit "Change quiz", however on 1.4.x after what I believe after this commit: https://source.sakaiproject.org/viewsvn?view=revision&revision=107525 nothing happens clicking this link. I don't think it's only limited to quizzes. This only happens in the 1.4.x when lessonbuilder.use-new-popups=false It works in the trunk and on the 2.9 QA servers (running b05) It looks like this is because there is an onclick="return false" in the anchor now. And the jquery click handler is stopping it now in ui.js. $('.add-quiz-link, #change-quiz').click(function(event){ if (!picker) return true; |
Lesson Builder | LSNBLDR-15 | Revise LB poms so that we can perform separate API and tool releases | As discussed in the LA project planning meeting one change we intend to make for 2.9+ is to perform API releases independently and ahead of tool releases. In the case of LB, sometime after code freeze we would release sakai-lessonbuilder-api-1.0 (or 1.2 whatever you want). In order to do this we will need to replace the api's current <parent> (the LB base pom) with a purepom-like "sakai api" pom that will be released first so that an LB api release can actually be performed (currently, you can't do a release of an api that has a snapshot dependency on its own project base pom). Ideally, once we hit code freeze, we release the kernel apis, then all the tool apis. We should then be able to better reflect version-wise the actual steady state of most project apis. LB tool 1x tool releases should then be able to bind to lessonbuilder-api-1.0 for the life of the 1x series. |
Lesson Builder | LSNBLDR-11 | Prep LessonBuilder poms for off-cycle releases | Prepping LessonBuilder poms to utilize the release plugin. Also tidy up the poms as necessary. 1. Change the <groupId> to org.sakaiproject.lessonbuilder. LB's coordinates will adhere to the pattern adopted for other indies, which is reflective of broader Maven naming practices including that practiced by Apache. 2. Change trunk versionId to 1.3-SNAPSHOT. This is necessary because it reflects accurately the unstable nature of trunk and is required in order for Maven to deploy snapshot artifacts to the snapshot repo. 3. Set up LB so that we can deploy binaries to the snapshot repo. Basically boilerplate additions to the base pom. Add <distributionManagement>, <repositories>, <pluginRepositories> and <reporting> declarations to base pom. Update the current Jenkins job to deploy snapshot updates. example: https://source.sakaiproject.org/svn/basiclti/trunk/pom.xml 4. Add an assembly which provides a Tomcat-overlay zip of LB. As I noted in LA we will not substitute an assembly for a full source check out of LB but the assemblies have proven quite useful to msub deployers such as Steve Swinsburg. Plus, if we ever get the app store concept going a zip of LB binaries will prove quite useful. Again, this code, a pom file and deploy.xml is largely boilerplate. It takes about 5 minutes to write. example: https://source.sakaiproject.org/svn/basiclti/trunk/basiclti-assembly/ 5. Set LB up to use the release plugin. Involves swapping out the master pom for the edu-tool purepom like other indies. We have 2.6, 2.7, 2.8, 2.9 versions of purepoms. I expect that LB will benefit from use of the release plugin (which the purepoms provide) which provides the ability to generate off-cycle releases in a simple, nay trivial manner. 6. Tidy up the poms. For example, substitute standard Maven variables such as ${project.groupId} and ${project.version} where appropriate for LB's own "internal" dependencies. 7. Delete tool/src/maven2 folder. It is now redundant as updated sakairsf 0.8-SNAPSHOT artifacts exist. |
Lesson Builder | LSNBLDR-7 | Breadcrumb trail titles and Index titles don't update when user changes page titles in settings | Breadcrumb trail titles and Index titles don't update when user changes page titles in settings See short screencast video of Rutgers instance: http://www.screencast.com/users/midonz/folders/Default/media/aacce2f4-058e-4a79-8db8-322bd4d6656f (Attached screenshots of Ithaca College's instance.) |
Lesson Builder | LSNBLDR-8 | Inconsistent and icorrect use of Custom Sakai Maven variables | The tool pom references version properties from master/pom.xml. As maven variables have a scope of the pom their in this will cause some plugins to fail. Also the versions are inconsistent and sometimes incorrect: <dependency> <groupId>org.sakaiproject.samigo</groupId> <artifactId>samigo-qti</artifactId> <version>${sakai.samigo.version}</version> </dependency> <dependency> <groupId>org.sakaiproject.samigo</groupId> <artifactId>samigo-hibernate</artifactId> <version>${sakai.version}</version> <scope>provided</scope> </dependency> sakai.version <> sakai.samigo.version <dependency> <groupId>org.sakaiproject.msgcntr</groupId> <artifactId>messageforums-api</artifactId> <version>${sakai.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.sakaiproject.msgcntr</groupId> <artifactId>messageforums-hbm</artifactId> <version>${sakai.version}</version> <scope>provided</scope> </dependency> sakai.version <> message center version Dependency management should be used rather than inheriting custom variables |
Lesson Builder | LSNBLDR-28 | Oracle auto ddl problem with LessonBuilder tables | I've seen those errors in my log: 2011-08-12 16:47:32,905 WARN main org.sakaiproject.springframework.orm.hibernate.AddableSessionFactoryBean - Unsuccessful schema statement: create table lesson_builder_comments (id number(19,0) not null, itemId number(19,0) not null, pageId number(19,0) not null, timePosted timestamp not null, author varchar2(36 char) not null, comment clob, UUID varchar2(36 char) not null, html number(1,0) not null, primary key (id)) java.sql.SQLException: ORA-00904: : invalid identifier at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:753) 2011-08-12 16:37:33,902 WARN main org.sakaiproject.springframework.orm.hibernate.AddableSessionFactoryBean - Unsuccessful schema statement: alter table lesson_builder_comments add comment clob java.sql.SQLException: ORA-00904: : invalid identifier at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287) all the error seems to be related with clob fields. |
Lesson Builder | LSNBLDR-59 | Common Cartridge Import - Issue | While CC import, 1. IMS CC 1.1 - error: Unable to create file while importing Common Cartridge: 100 copies already exist: 2. IMS CC 1.0 - Assessment is migrated in to tests and quiz but no question appeared. Note: IMS cc 1.1 working fine in BlackBorad 9.1 |
Lesson Builder | LSNBLDR-80 | Help pages displaying underneath when adding text | When the instructor starts with a brand new 'Lesson', and clicks 'Add Text', 'Add Assignment', etc, the help page for Lesson Builder displays behind the add item. From Site Info -> Edit Tools, add Lessons Click on Lessons -> Add Text Add text and save The help page is displayed while adding text and after text has been added. In order to get rid of the background help page, the browser needs to be refreshed. |
Lesson Builder | LSNBLDR-107 | Fatal Error Showing When Adding Student Comments Tool in Lessons | Click here to for more information. |
Lesson Builder | LSNBLDR-97 | MP3s are not uploadable in Lessons | Tried to add an mp3 file to lessons, both under Add Multimedia and Add Resource. Received the following error: Unable to add resource: org.sakaiproject.exception.ServerOverloadException id=failed to write file from stream to database I then recorded a file on Win7, which Windows saved as a wma file. This file uploads, and when clicked on, opens a new window, a pop-up displays asking if I want to open with the Windows Media Player. Of course, this does not work on the MAC. Currently, there seems to be no way to make audio files available to all students. MP3 files should be supported in case the instructor wants to give audio instructions or wants students to upload audio recordings. To reproduce: Click on Lessons, then either choose Add Multimedia or Add Resource Upload an mp3 file Error message displays |
Lesson Builder | LSNBLDR-120 | Comments tool displays a page or more of unrelated content | Tested on trunk.sakaiqa.org - Sakai Revision: 114139 (Kernel 1.4.0-SNAPSHOT)- Server sakai-nightly.uits.iupui.edu Tested also on qa29-3.sakaiqa.org - tags/sakai-2.9.0-rc01 QA on Oracle - Built: 09/27/12 11:28 - Sakai tags/sakai-2.9.0-rc01 (Kernel 1.3.0-rc01)- Server qa3-us To reproduce: 1) Add Lessons tool to a site 2) Choose "More Tools" -> "Add Comments Tool" Results: Text editor box with two Submit buttons followed by a number of things including the text below, preceeded by the two Submit button comment entry and followed by a number of things which I've enclosed as screenshot page3.png, page4.png, page5.png, page6.png. Page "2", text on page with Comment submission: Require that the student submit this assessment. Require that the student submit this assignment. Require that the student submit a posting to this topic. Require that the student use this item Require that the student receive points on this assessment. points on this assignment. Require that the student <b>Pass</b> this assignment Require that the student receive at least a Require that the student receive a Checkmark Title must not be blank. This must be a Youtube URL Item Name must not be blank Page Title must not be blank. "iframe" "img" Edit Quiz Edit Quiz Settings Edit Assignment Edit Forum Topic Edit external tool Number of pages must be a number Title must contain a number Site CSS System CSS Points must be set to a valid number. The width and height must be positive numbers, i.e. "500" or "500px," or a percentage below 100% You may not have a height or width larger than 100%. |