Difference between revisions of "Features/Feature Template"

From Sugar Labs
Jump to navigation Jump to search
(Created page with '<noinclude>{{ GoogleTrans-en | es =show | bg =show | zh-CN =show | zh-TW =show | hr =show | cs =show | da =show | nl =show | fi =show | fr =show | de =show | el =show | hi =show …')
 
m
 
(53 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<noinclude>{{ GoogleTrans-en | es =show | bg =show | zh-CN =show | zh-TW =show | hr =show | cs =show | da =show | nl =show | fi =show | fr =show | de =show | el =show | hi =show | it =show | ja =show | ko =show | no =show | pl =show | pt =show | ro =show | ru =show | sv =show }}{{TOCright}}</noinclude>
+
<noinclude>
= <Feature Name> =
+
[[Category:Feature Page Incomplete]]
(Template based on http://fedoraproject.org/wiki/Features/DeviceKit.)
+
[[Category:Feature|.]]
== Summary ==
+
<!-- You can add categories to tie features back to real deployments/schools requesting them, for example
 +
[[Category:Features requested by School Xyz|<Feature Name>]] (the |Feature Name option sorts the entry on the category page under the first letter of <Feature Name>). -->
 +
</noinclude>
  
'''<Feature Name>''' is a simple system service that a) can enumerate devices; b) emits signals when devices are added removed; c) provides a way to merge device information / quirks onto devices. It is designed to partially replace hal and overcome some of the design limitiations of hal. DeviceKit functionality is provided in the form of dbus services on the system bus.
+
{{Note/important|Comments and Explanations:|There are comments (''in italics'') providing guidance to fill out each section, see also the [[Features/Policy|Feature Policy Page]] for a more detailed explanation of the new-feature process. '''Copy the source to a ''new page'' named Features/''Your Feature Name'' before making changes!  DO NOT EDIT THIS TEMPLATE.'''}}
  
Apart from DeviceKit itself, there is '''DeviceKit-disks''', which is a system service to keep track of block devices. The functionality offered by DeviceKit-disks is a superset of what hal provides for block devices.
+
<!-- All fields on this form are required to be accepted.
 +
We also request that you maintain the same order of sections so that all of the feature pages are uniform. -->
  
There is also '''DeviceKit-power''', which takes over the power-management-related parts of hal and the more complex functionality of gnome-power-manager. As a consequence, gnome-power-manager itself becomes much simpler.
+
<!-- The actual name of your feature page should look something like: Features/Your Feature Name.  This keeps all features in the same namespace -->
  
The new '''udev-extra''' module will provide udev rules that are needed to make the DeviceKit architecture work.
+
== Summary ==
Functionality that was provided via .fdi files in hal will eventually be moved to udev rules, and setting acls on devices will also be done here at some point.
+
''A sentence or two summarizing what this feature is and what it will do. This information is used for the overall feature summary page for each release.''
  
DeviceKit-disks comes with a graphical frontend called '''palimpsest''' (the package name is '''gnome-disk-utility'''). Furthermore, there's a nautilus extension to format disks ('''nautilus-gdu'''), accessible from context menu.
+
== Owner ==
 +
''This should link to your home wiki page so we know who you are''
 +
* Name: [[User:AcountName| Your Name]]
  
== Owner ==
+
''Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved''
* Name: [[DavidZeuthen | David Zeuthen]], [[RichardHughes | Richard Hughes]], [[TomasBzatek | Tomáš Bžatek]]
+
* Email: <your email address so we can contact you, invite you to meetings, etc.>
  
 
== Current status ==
 
== Current status ==
* Targeted release: [[Releases/11|  Fedora 11]]
+
* Targeted release: (SUGAR_VERSION)
* Last updated: 2009-03-06
+
* Last updated: (DATE)
* Percentage of completion: 100%
+
* Percentage of completion: XX%
 
 
DeviceKit, DeviceKit-disks, DeviceKit-power and gnome-disk-utility (i.e. palimpsest) packages have been built in rawhide.
 
 
 
gnome-power-manager 2.25 in rawhide uses DeviceKit-power instead of hal.
 
 
 
The port of gvfs to DeviceKit-disks is in rawhide.
 
 
 
udev-extras is hosted on [http://git.kernel.org/?p=linux/hotplug/udev-extras.git;a=summary kernel.org]
 
and has been packaged for rawhide.
 
 
 
The nautilus extension for disk formatting is being worked on [http://fedorapeople.org/gitweb?p=tbzatek/public_git/nautilus-gdu.git;a=summary here]. It is called nautilus-gdu. It is available in rawhide.
 
 
 
Still todo:
 
* remove the properties page from gnome-mount
 
* add a status icon for smart warnings, critical raid events and delayed write warnings
 
* bug fixes
 
  
 
== Detailed Description ==
 
== Detailed Description ==
 +
''Expand on the summary, if appropriate.  A couple of sentences suffices to explain the goal, but the more details you can provide the better.''
  
David has written an extensive explanation of the DeviceKit architecture, and the motivation for rewriting hal. Read all about it [http://lists.freedesktop.org/archives/hal/2008-May/011560.html here]
+
== Benefit to Sugar ==
 
+
''What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Sugar become a better platform or project because of this feature?''
There is a dedicated [http://lists.freedesktop.org/mailman/listinfo/devkit-devel devkit-devel] mailing list now.
 
  
== Benefit to Fedora ==
+
''Make sure to note here as well if this feature has been requested by a specific deployment, or if it has emerged from a bug report.''
 
 
Fedora gains a comprehensive graphical disk management tool which provides functionality that so far was
 
almost exclusively available in the partitioning screen of anaconda. The tools integrate nicely into the desktop (by e.g. providing a "Format disk..." menuitem in the nautilus context menu where appropriate).
 
  
 
== Scope ==
 
== Scope ==
 +
''What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?''
  
DeviceKit depends on bug fixes and enhancements in the following components: kernel, udev, mdadm, and lvm. These will have to appear in rawhide first.
+
==UI Design==
 
+
''Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.''
Also, in order to peacefully coexist with DeviceKit-disks, at a very minimum
 
hal needs to talk to DeviceKit-disks about locking and mounting/unmounting.
 
Medium term, hal functionality such as disk and power-management support will
 
be turned off when all important users have been ported over to the equivalent DeviceKit api.
 
 
The core components that we plan to port for F11 are: gvfs, gnome-mount, nautilus and gnome-power-manager.
 
 
 
For completeness, [[Features/DeviceKit/HalDependencies]] is a list of ''all'' packages in Fedora that depend on hal, libhal.so.1 or libhal-storage.so.1. Except where noted, we don't expect to port these to DeviceKit for F11.
 
  
 
== How To Test ==
 
== How To Test ==
# yum install gnome-disk-utility. This will pull in DeviceKit-disks and DeviceKit via dependencies.
+
{{:{{PAGENAME}}/Testing}}
# Use palimpsest (the graphical frontend) to create, modify and delete partitions and file systems on various media, such as usb sticks, cds, removable hard disks, etc.
 
# Use palimpsest to encrypt partitions and to change passwords for existing encrypted partitions.
 
# Use nautilus-gdu to format removable media with various file system types.
 
# Verify that palimpsest correctly reports smart data from disks which support it.
 
# Test the raid support
 
# Test that desktop applications like nautilus and the gedit's file chooser see volumes and mounts
 
# Check that gnome-power-manager provides the same functionality it had in previous releases
 
# Similar for other desktop environments and applications, if they are ported to DeviceKit
 
 
 
 
== User Experience ==
 
== User Experience ==
 
+
''If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.''
There is a new menu item that brings up palimpsest: Applications → System Tools → Palimpsest Disk Utility
 
 
 
The nautilus context menu offers to format discs/usb sticks and other devices.
 
palimpsest is a graphical interface for all disc-related tasks, from partitioning and file system creation to encryption, raid and lvm.
 
 
 
Here are some screenshots of palimpsest and nautilus-gdu in action:
 
* The main window
 
[[Image:Palimpsest1.png]]
 
* SMART details
 
[[Image:Palimpsest2.png]]
 
* PolicyKit integration
 
[[Image:Palimpsest3.png]]
 
* The nautilus-gdu dialog
 
[[Image:nautilus-gdu.png]]
 
  
 
== Dependencies ==
 
== Dependencies ==
 
+
''What other packages (RPMs) depend on this package? Are there changes outside the developers' control on which completion of this feature depends? In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?''
* DeviceKit review: https://bugzilla.redhat.com/show_bug.cgi?id=456032 (Done)
 
* DeviceKit-disks review: https://bugzilla.redhat.com/show_bug.cgi?id=456033 (Done)
 
* gnome-disk-utility review: https://bugzilla.redhat.com/show_bug.cgi?id=456034 (Done)
 
* DeviceKit-power review: https://bugzilla.redhat.com/show_bug.cgi?id=460912 (Done)
 
* udev-extras review: https://bugzilla.redhat.com/show_bug.cgi?id=480754 (Done)
 
* nautilus-gdu review: https://bugzilla.redhat.com/show_bug.cgi?id=483277 (Done)
 
* udev >= 0.139
 
* mdadm >= 2.6.5
 
* device-mapper
 
* parted
 
* smartmontools
 
* util-linux-ng
 
* sqlite3
 
* PolicyKit >= 0.9
 
* dbus-glib >= 0.75
 
* dbus >= 1.1.20
 
* a nautilus extension for formatting must be written (Done)
 
* gvfs needs to be ported to DeviceKit-disks (Done)
 
* gnome-mount and nautilus must be ported to DeviceKit-disks
 
* hal needs to be patched to remove block device handling
 
  
 
== Contingency Plan ==
 
== Contingency Plan ==
 
+
''If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not. If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.''
DeviceKit-disks and DeviceKit-power can coexist with the disk and power management parts of hal. If the porting of applications is not complete by F11, we don't strip the functionality out of hal in F11.
 
  
 
== Documentation ==
 
== Documentation ==
 
+
''Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.''
API docs are here: http://hal.freedesktop.org/docs/DeviceKit/
 
http://hal.freedesktop.org/docs/DeviceKit-disks/
 
http://hal.freedesktop.org/docs/DeviceKit-power/
 
 
 
End user documentation will take some time to write, and can't really be started before the tools are publicly available.
 
  
 
== Release Notes ==
 
== Release Notes ==
 
+
''The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.''
Fedora 11 features DeviceKit, which is a simpler, modular replacement for hal. hal itself is still around, since applications rely on it. DeviceKit also comes with a graphical disk management application called palimpsest that uses the DeviceKit-disks subsystem of DeviceKit to handle partitioning, file system creation, encryption, raid, lvm, etc. gnome-power-manager has been ported to use the DeviceKit-power subsystem of DeviceKit instead of hal.
 
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==
  
See [[Talk:Features/DeviceKit]]
+
* ''Link to the discussion of this feature on lists.sugarlabs.org''
 
+
* See [[{{TALKPAGENAME}}|the discussion tab for this feature.]] <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page. -->
----
 
 
 
[[Category:Feature]]
 
[[Category:Feature with incomplete scope]]
 

Latest revision as of 08:51, 25 July 2014


Notification.png
Comments and Explanations:
There are comments (in italics) providing guidance to fill out each section, see also the Feature Policy Page for a more detailed explanation of the new-feature process. Copy the source to a new page named Features/Your Feature Name before making changes! DO NOT EDIT THIS TEMPLATE.


Summary

A sentence or two summarizing what this feature is and what it will do. This information is used for the overall feature summary page for each release.

Owner

This should link to your home wiki page so we know who you are

Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved

  • Email: <your email address so we can contact you, invite you to meetings, etc.>

Current status

  • Targeted release: (SUGAR_VERSION)
  • Last updated: (DATE)
  • Percentage of completion: XX%

Detailed Description

Expand on the summary, if appropriate. A couple of sentences suffices to explain the goal, but the more details you can provide the better.

Benefit to Sugar

What is the benefit to the platform? If this is a major capability update, what has changed? If this is a new feature, what capabilities does it bring? Why will Sugar become a better platform or project because of this feature?

Make sure to note here as well if this feature has been requested by a specific deployment, or if it has emerged from a bug report.

Scope

What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?

UI Design

Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.

How To Test

Features/Feature Template/Testing

This does not need to be a full-fledged document. Describe the dimensions of tests that this feature is expected to pass when it is done. If it needs to be tested with different hardware or software configurations, indicate them. The more specific you can be, the better the community testing can be.

Remember that you are writing this how to for interested testers to use to check out your feature - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your feature.

A good "how to test" should answer these four questions:

  • What special hardware / data / etc. is needed (if any)?
  • How do I prepare my system to test this feature? What packages need to be installed, config files edited, etc.?
  • What specific actions do I perform to check that the feature is working like it's supposed to?
  • What are the expected results of those actions?

User Experience

If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice.

Dependencies

What other packages (RPMs) depend on this package? Are there changes outside the developers' control on which completion of this feature depends? In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time? Other upstream projects like Python?

Contingency Plan

If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "None necessary, revert to previous release behaviour." Or it might not. If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.

Documentation

Is there upstream documentation on this feature, or notes you have written yourself? Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.

Release Notes

The Sugar Release Notes inform end-users about what is new in the release. An Example is 0.84/Notes. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the release team and shipped with the release.

Comments and Discussion