Changes

Jump to: navigation, search

Potential Projects

5,503 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.
== Mozilla Tree Visualization Ideas Pool ==
Use the canvas element Lots of good ideas are listed in order to create a generic front-end [[:fedora:SummerCoding/2008/Ideas|Summer Coding Ideas (Fedora Wiki)]]. These projects were originally proposed for data visualization Google Summer of the Mozilla source. Many types Code projects; if you want to use one of information about the Mozilla project can be keyed to the source tree. For examplethem, file change-ratesplease discuss it with [[User:Chris Tyler|Chris Tyler]] before selecting it, code-coverage, bug activity per module, checkins per module, etc. The visualization will be a heatmap, showing certain types because the scope and mentorship model for GSOC is different from that of activity in the tree. Doing this visualizaiton using canvas3d would allow for a third axis, and changes over time to be shownLUX projects.
== Mozilla Data Visualization Back-ends Cobbler Web ==
Create Cobbler is a data-source 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 the Mozilla Tree Visualization projectall linux distributions. Currently Cobbler has a web interface that allows users an easier way of interacting with cobbler. This means data mining cvsThere are several core improvements that can be made.mozilla 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).org Another is to enable search features in the web app to make it tolerate thousands of systems to a better extent. Finally, bugzilla.mozilla.organother feature is to add a task engine to cobblerd, bonsai.mozilla.org to make it possible to run commands like "cobbler import" and preparing "cobbler reposync" in the data for use background and see their output in a heatmap visualizationthe web interface via an AJAXy type system.
== Add OpenID support Possible features are not limited to Bugzilla 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
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 bugzillaResources: http://fedoraproject.org/cobbler
ReferencesContact: see [https://bugzilla.mozilla.org/show_bug.cgi?id=294608 bug 294608]Michael DeHaan
== Tbeachball - Quantifying Mozilla's Responsiveness Personal Koji Repositories ==
This project will add instrumentation to Mozilla in order to determine how much time Koji Personal Repos (KoPeR) is spent away from the main event loop, and therefore from the user's mouse/keyboard input. When the user does something, how long does it take for Mozilla a concept to act on that stimulus? One thing that sometimes interferes with interface responsiveness is spending too long away from the main event loop, perhaps in layout or some other intensive computation. This leads allow Fedora maintainers to new events from the user, such as mouse clicks or keypresses, not being noticed and acted upon. This could also be expanded in order create personal repos of packages to include the triggering of log points build against and specific dialog openings, etc. share with a view to understanding what the long-running events actually areothers.
ReferencesResources: http://shaverfedoraproject.off.net/diary/2007org/08wiki/25JesseKeating/tbeachball/ and http://shaver.off.net/misc/latency-tracing-patch.txtKojiPersonalRepos
== Mozilla Developer Virtual Appliance ==Contact: Jesse Keating
Create a Linux-based virtual machine with all the necessary build, 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 == Port Wubi to get started.Fedora ==
== Port distcc If upstream is willing to MSYS ==integrate it, port wubi-installer and make it more cross distribution. Otherwise, provide a similar implementation for Fedora.
The recent work 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.mozillawubi-installer.org/en/docs/Windows_Build_Prerequisites Mozilla Win32 build docs). Port distcc so that it works with the new MSYS environment.
References: Cesar and Tom== Delta RPM support in Koji build system ==
== Add Multi-File transfer to distcc == * https://fedorahosted.org/bodhi/ticket/160
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 (e.g., .pdb files) cannot be sent with binaries. Modify distcc so that it can support debug Mozilla builds.== Benchmark Nightlife Scalability Issues ==
References: Cesar and TomUsing 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.
== Add password managers for various platforms ==Resource: [[:fedora:Nightlife|Nightlife wiki page]], Matthew Farrellee
Previous work was done on adding [[OS X Keychain integration]] to Firefox. This work was focused on tightly binding C++ and Mac API calls. Since then more work has been done 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 platform "keychains" need to be integrated with the new system. 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?idCreate Test Suite for Condor ==371000 371000]. See also [http://mail.gnome.org/archives/desktop-devel-list/2007-August/msg00241.html this e-mail message].
== Convert password storage 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 SQLite database ==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.
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 Resource: [[https://bugzilla.mozilla.org/show_bug.cgi?id=288040 bug 288040fedora:Nightlife|Nightlife wiki page]]., Matthew Farrellee
== Refactor master password --- Below: Commented out of NSS ==by Chris Tyler 2008-08-31 -- I think we'll get all the students doing this.
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 -- deriving a key from a passphrase with PKCS#5, and using NSS and PKCS#11 to encrypt/decrypt entries. = Review Packages ==
== [[Add Offline Support There is a lot of packages in Fedora waiting for someone to an open source web app]] ==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.
Firefox 3 will support offline abilities, such that web developers can write their apps so they work even when no network The general process is presentdescribed in http://fedoraproject. org/wiki/PackageMaintainers/HowToGetSponsored and in http://fedoraproject.org/wiki/Packaging/ReviewGuidelines. === Review Requests Good headway has been made already [=== * Unassigned review requests - http://wwwfedoraproject.bluishcoderorg/PackageReviewStatus/NEW.cohtml* In progress review requests - http://fedoraproject.nzorg/2007wiki/02PackageMaintainers/offlineInProgressReviewRequests* Approved review requests -zimbrahttp://fedoraproject.org/wiki/PackageMaintainers/ApprovedReviewRequests-with-firefox> = Potential Mozilla Projects = == [[Sample Project]] == This is a sample project stub.html porting Zimbra You can use the template for [[Sample Project]]in order to create a project page for one of the stubs below. Pick another web app This is how you 'sign-up' for a 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 offline supportyour name to the '''Project Leader(s)''' page. Otherwise, for you can become a contributor later. == Improve Localization build system == 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. Adding a few make steps to wrap this process would help everyone.This is a very easy project to tackle but very benefitial if the time and love is given to it. Reference: armenzg == 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 change. We also check the localizer'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. An exampleof that view is:https: [//l10n-stage-sj.mozilla.org/pushes/but the format should be more like this:http://moodlehg.mozilla.org Moodle]/mozilla-central/pushlogwhich is what our release engineering systems check for.This project would require you to hack hg and pushlog to make it work.armenzg has many blog posts explaining how to setup pushlog in your local machineReference: armenzg - Bug 498641
== Thunderbird SMTP Auto-Sensing ==
Modify Thunderbird so that it uses the correct SMTP server 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.
References: #maildev   == <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) == Add the possibility to compact the database for local storage calendars based on SQLite using the VACUUM command. At the moment the local database for events and tasks will not get smaller even if you delete your tasks and events. This has serious performance implications for people, who work a lot with their calendar. See also [https://bugzilla.mozilla.org/show_bug.cgi?id=352976 Bug 352976] Resources: ctalbert, daniel in #calendar on irc.mozilla.org == <strike>[[Firefox Session Saver Spellcheck Extensionfor Arbitrary Web Pages]] </strike> == <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. a textbox).</strike> == <strike>Modify Firefox to handle files downloaded to Temp more appropriately </strike>== <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 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.e., has not been edited)* Warn the user on closing the browser that files are going to be removed* Assuming files still exist on start-up (see above), alert the user that these files are still there (similar to "New Session or Restart Existing?" dialog)* Have the browser pop-up a Save As dialog instead of automatically saving to temp, and use a documents path
Write a simple (i.e.Other ideas are possible, nothing more than a simple "save session") extension to leverage the existing [http://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 sessioncombination of these might be necessary. NOTE: there are extensions that do Ultimately, this already, but many fix should target regular users without much knowledge of them are more feature rich than need be. See also [http://wwwthe filesystem.beltzner.ca/mike/archives/2007/05</28/resurrect_your_session.html this blog post].strike>
== [[Cross-Platform Mozilla Build Farm]] ==Resources: ted, mfinkle
Using the accumulated knowledge of the See also: [[Extending the Buildbot|buildbot]https://bugzilla.mozilla.org/show_bug.cgi?id=280419 bug 280419] and [[Distcc With MSVC|distcchttps://bugzilla.mozilla.org/show_bug.cgi?id=369108 bug 369108]] projects, and using the physical resources of code [[Mozilla@Seneca Cluster Administration|Hera]http://mxr.mozilla.org/mozilla-central/source/uriloader/exthandler/nsExternalHelperAppService.cpp#2077 here], create a cross-platform distributed build system suitable for testing patches to Mozilla.
== [[Bugzilla component-watching]] Standalone Test Harnesses ==
It's common Mozilla uses several systems for a [http://developer.mozilla.org/en/docs/Mozilla_automated_testing automated testing], including [http://developer.mozilla.org/en/docs/Mochitest Mochitest], [http://developer.mozilla.org/en/docs/Mozilla_automated_testing#Reftest Reftest], [http://developer to want to "watch" all the bugs that are filed in a certain .mozilla.org/en/docs/Writing_xpcshell-based_unit_tests xpcshell unit tests], and [httpshttp://bugzilladeveloper.mozilla.org Bugzilla/en/docs/Mozilla_automated_testing#Crash_tests crash tests] component. Mozilla uses a convoluted and painful system of synthetic accounts Currently, to run these test suites or develop new tests, you need to simulate this capabilitybuild your own Firefox with --enable-tests, and we'd all really prefer to run the tests from the object directory. Ideally there would be able a standalone package available for download that would let you run these test suites against any Firefox build, to do it ease development of new tests and allow more directly and people to get involved with less opportunity for errorautomated testing.
Reference* References: [httpshttp://bugzillaxoatlicue.mozillablogspot.orgcom/show_bug2008/01/standalone-test-product.cgi?id=76794 Bug 76794]html* Possible Resources: Ben Hearsum
== [[Litmus Extension]] Add source checkout to buildbot ==
We wanted Unlike many open source projects, it's not possible to have an extension that would be able do a CVS checkout and build the code. This is due to serve users testcases the complex module and version combinations necessary to try get and allow them to submit results to build a particular product, for example Firefox. To accomplish this, Mozilla uses [http://litmusmxr.mozilla.org http:/seamonkey/source/litmusclient.mozillamk client.orgmk]. We could expand the feature , which provides a set of the extension to do a lot of other cool things with Bugzilla rules for getting and Website Reporter integration. So we need some ideas there. If you're interested, you could consult the work of [[User:djhamp-g|David Hamp-Gonsalves]], who created building the Buggy Bar extensioncode.
Increasingly, Mozilla is moving toward using the Python based buildbot system for automated builds and tests. It would be good to 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. References: Ben Hearsum (bhearsum), Rob Helmer (rhelmer) == [["Avoid loading Port the same page twice" Extension]] Firefox Release Repackager to other platforms == 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 their users. Currently the repackager only works on Mac. Port this tool to Windows and/or Linux. In order to do this you'll need platform binaries of 7zip, or perhaps you can use P7zip to do a cross platform version. There are other ideas that can be added to this tool as well for making it more flexible. Resources: mkaply, bsmedberg
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 tab/window is brought to the front rather than loading the page again.== gdb symbol server support ==
Related tech Microsoft's debugger allows the use of a symbol server, which it can use to download debugging symbols for programs and skillslibraries. [http: XUL//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, JavaScriptso it could probably be extended to look for the symbols on a web server first.
References:# https://bugzilla.mozilla.org/show_bug.cgi?id== Firebug "linting" for portability problems ==412722#c5# http://www.linuxcommand.org/man_pages/objcopy1.html (see --add-gnu-debuglink and --only-keep-debug)# http://www.totalviewtech.com/Documentation/Tips/gnu_debuglink.html
Lots of web developers use Firebug and Firefox for building their applicationsResources: ted, 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 browsersStan Shebs, it would make it much easier to have those applications work in all browsers.Jim Blandy
== Addgdb support for minidumps for post-on update helper tools for developers mortem debugging ==
As 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 gets ramped up, there are nearly 3000 add-ons that need we produce minidump files on all of our supported platforms for use with our Breakpad crash reporting system. Sometimes people may want to get updated to some degreedebug a crash locally using one of these minidumps. On Windows, using the symbol server, they can simply load the minidump in their debugger. Write tools (web Currently there is no equivalent on Linux or XULRunner) Mac. Extending gdb to look in addsupport loading minidumps for post-ons and find things that developers will need to updatemortem debugging would be useful. You'll want to work with This project may rely on the Mozilla documentation and evangelism teams to figure out what you're looking for and what to recommend gdb symbol server project to usersbe truly useful.
== Make FUEL work with Firefox 2 ==References:# http://code.google.com/p/google-breakpad/source/browse/trunk/src/google_breakpad/common/minidump_format.h# http://www.codeproject.com/KB/debug/postmortemdebug_standalone1.aspx# http://sourceware.org/gdb/current/onlinedocs/gdb_3.html#SEC7# http://sourceware.org/gdb/current/onlinedocs/gdb_9.html#SEC80
Mozilla's [httpResources://wiki.mozilla.org/FUEL FUEL] (Firefox User Extension Library) is a JavaScript Library designed to help developers build extensions using terminology and interfaces that are more familiar to them. Currently it works with Firefox 3ted, but it would be helpful to have it work with Firefox 2 as well. Work toward having the existing [http://mxr.mozilla.org/seamonkey/find?string=fuel%2Ftest%2Fbrowser_ FUEL Tests] pass for Firefox 2.Stan Shebs, Jim Blandy
== Benchmark SVG RegressionTry ==
Benchmark SVG performance and Make it possible to look for areas 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 code that existence of a bug. This could be optimizedimproved 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: #mozpaddb48x, ted
== XULRunner Application Packaging Extend Try Server to test Thunderbird patches ==
Help "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 develop an 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 DTrace probes and scripts for Mozilla code base == [http://wwwen.mozpadwikipedia.org/dokuwiki/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.php?idyou 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. Resources: sayrer == Plugin Code Test Suite ==application_build_system_project automated packaging system] for XULRunner applications.
ResourcesCreate a [http: plasticmillion//developer.mozilla.org/en/docs/Plugins plugin] test suite. There are currently no tests of any kind, mfinkleand this code is very brittle and not well understood. This would involve creating a plugin or set of plugins and some html/js to drive that plugin in order to push test coverage. Maybe look at the JRE tests, #mozpadcreate some specific plugin cases (e.g., swf to load that tests flash specific code). The newly announced Google Chromium browser [http://dev.chromium.org/developers/how-tos/getting-around-the-chrome-source-code seems to have something like this] with regard to using the npapi for driving tests via plug-in. See also docs on [http://dev.chromium.org/developers/design-documents/inter-process-communication IPC] and [http://dev.chromium.org/developers/design-documents/plugin-architecture plug-in design] in Chromium.
== Expose DBUS to XPCOM ==This will require C programming, as well as light web development (html, js, perhaps swf).
The desktop bus ([http://www.freedesktop.org/wiki/Software/dbus DBUS]) is used to communicate between desktop components 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.jst
== Embeddable HTTP Engine Create self-serve symbol upload system ==
Create an HTTP facility Mozilla has a symbol server which is used by developers to debug issues in release builds that don't include debug information (transporti.e., not renderingsymbols) . However, many crashes are related to third-party binary plugins or extensions, for desktop apps that shares cache and cookies with the browser which Mozilla has no symbols. This project would create a web-based self-serve solution for third-parties to upload symbols for their binary components in breakpad- basically export the firefox http engineformatted . A dbussym file format. Ideally this could happen in an automated way, such that third-exported parties could add a step to their build system to do it automatically with each release. See [httphttps://svnbugzilla.mugshotmozilla.org/dumbhippo/trunk/client/linux/src/hippo-dbus-httpshow_bug.c proof-of-conceptcgi?id=419879 bug# 419879] 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.
== Universal Firefox on a USB Key ==Resources: ted
Create a portable USB installation of Firefox that will work on all of Windows, Linux, and Mac. Currently there are binaries for doing this with Windows== <strike>Add OpenLayers test suite to Mozilla </Linux. You'll need to get binaries for the app on each platform, figure out how to share a common profile, and get it all on a single USB key. Some existing work in this area has been done, and could be built upon.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'Compact databases' feature for s JavaScript implementation. One test suite that is not currently used by Mozilla calendaring applications (Lightning, Sunbird) =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].
Add the possibility to compact the database for local storage calendars based on SQLite using the VACUUM command. At the moment the local database for events and tasks will not get smaller even if you delete your tasks and events. This has serious performance implications for people, who work a lot with their calendar.Resources: sayrer</strike>
See also [https:== <strike>Import sqlite test suite<//bugzilla.mozilla.org/show_bug.cgi?idstrike> ==352976 Bug 352976]
Resources<strike>Mozilla uses an embedded version of [http: ctalbert//www.sqlite.org/ SQLite] extensively to [http://developer.mozilla.org/en/storage store data] such as bookmarks, daniel 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 #calendar on ircTCL 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= Thunderbird Draft Scheduler Extension ==368
Write an extension for Thunderbird so that the user has the ability to mark a draft email for sending later. This is not the same as having to save emails in your DRAFT box because users would have to remember to go back in and click Send later. What is different here is that users could set the date and time 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 hour. This feature would also benefit support staff, e.g., administrative assistants, who constantly have to send out regular email reminders, e.g., for meetings, timesheets, etc.Resources: sdwilsh </strike>
ResourcesTake : Vivian Ngo[http://zenit.senecac.on.ca/wiki/index.php/Import_sqlite_test_suite Park,KiWon]
== [[Spellcheck Extension for Arbitrary Web Pages]] Make chromebug work in Thunderbird ==
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).TBD
== Webpage Delta Debugger Help gristmill move forward in Thunderbird ==
(From #seneca)TBD
It'd be really nice to have a webpage "delta debugger" extension - something where the user could make a change, save a complete copy of the document post-change, load it in the browser again, and see if the bug's still there. If it is, user makes another change, gets another complete copy saved, loads the new copy, lather rinse repeat. If the bug isn't there, scrap the newly saved copy, but allow the user to annotate it, saying "Hey, I tried this already, don't try it again".== Help Calendar integration on Trunk ==
Suggestions include wrapping Jesse Ruderman's "Lithium" testcase reducer project into an user-friendly Firefox extension, or a DOM Inspector-like tool, focusing on a representation of the tree of DOM nodes.TBD
Resources: Alex Vincent (WeirdAl in #developers on irc.mozilla.org)Fallen
== Modify Firefox to throttle Plugins when Inactive ==
Modify the browser so that it throttles plugins back when the user/browser/system is inactive. Consider, for example, [http://www.kaourantin.net/2006/05/frame-rates-in-flash-player.html work] that has been done in Safari. You could consider doing this via the IdleService, with an observer set to go off at an appropriate interval. You should also consider how to deal with the case of videos (YouTube). Perhaps keep a white list of movie sites, or other plugin-dependent content that shouldn't be throttled.
== Modify Firefox to handle files downloaded to Temp more appropriately HTML page set sanitizer ==
Often files downloaded by The Talos performance testing system at Mozilla currently runs on a large set of web pages pulled from the browser are put in a temporary folder that is emptied on closeAlexa Top 500. Users (and especially novice users) should These pages can't be protected from inadvertent data loss as a result redistributed, since they're mirrors of copyrighted web pages. In addition, many of important files being saved to this temp folderthem contain adult content. This project will add fixes makes it difficult for people to duplicate the browser so Talos results or to test changes that users are protectedhave an expected performance impact. Ideas include:
* Make Firefox aware of common productivity file types (e.g., .doc, .pdf) and whitelist these types so they aren't deleted* Have office type files download automatically A useful solution to this problem would be a documents folder instead tool that takes a mirrored copy of temp* Firefox could check the timestamp of such files a website and delete them only if the timestamp is the same as when "sanitizes" it was originally saved , by changing the browser page text and image contents (imaking them junk or filler text or something).e., has not been edited)The caveat here is that this *cannot* Warn change the user on closing performance characteristics of the browser that files are going to be removed* Assuming files still exist on start-up (see above)page. For example, alert the user taking a page that these files are still there (similar to is all Chinese text and replacing it with "New Session or Restart Existing?Lorem Ipsum" dialog)* Have filler text would cause the browser pop-up a Save page to take different text rendering paths, which would change what is measured. As dialog instead of automatically saving to tempanother example, making all JPEG images solid black would likely make them decode and use a documents pathrender much faster. Any solution should have some analysis performed that shows that performance is not significantly altered in the sanitized page set.
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.Resources: ted (but find someone better!)
== Implement Audio 3D object picking ==Canvas 3D JS Library is a library for the creation and Visual Mute manipulation of 3D scenes in the Browser ==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.
It would be useful if you could pauseResources: cathy, Andor (http:/mute/freeze distracting content in a tab. Often this means plugins, which are playing music or animatingwww. One possible solution is to expose the API that bfcache uses to freeze/thaw a window, since plugins are themselves "windowsc3dl." Other platform specific approaches may also be available (e.g., hooking sound API calls in Windowsorg).
References: http://www.melez.com/mykzilla/2007/04/tab-specific-mute.html= Potential OOo Projects =
== Standalone Test Harnesses [[Sample Project]] ==
Mozilla uses several systems This is a sample project stub. You can use the template for [http://developer.mozilla.org/en/docs/Mozilla_automated_testing automated testing], including [http://developer.mozilla.org/en/docs/Mochitest MochitestSample Project], [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]in order to create a project page for one of the stubs below. Currently, to run these test suites or develop new tests, This is how you need to build your own Firefox with 'sign--enable-tests, and run the tests from the object directory. Ideally there would be up' for a standalone package available for download that would let you run these test suites against any Firefox build, to ease development of new tests and allow more people to get involved with automated testingproject.
* ReferencesNOTE: http://xoatlicueif someone has already created the project page, speak to this person and see if you can join them.blogspot.com/2008/01/standalone-test-product.html* Possible Resources: Rob Campbell If so, simply add your name to the '''Project Leader(robcees)''' page. Otherwise, Ben Hearsumyou can become a contributor later.
== Provide a way to easily perform bookmark queries in JS Generate an OOo XREF based on Dehydra ==
Right now Using Dehydra, build OOo and generate an xref in the only same way of finding bookmarks in FUEL is to recursively iterate folders beginning with the root. Because the assumption is that in Firefox 3 users we are going to accumulate a lot of bookmarks, this could be not efficient enough (not to mention inconvenient). It would be useful if [http://developer.mozilla.org/en/docs/FUEL FUEL] provided an interface indexing for querying bookmarks, as a wrapper for nsINavHistoryQuery and friendsdxr. An example of how it could look like in action:
var query = bookmarksTODO: more info.newQuery(); query.type = "folder"; query.searchTerms = "goats"; var results = query.execute();
ReferencesResources: Mark Finkle (mfinkle)humph, [https://bugzilla.mozilla.org/show_bug.cgi?id=409279 bug 409279]taras
== Provide an easier mechanism for creating History Listeners in JS Existing Subjects proposed by OpenOffice.org Education Project ==
A better way for adding easy history event listeners to FUEL is needed, perhaps. Some initial design work has been done FIXME : the projects proposed on this, see [https://bugzilla.mozillathe OpenOffice.org/show_bug.cgi?id=406974 bug 406974]Education Project will be adapted to the current section.
ReferencesWaiting we encourage you to have a look at the '''[http: Mark Finkle (mfinkle)//wiki.services.openoffice.org/wiki/Education_Project/Effort OpenOffice.org Education Project Effort page]'''
== Add source checkout to buildbot ==Other links:
Unlike 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://mxrwiki.services.mozillaopenoffice.org/seamonkeywiki/source/clientEducation_Project OpenOffice.mk client.mkorg Education Project on the Wiki], which provides a set of rules for getting and building the code.
Increasingly, Mozilla is moving toward using the Python based buildbot system for automated builds and tests. It would be good to 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.
References[[User: Rob Helmer Ericb|Ericb]] 21:05, 26 September 2008 (rhelmerUTC)
3
edits

Navigation menu