Changes

Jump to: navigation, search

Potential Projects

4,114 bytes added, 14:17, 17 April 2013
m
Reverted edits by Saoagent (Talk) to last revision by Chris Tyler
= Introduction =
This is a list of potential projects that need people. 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.
'''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. '''Open Source Community Members:''' We welcome your recommendations for potential projects. Please create an account on this Wiki and create a description for your proposed project below. 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 project. (Questions? Ask [[user:Chris Tyler | Chris Tyler]] or [[user:David.humphrey | David Humphrey]]). = SBR600 Potential Projects = For possible projects for the SBR600 Software Build and Release Course, lease see the [[SBR600 Potential Projects]] page. = Potential Eclipse WTP Projects = See the list of potential bugs [https://bugs.eclipse.org/bugs/report.cgi?x_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.com&field0-0-1=noop&type0-0-1=noop&value0-0-1= here]. <!-- = Potential Fedora 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.
== Ideas Pool == 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 [[Mozilla Source User:Chris Tyler|Chris Tyler]] before selecting it, because the scope and mentorship model for GSOC is different from that of the LUX projects. == Cobbler Web == Cobbler 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. 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=1 Resources: http://fedoraproject.org/cobbler Contact: Michael DeHaan == Personal Koji Repositories == Koji Personal Repos (KoPeR) is a concept to allow Fedora maintainers to create personal repos of packages to build against and share with others. Resources: http://fedoraproject.org/wiki/JesseKeating/KojiPersonalRepos Contact: Jesse Keating == Port Wubi to Fedora == If upstream is willing to integrate it, port wubi-installer and Symbol Servermake it more cross distribution. Otherwise, provide a similar implementation for Fedora. http://wubi-installer.org/ == Delta RPM support in Koji build system ==  * https://fedorahosted.org/bodhi/ticket/160 == Benchmark Nightlife Scalability Issues == Using Puppet, or some other management tool, create a grid of a dozen machines, then turn that into 12,000 machines. 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 == Create Test Suite for Condor == Along with a good build infrastructure, a strong test framework and methodology is key to survival of modern software. Condor is a system that is shipped on, currently, 14 different platforms - OS + Arch combinations. New features need to be verified to work on all those platforms and shown to cause no regressions in other features. Condor has a large test suite, but no suite covers everything or in sufficient depth. Pick a few features, say the VM Universe or Concurrency Limits, and demonstrate full understanding of them by testing all of the corner cases. This is far from a simple task, and requires more than a cursory understand of the system to properly complete. Understanding the complex interactions of distributed components, common patterns exist across many distribute systems, as well as intimate interactions with the OS is key. 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.
Create a source code server to work with Mozilla's current symbol server. This will allow users to do full debugs of nightly release builds with access to remote symbols and full source code.== Review Packages ==
== Port canvas3d There is a lot of packages in Fedora waiting for someone to non-Windows platforms ==review it. While a completely new Fedora contributor needs to be sponsored before his package is approved, subsequent packages can be reviewed and approved by any Fedora package maintainer. In addition to that, virtually anybody with a Red Hat Bugzilla account can do do unofficial reviews. Working through the review queue and doing this work might be fun and useful learning process for folks interested in RPM and packaging in general.
The canvas3d extension general process is a binary C++ component that adds a 3D OpenGL drawing context to the HTML canvas elementdescribed in http://fedoraproject. Currently canvas3d works only on Windows. Port the code to Linux org/wiki/PackageMaintainers/HowToGetSponsored andin http://or Mac OS Xfedoraproject. Porting involves implementing a pbuffer class for each new platform. Some familiarity with OpenGL, or a willingness to learn it, is requiredorg/wiki/Packaging/ReviewGuidelines.
Resources: Cathy, Vlad.=== Review Requests ===
== Add OpenID support to Bugzilla ==* Unassigned review requests - http://fedoraproject.org/PackageReviewStatus/NEW.html* In progress review requests - http://fedoraproject.org/wiki/PackageMaintainers/InProgressReviewRequests* Approved review requests - http://fedoraproject.org/wiki/PackageMaintainers/ApprovedReviewRequests-->
Many open source projects rely on bugzilla for bug tracking, and open source developers use different instances, forcing them to have multiple logins. Complete OpenID support in bugzilla.= Potential Mozilla Projects =
References: see == [[https://bugzilla.mozilla.org/show_bug.cgi?idSample Project]] ==294608 bug 294608]
== FullThis is a sample project stub. You can use the template for [[Sample Project]] in order to create a project page for one of the stubs below. This is how you 'sign-Text History Search extension ==up' for a project.
Firefox3 probably wonNOTE: 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 '''t ship with support for full-text history search, even though url-bar autocomplete Project Leader(with urls/titless) is a really great feature/idea''' page. Write an extension in order to add this featureOtherwise, you can become a contributor later.
References: http://skrul.com/blog/projects/xpclucene/== Improve Localization build system ==
== Mozilla Tree Visualization ==Currently it requires many many steps to produce another language of Firefox.It would really easy to package these many steps to reduce the required knowledge to generate a new language.
Use the canvas element in order Adding a few make steps to create wrap this process would help everyone.This is a generic front-end for data visualization of the Mozilla source. Many types of information about the Mozilla very easy project can be keyed to tackle but very benefitial if the source tree. For example, file change-rates, code-coverage, bug activity per module, checkins per module, etc. The visualization will be a heatmap, showing certain types of activity in the tree. Doing this visualizaiton using canvas3d would allow for a third axis, time and changes over time love is given to be shownit.
== Mozilla Data Visualization Back-ends ==Reference: armenzg
== Create a datacross-source for repo pushlog to see all locales's checkins ==We currently check many different repositories to trigger builds when a developer makes a change. We also check the Mozilla Tree Visualization projectlocalizer's repositories to see if they have pushed any changes. The problem is that we have close to eighty different localization repositories and that takes a long time to check each one of them.If we had a joint view that would improve our systems. This means data mining cvsAn example of that view is:https://l10n-stage-sj.mozilla.org, bugzilla/pushes/but the format should be more like this:http://hg.mozilla.org, bonsai./mozilla-central/pushlogwhich is what our release engineering systems check for.org This project would require you to hack hg and preparing the data for use pushlog to make it work.armenzg has many blog posts explaining how to setup pushlog in a heatmap visualizationyour local machine.
== PluginReference: armenzg -watcher ==Bug 498641
Firefox sometimes gets a bad reputation for crashing or locking up when a plugin such as Adobe Flash or Windows Media Player causes the problem. Add code to Firefox (or write an extension) so that when a plugin misbehaves, a dialog is presented informing the user so that they can take corrective action (disabling the plugin) or filing a bug with the right party (this warning could be similar to the warning that appears when a JS script in a web page hogs too much CPU time. As a minimum it should identify that a plugin is to blame; better would be to inform the user of the plugin's name; best would be to provide an option to temporarily disable the plugin).== Thunderbird SMTP Auto-Sensing ==
== Improve Mozilla Application Modify Thunderbird so that it uses the correct SMTP server for your current network and Platform Documentation ==IP. In other words, if you are at home, use your home ISP's SMTP, but if you use a school wireless network, switch to the school's SMTP. These various SMTP configurations should be manually controlled by the user, that is, you don't have to try and figure out which SMTP to use. Rather, it should be configurable in an options dialog.
Not enough is understood about the various communities and companies who develop with Mozilla, as opposed to those who work on the Mozilla code itself. A proper survey needs to be conducted in order to find out which APIs are being used and how, what is hard, what could be improved, etc. The [httpReferences://www.mozpad.org Mozilla Platform Application Developers] is interested in changing this. Their goal is to work with the Mozilla development community to survey, understand, and document the current state of the art. In this project you will work with the mozpad community to connect with projects/companies in orbit around Mozilla and do interviews with their developers. You will then document this information.#maildev
* References: http://www.mozpad.org/doku.php?id=actionitem:documentation_proposal
* See also: http://starkravingfinkle.org/blog/2007/06/xulrunner-wishlist/ and http://www.songbirdnest.com/node/1826
* Contacts: plasticmillion
== Localize Mozilla ==
Join a localization team (see http://developer.mozilla.org/en/docs/Localization) and help localize Mozilla into a language other than English, for example, [http://blog.mozilla.com/ligong/2007/07/11/firefox-cn-localization-liaison-group-started/ Chinese].== <strike>XULRunner Application Packaging ==
One recent suggestion is Help to do en-CA and fr-CA localizations develop an [http://www.mozpad.org/doku.php?id=application_build_system_project automated packaging system] for Canadian usersXULRunner applications.
* ReferencesResources: Micplasticmillion, Alixmfinkle, #mozpad, #prism</strike>
== Testing of Canadian Banking and Financial Sites in 'Compact databases' feature for Mozilla calendaring applications (Lightning, Sunbird) ==
This project will focus Add the possibility to compact the database for local storage calendars based on improving SQLite using the VACUUM command. At the moment the user experience at banking local database for events and tasks will not get smaller even if you delete your tasks and other financial sites for Canadian Mozilla usersevents. This includes determining which sites are relevant, insuring proper behavior has serious performance implications for Firefox 3 on these sitespeople, etcwho work a lot with their calendar.
References: httpSee also [https://qualitybugzilla.mozilla.org/node/293show_bug.cgi?id=352976 Bug 352976]
== My Favicons extension ==Resources: ctalbert, daniel in #calendar on irc.mozilla.org
Write an extension to allow the user to pick his== <strike>[[Spellcheck Extension for Arbitrary Web Pages]]</her own favicons for sites, based on a URL regexp. The image should get stored as part of the user’s profile, so that it doesn’t have to live in the same place on the user’s disk. Ideally, it should also be possible to export the regexp -> icon mapping as a regexp -strike> data URI mapping that can be imported into another profile.==
References: http://blog<strike>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.vlad1a textbox).com/archives/2007/08/10/151</strike>
== Tbeachball - Quantifying Mozilla's Responsiveness <strike>Modify Firefox to handle files downloaded to Temp more appropriately </strike>==
This project will add instrumentation to Mozilla <strike>Often files downloaded by the browser are put in order to determine how much time a temporary folder that is spent away from the main event loop, and therefore from the user's mouse/keyboard inputemptied on close. When the user does something, how long does it take for Mozilla to act on that stimulus? One thing that sometimes interferes with interface responsiveness is spending too long away Users (and especially novice users) should be protected from the main event loop, perhaps in layout or some other intensive computation. This leads to new events from the user, such inadvertent data loss as mouse clicks or keypresses, not a result of important files being noticed and acted uponsaved to this temp folder. This could also be expanded in order project will add fixes to include the triggering of log points and specific dialog openings, etc. with a view to understanding what the long-running events actually browser so that users areprotected. Ideas include:
References: http://shaver* Make Firefox aware of common productivity file types (e.offg.net/diary/2007/08/25/tbeachball/ , .doc, .pdf) and http://shaverwhitelist these types so they aren't deleted* Have office type files download automatically to a documents folder instead of temp* Firefox could check the timestamp of such files and delete them only if the timestamp is the same as when it was originally saved by the browser (i.offe.net/misc/latency, has not been edited)* Warn the user on closing the browser that files are going to be removed* Assuming files still exist on start-tracingup (see above), alert the user that these files are still there (similar to "New Session or Restart Existing?" dialog)* Have the browser pop-patch.txtup a Save As dialog instead of automatically saving to temp, and use a documents path
== Mozilla Developer Virtual Appliance ==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>
Create a Linux-based virtual machine with all the necessary buildResources: ted, development, and testing tools necessary for working on Mozilla. This virtual appliance would be targeted at developers not familiar with the Mozilla toolchain and wanted to get started.mfinkle
See also: [https://bugzilla.mozilla.org/show_bug.cgi?id=280419 bug 280419] and [https://bugzilla.mozilla.org/show_bug.cgi?id= Add support for more compilers to distcc ==369108 bug 369108], and code [http://mxr.mozilla.org/mozilla-central/source/uriloader/exthandler/nsExternalHelperAppService.cpp#2077 here].
An earlier project [[Adding Compilers to Distcc|added multi-compiler support to distcc]], and then [[Distcc With MSVC|MSVC support]]. The framework is now in place to support even more compilers. Add support for another compiler, perhaps Java, C#, or something else.== Standalone Test Harnesses ==
Necessary SkillsMozilla uses several systems for [http: C//developer.mozilla.org/en/docs/Mozilla_automated_testing automated testing], Pythonincluding [http://developer.mozilla.org/en/docs/Mochitest Mochitest], [http://developer.mozilla.org/en/docs/Mozilla_automated_testing#Reftest Reftest], [http://developer.mozilla.org/en/docs/Writing_xpcshell-based_unit_tests xpcshell unit tests], and [http://developer.mozilla.org/en/docs/Mozilla_automated_testing#Crash_tests crash tests]. Currently, to run these test suites or develop new tests, you need to build your own Firefox with --enable-tests, and run the tests from the object directory. Ideally there would be a standalone package available for download that would let you run these test suites against any Firefox build, Makefileto ease development of new tests and allow more people to get involved with automated testing.
== Port distcc to MSYS ==* References: http://xoatlicue.blogspot.com/2008/01/standalone-test-product.html* Possible Resources: Ben Hearsum
The recent work == Add source checkout to add [[Distcc With MSVC|MSVC support]] to distcc works using the cygwin build environment. However, since this project was completed, Mozilla has switched to MSYS (see the [http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites Mozilla Win32 build docs). Port distcc so that it works with the new MSYS environment.buildbot ==
ReferencesUnlike many open source projects, it's not possible to do a CVS checkout and build the code. This is due to the complex module and version combinations necessary to get and build a particular product, for example Firefox. To accomplish this, Mozilla uses [http: Cesar //mxr.mozilla.org/seamonkey/source/client.mk client.mk], which provides a set of rules for getting and Tombuilding the code.
== Add Multi-File transfer Increasingly, Mozilla is moving toward using the Python based buildbot system for automated builds and tests. It would be good to distcc ==add a Source class for client.mk checkouts. This would mean creating a a general Source class that understands the idea of checking out a file, and which could then be used to drive the checkout and allow for integration with client.mk.
The recent work to add [[Distcc With MSVC|MSVC support]] to distcc only allows for a single file to be sent back from build slaves. This means that extra debugging info References: Ben Hearsum (e.g.bhearsum), .pdb filesRob Helmer (rhelmer) cannot be sent with binaries. Modify distcc so that it can support debug Mozilla builds.
References: Cesar and Tom== Port the Firefox Release Repackager to other platforms ==
== Add password managers The [http://benjamin.smedbergs.us/release-repackager/ Firefox Release Repackager] allows one to take a released version of the browser, deconstruct it in order to add some custom extension, then repackage it. This allows organizations to ship slightly modified versions of stock releases, useful for various platforms ==their users. Currently the repackager only works on Mac.
Previous work was done on adding [[OS X Keychain integration]] Port this tool to Firefox. This work was focused on tightly binding C++ Windows and Mac API calls/or Linux. Since then more work has been done In order to [http://blog.mozilla.com/dolske/2007/05/28/followup-password-manager-changes-coming-in-ff3-alpha-5/ modularize the password manager] in Firefox. Various do this you'll need platform "keychains" need binaries of 7zip, or perhaps you can use P7zip to be integrated with the new systemdo a cross platform version. See bugs [https://bugzilla.mozilla.org/show_bug.cgi?id=309807 309807], [https://bugzilla.mozilla.org/show_bug.cgi?id=106400 106400], and [https://bugzilla.mozilla.org/show_bug.cgi?id=371000 371000]. See also [http://mail.gnome.org/archives/desktop-devel-list/2007-August/msg00241.html There are other ideas that can be added to this e-mail message]tool as well for making it more flexible.
== Convert password storage to a SQLite database ==Resources: mkaply, bsmedberg
Currently, Firefox stores logins in a text file in the user's profile (signons2.txt). The format is simple, but inflexible. Storage of other browser data, such as cookies and form history, has steadily been moving towards using SQLite-backed databases so moving password storage to the same kind of storage would be good. Some work was started in [https://bugzilla.mozilla.org/show_bug.cgi?id=288040 bug 288040].= gdb symbol server support ==
== Support Microsoft's debugger allows the use of a symbol server, which it can use to download debugging symbols for OpenID ==programs and libraries. [http://developer.mozilla.org/en/docs/Using_the_Mozilla_symbol_server Mozilla provides this] for nightly and release builds on Windows, and it's useful for people to debug their crashes locally without having to build a debug build. This functionality doesn't exist for Linux or OS X, where gdb is the debugger. gdb does support loading debug symbols from external files, so it could probably be extended to look for the symbols on a web server first.
[httpReferences://openid.net/ OpenID] is an open, decentralized, free framework for user-centric digital identity. It's built on existing web technologies so that it can work without special support in the browser. However, tighter browser integration could allow for increased security and easier management. See [# https://bugzilla.mozilla.org/show_bug.cgi?id=356853 bug 356853]412722#c5# http://www. Needs definition as to exactly what should be done linuxcommand.org/man_pages/objcopy1.html (see --add-gnu-debuglink and how--only-keep-debug)# http://www.totalviewtech. Could be initially implemented as an extensioncom/Documentation/Tips/gnu_debuglink.html
== Refactor master password out of NSS ==Resources: ted, Stan Shebs, Jim Blandy
Users can enable a "master password" in their browser, which securely encrypts all their stored passwords. The current implementation can be awkward to use and has some limitations, see [https://bugzilla.mozilla.org/show_bug.cgi?id=322617 bug 322617]. Fixing this would involve having password manager being more involved with the cryptography operations = gdb support for minidumps for post-- deriving a key from a passphrase with PKCS#5, and using NSS and PKCS#11 to encrypt/decrypt entries. mortem debugging ==
== Add Offline Support Microsoft's debugger allows for loading a minidump produced during a crash and then performing post-mortem debugging. GDB supports using core files for the same purpose. In Firefox 3, we produce minidump files on all of our supported platforms for use with our Breakpad crash reporting system. Sometimes people may want to an open source web app ==debug a crash locally using one of these minidumps. On Windows, using the symbol server, they can simply load the minidump in their debugger. Currently there is no equivalent on Linux or Mac. Extending gdb to support loading minidumps for post-mortem debugging would be useful. This project may rely on the gdb symbol server project to be truly useful.
Firefox 3 will support offline abilities, such that web developers can write their apps so they work even when no network is presentReferences:# http://code.google. Good headway has been made already [com/p/google-breakpad/source/browse/trunk/src/google_breakpad/common/minidump_format.h# http://www.bluishcodercodeproject.cocom/KB/debug/postmortemdebug_standalone1.nzaspx# http:/2007/02sourceware.org/offline-zimbra-with-firefoxgdb/current/onlinedocs/gdb_3.html porting Zimbra]. Pick another web app and add offline support, for example: [#SEC7# http://moodlesourceware.org Moodle]/gdb/current/onlinedocs/gdb_9.html#SEC80
Resources: ted, Stan Shebs, Jim Blandy == RegressionTry == Make it possible to look for bugs across old nightly builds of Firefox using automated tools. For example, [http://db48x.net/regression-search/ regression-search] is a script that allows you to do binary searches across binaries, looking for the existence of a bug. This could be improved through the use of tools like [http://services.alphaworks.ibm.com/coscripter/browse/about co-scripter]. Ideally the user could look for bugs in automated ways, without having to download and install tons of browser versions. Resources: db48x, ted == Extend Try Server to test Thunderbird SMTP Auto-Sensing 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])
Modify Thunderbird so that it uses the correct SMTP server == Add DTrace probes and scripts for your current network and IP. In other words, if you are at home, use your home ISP's SMTP, but if you use a school wireless network, switch to the school's SMTP. These various SMTP configurations should be manually controlled by the user, that is, you don't have to try and figure out which SMTP to use. Rather, it should be configurable in an options dialog.Mozilla code base ==
== Firefox Session Saver Extension ==[http://en.wikipedia.org/wiki/DTrace DTrace] was created by Sun in OpenSolaris to allow developers to write simple scripts in order to probe and instrument executing programs in a way not possible otherwise. One of the advantages of DTrace is that it allows you to turn on probing when you need it, but not incur an execution penalty with regard to performance (i.e., when probes aren't being scripted, they aren't run). This requires developers to add "probes" to their source code. For example, if you wanted to know when a particular function is entered/exited, get info about what happened, etc. you could add probes to the particular function. Writing the probes is not difficult, however there are hundreds or thousands of probes that Mozilla would like across its code base.
Write a simple (i.e., nothing more than a simple "save session") extension to leverage the existing [httpResources://developer.mozilla.org/en/docs/Session_restore_API Session Store API] in order to allow the user to save his/her currently open tabs and restore them. This is similar to what Firefox does when it unexpectedly crashes and gives the user the option to restore a previous session. NOTE: there are extensions that do this already, but many of them are more feature rich than need be. See also [http://www.beltzner.ca/mike/archives/2007/05/28/resurrect_your_session.html this blog post].sayrer
== Thunderbird Picture Preview Plugin Code Test Suite ==
Write an extension for Thunderbird that allows the user to start Create a slideshow preview [http://developer.mozilla.org/en/docs/Plugins plugin] test suite. There are currently no tests of all images in the current messageany kind, and this code is very brittle and not well understood. The feature This would work like this: when a mail arrives with pictures attached, involve creating a button plugin or set of plugins and some other UI is added html/js to the message drive that allows the slideshow plugin in order to beginpush test coverage. When clickedMaybe look at the JRE tests, the images are shown one after the othercreate some specific plugin cases (e.g., properly scaled swf to fit in the windowload that tests flash specific code). Consider using The newly announced Google Chromium browser [http://developerdev.mozillachromium.org/endevelopers/docshow-tos/Canvas_tutorial Canvasgetting-around-the-chrome-source-code seems to have something like this] with regard to do using the custom graphics, and take a look at npapi for driving tests via plug-in. See also docs on [httpshttp://addonsdev.mozillachromium.org/endevelopers/design-USdocuments/thunderbirdinter-process-communication IPC] and [http:/addon/556 this existing Thunderbird extensiondev.chromium.org/developers/design-documents/plugin-architecture plug-in design] for ideasin Chromium.
== [[Cross-Platform Mozilla Build Farm]] ==This will require C programming, as well as light web development (html, js, perhaps swf).
Using the accumulated knowledge of the [[Extending the Buildbot|buildbot]] and [[Distcc With MSVC|distcc]] projects, and using the physical resources of [[Mozilla@Seneca Cluster Administration|Hera]], create a cross-platform distributed build system suitable for testing patches to Mozilla.Resources: jst
== [[Bugzilla componentCreate self-watching]] serve symbol upload system ==
ItMozilla has a symbol server which is used by developers to debug issues in release builds that don's common t include debug information (i.e., symbols). However, many crashes are related to third-party binary plugins or extensions, for which Mozilla has no symbols. This project would create a developer web-based self-serve solution for third-parties to want to "watch" all the bugs upload symbols for their binary components in breakpad-formatted .sym file format. Ideally this could happen in an automated way, such that are filed in third-parties could add a certain step to their build system to do it automatically with each release. See [https://bugzilla.mozilla.org Bugzilla/show_bug.cgi?id=419879 bug# 419879] component. Mozilla uses a convoluted and painful system of synthetic accounts to simulate this capability, and we'd all really prefer to be able to do it more directly and with less opportunity for error.
ReferenceResources: [https://bugzilla.mozilla.org/show_bug.cgi?id=76794 Bug 76794]ted
== Automated Testing <strike>Add OpenLayers test suite to Mozilla </strike>==
Programmatically driving the browser <strike>Mozilla [http://mxr.mozilla.org/mozilla-central/source/dom/tests/mochitest/ajax/ uses] many common JavaScript library test suites to perform human-like tasks repeatedly. The programmer will have add additional coverage to create a framework for driving browser components in it's JavaScript or other scripting language to repeatedly test various pieces of the applicationimplementation. Ideally, the successful completion of this task will see a One test or suite of tests that can is not currently used by Mozilla, but could be invoked by command line to start , is the [http://openlayers.org OpenLayer's] js [http://trac.openlayers.org/browser, run the /trunk/openlayers/tests test suites and then exit and record the results for display or analysissuite]. See [https://bugzilla.mozilla.org/show_bug.cgi?id=399311 bug# 399311].
ReferenceResources: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team. See also http://labs.mozilla.com/2007/09/coscriptersayrer</strike>
== Litmus Extension <strike>Import sqlite test suite</strike> ==
We wanted to have <strike>Mozilla uses an extension that would be able to serve users testcases to try and allow them to submit results to embedded version of [http://litmuswww.mozillasqlite.org / SQLite] extensively to [http://litmusdeveloper.mozilla.org/en/storage store data]such as bookmarks, history, etc. We could expand the feature set of To insure that it runs properly within Mozilla, it would be good to add the extension entire sqlite test suite to do a lot of other cool things with Bugzilla and Website Reporter integration. So we need some ideas there. If youMozilla're interesteds tests, you could consult so that testing the work of browser also means testing sqlite. The sqlite test suite is written in TCL and needs to be ported to JavaScript. Some [[Userhttp:djhamp//mxr.mozilla.org/mozilla-g|David Hamp-Gonsalves]central/source/storage/test/unit/test_like.js work has already been done], who created the Buggy Bar extensionbut more is required to get full test coverage.
References: [https://bugzilla.mozilla.org/show_bug.cgi?id== [["Avoid loading the same page twice" Extension391756 bug 391756]] =, http://www.0xdeadbeef.com/weblog/?p=368
Create an extension to Firefox so that when a bookmark is clicked, and that site is already open in any tab in any window, that tabResources: sdwilsh </window is brought to the front rather than loading the page again.strike>
Related tech and skillsTake : XUL[http://zenit.senecac.on.ca/wiki/index.php/Import_sqlite_test_suite Park, JavaScriptKiWon]
== Tinderbox front page improvements Make chromebug work in Thunderbird ==
[http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox Tinderbox] is a web app showing the results of multiple machines building Firefox, running unit tests on it, and running performance tests on it, all on three different platforms (Windows, Linux, Mac). The display is very crowded right now, and can be difficult to read. In addition, some of the interesting information (changes in performance, for example) are hard to notice. The tinderbox server software recently was updated to include [http://www.json.org/ JSON] output, which means that webpages can now easily access the data to build their own displays. Using this data, create a new display for the Tinderbox data that helps developers monitor the status of the builds and performance data.TBD
* [http://tinderbox.mozilla.org/Firefox/json.js Tinderbox JSON data]* [http://people.mozilla.org/~rhelmer/mockups/tinderbox/ajax.html An example page using the data]* [http://mavra.perilith.com/~luser/tboxtest.html Another example page using the data]. (Requires a [http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/ recent Firefox 3 build])== Help gristmill move forward in Thunderbird ==
== Buildbot and EC2 ==TBD
[http://buildbot.net/trac The BuildBot] is software for automatically building and testing other software. [http://aws.amazon.com/ec2 EC2] is Amazon's "Elastic Compute Cloud", a service that lets you run Virtual Machines == Help Calendar integration on Amazon's computing grid using a web API. It would be awesome if BuildBot had an EC2 module, and could spawn Virtual Machines on-demand to perform tasks. Conveniently, BuildBot is written in Python, and there's [http://code.google.com/p/boto/ a Python library for interfacing with EC2].Trunk ==
References: [http://jimmyg.org/2007/09/01/amazon-ec2-for-people-who-prefer-debian-and-python-over-fedora-and-java/ Amazon EC2 Basics For Python Programmers]TBD
== Firebug "linting" for portability problems ==Resources: Fallen
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.
== Add-on update helper tools for developers ==
As Firefox 3 gets ramped up, there are nearly 3000 add-ons that need to get updated to some degree. Write tools (web or XULRunner) to look in add-ons and find things that developers will need to update. You'll want to work with the Mozilla documentation and evangelism teams to figure out what you're looking for and what to recommend to users.== HTML page set sanitizer ==
== Make FUEL work with Firefox 2 ==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.
Mozilla's [http://wiki.mozilla.org/FUEL FUEL] 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 (Firefox User Extension Librarymaking 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 JavaScript Library designed to help developers build extensions using terminology page that is all Chinese text and interfaces that are more familiar replacing it with "Lorem Ipsum" filler text would cause the page to themtake different text rendering paths, which would change what is measured. Currently it works with Firefox 3As another example, but it making all JPEG images solid black would be helpful to likely make them decode and render much faster. Any solution should have it work with Firefox 2 as well. Work toward having some analysis performed that shows that performance is not significantly altered in the existing [http://mxr.mozilla.org/seamonkey/find?string=fuel%2Ftest%2Fbrowser_ FUEL Tests] pass for Firefox 2sanitized page set.
== Benchmark SVG ==Resources: ted (but find someone better!)
Benchmark SVG performance == 3D object picking ==Canvas 3D JS Library is a library for the creation and look for areas 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 code 3D object at that could be optimizedlocation.
Resources: #mozpadcathy, Andor (http://www.c3dl.org)
== XULRunner Application Packaging =Potential OOo Projects =
Help to develop an == [[http://www.mozpad.org/doku.php?idSample Project]] ==application_build_system_project automated packaging system] for XULRunner applications.
Resources: plasticmillion, mfinkle, #mozpadThis is a sample project stub. You can use the template for [[Sample Project]] in order to create a project page for one of the stubs below. This is how you 'sign-up' for a project.
== Expose DBUS NOTE: if someone has already created the project page, speak to XPCOM ==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.
The desktop bus ([http://www.freedesktop.org/wiki/Software/dbus DBUS]) is used to communicate between desktop components == Generate an OOo XREF based on a Linux (or Unix) system. If this was exposed to XPCOM objects for bidirectional communication then tighter integration between the desktop and the browser could be achieved. There has been some [http://zenit.senecac.on.ca/wiki/index.php/D-Bus_and_other_Linux_desktop_integration_improvements previous work] in this area. Resources: RH online desktop team.Dehydra ==
== Embeddable HTTP Engine ==Using Dehydra, build OOo and generate an xref in the same way we are indexing for dxr.
Create an HTTP facility (transport, not rendering) for desktop apps that shares cache and cookies with the browser -- basically export the firefox http engine. A dbus-exported [httpTODO://svn.mugshotmore info.org/dumbhippo/trunk/client/linux/src/hippo-dbus-http.c proof-of-concept] exists which which shows some basic structure. A better solution would support more http features, avoid the dbus daemon for large files, and use Firefox instead of libcurl. One challenge is making this work when Firefox is not running. Resources: RH online desktop team.
== Desktop Social Networking Integration ==Resources: humph, taras
Alter [http://wiki.mozilla.org/Labs/The_Coop The Coop] experimental extension so it uses generic API instead of Facebook specifically; put the generic API in the "desktop data engine" also used == Existing Subjects proposed by [http://live.gnomeOpenOffice.org/OnlineDesktop/Sidebar BigBoard] (and hopefully other desktop apps in the future). Resources: RH online desktop team.Education Project ==
== Radio Button Bookmarks Extension ==FIXME : the projects proposed on the OpenOffice.org Education Project will be adapted to the current section.
Create an extension Waiting we encourage you to provide have a look at the '''[http://groupswiki.googleservices.com/group/mozilla.dev.appsopenoffice.firefoxorg/browse_threadwiki/threadEducation_Project/f2eeb10d0436af3f radio-button style bookmarksEffort OpenOffice.org Education Project Effort page].'''
== Web-based Virtual Machine Management ==Other links:
Create a web-based rapid provisioning system for virtual machines, building on work started by Ben Hearsum[http://wiki.services.openoffice. A user could select an operating system, toolchain, and source branch and the VM would be configured and started (using Xen, KVM, or another hypervisororg/wiki/backend)Education_Project OpenOffice. Resources: bhearsumorg Education Project on the Wiki]
== Localized Search in Firefox Search Box ==
Firefox features a search box that can be customized to work with different search engines (e.g., Google, Yahoo!, Wikipedia). Most websites have their own search facilities, but the location of the search box on the page varies considerably. Create a mechanism for Firefox to pick up a website's search mechanism and make it accessible to the user through the Firefox search box, so that users have a consistent place to look for site-specific search. This might use a mechanism similar to [http[User://www.rssboard.org/rss-autodiscovery feed autodiscoveryEricb|Ericb]]. Resources21: myk05, 26 September 2008 (UTC)
3
edits

Navigation menu