Difference between revisions of "User:Chani/Plans/ConstraintsList"

Jump to: navigation, search
(API change)
(constraintslist for 4.5 done)
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
This is a table of plasmoids vs. security constraints. they need to be checked before release, because we can't actually force c++ code to follow them.
 +
 +
the table's a bit ugly, but functional; if you're good with wiki syntax feel free to make it prettier. :)
 +
 
the meaning of cells in this table:
 
the meaning of cells in this table:
 
*R: Required
 
*R: Required
 
*O: Optional
 
*O: Optional
 
*U: Unused
 
*U: Unused
*nothing: not checked yet
+
*1: couldn't check (crash or similar)
 +
*2: too much effort (like, non-applet class needs to access Applet::hasAuthorization)
 +
*3: way too much effort (webkit, urgh)
 +
*4: low priority (doesn't belong on screensaver)
  
 
after checking a plasmoid+feature, X-Plasma-Requires-<feature> in the plasmoid's .desktop should be set to one of Required, Optional or Unused.
 
after checking a plasmoid+feature, X-Plasma-Requires-<feature> in the plasmoid's .desktop should be set to one of Required, Optional or Unused.
Line 9: Line 16:
 
*Required: the plasmoid cannot do without this feature
 
*Required: the plasmoid cannot do without this feature
 
*Unused: the plasmoid doesn't use this feature at all
 
*Unused: the plasmoid doesn't use this feature at all
*Optional: it has made optional in the code using hasAuthorization()
+
*Optional: it has made optional in the code using hasAuthorization() (see the comic or picture-frame for examples)
  
 
tips on checking for features:
 
tips on checking for features:
Line 16: Line 23:
 
*LaunchApp can usually be checked by grepping for KRun. there are exceptions, though - battery uses KToolInvocation::kdeinitExec.
 
*LaunchApp can usually be checked by grepping for KRun. there are exceptions, though - battery uses KToolInvocation::kdeinitExec.
 
*it's always good to play with the actual plasmoid a bit if you can't remember every single feature it has.
 
*it's always good to play with the actual plasmoid a bit if you can't remember every single feature it has.
 +
 +
TODO: a few of the 'required' entries for 4.4 could be made optional with a little work (weather, for example). we just don't really have the time.
  
 
{|  
 
{|  
 
|-
 
|-
 
! Plasmoid
 
! Plasmoid
 +
! 4.3
 +
! 4.3
 +
! 4.4
 +
! 4.4
 +
! 4.5
 +
! 4.5
 +
|-
 +
!
 
! FileDialog
 
! FileDialog
 
! LaunchApp
 
! LaunchApp
 +
! FileDialog
 +
! LaunchApp
 +
! FileDialog
 +
! LauchApp
 
|-
 
|-
! colspan=3 | workspace/plasma
+
! colspan=7 | workspace/plasma
 
|-
 
|-
 
| activitybar
 
| activitybar
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| analog-clock
 
| analog-clock
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| battery
 
| battery
 +
| U
 +
| O
 +
| U
 +
| O
 
| U
 
| U
 
| O
 
| O
Line 40: Line 71:
 
| U
 
| U
 
| U
 
| U
 +
| U
 +
| U
 +
| U
 +
| U (exposing PIM data though)
 +
|-
 +
| currentappcontrol
 +
|
 +
|
 +
| 4
 +
|
 
|-
 
|-
 
| devicenotifier
 
| devicenotifier
 
| U
 
| U
 
| R
 
| R
 +
| U
 +
| R (could be made O?)
 +
| U
 +
| R (could be made O?)
 
|-
 
|-
 
| digital-clock
 
| digital-clock
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| icon
 
| icon
 +
| U
 +
| R
 
| U
 
| U
 
| R
 
| R
 
|-
 
|-
 
| kickoff
 
| kickoff
 +
| U
 +
| R
 +
| U
 +
| R
 
| U
 
| U
 
| R
 
| R
 
|-
 
|-
 
| lock_logout
 
| lock_logout
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
Line 64: Line 121:
 
| U
 
| U
 
| U
 
| U
 +
| 4
 +
|
 +
| U
 +
| U(4?)
 
|-
 
|-
 
| panelspacer
 
| panelspacer
 +
| 4
 
|  
 
|  
 +
| 4
 +
|
 +
| 4
 
|  
 
|  
 
|-
 
|-
Line 72: Line 137:
 
| R
 
| R
 
| R
 
| R
 +
| R
 +
| R
 +
| R
 +
| R
 +
|-
 +
| searchbox
 +
|
 +
|
 +
| 4
 +
|
 +
| 4
 +
|
 
|-
 
|-
 
| system-monitor
 
| system-monitor
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| systemtray
 
| systemtray
 +
| 4
 
|  
 
|  
 +
| 4
 +
|
 +
| 4
 
|  
 
|  
 
|-
 
|-
 
| tasks
 
| tasks
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| trash
 
| trash
 +
| U
 +
| R
 +
| U
 +
| R
 
| U
 
| U
 
| R
 
| R
 
|-
 
|-
 
| webbrowser
 
| webbrowser
 +
| 3
 +
|
 +
| 3
 +
|
 +
| 3
 +
|
 +
|-
 +
| windowlist
 +
|
 
|  
 
|  
 +
| 4
 +
|
 +
| 4
 
|  
 
|  
 +
| 4
 
|-
 
|-
! colspan=3 | apps/plasma
+
! colspan=7 | apps/plasma
 
|-
 
|-
 
| folderview
 
| folderview
 +
| 4
 
|  
 
|  
 +
| 4
 +
|
 +
| 4
 
|  
 
|  
 
|-
 
|-
! colspan=3 | kdeplasma-addons
+
! colspan=7 | kdeplasma-addons
 
|-
 
|-
 
| bball
 
| bball
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| binary-clock
 
| binary-clock
 +
| U
 +
| U
 +
| U
 +
| U
 +
| U
 +
| U
 +
|-
 +
| blackboard
 +
|
 +
|
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
| bluemarble
+
| bookmarks
 +
|
 +
|
 +
|
 
|  
 
|  
 +
| 4
 
|  
 
|  
 
|-
 
|-
 
| bubblemon
 
| bubblemon
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| calculator
 
| calculator
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| charselect
 
| charselect
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| comic
 
| comic
 +
| O
 +
| O
 +
| O
 +
| O
 
| O
 
| O
 
| O
 
| O
 
|-
 
|-
 
| dict
 
| dict
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| eyes
 
| eyes
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| fifteenPuzzle
 
| fifteenPuzzle
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| fileWatcher
 
| fileWatcher
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| frame
 
| frame
 +
| U
 +
| O
 +
| U
 +
| O
 
| U
 
| U
 
| O
 
| O
 
|-
 
|-
 
| fuzzy-clock
 
| fuzzy-clock
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| incomingmsg
 
| incomingmsg
 +
| U
 +
| U
 +
| U
 +
| U
 +
| U
 +
| U
 +
|-
 +
| kdeobservatory
 +
|
 +
|
 +
|
 +
|
 
| U
 
| U
 
| U
 
| U
 +
|-
 +
| kimpanel
 +
|
 +
|
 +
|
 +
|
 +
| U
 +
| U
 +
|-
 +
| knowledgebase
 +
|
 +
|
 +
| U
 +
| R
 +
| U
 +
| R
 
|-
 
|-
 
| kolourpicker
 
| kolourpicker
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| konqprofiles
 
| konqprofiles
 +
| U
 +
| R
 +
| U
 +
| R
 
| U
 
| U
 
| R
 
| R
 
|-
 
|-
 
| konsoleprofiles
 
| konsoleprofiles
 +
| U
 +
| R
 +
| U
 +
| R
 
| U
 
| U
 
| R
 
| R
 
|-
 
|-
 
| lancelot
 
| lancelot
 +
| U
 +
| R
 +
| U
 +
| R
 
| U
 
| U
 
| R
 
| R
 
|-
 
|-
 
| leavenote
 
| leavenote
 +
| 3
 +
|
 +
| 3
 
|  
 
|  
 +
| 3
 
|  
 
|  
 
|-
 
|-
 
| life
 
| life
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| luna
 
| luna
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| magnifique
 
| magnifique
 +
| 3
 
|  
 
|  
|  
+
| U
 +
| U
 +
| U
 +
| U
 
|-
 
|-
 
| mediaplayer
 
| mediaplayer
 
| R
 
| R
 +
| U
 +
| R
 +
| U
 +
| R
 
| U
 
| U
 
|-
 
|-
 
| microblog
 
| microblog
 +
| 3
 
|  
 
|  
 +
| 3
 +
|
 +
| 3
 
|  
 
|  
 
|-
 
|-
 
| news
 
| news
 
|  
 
|  
 +
| 3
 
|  
 
|  
 +
| 3
 +
|
 +
| 3
 
|-
 
|-
 
| notes
 
| notes
 +
| U
 +
| U
 +
|
 +
|
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| nowplaying
 
| nowplaying
 +
| U
 +
| U
 +
| U
 +
| U
 
| U
 
| U
 
| U
 
| U
 
|-
 
|-
 
| opendesktop
 
| opendesktop
 +
| 2
 +
|
 +
|
 +
|
 +
| U
 +
| R
 +
|-
 +
| opendesktop-activities
 
|  
 
|  
 
|  
 
|  
 +
| 4? U
 +
| U
 +
| U
 +
| O
 
|-
 
|-
 
| paste
 
| paste
 +
| 4
 
|  
 
|  
|  
+
| 4
 +
|
 +
| 4
 +
|
 
|-
 
|-
 
| pastebin
 
| pastebin
 +
| U
 +
| U
 +
| U
 +
| R
 +
| U
 +
| R
 +
|-
 +
| plasmaboard
 +
|
 +
|
 +
| 4
 
|  
 
|  
 +
| 4
 
|  
 
|  
 
|-
 
|-
| previewer
+
| qalculate
 +
|
 
|  
 
|  
 
|  
 
|  
 +
|
 +
| U
 +
| U
 +
|-
 +
| previewer
 +
| R
 +
| R
 +
| R
 +
| R
 +
| R
 +
| R
 
|-
 
|-
 
| rememberthemilk
 
| rememberthemilk
|  
+
| U
|  
+
| U
 +
| U
 +
| U
 +
| U
 +
| U
 
|-
 
|-
 
| rssnow
 
| rssnow
 +
| 2
 
|  
 
|  
|  
+
|
 +
|
 +
| U
 +
| R
 
|-
 
|-
 
| showdashboard
 
| showdashboard
 +
| 4
 
|  
 
|  
|  
+
| 4
 +
|
 +
| 4
 +
|
 
|-
 
|-
 
| showdesktop
 
| showdesktop
 +
| 4
 
|  
 
|  
|  
+
| 4
 +
|
 +
| 4
 +
|
 
|-
 
|-
 
| systemloadviewer
 
| systemloadviewer
|  
+
| U
|  
+
| U
 +
| U
 +
| U
 +
| U
 +
| O
 
|-
 
|-
 
| timer
 
| timer
|  
+
| U
|  
+
| U
 +
| U
 +
| U
 +
| U
 +
| O
 
|-
 
|-
 
| unitconverter
 
| unitconverter
|  
+
| U
|  
+
| U
 +
| U
 +
| U
 +
| U
 +
| U
 
|-
 
|-
 
| weather
 
| weather
 +
| 1
 
|  
 
|  
|  
+
| U
 +
| R
 +
| U
 +
| R
 
|-
 
|-
 
| weatherstation
 
| weatherstation
 +
| 1
 
|  
 
|  
|  
+
| U
 +
| R
 +
| U
 +
| O
 
|-
 
|-
! colspan=3 | playground/base/plasma
+
! colspan=7 | playground/base/plasma
 
|}
 
|}

Latest revision as of 10:09, 25 June 2010

This is a table of plasmoids vs. security constraints. they need to be checked before release, because we can't actually force c++ code to follow them.

the table's a bit ugly, but functional; if you're good with wiki syntax feel free to make it prettier. :)

the meaning of cells in this table:

  • R: Required
  • O: Optional
  • U: Unused
  • 1: couldn't check (crash or similar)
  • 2: too much effort (like, non-applet class needs to access Applet::hasAuthorization)
  • 3: way too much effort (webkit, urgh)
  • 4: low priority (doesn't belong on screensaver)

after checking a plasmoid+feature, X-Plasma-Requires-<feature> in the plasmoid's .desktop should be set to one of Required, Optional or Unused.

  • Required: the plasmoid cannot do without this feature
  • Unused: the plasmoid doesn't use this feature at all
  • Optional: it has made optional in the code using hasAuthorization() (see the comic or picture-frame for examples)

tips on checking for features:

  • anything in the config dialog doesn't count
  • FileDialog can just be grepped for - I'm not aware of anything that a plasmoid is likely to use that could expose it indirectly.
  • LaunchApp can usually be checked by grepping for KRun. there are exceptions, though - battery uses KToolInvocation::kdeinitExec.
  • it's always good to play with the actual plasmoid a bit if you can't remember every single feature it has.

TODO: a few of the 'required' entries for 4.4 could be made optional with a little work (weather, for example). we just don't really have the time.

Plasmoid 4.3 4.3 4.4 4.4 4.5 4.5
FileDialog LaunchApp FileDialog LaunchApp FileDialog LauchApp
workspace/plasma
activitybar U U U U
analog-clock U U U U U U
battery U O U O U O
calendar U U U U U U (exposing PIM data though)
currentappcontrol 4
devicenotifier U R U R (could be made O?) U R (could be made O?)
digital-clock U U U U U U
icon U R U R
kickoff U R U R U R
lock_logout U U U U
pager U U 4 U U(4?)
panelspacer 4 4 4
quicklaunch R R R R R R
searchbox 4 4
system-monitor U U U U U U
systemtray 4 4 4
tasks U U U U U U
trash U R U R U R
webbrowser 3 3 3
windowlist 4 4 4
apps/plasma
folderview 4 4 4
kdeplasma-addons
bball U U U U U U
binary-clock U U U U U U
blackboard U U U U
bookmarks 4
bubblemon U U U U U U
calculator U U U U U U
charselect U U U U U U
comic O O O O O O
dict U U U U U U
eyes U U U U U U
fifteenPuzzle U U U U U U
fileWatcher U U U U U U
frame U O U O U O
fuzzy-clock U U U U U U
incomingmsg U U U U U U
kdeobservatory U U
kimpanel U U
knowledgebase U R U R
kolourpicker U U U U U U
konqprofiles U R U R U R
konsoleprofiles U R U R U R
lancelot U R U R U R
leavenote 3 3 3
life U U U U U U
luna U U U U U U
magnifique 3 U U U U
mediaplayer R U R U R U
microblog 3 3 3
news 3 3 3
notes U U U U
nowplaying U U U U U U
opendesktop 2 U R
opendesktop-activities 4? U U U O
paste 4 4 4
pastebin U U U R U R
plasmaboard 4 4
qalculate U U
previewer R R R R R R
rememberthemilk U U U U U U
rssnow 2 U R
showdashboard 4 4 4
showdesktop 4 4 4
systemloadviewer U U U U U O
timer U U U U U O
unitconverter U U U U U U
weather 1 U R U R
weatherstation 1 U R U O
playground/base/plasma

This page was last edited on 25 June 2010, at 10:09. Content is available under Creative Commons License SA 4.0 unless otherwise noted.