Open main menu

CDOT Wiki β

Changes

Potential Projects

9,465 bytes removed, 14:17, 17 April 2013
m
Reverted edits by Saoagent (Talk) to last revision by Chris Tyler
'''Students:''' If you'd like to work on one of these, move the chosen project to the [[Project List]] and create a page for your work based on the [[Sample Project]] template.
<span style="background: #ffff00">'''NoteOpen Source Community Members:'''</span> OSD/DPS students are encouraged to select We welcome your recommendations for potential projects. Please create an account on this Wiki and create a Mozilla or OOo description for your proposed projectbelow. LUX students are encouraged Please list your contact info (just an IRC or FAS2 name is OK) as well as links to select a Fedora any related web pages as Resources for the proposed project. If you are interested in a project from (Questions? Ask [[user:Chris Tyler | Chris Tyler]] or [[user:David.humphrey | David Humphrey]]). = SBR600 Potential Projects = For possible projects for the other communitySBR600 Software Build and Release Course, please discuss it with your professorlease see the [[SBR600 Potential Projects]] page= Potential Eclipse WTP Projects =
'''Open Source Community MembersSee the list of potential bugs [https:''' We welcome your recommendations for potential projects//bugs. Please create an account on this Wiki and create a description for your proposed project beloweclipse. Please list your contact info (just an IRC or FAS2 name is OK) as well as links to any related web pages as Resources for the proposed projectorg/bugs/report. (Questionscgi? Ask [[user:Chris Tyler | Chris Tyler]] or [[user:Davidx_axis_field=priority&y_axis_field=product&z_axis_field=bug_severity&query_format=report-table&short_desc_type=allwordssubstr&short_desc=&classification=WebTools&product=WTP+Common+Tools&product=WTP+ServerTools&product=WTP+Source+Editing&product=WTP+Webservices&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=NEW&bug_status=REOPENED&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&priority=P2&priority=P3&priority=P4&priority=P5&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&format=table&action=wrap&field0-0-0=assigned_to&type0-0-0=regexp&value0-0-0=.@ca.ibm.humphrey | David Humphrey]com&field0-0-1=noop&type0-0-1=noop&value0-0-1= here])<!--
= Potential Fedora Projects =
Lots of good ideas are listed in [[:fedora:SummerCoding/2008/Ideas|Summer Coding Ideas (Fedora Wiki)]]. These projects were originally proposed for Google Summer of Code projects; if you want to use one of them, please discuss it with [[User:Chris Tyler|Chris Tyler]] before selecting it, because the scope and mentorship model for GSOC is different from that of the LUX projects.
== Free-open font packaging Cobbler Web == The gratis release of a collection of web fonts in 1996 had a devastating effect on many font projects, drainning the font market in western countries and limiting the use of other typefaces to typography niches. However, this program has been discontinued and the gratis versions of those fonts are no longer updated. Since Unicode.org's codification pace of human scripts has not abated, and the font formats have evolved (with the OpenType specifications), this font set is increasingly obsolete. Also, many scripts were never covered, leaving entire world regions without mass access to a way to write their language in the digital age. An operating system of browser that relies on the 1996 font set for its text rendering is not really free. And text is still our main information media. Faced with this problem many individuals and organisations have started creating and publishing new fonts, but they lack the clout of multinationals to get successfully distributed, and are often poorly structured. The aim of this project would be to identify as many of those free fonts as possible and package them in Fedora. The result would serve as a core component of Fedora's art spin, and as basis for a richer international experience in Fedora (and derivatives such as OLPC) This project is mainly targeted at free software (in this case fonts) distribution dynamics. You'll learn some rpm packaging skills, and be exposed to many different font projects worldwide, some big, some small, some efficient, some poorly run. A project second stage would be to capitalize on the experience acquired and publish a set of distribution best practices for font authors, including recommended release composition, generic makefile, etc. The Fedora [http://fedoraproject.org/wiki/Categories:Fonts_SIG Fonts special interest group] will provide mentoring, technical support, and [http://fedoraproject.org/wiki/Category:Fonts_packaging documentation]. An initial [http://fedoraproject.org/wiki/Category:Font_wishlist list of fonts to package] has already been published.
Contact: Nicolas Mailhot <nim AT fedoraprojectCobbler is a Linux install server that simplifies tasks associated with fully automated installation such as DHCP, DNS, kickstart, yum, and virtualization. It aims to be a universal install server for all linux distributions. Currently Cobbler has a web interface that allows users an easier way of interacting with cobbler. There are several core improvements that can be made. One idea is to extend cobbler web to produce views that make it easier for users to edit fields that only they edit (let me reinstall systems I own but don't show me fields I shouldn't care about). Another is to enable search features in the web app to make it tolerate thousands of systems to a better extent. Finally, another feature is to add a task engine to cobblerd, to make it possible to run commands like "cobbler import" and "cobbler reposync" in the background and see their output in the web interface via an AJAXy type system.org>
Possible features are not limited to the above (or just working on the web interface), Cobbler has an ongoing RFE list in Trac that has a wide variety of potential ideas, and ideas beyond the ones listed are also fair game. See https://fedorahosted.org/cobbler/report/1?sort=type&asc= Corresponding Source Web App ==1
Finish design and implement web application that provides downloadable SRPMS for any package+tag in the Fedora Package Source Code Control system. While we provide SRPMS for all packages at release, the updates and rawhide trees churn their packages more rapidly, and will remove the koji-built SRPMS when the binary packages are removed. This would allow people to request source corresponding to the packages they have on ISO media or otherwiseResources: http://fedoraproject.org/cobbler
ResourcesContact: MattDomsch, http://git.fedorahosted.org/git/?p=correspondingsource.git;a=blob;f=DESIGN;hb=HEADMichael DeHaan
== Personal Koji Repositories ==
* https://fedorahosted.org/bodhi/ticket/160
 
== Packaging JBoss ==
 
JBoss is a Java middleware project with a large number of sub projects. Packaging JBoss and maintaining them is a challenging task and would require several weeks of full time work. Since OpenJDK and a number of Java components is already in Fedora 9, it should help get started.
 
Initial Contact: Greg Dek <gdk AT redhat.com>
 
References:
* http://fedoraproject.org/wiki/Packaging/Java
* http://jpackage.org
== Benchmark Nightlife Scalability Issues ==
Using Puppet, or some other management tool, create a grid of a
dozen machines, then turn that into 12,000 machinemachines. Address the network
characteristics - how much bandwidth do you need on different
components, the communication mechanisms - does UDP work at such a
scale, the grid topology - what happens when two nodes are behind firewalls.
 
Resource: [[:fedora:Nightlife|Nightlife wiki page]], Matthew Farrellee
 
== Add IPv6 Support to Condor ==
 
Sooner or later we're going to have to live with IPv6. Many
applications are very tied to IPv4 and that includes Condor. Understand
what IP addresses really mean to Condor, like many existing systems, and
what the implications of an IPv6 conversion means and how it can be
done. There are many resources about IPv6 interfaces, but not many good
transition guides, and fewer that address what the change can really
mean to an application - Condor takes addresses and passes them as ascii
text between components.
 
Resource: [[:fedora:Nightlife|Nightlife wiki page]], Matthew Farrellee
 
== Update Condor Build System ==
 
At the foundation of many good applications is its build
infrastructure. The latest generation of tools includes GNU make with a
very powerful interpreted language and ever increasing functionality in
autotools. Condor has a build system from a few generations back. It
uses imake, originally designed for building X. While new systems are
more powerful and provide enhanced functionality, there isn't always a
clear mapping to features of older systems. Don't only find a way to use
newer tools to build Condor, but find a way to use the power of current
generation tools in ways that aren't just a straight mapping of need
satisfied by older systems.
Resource: [[:fedora:Nightlife|Nightlife wiki page]], Matthew Farrellee
Resource: [[:fedora:Nightlife|Nightlife wiki page]], Matthew Farrellee
<!-- - Below: Commented out by Chris Tyler 2008-08-31 -- I think we'll get all the students doing this.
== Review Packages ==
-->
= Potential Fedora+Mozilla Projects =
== [[Sample Project]] ==
NOTE: if someone has already created the project page, speak to this person and see if you can join them. If so, simply add your name to the '''Project Leader(s)''' page. Otherwise, you can become a contributor later.
== NetworkManager Web Authentication Improve Localization build system == [http://www.gnome.org/projects/NetworkManager/ NetworkManager] knows how to connect to many different types of networks, both wired and wireless, and can auto-authenticate to WEP and WPA networks. However, it can't auto-authenticate to networks that require a web-based login, which includes many wired and wireless networks such as [http://www.senecac.on.ca/senenet/ SeneNET] and [http://www.yorku.ca/computng/students/internet/airyork/index.html AirYork]. Modify NetworkManager so that it talks (though dbus) to a Firefox extension for automatic login to a web-authenticated network. Resources: ctyler, (roc, callion for dbus) == Create a MDRK Spin == The [[Mozilla Developer Resource Kit]] is a set of tools, code, and documentation intended to make it easy for new Mozilla developers to get up to speed. Package the MDRK components (including the software tools, a Moz source tree, and documentation) as RPM packages and then create a Fedora "spin" (Live + Installable DVD) of these packages.
Edit the spin image (from Revisor/Live CD Tools) so that, in addition Currently it requires many many steps to being a bootable/installable disc, the image can be run in a VM under Windows/Mac OSXproduce another language of Firefox. The disc image must be edited It would really easy to package these many steps to include Windows/Mac OSX versions of reduce the tools, so that if the disc is inserted into required knowledge to generate a running Windows or Mac OSX system, the appropriate version can be installednew language.
Resources: humph, ctyler, http://142Adding a few make steps to wrap this process would help everyone.204.133.123/mxr, http://zenitThis is a very easy project to tackle but very benefitial if the time and love is given to it.senecac.on.ca/wiki/dxr = Potential Mozilla Projects =
== [[Sample Project]] ==Reference: armenzg
This is == Create a cross-repo pushlog to see all locales's checkins ==We currently check many different repositories to trigger builds when a developer makes a sample project stubchange. You can use We also check the template for [[Sample Project]] in order localizer's repositories to see if they have pushed any changes. The problem is that we have close to create eighty different localization repositories and that takes a project page for long time to check each one of them.If we had a joint view that would improve our systems. An example of that view is:https://l10n-stage-sj.mozilla.org/pushes/but the stubs belowformat should be more like this:http://hg. This mozilla.org/mozilla-central/pushlogwhich is how you 'sign-up' what our release engineering systems check for a .This projectwould require you to hack hg and pushlog to make it work.armenzg has many blog posts explaining how to setup pushlog in your local machine.
NOTEReference: if someone has already created the project page, speak to this person and see if you can join them. If so, simply add your name to the '''Project Leader(s)''' page. Otherwise, you can become a contributor later. == Add Offline Support to an open source web app == Firefox 3 supports offline abilities, such that web developers can write their apps so they work even when no network is present. Good headway has been made already [http://www.bluishcoder.co.nz/2007/02/offline-zimbra-witharmenzg -firefox.html porting Zimbra]. Pick another web app and add offline support, for example: [http://moodle.org Moodle]. References: mfinkleBug 498641
== Thunderbird SMTP Auto-Sensing ==
References: #maildev
== Firebug "linting" for portability problems ==
 
Lots of web developers use Firebug and Firefox for building their applications, but we want those apps to work well in other browsers as well. If Firebug knew about JS or CSS patterns that could cause problems in other browsers, it would make it much easier to have those applications work in all browsers.
Resources: mfinkle, robcee
== <strike>XULRunner Application Packaging ==
Help to develop an [http://www.mozpad.org/doku.php?id=application_build_system_project automated packaging system] for XULRunner applications.
Resources: plasticmillion, mfinkle, #mozpad, #prism</strike>
== 'Compact databases' feature for Mozilla calendaring applications (Lightning, Sunbird) ==
Resources: ctalbert, daniel in #calendar on irc.mozilla.org
== Thunderbird Draft Scheduler <strike>[[Spellcheck Extension for Arbitrary Web Pages]]</strike> ==
<strike>Write an extension for Thunderbird so that the user has the ability to mark a draft email for sending later. This is not leverage the same as having to save emails in your DRAFT box because users would have to remember to go back existing spellcheck code in Mozilla and click Send later. What is different here is that users could set add the date and time ability to highlight spelling mistakes for each email to be sent. This feature would be helpful to those who work late into the night but prefer not to send emails at such a late hourgiven web page (i. This feature would also benefit support staff, e.g., administrative assistants, who constantly have to send out regular email reminders, evs.g., for meetings, timesheets, etca textbox).</strike>
Resources: Vivian Ngo== <strike>Modify Firefox to handle files downloaded to Temp more appropriately </strike>==
== [[Spellcheck Extension for Arbitrary Web Pages]] == Write an extension to leverage the existing spellcheck code in Mozilla and add the ability to highlight spelling mistakes for a given web page (i.e., vs. a textbox). == Modify Firefox to handle files downloaded to Temp more appropriately == <strike>Often files downloaded by the browser are put in a temporary folder that is emptied on close. Users (and especially novice users) should be protected from inadvertent data loss as a result of important files being saved to this temp folder. This project will add fixes to the browser so that users are protected. Ideas include:
* Make Firefox aware of common productivity file types (e.g., .doc, .pdf) and whitelist these types so they aren't deleted
* Have the browser pop-up a Save As dialog instead of automatically saving to temp, and use a documents path
Other ideas are possible, and a combination of these might be necessary. Ultimately, this fix should target regular users without much knowledge of the filesystem.</strike>
Resources: ted, mfinkle
References: Ben Hearsum (bhearsum), Rob Helmer (rhelmer)
 
== Thunderbird Image Auto-Resize ==
 
Write an extension for Thunderbird that gives functionality similar to that of Outlook, where image attachments in an email can be automatically re-sized to one of a set of smaller sizes. This is helpful for users who would otherwise try to send megabytes of image data, when they can safely scale the images down and still share their pictures with friends.
 
References: #maildev
== Port the Firefox Release Repackager to other platforms ==
Resources: ted, Stan Shebs, Jim Blandy
 
== Profile the build system (why are my Windows builds so slow?) ==
 
It's a well known fact that it takes longer to build on Windows than on a comparable Linux or Mac machine. We don't know exactly why, however. There have been many theories, but no real data. Profiling the build system would allow us to figure out where all of the time is being spent. The best place to start might be by adding some profiling to GNU Make, to figure out which targets in our makefiles take the most time. From there, depending on the results, profiling could be added to other parts of the build system to narrow down specific bottlenecks.
 
References:
# http://wiki.services.openoffice.org/wiki/BuildSpeedup - OpenOffice.org did something similar
 
Resources: ted
== RegressionTry ==
Resources: db48x, ted
 
== Mercurial history browsing ==
 
We're just starting to use an exciting new [http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ distributed version control] tool: [http://developer.mozilla.org/en/docs/Mercurial Mercurial].
 
One of the exciting things about Mercurial is that the history—the list of all the changes that have ever been checked in—is not linear. It frequently has ''branches'' and ''merges''. This is actually a good, important feature, as you know if you've read a little about distributed version control. The downside is that the history becomes a maze of twisty little passages. [http://office.smedbergs.us/viewer/index.xhtml#mozilla-central:acb5456539c668d3ec0ec755dd3b64ddb56363d2 Benjamin Smedberg's demo] shows the history of a repository with lots of merges (each box is a check-in; you can click on the boxes to move around).
 
There have been a couple attempts at showing history in an intuitive, graphical way. Mercurial comes with a web UI for browsing the repository, including history ([http://hg.mozilla.org/mozilla-central/index.cgi/log/13540 here's what it looks like]). It also comes with an "hg glog" extension that draws history as ASCII art, and an "hg view" extension that does roughly the same thing with a little GUI. Sadly, none of these applications qualifies as ''awesome''.
 
Your mission is to rectify this sad situation by writing an awesome browser-based UI for navigating Mercurial repository history.
 
Resources: jorendorff, bsmedberg
== Extend Try Server to test Thunderbird patches ==
"Specifically, Mozilla has a great system called “try servers” where one can submit patches against the tree, and the build system runs builds on Linux, Mac and Windows, using those patches, then serves those builds for testing. This is really helpful to figure out if proposed patches solve specific problems...The only problem is that there’s a little bit of patching needed to the try server code itself to make it able to work with other targets besides Firefox, as described in bug 431375" ([http://ascher.ca/blog/2008/05/02/thunderbird-team-needs-help-from-pythonperl-build-assist/ Ascher])
 
== Add an Infobar style warning for window resize/move ==
 
Many (poorly behaved) web sites attempt to move and/or resize your browser window. It is possible to stop this behaviour (cf. dom.disable_window_move_resize) but it would be nice to have an infobar that informed the user that a web page attempted to move/resize the window, and allow it or ignore it (default). This behaviour is similar to the current Pop-up Blocker already present in Firefox. NOTE: it is not clear whether such a feature would be accepted in the tree or if this would need to be done as an extension.
== Add DTrace probes and scripts for Mozilla code base ==
Resources: sayrer
 
== Colour Management Tests ==
 
Write [http://developer.mozilla.org/en/docs/Creating_reftest-based_unit_tests reftests] to compare images in order to deal with floating point tolerance. This includes dealing with things like Monitor Profiles, profiles in JPEG (i.e., JPEGs get changed based on colour profile info). See discussion of colour profiles in Firefox 3 [http://www.dria.org/wordpress/archives/2008/04/29/633/ here]. It would be useful to be able to compare to PNGs with a reftest, perhaps creating an image diff tool, where pixels outside a floating point tolerance (> 0.n) would somehow be highlighted so you can see what is different. Little CMS (lcms) needs test coverage too.
 
This will require some graphics and image knowledge (i.e., Photoshop, what colour is on a computer, etc).
 
Resources: #gfx, joe, vlad
== Plugin Code Test Suite ==
Resources: jst
 
== Per-Site/Per-Tab User-Agent Modification ==
 
Create an extension that lets a web developer modify the User-Agent string on a persistent per-site, per-tab basis. There's already a user-agent-switcher in the FF-addons (https://addons.mozilla.org/en-US/firefox/addon/59) but it doesn't isolate the user agent per site or per tab. Strong features might include a separation of the browser identification and language support, optional persistence across browsing sessions and a UI that by default hides the UA string behind the name/version of the browser it represents. See [http://www.webaim.org/blog/user-agent-string-history/ this] discussion of the UA's history.
 
Resources: mhoye
 
== Add Source Server Support for Mercurial ==
 
Previously we added [[Mozilla Source and Symbol Server|source indexing to release builds]] using CVS as a backend for pulling source files. Since then, Mozilla has moved to Mercurial from CVS. This project will add support so that Mercurial can be used too. See [https://bugzilla.mozilla.org/show_bug.cgi?id=440001 bug# 440001].
 
Resources: ted, lsblakk
 
== Research PGO-related bugs ==
 
On Windows, Mozilla has begun using [https://bugzilla.mozilla.org/show_bug.cgi?id=419893 profile-guided optimization] to make execution of the browser faster (i.e., you run your binary and see how it is likely to run, and optimize for those code paths). Currently, there are parts of the Mozilla source code that have bugs or crash when run in PGO builds. This project will mean trying to isolate these bugs by doing PGO builds of these components, creating test cases, debugging, and hopefully fixing things.
 
Resources: ted, sdwilsh, and others based on component.
== Create self-serve symbol upload system ==
Resources: ted
== <strike>Add OpenLayers test suite to Mozilla </strike>==
<strike>Mozilla [http://mxr.mozilla.org/mozilla-central/source/dom/tests/mochitest/ajax/ uses ] many common JavaScript library test suites to add additional coverage to it's JavaScript implementation. One test suite that is not currently used by Mozilla, but could be, is the [http://openlayers.org OpenLayer's ] js [http://trac.openlayers.org/browser/trunk/openlayers/tests test suite]. See [https://bugzilla.mozilla.org/show_bug.cgi?id=399311 bug# 399311].
Resources: sayrer</strike>
== <strike>Import sqlite test suite </strike> ==
<strike>Mozilla uses an embedded version of [http://www.sqlite.org/ SQLite] extensively to [http://developer.mozilla.org/en/storage store data] such as bookmarks, history, etc. To insure that it runs properly within Mozilla, it would be good to add the entire sqlite test suite to Mozilla's tests, so that testing the browser also means testing sqlite. The sqlite test suite is written in TCL and needs to be ported to JavaScript. Some [http://mxr.mozilla.org/mozilla-central/source/storage/test/unit/test_like.js work has already been done], but more is required to get full test coverage.
References: [https://bugzilla.mozilla.org/show_bug.cgi?id=391756 bug 391756], http://www.0xdeadbeef.com/weblog/?p=368
Resources: sdwilsh == Finish Weave</Thunderbird integration == [https://wiki.mozilla.org/Labs/Weave Weave] is Mozilla's services project. It currently allows different Firefox installations to synchronize bookmarks, etc. We'd like Thunderbird to be a full-fledged Weave clientas well. Some [??? work has already been done], but more is required to get utility. Possible scenarios include:  * thunderbird accounts synchronized (configure once, use everywhere) * automatic bookmarking in Firefox of URLs sent to/from friends * access to Thunderbird address book from Firefox  References: [https://bugzilla.mozilla.org/show_bug.cgi?id=446444 bug 446444] Resources: dmose == Make Ubiquity work in Thunderbird ==strike>
Take : [http://labszenit.mozillasenecac.comon.ca/2008wiki/08/introducing-ubiquity/ Ubiquity] is a cool extensible natural language front-end to Firefoxindex. It could do wonders in Thunderbird as well. Aza Raskin and other Ubiquity hackers are happy to help someone do that with their Ubiquity knowledge, and #maildev will be happy to assist wphp/ Thunderbird knowledge. Resources: azaImport_sqlite_test_suite Park, [http://groups.google.com/group/ubiquity-firefox ubiquity-firefox mailing listKiWon]
== Make chromebug work in Thunderbird ==
Resources: Fallen
== Contribute to Private Browsing tests ==
The new Private Browsing feature (see [https://bugzilla.mozilla.org/show_bug.cgi?id=248970 bug 248970] and the [https://wiki.mozilla.org/User:Ehsan/PrivateBrowsingTests test plan]) needs thorough tests written in order to insure its proper functionality. This will involve collaborating with those writing the patch and tests in order to develop a full suite of tests.
== HTML page set sanitizer == The Talos performance testing system at Mozilla currently runs on a large set of web pages pulled from the Alexa Top 500. These pages can't be redistributed, since they're mirrors of copyrighted web pages. In addition, many of them contain adult content. This makes it difficult for people to duplicate the Talos results or to test changes that have an expected performance impact. A useful solution to this problem would be a tool that takes a mirrored copy of a website and "sanitizes" it, by changing the page text and image contents (making them junk or filler text or something). The caveat here is that this *cannot* change the performance characteristics of the page. For example, taking a page that is all Chinese text and replacing it with "Lorem Ipsum" filler text would cause the page to take different text rendering paths, which would change what is measured. As another example, making all JPEG images solid black would likely make them decode and render much faster. Any solution should have some analysis performed that shows that performance is not significantly altered in the sanitized page set. Resources: ehsanted (but find someone better!) == 3D object picking ==Canvas 3D JS Library is a library for the creation and manipulation of 3D scenes in the browser without needing to know much 3D programming. Part of this project is to handle mouse input. This particular project looks at how to perform "picking". That is, when given a coordinate within the canvas, return the 3D object at that location. Resources: cathy, Andor (http://www.c3dl.org)
= Potential OOo Projects =
Resources: humph, taras
 
== Existing Subjects proposed by OpenOffice.org Education Project ==
 
FIXME : the projects proposed on the OpenOffice.org Education Project will be adapted to the current section.
 
Waiting we encourage you to have a look at the '''[http://wiki.services.openoffice.org/wiki/Education_Project/Effort OpenOffice.org Education Project Effort page]'''
 
Other links:
 
[http://wiki.services.openoffice.org/wiki/Education_Project OpenOffice.org Education Project on the Wiki]
 
 
[[User:Ericb|Ericb]] 21:05, 26 September 2008 (UTC)
3
edits