| Project Name | Mentor Name | OSAF Project | Keywords | Project Description | Status |
|---|---|---|---|---|---|
| Auto tagging using Multivariate analysis | PhilippeBossut | Chandler | algorithm, tagging, automation | The idea is to use multivariate analysis tools (Principal Component Analysis, segmentation) to create a model of the data in a PIM and map newly acquired data. The objective is to allow some level of tagging to be automatically done by the software. There will be few UI involved here. There's however quite a bit of Python code to write including coding of statistical methods (no known Python package offering this) or SWIG wrapping some existing C statistical package. | Proposed |
| Behavior analysis and prediction | PhilippeBossut | Chandler | algorithm, automation, heuristics | We're proposing here to develop heuristics that will detect users behavior characteristics and adapt the behavior of the software automatically. This requires some level of instrumentation and logging to be added to Chandler, as well as statistical tools and heuristics to analyze those logs, detect patterns and predict user's behavior. | Proposed |
| Contacts/Address Book | GrantBaillie | Chandler | address book, contacts, vcard | The aim of this project is to implement, in python, a usable address book in Chandler. The first step would be to extend the existing, limited, Contacts data model, which doesn't currently support groups, or multiple field values. This would be followed by implementing import and export of VCards, and adding a UI to display contacts in Chandler's detail view. Possible further directions are to add support for digital identities, to add social networking features within a user's addressbook or to use the annotation feature of the Chandler data model to use contacts as a way of organizing extensible PIM data around people (examples of this would be flickr, del.icio.us, or Amazon data). | Proposed |
| Automated, cross-platform GUI testing framework and test installation for wxPython and/or wxWidgets | HeikkiToivonen | wxPython/ wxWidgets | qa, testing, automation | There are (expensive) commercial GUI testing frameworks available on Windows, but we'd like an Open Source, cross-platform system that could run a test script and submit reports to Tinderbox servers. It is thought we could record wxEvents, play them back in the script, and evaluate that expected changes happened after processing the event(s). Checking the post conditions could be done using wxPython/wxWidgets APIs, although this could result in the framework missing some actual UI bugs. However, our experiences so far have shown even this level of testing can catch lots of regressions. | Proposed |
| Import / Export Converters | TedLeung | Chandler | Chander, data formats, interoperability | Chandler has an architecture for import export converters. The goal of this project is to build a set of plugins which use this architecture to import and export Chandler data from the data file formats from other applications. The number and specific converters to be done is negotiable. | Proposed |
| Repository stress test | JohnAnderson | Repository | QA, testing, Chandler Repository | Develop a Chandler repository test that verifies long term stability of the Repository and data stored in it. The test would make known random changes, additions and deletions to the data in the repository, periodically testing the data for validity and verifying that the repository is not corrupted. The tests would run indefinitely. This would allow us to get some idea of the reliability of the repostitory over time. It this this task is too small we could extend it by experimenting with CPIA event recording to automate the creation of functional test scripts. | Proposed |
| Mock JCR implementation | BrianMoseley and BobbyRullo | Cosmo | JCR, Cosmo, mockobjects | Cosmo currently requires a running Jackrabbit repository in order to test the WebDAV/CalDAV protocol layer. These tests take up to 20 seconds each to run. A mock implementation of the JCR API would allow us to build real unit tests that run fast and without Jackrabbit's runtime dependencies. | Proposed |
| ACL-based security for Cosmo | BrianMoseley and BobbyRullo | Cosmo | security, Cosmo | Some Cosmo users require stronger access control than today's ticket-based approach. We would like to add support for ACLs so that a user can assign read or read/write privileges on resources they own to other users with accounts on the same server. This includes extending Acegi Security to find access control information in the JCR repository, implementing the WebDAV ACL spec, and developing a web user interface for ACL management. | Proposed |
| JMX management for Cosmo | BrianMoseley and BobbyRullo | Cosmo | monitoring, operations, JMX, Cosmo | Cosmo should use JMX to report application-level statistics (counts and averages of logged in users, DAV transactions, calendar sizes, etc) for monitoring and reporting purposes. | Proposed |
| Atom Publishing support for Cosmo | BrianMoseley and BobbyRullo | Cosmo | Atom, feed, Cosmo | Atom is an exciting lightweight alternative to CalDAV for Web 2.0-style calendar sharing. Cosmo generates basic Atom feeds for calendars and for generic collections. As well, we would like to accept events and other types of content via atompub. | Proposed |
| Contact management for Cosmo | BrianMoseley and BobbyRullo | Cosmo | CardDAV?, contacts, Cosmo | Build frst-class support for contact management into Cosmo by implementing CardDAV? and augmenting the repository browser web interface to display contacts using hCard. | Proposed |
| Accessibility audit for Cosmo | BrianMoseley and BobbyRullo | Cosmo | accessibility, Cosmo | Cosmo's web console needs an accessibility audit. We only have the vaguest notions of what accessibility support means. | Proposed |
| Pluggable authn/authz for Cosmo | BrianMoseley and BobbyRullo | Cosmo | security, Cosmo | The area of most concern for integrating Cosmo into an enterprise infrastructure is authentication and authorizing users against external sources, such as a directory server or a single signon system. Develop an infrastructure for providing authn and authz functions via third party components or APIs (eg RDBMS, LDAP, Shibboleth). | Proposed |
| 'Accessible' Scooby | MatthewEernisse | Scooby | accessibility, Scooby | The goal of this project is to create an accessible or backward-compatible (read: non-JavaScript) version of Scooby. This should be either a version that still uses AJAX, but has support for screen readers and keyboard navigation, or a non-JS version that will work with older browsers or even text-based browsers. | Proposed |
| Scooby offline mode | MatthewEernisse | Scooby | storage, AJAX, Scooby | Implementing a Scooby 'offline mode' would require setting up some type of local storage system (a la dojo.storage) that will allow Scooby to pull event data from a repository on the local machine instead of relying on access to a Cosmo server. Ideally it would be able to synchronize periodically with a Cosmo server. | Proposed |
| URL API | MatthewEernisse | Scooby | API, mashup, AJAX, Scooby | Create an API for emebedding URLs for different data types in Scooby event descriptions. This would allow the event block to recognize data for (for example) addresses or product numbers, so the user could click on the link and the browser would take some sort of action -- e.g., popping up a window with more information, or launching an appropriate helper app. | Proposed |
| Jabber in Chandler | JeffreyHarris | Chandler | jabber, XMPP | The goal of this project is to allow Chandler to function as a basic Jabber client. The first step will be to add support for Jabber conversations to Chandler's data model. Twisted's jabber support will need to be turned on in Chandler's twisted reactor for transport of packets. Next, UI will need to be set up to view and compose Jabber messages. | Proposed |
| JMX For Scooby | BobbyRullo | Scooby | Java, JMX | The goal of this project is to have certain administration functionality of Scooby exposed as JMX beans | Proposed |
| Administration Page | BobbyRullo | Scooby | Java, Dojo, HTML, AJAX | The only way to administer Scooby right now is through editing configuration files. This idea of this project would be to have a web page for adminstrators which would handle this functionality. Bonus points to the code who figures out a way to make a conduit from the browser client to JMX beans! | Proposed |
| Alarm Notification Subsystem | BobbyRullo | Cosmo | Java, Server, Plugins | The goal of this project is to create a system for notifying Cosmo users of pending alarms. You should be able to create different plugins for different types of notifications (eg., SMS, Jabber, email) | Proposed |
| Universal Linux Application Installer | Any one from OSAF | Cosmo | Buiding a tagged package repository and clientside installer | Incorporating from debtags and linuxappfinder building an application package repository for easy package installations for all distributions. This can be achieved by formally tagging the packages and categorizing the numerous installer modes. Updating the server and prioritizing packages. For ideas My Idea | Nil |