User:Chani/Plans/ConstraintsList: Difference between revisions

    From KDE TechBase
    No edit summary
    (constraintslist for 4.5 done)
     
    (18 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 isAllowed()
    *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
    | U
    | U
    |-
    |-
    | bluemarble
    | blackboard
    |  
    |  
    |
    | U
    | U
    | U
    | U
    |-
    | 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
    Line 156: Line 326:
    | U
    | U
    | U
    | U
    | U
    | U
    | U
    | U
    |-
    | kdeobservatory
    |
    |
    |
    |
    | 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
    |-
    |-
    | luna
    | luna
    |  
    | U
    |  
    | U
    | U
    | U
    | U
    | U
    |-
    |-
    | magnifique
    | magnifique
    | 3
    |  
    |  
    |  
    | U
    | U
    | U
    | U
    |-
    |-
    | mediaplayer
    | mediaplayer
    |  
    | R
    |  
    | U
    | R
    | U
    | R
    | U
    |-
    |-
    | microblog
    | microblog
    | 3
    |  
    |  
    | 3
    |
    | 3
    |  
    |  
    |-
    |-
    | news
    | news
    |  
    |  
    | 3
    |  
    |  
    | 3
    |
    | 3
    |-
    |-
    | notes
    | notes
    |  
    | U
    |  
    | U
    |
    |
    | U
    | U
    |-
    |-
    | nowplaying
    | nowplaying
    | U
    | U
    | U
    | U
    | U
    | U
    |-
    | opendesktop
    | 2
    |  
    |  
    |  
    |
    |
    | U
    | R
    |-
    |-
    | opendesktop
    | 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