Changes

Jump to: navigation, search

Potential Projects

4,876 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 == 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. == 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.
Use the canvas element in order to create a generic front-end for data visualization of the Mozilla source. Many types of information about the Mozilla project can be keyed to 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, and changes over time to be shownResources: http://fedoraproject.org/wiki/JesseKeating/KojiPersonalRepos
ResourcesContact: CathyJesse Keating
== Mozilla Data Visualization Back-ends Port Wubi to Fedora ==
Create a dataIf upstream is willing to integrate it, port wubi-source for the Mozilla Tree Visualization projectinstaller and make it more cross distribution. This means data mining cvs.mozilla.orgOtherwise, bugzilla.mozilla.org, bonsai.mozilla.org and preparing the data provide a similar implementation for use in a heatmap visualizationFedora.
Resourceshttp: Cathy//wubi-installer.org/
== Add OpenID Delta RPM support to Bugzilla in Koji build system ==
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* https://fedorahosted.org/bodhi/ticket/160
References: reed, [https://bugzilla.mozilla.org/show_bug.cgi?id=294608 bug 294608]= Benchmark Nightlife Scalability Issues ==
== Tbeachball 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 - Quantifying Mozilla's Responsiveness == 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.
This project will add instrumentation to Mozilla in order to determine how much time is spent away from the main event loopResource: [[:fedora:Nightlife|Nightlife wiki page]], and therefore from the user's mouse/keyboard input. 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 from the main event loop, perhaps in layout or some other intensive computation. This leads 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 to include the triggering of log points and specific dialog openings, etc. with a view to understanding what the long-running events actually are.Matthew Farrellee
References: http://shaver.off.net/diary/2007/08/25/tbeachball/ and http://shaver.off.net/misc/latency-tracing-patch.txt== Create Test Suite for Condor ==
== Port distcc Along with a good build infrastructure, a strong test framework and methodology is key to MSYS ==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.
The recent work to add Resource: [[Distcc With MSVC:fedora:Nightlife|MSVC supportNightlife wiki page]] 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.Matthew Farrellee
References--- Below: Cesar and TomCommented out by Chris Tyler 2008-08-31 -- I think we'll get all the students doing this.
== Add Multi-File transfer to distcc Review Packages ==
The recent work There is a lot of packages in Fedora waiting for someone to add [[Distcc With MSVC|MSVC support]] to distcc only allows for review it. While a single file completely new Fedora contributor needs to be sent back from build slavessponsored before his package is approved, subsequent packages can be reviewed and approved by any Fedora package maintainer. This means In addition to that extra debugging info (e.g., virtually anybody with a Red Hat Bugzilla account can do do unofficial reviews.pdb files) cannot Working through the review queue and doing this work might be sent with binaries. Modify distcc so that it can support debug Mozilla buildsfun and useful learning process for folks interested in RPM and packaging in general.
ReferencesThe general process is described in http: Cesar //fedoraproject.org/wiki/PackageMaintainers/HowToGetSponsored and Tomin http://fedoraproject.org/wiki/Packaging/ReviewGuidelines.
== Add password managers for various platforms = Review Requests ===
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 [* Unassigned review requests - http://blogfedoraproject.mozilla.comorg/dolskePackageReviewStatus/2007/05/28/followupNEW.html* In progress review requests -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], [httpshttp://bugzilla.mozillafedoraproject.org/show_bug.cgi?id=106400 106400], and [https:wiki/PackageMaintainers/bugzilla.mozilla.org/show_bug.cgi?id=371000 371000]. See also [InProgressReviewRequests* Approved review requests - http://mail.gnomefedoraproject.org/archiveswiki/desktop-devel-listPackageMaintainers/2007ApprovedReviewRequests-August/msg00241.html this e-mail message].>
References: dolske= Potential Mozilla Projects =
== Convert password storage to a SQLite database [[Sample Project]] ==
Currently, Firefox stores logins This is a sample project stub. You can use the template for [[Sample Project]] in order to create a text file in project page for one of the user's profile (signons2stubs below.txt). The format This is simple, but inflexible. Storage of other browser data, such as cookies and form history, has steadily been moving towards using SQLitehow you 'sign-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]up' for a project.
ReferencesNOTE: dolskeif 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.
== Refactor master password out of NSS Improve Localization build system ==
Users can enable a "master password" in their browser, which securely encrypts all their stored passwords. The current implementation can be awkward Currently it requires many many steps to use and has some limitations, see [https://bugzilla.mozilla.org/show_bug.cgi?id=322617 bug 322617]produce another language of Firefox. Fixing this It would involve having password manager being more involved with really easy to package these many steps to reduce the cryptography operations -- deriving required knowledge to generate a key from a passphrase with PKCS#5, and using NSS and PKCS#11 to encrypt/decrypt entriesnew language.
== Add Offline Support Adding a few make steps to an open source web app ==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.
Firefox 3 will support 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 [httpReference://www.bluishcoder.co.nz/2007/02/offline-zimbra-with-firefox.html porting Zimbra]. Pick another web app and add offline support, for example: [http://moodle.org Moodle].armenzg
References== 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 example of that view is: mfinklehttps://l10n-stage-sj.mozilla.org/pushes/but the format should be more like this:http://hg.mozilla.org/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 machine. Reference: armenzg - Bug 498641
== Thunderbird SMTP Auto-Sensing ==
References: #maildev
== [[Bugzilla component-watching]] ==
It's common for a developer to want to "watch" all the bugs that are filed in a certain [https://bugzilla.mozilla.org Bugzilla] 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.
Reference== <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: reedplasticmillion, 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=76794 352976 Bug 76794352976Resources: ctalbert, daniel in #calendar on irc.mozilla.org == <strike>[[Spellcheck Extension for 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 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>
== Litmus Extension ==Resources: ted, mfinkle
We wanted to have an extension that would be able to serve users testcases to try and allow them to submit results to See also: [httphttps://litmusbugzilla.mozilla.org http/show_bug.cgi?id=280419 bug 280419] and [https://litmusbugzilla.mozilla.org/show_bug.cgi?id=369108 bug 369108]. We could expand the feature set of the extension to do a lot of other cool things with Bugzilla , and Website Reporter integrationcode [http://mxr. So we need some ideas theremozilla. If you're interested, you could consult the work of [[User:djhamporg/mozilla-g|David Hamp-Gonsalves]central/source/uriloader/exthandler/nsExternalHelperAppService.cpp#2077 here], who created the Buggy Bar extension.
== [["Avoid loading the same page twice" Extension]] Standalone Test Harnesses ==
Create an extension Mozilla uses several systems for [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.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 so that when a bookmark is clickedwith --enable-tests, and run the tests from the object directory. Ideally there would be a standalone package available for download that site is already open in would let you run these test suites against any tab in any windowFirefox build, that tab/window is brought to the front rather than loading the page againease development of new tests and allow more people to get involved with automated testing.
Related tech and skills* References: XUL, JavaScripthttp://xoatlicue.blogspot.com/2008/01/standalone-test-product.html* Possible Resources: Ben Hearsum
== Firebug "linting" for portability problems Add source checkout to buildbot ==
Lots of web developers use Firebug 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 for building their applications. To accomplish this, but we want those apps to work well in other browsers as wellMozilla uses [http://mxr.mozilla.org/seamonkey/source/client.mk client. If Firebug knew about JS or CSS patterns that could cause problems in other browsersmk], it would make it much easier to have those applications work in all browserswhich provides a set of rules for getting and building the code.
Resources: mfinkleIncreasingly, 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.
== Add-on update helper tools for developers ==References: Ben Hearsum (bhearsum), Rob Helmer (rhelmer)
As == Port the 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 Release Repackager to users.other platforms ==
ResourcesThe [http: mfinkle//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.
== Make FUEL work with Firefox 2 ==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.
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 3mkaply, 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.bsmedberg
Resources: mfinkle== gdb symbol server support ==
== XULRunner Application Packaging ==Microsoft's debugger allows the use of a symbol server, which it can use to download debugging symbols for 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.
Help to develop an [httpReferences:# https://wwwbugzilla.mozpadmozilla.org/dokushow_bug.phpcgi?id=application_build_system_project automated packaging system] for XULRunner applications412722#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
Resources: plasticmillionted, mfinkleStan Shebs, #mozpadJim Blandy
== Universal Firefox on a USB Key gdb support for minidumps for post-mortem debugging ==
Create Microsoft's debugger allows for loading a minidump produced during a portable USB installation of crash and then performing post-mortem debugging. GDB supports using core files for the same purpose. In Firefox that will work 3, we produce minidump files on all of our supported platforms for use with our Breakpad crash reporting system. Sometimes people may want to debug a crash locally using one of these minidumps. On Windows, Linuxusing the symbol server, and Macthey can simply load the minidump in their debugger. Currently there are binaries for doing this with Windows/is no equivalent on Linuxor Mac. You'll need Extending gdb to get binaries support loading minidumps for post-mortem debugging would be useful. This project may rely on the app on each platform, figure out how gdb symbol server project 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 upontruly useful.
ResourcesReferences: sxip# 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/dickgdb_9.html#SEC80
== 'Compact databases' feature for Mozilla calendaring applications (LightningResources: ted, Sunbird) ==Stan Shebs, Jim Blandy
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.== RegressionTry ==
See also Make it possible to look for bugs across old nightly builds of Firefox using automated tools. For example, [httpshttp://bugzilladb48x.mozillanet/regression-search/ regression-search] is a script that allows you to do binary searches across binaries, looking for the existence of a bug.org This could be improved through the use of tools like [http://show_bugservices.alphaworks.ibm.cgi?id=352976 Bug 352976com/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: ctalbertdb48x, daniel in #calendar on irc.mozilla.orgted
== Extend Try Server to test Thunderbird Draft Scheduler Extension patches ==
Write an extension for Thunderbird so that the user "Specifically, Mozilla has the ability to mark a draft email for sending later. This is not great system called “try servers” where one can submit patches against the same as having to save emails in your DRAFT box because users would have to remember to go back in tree, and click Send later. What is different here is that users could set the date build system runs builds on Linux, Mac and time Windows, using those patches, then serves those builds for each email to be senttesting. This feature would be is really helpful to those who work late into the night but prefer not to send emails at such a late hourfigure out if proposed patches solve specific problems. This feature would also benefit support staff, e.g., administrative assistants, who constantly have The only problem is that there’s a little bit of patching needed to the try server code itself to make it able to send out regular email reminderswork with other targets besides Firefox, e.g., for meetings, timesheets, etcas described in bug 431375" ([http://ascher.ca/blog/2008/05/02/thunderbird-team-needs-help-from-pythonperl-build-assist/ Ascher])
Resources: Vivian Ngo== Add DTrace probes and scripts for Mozilla code base ==
== [[Spellcheck Extension for Arbitrary Web Pages]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 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).Resources: sayrer
== Modify Firefox to throttle Plugins when Inactive Plugin Code Test Suite ==
Modify the browser so that it throttles plugins back when the userCreate a [http://developer.mozilla.org/en/browserdocs/system Plugins plugin] test suite. There are currently no tests of any kind, and this code is inactivevery brittle and not well understood. ConsiderThis 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, for examplecreate some specific plugin cases (e.g., swf to load that tests flash specific code). The newly announced Google Chromium browser [http://wwwdev.kaourantinchromium.netorg/2006developers/05how-tos/framegetting-around-ratesthe-inchrome-flashsource-player.html workcode seems to have something like this] that has been done in Safari. You could consider doing this via the IdleService, with an observer set regard to go off at an appropriate intervalusing the npapi for driving tests via plug-in. You should See also consider how to deal with the case of videos (YouTube)docs on [http://dev.chromium.org/developers/design-documents/inter-process-communication IPC] and [http://dev.chromium. Perhaps keep a white list of movie sites, or other org/developers/design-documents/plugin-dependent content that shouldn't be throttledarchitecture plug-in design] in Chromium.
Resources: gluonThis will require C programming, as well as light web development (html, js, perhaps swf).
== Modify Firefox to handle files downloaded to Temp more appropriately ==Resources: jst
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:== Create self-serve symbol upload system ==
* 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 Mozilla has a documents folder instead of temp* Firefox could check the timestamp of such files and delete them only if the timestamp symbol server which is the same as when it was originally saved used by the browser developers to debug issues in release builds that don't include debug information (i.e., has not been editedsymbols)* Warn the user on closing the browser that files . However, many crashes are going related to third-party binary plugins or extensions, for which Mozilla has no symbols. This project would create a web-based self-serve solution for third-parties to be removed* Assuming files still exist on startupload symbols for their binary components in breakpad-up (see above)formatted .sym file format. Ideally this could happen in an automated way, alert the user such that these files are still there (similar to "New Session or Restart Existing?" dialog)* Have the browser popthird-up parties could add a Save As dialog instead of step to their build system to do it automatically saving to temp, and use a documents pathwith each release. See [https://bugzilla.mozilla.org/show_bug.cgi?id=419879 bug# 419879].
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
Resources: ted, mfinkle== <strike>Add OpenLayers test suite to Mozilla </strike>==
== Implement Audio and Visual Mute in <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 Browser =[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].
It would be useful if you could pauseResources: sayrer</mute/freeze distracting content in a tab. Often this means plugins, which are playing music or animating. One possible solution is to expose the API that bfcache uses to freeze/thaw a window, since plugins are themselves "windows." Other platform specific approaches may also be available (e.g., hooking sound API calls in Windows).strike>
References: http:== <strike>Import sqlite test suite<//www.melez.com/mykzilla/2007/04/tab-specific-mute.htmlstrike> ==
== Standalone Test Harnesses ==<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.
Mozilla uses several systems for [httpReferences://developer.mozilla.org/en/docs/Mozilla_automated_testing automated testing], including [httphttps://developerbugzilla.mozilla.org/en/docs/Mochitest Mochitest], [http://developer.mozillashow_bug.org/en/docs/Mozilla_automated_testing#Reftest Reftestcgi?id=391756 bug 391756], [http://developerwww.mozilla0xdeadbeef.org/en/docs/Writing_xpcshell-based_unit_tests xpcshell unit tests], and [http:com/weblog/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, to ease development of new tests and allow more people to get involved with automated testing.?p=368
* ReferencesResources: http://xoatlicue.blogspot.com/2008sdwilsh </01/standalone-test-product.html* Possible Resources: Rob Campbell (robcee), Ben Hearsumstrike>
== Provide a way to easily perform bookmark queries in JS ==Take : [http://zenit.senecac.on.ca/wiki/index.php/Import_sqlite_test_suite Park,KiWon]
Right now the only way of finding bookmarks == Make chromebug work in FUEL is to recursively iterate folders beginning with the root. Because the assumption is that in Firefox 3 users 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 for querying bookmarks, as a wrapper for nsINavHistoryQuery and friends. An example of how it could look like in action:Thunderbird ==
var query = bookmarks.newQuery(); query.type = "folder"; query.searchTerms = "goats"; var results = query.execute();TBD
References: Mark Finkle (mfinkle), [https://bugzilla.mozilla.org/show_bug.cgi?id=409279 bug 409279]= Help gristmill move forward in Thunderbird ==
== Provide an easier mechanism for creating History Listeners in JS ==TBD
A better way for adding easy history event listeners to FUEL is needed, perhaps. Some initial design work has been done == Help Calendar integration on this, see [https://bugzilla.mozilla.org/show_bug.cgi?idTrunk ==406974 bug 406974].
References: Mark Finkle (mfinkle)TBD
== Add source checkout to buildbot ==Resources: Fallen
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://mxr.mozilla.org/seamonkey/source/client.mk client.mk], 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: Rob Helmer (rhelmer)== HTML page set sanitizer ==
== Thunderbird Picture Preview ==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.
Write an extension for Thunderbird A useful solution to this problem would be a tool that allows the user to start takes a slideshow preview mirrored copy of all images in a website and "sanitizes" it, by changing the current messagepage text and image contents (making them junk or filler text or something). The feature would work like caveat here is that this: when a mail arrives with pictures attached*cannot* change the performance characteristics of the page. For example, taking a button or some other UI page that is added to the message that allows all Chinese text and replacing it with "Lorem Ipsum" filler text would cause the slideshow page to begintake different text rendering paths, which would change what is measured. When clickedAs another example, the making all JPEG images are shown one after the other, properly scaled to fit 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 window. Consider using [http://developer.mozilla.org/en/docs/Canvas_tutorial Canvas] to do the custom graphics, and take a look at [https://addons.mozilla.org/en-US/thunderbird/addon/556 this existing Thunderbird extension] for ideassanitized page set.
ReferencesResources: #maildevted (but find someone better!)
== Thunderbird Image Auto-Resize 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.
Write an extension for Thunderbird that gives functionality similar to that of OutlookResources: cathy, where image attachments in an email can be automatically re-sized to one of a set of smaller sizesAndor (http://www. 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 friendsc3dl.org)
References: #maildev= Potential OOo Projects =
== Local MXR [[Sample Project]] ==
Many developers without highspeed network access would like to be able to This is a sample project stub. You can use the template for [[http://mxr.mozilla.org MXRSample Project]] but can't. Build in order to create a lightweight, installable Windows package that gives project page for one of the full functionality of MXR locallystubs below. Create a [http://labs.mozilla.com/featuredThis is how you 'sign-projects/#prism Prism] front-end specific up' for the task of using this local MXRa project.
ResourcesNOTE: [http://lxrif someone has already created the project page, speak to this person and see if you can join them.mozilla If so, simply add your name to the '''Project Leader(s)''' page.org/mozilla/source/webtools/lxr/ MXR source] Otherwise, [http://timeless.justdave.net/mxr-test/patches/20080114you can become a contributor later.zip patches to lxr] in the tree
References: dave== Generate an OOo XREF based on Dehydra ==
== Port Using Dehydra, build OOo and generate an xref in the Firefox Release Repackager to other platforms ==same way we are indexing for dxr.
The [httpTODO://benjaminmore info.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 7zipResources: humph, 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.taras
Resources: mkaply, bsmedberg== Existing Subjects proposed by OpenOffice.org Education Project ==
== Add MSI packaging FIXME : the projects proposed on the OpenOffice.org Education Project will be adapted to the Firefox build system ==current section.
Firefox is not currently available on Windows as an Waiting we encourage you to have a look at the '''[http://enwiki.wikipediaservices.openoffice.org/wiki/Windows_Installer MSI], which is something IT departments and others deploying on many desktops routinely request. The [http:/Education_Project/en.wikipediaEffort OpenOffice.org/wiki/WiX Windows Installer XML toolset (WiX)Education Project Effort page] is an open source tool provided by Microsoft that allows the creation of MSI files based on XML config files. This project will add MSI packaging to the Firefox build system so that it happens by default.'''
ResourcesOther links: mkaply, ted, http://www.frontmotion.com/Firefox/index.htm, http://forums.mozillazine.org/viewtopic.php?t=138033
== LiveCD for Resource Kit ==[http://wiki.services.openoffice.org/wiki/Education_Project OpenOffice.org Education Project on the Wiki]
We'd like to produce a DVD resource kit for teaching Mozilla development. This disc could be used in two ways: as a bootable (and installable) "Live Disc" containing a full Linux (Fedora) development environment, or it could be inserted into a running Windows system to install MozillaBuild 1.2 and some other tools. This project involves packaging: creating RPM packages of material that should be included on the disc but which is not presently available in RPM format (such as a Firefox trunk snapshot, the Mozilla videos, documentation, and possibly a local MXR instance) and creating a suitable Windows installer.
Resources[[User: daveEricb|Ericb]] 21:05, ctyler26 September 2008 (UTC)
3
edits

Navigation menu