KDevelop/Meeting2011: Difference between revisions

From KDE Community Wiki
 
(37 intermediate revisions by 4 users not shown)
Line 3: Line 3:
== Agenda ==
== Agenda ==


=== Thu ===
=== Tue ===
 
* arrive
 
=== Wed ===


* get up with an agenda
* get up with an agenda
Line 9: Line 13:
==== Plugins ====
==== Plugins ====


* requirements - no matter where:
requirements for plugins in extragear/kdevelop/*:
** kdereview
 
** maintainer
* kdereview
** releasable
* maintainer
** unit tests (and none failing)
* releasable
* kdevelop/kdevplatform/
* unit tests (and none failing)
 
plugins to merge:
 
* kdevplatform/
** controlflowgraph
** controlflowgraph
*** TODO: investigate status, get out of kdereview
** execute script
** execute script
* kdevelop/kdevelop/
*** TODO: investigate status, get into kdereview
* kdevelop/
** qmake
** qmake
*** TODO: Milian: investigate status, get into kdereview
* kdevelop/plugins/
* kdevelop/plugins/
** merge php/php-docs
** merge php/php-docs
*** TODO: Milian
** css
** css
*** TODO: investigate status, get into kdereview
** execute browser
** execute browser
*** TODO: investigate status, get into kdereview
** xdebug
** xdebug
*** TODO: investigate status, get into kdereview


notes on /plugins:
notes on /plugins:
* not a single big repo (devs against it)
* not a single big repo (devs against it)
* document easy "build-all" process on techbase
* TODO: document easy "build-all" process on techbase
 
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling


==== Build Bot ====
==== Build Bot & Unit Testing ====


* Get a build bot running
* TODO: Get a build bot running
* Get a unti test bot running
** either on every commit (much work)
** or at least once a day (simple to implement)
* TODO: Get a unit test bot running
** requirements:
** requirements:
*** no failing unit tests (XFAIL is OK)
*** no failing unit tests (XFAIL is OK)
*** no agressive performance tests (time limit, memory limit, ...)
*** no agressive performance tests (time limit, memory limit, ...)
* TODO: investigate cdash
** kdelibs dashboard is down, not a good impression
* TODO: ask PovAddict on his experience with build bot + unit tests
==== Gluon Creator ====
* try to rebase gluoncreator on kdevplatform
* put improvements into the platform
** plugin based diff-viewer (i.e. to compare designer files, images, ...)
** improved history viewer (timeline, ...)
* alternatively try to reuse parts of kdevplatform in gluoncreator
** problem: kdevplatform (rightly so!) expect full kdevplatform availability
==== Unit Tests ====
developers:
* never submit failing unit tests (use QEXPECT_FAIL)
* try to run unit tests regularily
=== Thu ===
==== Project Dashboard ====
saving/sharing:
* opt-in 'save to project file' which is shared to users via project.kdev4
** good for users opening the project the first time in kdevelop
* by default save changes to dashboard in .kdev4/ folder
plasmoids:
* vcs commit log (provided by vcs plugin)
* file contents view
* webslide
* feedreader
use cases:
* project website news (feed reader)
* project resources: bugtracker, mailing list, ... (webslide / file contents view)
* recent commits (vcs plugin)
==== Session Dashboard ====
* read-only
* only shown when no view exists, esp. on first start
* contents:
** recent sessions
** recent projects
** recent files
** open new file/session/project


=== Wed ===
==== Browser-Like Tabs ====


=== Tue ===
* niko pushed the rebased branches
* various feedback already implemented, still some stuff to-do


=== Fri ===
=== Fri ===
==== VCS ====
* get rid of diff to HEAD/BASE, integrate them to single action
* when calling 'show diff' from annotation bar, show full commit, i.e. including commit message and all changed files


=== Sat ===
=== Sat ===
??? what happened here?


=== Sun ===
=== Sun ===
??? what did we do?


=== Mon ===
=== Mon ===
==== Mass-Reload ====
* reload all action in file menu
** dialog showing all changed files
* also show one dialog for all when multiple files are modified/deleted, i.e. when switching branches / checkout -f, ...
* maybe improve inside kate
==== D&D ====
* adymo fixed it for toolviews
* we need it for projectmanager view
==== Areas ====
* when workingsets are plugin, make areas just list of toolviews, not also of documents
* switching between code<->debug should reuse workingset by default
* when activating review area, show diff or at least integrate with aleix's vcs view
* review area needs UI love
* toolbars must stay area dependent, there seems to be a bug on startup
==== Kate Plugins ====
* some useful plugins we want in kdevelop
** sql?
** xml?
* most are not useful, or simply duplicate stuff in kdevelop
* requires new ktexteditor interface most probably, question is whether this is accepted by kate guys
only two plugins, not really useful?
==== Quanta / External Plugins ====
* executescript kdevplatform
* dissolve quanta, sorry guys - my bad :-/ (milian)
** kdereview -> kdevelop/plugins: (with alpha release afterwards)
*** executebrowser -> Niko maintainer
*** css -> Milian/Niko maintainer
*** xdebug -> Niko maintainer, needs to be checked first
*** qmake -> Milian maintainer, stabilize first
*** phpformatter into PHP repo -> Milian maintainer, review first
** playground/kdevelop:
*** move rest out of quanta on-demand
*** most can be built stand-alone from quanta sources anyways
*** upload?? look at it, maybe release it as well
TODO: milian ask nicolas about moving out the plugins into own repo
==== Targets in ProjectManagerView ====
* project view filter can be used
* <s>special ctest handling in cmake might be useful</s>
** cdash property?
** milian: ask neundorf about it
** removed those in master
==== Sessions UI ====
* menu does scale
** like recent files, limit to N last sessions
** session picker as fallback for other sessions
* session picker:
** needs UI love
** hide QUUid
** integrate delete/rename simpler
*** QDBus querying for whether it's possible to delete/rename
* krunner gets merged, yay
==== Output View ====
* try to use konsole for output
** needs work in konsole
** pros:
*** performance
*** colors
*** ...
** cons:
*** f4/jump to error
*** portability?
** make it as GSOC project?
==== Chromium-like UI ====
* relayout stuff, i.e. put useful quickopen stuff below tabs
* requires niko's browser-like tabs
[tab1] [tab2] [tab3] [tab4] [tab5] ...
[quickopen file:/...] [outline]
==== Browser-like Tabs ====
* needs fixes in global history
* try to merge it


=== Thu ===
=== Thu ===
Line 53: Line 226:
* wrap up & leave home
* wrap up & leave home


== Random TODO ==
== Discussion TODO ==


=== not so controversial ===
=== not so controversial ===


* merge control flow into kdevplatform
* [DONE] merge control flow into kdevplatform
* merge qmake into kdevelop
* [DONE] merge qmake into kdevelop
* extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...
* gluon integration
* gluon integration
* handle rename/delete of file in editor view
* handle switching branch -> reload open (changed) files
* port mailing list to kde infrastructure
* improve website / wikis / ...
** promotion part
* integrate wiki documentation


=== controversial ===
=== controversial ===
Line 67: Line 246:
* welcome page
* welcome page
* drag&drop
* drag&drop
* merge aliex's thesis work
* merge aleix's thesis work
** it was reviewed, some changes need to be done, when done patches will be sent to kdevelop's mailing list


=== very controversial ===
=== very controversial ===


* destroy areas
* destroy areas
* chromium-like UI


=== unsorted ===
== Hacking TODO ==


* remove/disable/fix failing unit tests
* remove/disable/fix failing unit tests
* discuss browser-like tabs, presentation by niko?
* [DONE] fix QWarnings (esp. timer issues etc.)
* discuss plasma-welcome-page, presentation by aleix?
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser
* discuss close view on delete file, rename view on rename file
* fix QWarnings (esp. timer issues etc.)
* discuss switching branch -> reload files
* extend drag'n'drop support (esp. toolviews, ...)
* go through review requests
* go through review requests
* port mailing list to kde infrastructure
* pluginsmodule
* website contents
** promotion stuff
* krunner (session)
* extended cli support (open in existing instance)
* extended cli support (open in existing instance)
** extended dbus interface
** requires extended dbus interface
** note David's kdevelop_attach
* krunner integration (session)
 
== Browser-like Tabs TODO ==
* [DONE] remove Ctrl-T or bind it to what Ctrl-N does
* [DONE] Ctrl-N should open new file in a new tab
* global history improvements

Latest revision as of 10:38, 11 March 2016

Randa 2011 KDevelop Meeting

Agenda

Tue

  • arrive

Wed

  • get up with an agenda

Plugins

requirements for plugins in extragear/kdevelop/*:

  • kdereview
  • maintainer
  • releasable
  • unit tests (and none failing)

plugins to merge:

  • kdevplatform/
    • controlflowgraph
      • TODO: investigate status, get out of kdereview
    • execute script
      • TODO: investigate status, get into kdereview
  • kdevelop/
    • qmake
      • TODO: Milian: investigate status, get into kdereview
  • kdevelop/plugins/
    • merge php/php-docs
      • TODO: Milian
    • css
      • TODO: investigate status, get into kdereview
    • execute browser
      • TODO: investigate status, get into kdereview
    • xdebug
      • TODO: investigate status, get into kdereview

notes on /plugins:

  • not a single big repo (devs against it)
  • TODO: document easy "build-all" process on techbase

note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling

Build Bot & Unit Testing

  • TODO: Get a build bot running
    • either on every commit (much work)
    • or at least once a day (simple to implement)
  • TODO: Get a unit test bot running
    • requirements:
      • no failing unit tests (XFAIL is OK)
      • no agressive performance tests (time limit, memory limit, ...)
  • TODO: investigate cdash
    • kdelibs dashboard is down, not a good impression
  • TODO: ask PovAddict on his experience with build bot + unit tests

Gluon Creator

  • try to rebase gluoncreator on kdevplatform
  • put improvements into the platform
    • plugin based diff-viewer (i.e. to compare designer files, images, ...)
    • improved history viewer (timeline, ...)
  • alternatively try to reuse parts of kdevplatform in gluoncreator
    • problem: kdevplatform (rightly so!) expect full kdevplatform availability

Unit Tests

developers:

  • never submit failing unit tests (use QEXPECT_FAIL)
  • try to run unit tests regularily

Thu

Project Dashboard

saving/sharing:

  • opt-in 'save to project file' which is shared to users via project.kdev4
    • good for users opening the project the first time in kdevelop
  • by default save changes to dashboard in .kdev4/ folder

plasmoids:

  • vcs commit log (provided by vcs plugin)
  • file contents view
  • webslide
  • feedreader

use cases:

  • project website news (feed reader)
  • project resources: bugtracker, mailing list, ... (webslide / file contents view)
  • recent commits (vcs plugin)

Session Dashboard

  • read-only
  • only shown when no view exists, esp. on first start
  • contents:
    • recent sessions
    • recent projects
    • recent files
    • open new file/session/project

Browser-Like Tabs

  • niko pushed the rebased branches
  • various feedback already implemented, still some stuff to-do

Fri

VCS

  • get rid of diff to HEAD/BASE, integrate them to single action
  • when calling 'show diff' from annotation bar, show full commit, i.e. including commit message and all changed files

Sat

??? what happened here?

Sun

??? what did we do?

Mon

Mass-Reload

  • reload all action in file menu
    • dialog showing all changed files
  • also show one dialog for all when multiple files are modified/deleted, i.e. when switching branches / checkout -f, ...
  • maybe improve inside kate

D&D

  • adymo fixed it for toolviews
  • we need it for projectmanager view

Areas

  • when workingsets are plugin, make areas just list of toolviews, not also of documents
  • switching between code<->debug should reuse workingset by default
  • when activating review area, show diff or at least integrate with aleix's vcs view
  • review area needs UI love
  • toolbars must stay area dependent, there seems to be a bug on startup

Kate Plugins

  • some useful plugins we want in kdevelop
    • sql?
    • xml?
  • most are not useful, or simply duplicate stuff in kdevelop
  • requires new ktexteditor interface most probably, question is whether this is accepted by kate guys

only two plugins, not really useful?

Quanta / External Plugins

  • executescript kdevplatform
  • dissolve quanta, sorry guys - my bad :-/ (milian)
    • kdereview -> kdevelop/plugins: (with alpha release afterwards)
      • executebrowser -> Niko maintainer
      • css -> Milian/Niko maintainer
      • xdebug -> Niko maintainer, needs to be checked first
      • qmake -> Milian maintainer, stabilize first
      • phpformatter into PHP repo -> Milian maintainer, review first
    • playground/kdevelop:
      • move rest out of quanta on-demand
      • most can be built stand-alone from quanta sources anyways
      • upload?? look at it, maybe release it as well

TODO: milian ask nicolas about moving out the plugins into own repo

Targets in ProjectManagerView

  • project view filter can be used
  • special ctest handling in cmake might be useful
    • cdash property?
    • milian: ask neundorf about it
    • removed those in master

Sessions UI

  • menu does scale
    • like recent files, limit to N last sessions
    • session picker as fallback for other sessions
  • session picker:
    • needs UI love
    • hide QUUid
    • integrate delete/rename simpler
      • QDBus querying for whether it's possible to delete/rename
  • krunner gets merged, yay

Output View

  • try to use konsole for output
    • needs work in konsole
    • pros:
      • performance
      • colors
      • ...
    • cons:
      • f4/jump to error
      • portability?
    • make it as GSOC project?

Chromium-like UI

  • relayout stuff, i.e. put useful quickopen stuff below tabs
  • requires niko's browser-like tabs

[tab1] [tab2] [tab3] [tab4] [tab5] ...

[quickopen file:/...] [outline]

Browser-like Tabs

  • needs fixes in global history
  • try to merge it

Thu

  • wrap up & leave home

Discussion TODO

not so controversial

  • [DONE] merge control flow into kdevplatform
  • [DONE] merge qmake into kdevelop
  • [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...
  • gluon integration
  • handle rename/delete of file in editor view
  • handle switching branch -> reload open (changed) files
  • port mailing list to kde infrastructure
  • improve website / wikis / ...
    • promotion part
  • integrate wiki documentation

controversial

  • browser-like tabs
  • welcome page
  • drag&drop
  • merge aleix's thesis work
    • it was reviewed, some changes need to be done, when done patches will be sent to kdevelop's mailing list

very controversial

  • destroy areas
  • chromium-like UI

Hacking TODO

  • remove/disable/fix failing unit tests
  • [DONE] fix QWarnings (esp. timer issues etc.)
  • go through review requests
  • extended cli support (open in existing instance)
    • requires extended dbus interface
    • note David's kdevelop_attach
  • krunner integration (session)

Browser-like Tabs TODO

  • [DONE] remove Ctrl-T or bind it to what Ctrl-N does
  • [DONE] Ctrl-N should open new file in a new tab
  • global history improvements