KDevelop/Meeting2011: Difference between revisions

From KDE Community Wiki
 
(22 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 46: Line 50:
* TODO: Get a build bot running
* TODO: Get a build bot running
** either on every commit (much work)
** either on every commit (much work)
** or at least once a day (single to implement)
** or at least once a day (simple to implement)
* TODO: Get a unit test bot running
* TODO: Get a unit test bot running
** requirements:
** requirements:
Line 55: Line 59:
* TODO: ask PovAddict on his experience with build bot + unit tests
* TODO: ask PovAddict on his experience with build bot + unit tests


==== Gluon ====
==== Gluon Creator ====


* try to rebase gluoncreator on kdevplatform
* try to rebase gluoncreator on kdevplatform
Line 71: Line 75:
* try to run unit tests regularily
* try to run unit tests regularily


=== Wed ===
=== Thu ===


==== Project Dashboard ====
==== Project Dashboard ====
Line 82: Line 86:


plasmoids:
plasmoids:
* vcs commit log (provided by vcs plugin)
* file contents view
* webslide
* feedreader


* vcs commit log (provided by vcs plugin)
use cases:
* project info:
* project website news (feed reader)
** news
* project resources: bugtracker, mailing list, ... (webslide / file contents view)
** resources (bugtracker, mailing list, irc...)
* recent commits (vcs plugin)
* notes, i.e. personal todo, project todo, ... => file view / webslide?
 
==== 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 ====


=== 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 123: 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 ===
Line 133: Line 257:


* remove/disable/fix failing unit tests
* remove/disable/fix failing unit tests
* fix QWarnings (esp. timer issues etc.)
* [DONE] fix QWarnings (esp. timer issues etc.)
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0
* go through review requests
* go through review requests
* extended cli support (open in existing instance)
* extended cli support (open in existing instance)
** requires extended dbus interface
** requires extended dbus interface
** note David's kdevelop_attach
* krunner integration (session)
* 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