Quickly2
Ubuntu Opportunistic Developers Week March 2010 - What's new in Quickly 0.4 - Didier Roche - Mar 3 2010
(01:01:34 PM) didrocks: awesome laszlok, thanks for your session :) Just a question, when will you do a Quickly template for a cairo project? :p (kidding) (01:01:57 PM) didrocks: so, welcome everyone on the session about Quickly 0.4 (01:02:04 PM) didrocks: [SLIDE 1] (01:02:49 PM) didrocks: who is interested on what we backed for Quickly 0.4? hands up in -chat! (01:03:34 PM) didrocks: nice (01:03:58 PM) didrocks: so, I'm Didier Roche, one of the Quickly developer and also desktop team member (01:04:05 PM) didrocks: (and fresh ubuntu core dev :)) (01:04:35 PM) didrocks: for people not seeing the slide, you can get them at http://people.canonical.com/~didrocks/Quickly-0.4.pdf (01:04:47 PM) didrocks: it should be on the Session tab in lernid (01:05:04 PM) didrocks: so, first, what this session is *not* about (01:05:48 PM) didrocks: this session isn't a presentation of Quickly. This has already been done later this week by Rick Spencer. logs availabled at https://wiki.ubuntu.com/MeetingLogs/OpWeek1003/Quickly (01:06:03 PM) didrocks: [SLIDE 2] (01:06:16 PM) didrocks: (at least, it works me in lernid :p) (01:06:23 PM) didrocks: (and that's not Quickly's fault ;)) (01:06:45 PM) didrocks: so, 0.4 is unfortunately still in development (01:06:56 PM) yofel_ is now known as yofel (01:07:06 PM) didrocks: it still needs some stuff to be added in launchpad to make things easier (01:07:19 PM) didrocks: and I prefer to do that the right way than a quickly screenscrapping (01:07:38 PM) didrocks: so, warning, it's unstable, the current version is 0.3.5 (01:07:52 PM) didrocks: I hope to release the stable version before lucid beta 1 (01:08:05 PM) didrocks: in any case, Quickly 0.4 will be in lucid :) (01:08:14 PM) didrocks: so, a little about stats (01:08:37 PM) didrocks: last version which is 0.2.6 has been release approximately 6 months before (01:08:44 PM) didrocks: and a lot happens in 6 months :) (01:09:07 PM) didrocks: you can see some stats for the addicts: 250 commits and 12930 changed lines (01:09:40 PM) didrocks: to be honest, some file had been moved, so if we want to be fair, I would say 4000 code of code have been really impacted (01:09:58 PM) didrocks: it's a lot, and I'll show you now what are in those lines :) (01:10:04 PM) didrocks: [SLIDE 3] (01:10:26 PM) didrocks: souces: how to be informed of what's new? (01:10:37 PM) didrocks: well, this session is dedicated to that, so that's a good first step :) (01:10:51 PM) didrocks: (I'll probably blog on planet ubuntu too when Quickly 0.4 will be out) (01:11:08 PM) didrocks: a more detailed sources the NEWS file in trunk (01:11:14 PM) didrocks: I try to keep it pretty complete (01:11:38 PM) didrocks: and of course, if you want full details, you have to read the 250 commits :) (01:12:59 PM) didrocks: let's first see what's the most noticeable changes (01:13:00 PM) didrocks: the first thing is that the ubuntu-project template (the only one which existed in 0.2.x) is no more… (01:13:00 PM) didrocks: don't be panic, it has just been renamed ubuntu-application (01:13:07 PM) didrocks: of course, existing project will be transitionned appropriately so that you don't have to change anything for existing Quickly users (01:13:44 PM) didrocks: Quickly 0.4 will welcome at least one new template, and even maybe a third one in trunk :) (01:14:08 PM) didrocks: ubuntu-cli template is to create a command line soft with all the ubuntu-application intgration (01:14:23 PM) didrocks: (a lot of people asked for a cli template :)) (01:14:56 PM) didrocks: ubuntu-game (or pygame, or whatever) will be detailed later in this week by Rick, you should be already aware of that if you read planet ubuntu (01:15:29 PM) didrocks: also, artfwo (thanks to the template inheritance I'll described later) is beginning to implement a gedit-plugin template (01:15:38 PM) didrocks: so, a lot of goodness to come in a very short time :) (01:15:57 PM) didrocks: [SLIDE 4] (01:16:47 PM) didrocks: as there is no question, let's dive a little bit more on what's interest most of you: ubuntu-project… hum… ubuntu-application new capability ;) (01:17:18 PM) didrocks: first thing (and I'll come back later on that) you have to understand is that your existing app will be converted for 0.4 (01:17:38 PM) didrocks: it will be the first time you run a quickly command on it (01:17:44 PM) didrocks: (also if you proceed some tab completion) (01:17:57 PM) didrocks: that's needed and it's a new Quickly core capability (01:18:18 PM) didrocks: that implies that projects which will be converted to Quickly 0.4 won't work anymore with a previous version of Quickly (01:18:34 PM) didrocks: (it's still possible to convert back by hand, but complicated) (01:19:02 PM) didrocks: as I wrote, ubuntu-application in 0.4 has a new versionning scheme (01:19:17 PM) didrocks: that means that project will follow by default ubuntu way of versionning thing (01:19:36 PM) didrocks: for instance, if I run "quickly release" just now, my release will be 10.03 (01:19:50 PM) didrocks: if I run quickly release again, it will be 10.03.1 (01:19:53 PM) didrocks: and so on :) (01:20:12 PM) didrocks: you are still able to provide your release version yourself (01:20:30 PM) didrocks: the second point is the most tricky one but the one on the top priority list (01:20:59 PM) didrocks: did you have some troubles setting up your gpg and ssh key on LP to make your first quickly share/quickly release? (01:21:31 PM) didrocks: that will be (we hope) part of the past in 0.4! (01:22:02 PM) didrocks: this is what I'm currently working and that needs a lot of work on launchpad side… and I'm not a LP hacker (01:22:34 PM) didrocks: so, normally, if you don't have one, Quickly will do everything for your (01:22:36 PM) didrocks: you* (01:23:03 PM) didrocks: also, selecting the right email adress through some algorithms :) (01:23:14 PM) didrocks: moving on… (01:23:23 PM) didrocks: quickly license has been totally reshaped (01:23:45 PM) didrocks: no more Copyright file which populate an AUTHOR file, you will only have to edit the AUTHOR one (01:23:53 PM) didrocks: (this confused some people before) (01:24:05 PM) didrocks: the next one is more interesting (01:24:36 PM) didrocks: when you quickly release, your changelog will automatically be collected with all the messages you provided in "quickly save <your message>" from the last release (01:24:45 PM) didrocks: it will create a release and milestone on launchpad (01:24:57 PM) didrocks: upload your tarball too to be available on the first page (01:25:08 PM) didrocks: and create an annoucement with your changelog (01:25:39 PM) didrocks: of course, as a good upstream, it signs the tarball file too (as it's recommended as a best practice) (01:26:04 PM) didrocks: you can see what it gives on my test project: https://edge.launchpad.net/fooby (01:26:45 PM) didrocks: next point is ppa (01:27:01 PM) didrocks: when Quickly 0.2 was released, launchpad only enabled you to have one ppa (01:27:06 PM) didrocks: which was called… "ppa" (01:27:19 PM) didrocks: things have changed now and you can have multiple ppa (01:27:40 PM) didrocks: also, some people would like to upload the package to a team ppa (01:27:46 PM) didrocks: and to be honest, that makes sense :) (01:27:59 PM) didrocks: so, now, you can upload to any ppa you want (01:28:10 PM) didrocks: either by providing --ppa <ppa_name> (01:28:16 PM) didrocks: to quickly share and release (01:28:33 PM) didrocks: or to put it as a default with quickly configure ppa <ppa_name> (01:28:51 PM) didrocks: of course, shell completion still works there and give you the list of all ppa you have access (01:29:04 PM) didrocks: (/!\ it's slow on LP side, can take more than 10s) (01:29:22 PM) didrocks: ppa_name can be: "myppa" or "team/ppaname" (01:29:32 PM) didrocks: and shell completion works for everycase :) (01:30:08 PM) didrocks: on another aspect, as I wrote some commands have been rename to be more consistent (01:30:15 PM) didrocks: quickly dialog is now quickly add dialog (01:30:31 PM) didrocks: (that will avoid in the futur to have 50 commands in a template) (01:30:44 PM) didrocks: quickly lp-project is quickly configure lp-project (01:30:50 PM) didrocks: and quickly glade is now quickly design (01:31:22 PM) didrocks: of course, as always, statement completion is here to help you to find commands name and arguments to the commands :) (01:31:49 PM) didrocks: for instance quickly configure [tab][tab] will show you all available options like ppa, lp-project, bzr (01:32:08 PM) didrocks: [SLIDE 5] (01:32:21 PM) didrocks: ah, I like very much next option :) (01:32:44 PM) didrocks: when you "quickly release", now, you will have the about dialog automatically refreshed (01:33:31 PM) didrocks: that means, your logo, but also the new version number appears, the Copyright holder, the homepage, the Credit (authors) button and license one (01:33:55 PM) didrocks: so, no need to before or to think about them, Quickly is handling that for you :) (01:34:11 PM) didrocks: that avoid to make a .1 release with "I forgot to…" (01:34:37 PM) didrocks: next item (no, not the blank one) had been asked also by a lot of persons (01:34:48 PM) didrocks: being able to add manual dependencies (01:35:08 PM) didrocks: "why care, quickly already grab all the depends for us?" you will tell me… (01:35:17 PM) didrocks: that's both true and false to be honest :) (01:35:58 PM) didrocks: for instance, if you launch a command yourself as a subprocess pythondistutils-extra won't find it and you will have a missing dependency (01:36:15 PM) didrocks: so now, for that, you can just fire away $ quickly configure dependencies (01:36:36 PM) didrocks: as "dependencies" is typo-prone, think about using shell completion for that too :) (01:37:17 PM) didrocks: next thing is bzr branch, as for ppa, you can tell where you can push and pull your code if you are interested in :) (01:37:44 PM) didrocks: quickly configure bzr of course :) (01:38:26 PM) didrocks: maybe the tutorial which (I'm afraid) is still not internationalized will be thanks to fagan. But nothing sure yet, still ongoing work :) (01:39:09 PM) didrocks: of course, this was only the most important things I can list for that session for ubuntu-application template, but there are a lot of various fixes, new licenses available, packagin tweak, internationalized application, and so on :) (01:39:27 PM) didrocks: [SLIDE 6] (01:39:47 PM) didrocks: oh btw, I forgot about the apport hook! (01:40:08 PM) didrocks: all project will come (but you can still disabling that if you don't want) an apport hook by default (01:40:32 PM) didrocks: and the menu will have the launchpad addition for translation and help in the help menu (01:40:51 PM) didrocks: ok, so, now, really slide 6 :) (01:41:14 PM) didrocks: this is for prospective template developers and people interested in making a GUI for Quickly (01:41:29 PM) didrocks: first thing is importing commands between templates is available (01:41:44 PM) didrocks: QUESTION: does having an apport hook mean that if the program crashes and stuff you can send a detailed report to the launchpad project? (01:41:53 PM) didrocks: dbell: exactly :) (01:42:06 PM) didrocks: and you get that for free :) (01:42:17 PM) didrocks: so, back on importing commands (01:42:33 PM) didrocks: if one day you want to look at the ubuntu-cli template (01:42:42 PM) didrocks: you will see that there is 0 line of code (01:42:49 PM) didrocks: yes, no typo, I said 0! (01:43:10 PM) didrocks: it's just a new boiler plate, and I import all commands from ubuntu-application (01:43:44 PM) didrocks: so, basically, there is a commandsconfig with: (01:43:50 PM) didrocks: [ubuntu-application] (01:43:51 PM) didrocks: IMPORT=configure;create;edit;license;package;release;run;save;shar (01:44:14 PM) didrocks: (for obvious reason for a cli template, I don't import design and add dialog :)) (01:44:30 PM) didrocks: and then, I can create a ubuntu-cli application, edit, licence, package… (01:44:59 PM) didrocks: and get statement completion for all of those using the new boiler plate code :) (01:45:12 PM) didrocks: so, creating a template from an existing one is really really easy (01:45:17 PM) didrocks: QUESTION: Will apps still work if python-launchpad-integration isn't installed (eg. on other distros) (01:45:40 PM) didrocks: RainCT: we try to include that as a patch, so that pristine tarball doesn't have that code and so other distros aren't impacted (01:45:56 PM) didrocks: (it's basically a try: pass) (01:46:28 PM) didrocks: well, other functions (quickly ;)) (01:46:33 PM) didrocks: you can now pass option to template (01:46:37 PM) didrocks: we have apport integration (01:46:44 PM) didrocks: so ubuntu-bug quickly is your friend :) (01:47:09 PM) didrocks: as I told you, you can now quickly configure [tab][tab] --ppa [tab][tab] (01:47:20 PM) didrocks: that means that the core has now option completion for you (01:47:35 PM) didrocks: we handle template upgrade (01:47:47 PM) didrocks: (even if you launch a command from one template into another project) (01:47:59 PM) didrocks: like quickly --template my-awesome-template foocommand (01:48:07 PM) didrocks: we have also now an API (01:48:24 PM) didrocks: so, if you want to build a GUI or integrate it into an IDE, that's the way to go :) (01:48:40 PM) didrocks: of course, in addition to thing, many fixes and refactoring (01:48:46 PM) didrocks: [SLIDE 7] (01:49:07 PM) didrocks: I've already talked about the ubuntu-cli template (01:49:24 PM) didrocks: the most important thing is that it's a new boiler plate for no code for the commands :) (01:49:55 PM) didrocks: if you want to implement your own template with import of ubuntu-application command, that's where to look for examples (01:50:03 PM) didrocks: QUESTION: Any examples on the API? (01:50:34 PM) didrocks: osteenbergen47: basically, you just have to "from quickly import api" and then, look at the api file (01:50:49 PM) didrocks: if you are interested in that, join #quickly and I can help you :) (01:50:58 PM) didrocks: QUESTION: is there a tutorial on how to do own/custom templates ? (01:51:12 PM) didrocks: oskude: I've written one for Quickly 0.2, let me find the link (01:51:45 PM) didrocks: http://blog.didrocks.fr/index.php/post/Build-your-application-quickly-with-Quickly%3A-Inside-Quickly-part-6 (01:52:08 PM) didrocks: (and now, I kill my Internet connexion as I host myself my server ;)) (01:52:27 PM) didrocks: this is quite outdated (01:52:33 PM) didrocks: I will refresh that once 0.4 out (01:52:41 PM) didrocks: [SLIDE 8] (01:52:52 PM) didrocks: so, you want to try Quickly 0.4? (well, 0.3.5) (01:53:09 PM) didrocks: as I mentionned before, we warned, you can't convert back your project to the previous format (01:53:39 PM) didrocks: and I don't have the time to ensure that everycommand works at each commit, but I try to fix the issue within the day (01:53:54 PM) didrocks: so, jump into #quickly, so that you can yell at me that it's broken :) (01:54:03 PM) didrocks: and if you want to test, branch the trunk (01:54:07 PM) didrocks: bzr branch lp:quickly (01:54:20 PM) didrocks: export PATH=<path_to_your_trun>/bin:$PATH (01:54:27 PM) didrocks: (note the /bin :)) (01:54:40 PM) didrocks: quickly --version should normally answer you about the current version (01:54:49 PM) didrocks: [SLIDE 9] (01:55:10 PM) didrocks: of course special thanks to Rick to have the idea of this project (01:55:21 PM) didrocks: and he will do the two next session, stay around :) (01:55:37 PM) didrocks: also some contributors are really awesome and help pushing the project further :) (01:55:47 PM) didrocks: [SLIDE 10] (01:55:57 PM) didrocks: so, taking questions now in the 5 remaining minutes (01:56:22 PM) didrocks: QUESTION: Is there an easy way to try fresh quickly on Karmic? The straightforward setup.py build/install way results in a lot of errors. (01:56:34 PM) didrocks: right, there is a bug logged about that (01:56:46 PM) didrocks: I don't see anything preventing for backporting to karmic (01:56:49 PM) didrocks: BUT (01:56:55 PM) didrocks: you need last distutils-extra version (01:57:09 PM) didrocks: (else you can't add depends, nor you have the automated changelog goodness) (01:57:26 PM) didrocks: and I probably have to fix setup.py (01:57:37 PM) didrocks: I think I'll try to provide a package in the quickly ppa for karmic (01:57:44 PM) didrocks: QUESTION: Is there a ppa-daily of Quickly for auto installing the last one? (01:58:07 PM) didrocks: there is a daily ppa, jcastro was the owner IIRC, I don't know the current state to be honest (01:58:18 PM) didrocks: I think export PATH is more convenient :) (01:58:30 PM) didrocks: and that's what I do everyday :) (01:59:12 PM) didrocks: well, of course the day we can do "quickly release lucid", I think Quickly will take some thousands lines of code :) (01:59:18 PM) jcastro: The dailies work, if they don't work for you just poke me. (01:59:32 PM) didrocks: but as I still like my job, it won't happen :) (01:59:50 PM) didrocks: I guess it's time :) (01:59:53 PM) didrocks: and thanks jcastro (01:59:59 PM) didrocks: thanks all for your attention (02:00:14 PM) didrocks: now, stage is to you rickspencer3 (02:00:33 PM) didrocks: and thanks for having launched Quickly once more :)
MeetingLogs/OpWeek1003/Quickly2 (last edited 2010-03-03 19:01:09 by pool-71-182-100-128)