Development

Events/PluginDevsDay20081108: Plugin_Developers_Day_abridged_#symfony_2008-11-08.log

You must first sign up to be able to contribute.

Events/PluginDevsDay20081108: Plugin_Developers_Day_abridged_#symfony_2008-11-08.log

File Plugin_Developers_Day_abridged_#symfony_2008-11-08.log, 70.0 kB (added by hal, 9 years ago)

Abridged transcript of Plugin Developer Day (PDD) - #symfony 08/11/2008

Line 
1 **** BEGIN LOGGING AT Sat Nov 08 06:53:29 2008
2
3 Nov 08 06:53:29 *   Now talking on #symfony
4 Nov 08 06:53:29 *   Topic for #symfony is: Welcome to #symfony | Stable: sf1.1 | sf1.2 in beta now | Site: http://www.symfony-project.org | Docs: http://www.symfony-project.org/doc/ | Blog: http://www.symfony-project.org/blog/ | Help also available on the mailing list: http://www.symfony-project.org/community | This channel is logged, please use #symfony-off for offtopic chat
5 Nov 08 06:53:29 *   Topic for #symfony set by fabpot at Sat Nov 01 19:21:18 2008
6 Nov 08 06:53:29 *   #symfony :http://www.symfony-project.com/
7
8 Nov 08 14:53:32 <kriswallsmith> SecureSymfony: hello -- i'll be here all day, so hopefully my session will serve as a transcript
9 Nov 08 14:58:19 <annis> so, I got sf12 setup *grins*
10 Nov 08 14:59:03 <kriswallsmith> if you're here for the plugin day, please take a look at the latest blog article
11 Nov 08 14:59:05 <kriswallsmith> http://www.symfony-project.org/blog/2008/10/22/plugin-developers-day
12 Nov 08 14:59:22 <kriswallsmith> oops... http://www.symfony-project.org/blog/2008/11/08/additional-tasks-to-streamline-your-workflow
13 Nov 08 15:01:13 <Garfield-fr>   kriswallsmith: http://trac.symfony-project.org/ticket/4868
14 Nov 08 15:02:36 <kriswallsmith> Garfield-fr: this works for me by running "export SYMFONY=/path/to/symfony/lib"
15 Nov 08 15:02:50 <kriswallsmith> Garfield-fr: i haven't tried that on windows yet though
16 Nov 08 15:02:59 <kriswallsmith> Garfield-fr: the technique may need adjusting
17 Nov 08 15:03:11 <Garfield-fr>   Not good solution because i have 3 versions on my laptop
18 Nov 08 15:03:23 <SecureSymfony> Garfield : SET SYMFONY
19 Nov 08 15:03:56 <SecureSymfony> Garfield-fr : You can set it in your APACHE
20 Nov 08 15:04:41 <Garfield-fr>   For basic user, this is not a good idea
21 Nov 08 15:04:55 <kriswallsmith> the first "session" lasts for two hours -- "Creating and releasing a plugin"
22 Nov 08 15:05:40 <kriswallsmith> before we get into that i'd like to chat a bit about when it's a good time to create a plugin
23 Nov 08 15:06:39 <kriswallsmith> i personally am creating many more plugins than i'm releasing to the community
24 Nov 08 15:07:18 <kriswallsmith> working with plugins more as packages of what i reuse between projects
25 Nov 08 15:07:45 <kriswallsmith> is anyone else working like this?
26 Nov 08 15:07:54 <kjaer_>    Yes.
27 Nov 08 15:07:54 <klemens_u> yes, I do
28 Nov 08 15:07:56 <fabpot>    yep, a lot
29 Nov 08 15:08:01 <nervo> also
30 Nov 08 15:08:11 <fabpot>    I never use the modules directory of the apps
31 Nov 08 15:08:15 <fabpot>    everything in a plugin
32 Nov 08 15:08:20 <pcahard>   I have never share my plugins, but I will
33 Nov 08 15:08:21 <fabpot>    or plugins for that matter
34 Nov 08 15:08:24 <klemens_u> especiall for reusable parts on multiple projects
35 Nov 08 15:08:34 <nervo> i also use plugins when a functionnal process need to shqre elements in many different places
36 Nov 08 15:08:37 <klemens_u> fabpot: same for me
37 Nov 08 15:08:39 <fabpot>    klemens_u: even without sharing things between projects
38 Nov 08 15:08:50 <fabpot>    it is a nice way to organize your projects
39 Nov 08 15:08:54 <klemens_u> pcahard: thats my idea for today as well
40 Nov 08 15:09:00 <kriswallsmith> yes, i think it's an excellent workflow
41 Nov 08 15:09:01 <Henrik|away>   kriswallsmith: yes a good idea, especially when you have more websites who share functionality and not design, ex. the plugin modules can be overwritten in the app module template folder
42 Nov 08 15:09:34 <kriswallsmith> so we are trying to streamline this for everyone with some new tasks in the sfTaskExtraPlugin
43 Nov 08 15:09:35 <quickdev>  kriswallsmith, I'm working like that. Have many unreleased plugins shared between my projects, too.
44 Nov 08 15:09:39 <digitalbase>   fabien told something on the symfony camp that for most applications he groups functionality into plugins, instead of putting everything in the application
45 Nov 08 15:09:55 <Henrik|away>   fabpot: nope that way you are using the plugin dir as a modules directory imo
46 Nov 08 15:10:01 <Nebelmann> digitalbase: that's what he just said :)
47 Nov 08 15:10:13 <digitalbase>   yeah, and that's what i am confirming :)
48 Nov 08 15:10:23 <kriswallsmith> there are only a few in there right now, but it will grow to ease some of the more cumbersome parts of this process
49 Nov 08 15:10:26 <nervo> it seems that we all undestand well the concept of "plugin" :)
50 Nov 08 15:10:33 <fabpot>    Henrik|away: not really, this way a plugin can nicely package the model, modules, libs, tasks, ...
51 Nov 08 15:11:13 <digitalbase>   one thing would be nice to talk about ( a downside of using plugins for grouped functionality) is using foreign keys between different schema.xmls
52 Nov 08 15:11:15 <Henrik|away>   yes but still if you are not gonna share it someway or anothen then i breaks the directory structure and you are just changing the directory structure
53 Nov 08 15:11:27 <klemens_u> kris: can you give a short introduction on the features of the sfTaskExtraPlugin please?
54 Nov 08 15:11:33 <Nebelmann> but why put everything in plugins if the business rules can't be applied to other apps?
55 Nov 08 15:11:39 <kriswallsmith> digitalbase: i'll make a note
56 Nov 08 15:11:48 <Henrik|away>   Nebelmann: my point exactly
57 Nov 08 15:11:58 <hal>   digitalbase, yes, that is something that I want to know about
58 Nov 08 15:12:16 <lukaswoj>  digitalbase: yea, me too
59 Nov 08 15:12:24 <klemens_u> digitalbase: is this a propel specific problem? I think so because it works well in doctrine
60 Nov 08 15:13:26 <digitalbase>   i think so, we'll talk about that later, because there are some workarounds, but i'll leave it up to kriswallsmith to start that discussion
61 Nov 08 15:13:33 <hal>   to be clear, digitalbase, are you also talking about , dependencies on other plugins, and making the new plugin work regardless of whether a specific plugin is installed?  Let me give an example...
62 Nov 08 15:13:33 <SecureSymfony> Klemens_u: there is a new blog of sfTaskExtraPlugin : http://www.symfony-project.org/blog/2008/11/08/additional-tasks-to-streamline-your-workflow
63 Nov 08 15:13:38 <klemens_u> kriswallsmith: taking notes is good idea. I think we need to focus on one theme at a time, or its gonna... (140 people!)
64 Nov 08 15:14:17 <kriswallsmith> the latest article in the plugins tag give a good introduction to the new tasks
65 Nov 08 15:14:26 <kriswallsmith> http://www.symfony-project.org/blog/2008/11/08/additional-tasks-to-streamline-your-workflow
66 Nov 08 15:14:33 <digitalbase>   hal, just linking a foreign key to another plugin. For example you create a NewsPlugin, in newsitem you want to define a FK to sfGuardUser.id. This will fail when building the model
67 Nov 08 15:15:07 <hal>   digitalbase, say you built a forum plugin, and you have a table with a createdby_user column which is a FK to the sfGuardUser table.  How do you make your plugin easily work with another user-management plugin?  (maybe the user already has his own custom user-management or auth module built into the app_
68 Nov 08 15:15:29 <digitalbase>   kriswallsmith, any thoughts/ideas on porting this plugin to 1.1 too ?
69 Nov 08 15:16:02 <digitalbase>   hal, i personally don't think this is something we should get into detail now. I am sure we can talk about this later today
70 Nov 08 15:16:08 <annis> you'd have to make that a config variable (user_id_FK_table.user_id_FK_name)
71 Nov 08 15:16:17 <Nebelmann> fabpot: I understand why you only use plugins, but then what can the apps/modules dir be used for?
72 Nov 08 15:16:23 <SecureSymfony> hal: This should be discuss later
73 Nov 08 15:16:24 <kriswallsmith> i need suggestions for a new plugin we can talk through the creation of
74 Nov 08 15:16:28 <kriswallsmith> any ideas?
75 Nov 08 15:16:49 <fabpot>    Nebelmann: it is just another way to code. Both have advantages
76 Nov 08 15:16:56 <digitalbase>   kriswallsmith, with or without the reference to a "foreign" schema.xml ?
77 Nov 08 15:17:06 <Henrik|away>   kriswallsmith: a faker like plugin to generate test data
78 Nov 08 15:17:09 <Henrik|away>   that are realistiv
79 Nov 08 15:17:12 <hal>   Nebelmann, I second that question - what would you leave in the app?
80 Nov 08 15:17:20 <Henrik|away>   mayb inspired by Ruby Faker gem
81 Nov 08 15:17:29 <kriswallsmith> is everyone familiar with sfGuardPlugin?
82 Nov 08 15:17:29 <jamiel>    I think the apps/modules directory will always be neccessary, but I like the idea of packaging reusable components in plugins
83 Nov 08 15:17:50 <hal>   kriswallsmith, yes
84 Nov 08 15:17:51 <fabpot>    hal: app.yml and general settings, that's all
85 Nov 08 15:17:51 <digitalbase>   i think we should keep it simpler. maybe make a sfNews plugin or something ?
86 Nov 08 15:17:57 <quickdev>  kriswallsmith, I would have a plugin idea
87 Nov 08 15:18:03 <hal>   fabpot, ok, thank you
88 Nov 08 15:18:08 <Nebelmann> but it's not easy to think of what *could* be reused in another project...
89 Nov 08 15:18:11 <SecureSymfony> Please, can we stay on track... Those are good questions, that we'll talk later!
90 Nov 08 15:18:22 <annis> kriswallsmith: building manageable navigations
91 Nov 08 15:19:00 <annis> but I'm familiar with sfGuardPlugin (how about adding the ability to explicitly removing privileges from users/groups?)
92 Nov 08 15:19:05 <digitalbase>   guys, this plugin will be used as a reference, it will not be a fully featured plugin, lets keep it simple
93 Nov 08 15:19:15 <quickdev>  KRISWALLSMITH, atm I'm trying to create a plugin for my test environment. The plugin should be able to load and save various 'scenarios' for application testing. For example "User is registered" or "User A is in State xy". To test some things in those situations.
94 Nov 08 15:19:16 <hal>   Whatever example app you build, please ensure it has multiple tables, with a mix of relations (ie 1-2-m and m2m
95 Nov 08 15:19:41 <KRISWALLSMITH> since it's an excellent example that we're all familiar with, let's talk through how we would write sfGuardPlugin if it didn't already exist
96 Nov 08 15:19:51 <annis> cool
97 Nov 08 15:20:00 <hal>   KRISWALLSMITH, ok
98 Nov 08 15:20:07 <digitalbase>   my suggestions : sfNewsPlugin, sfGuardSignupPlugin, sfGuardUserProfilePlugin
99 Nov 08 15:20:17 <hal>   KRISWALLSMITH, using doctrine or propel?
100 Nov 08 15:20:18 <pacogliss> is it possible to build a whole APP as a plugin ? (not a module or less)
101 Nov 08 15:20:34 <[MA]Pascal>    KRISWALLSMITH, with admin gen 1.2 compatability :)
102 Nov 08 15:20:35 <annis> see, two sfGuard things in there! (@digitalbase)
103 Nov 08 15:20:50 <KRISWALLSMITH> i am not on the doctrine bandwagon yet, so let's stick to propel for this first example
104 Nov 08 15:21:02 <SecureSymfony> Kris : Nice!
105 Nov 08 15:21:02 <annis> good, me too
106 Nov 08 15:21:20 <hal>   KRISWALLSMITH, be careful - the doctrine bandwagon will leave without you!!  ;-)
107 Nov 08 15:21:27 <KRISWALLSMITH> first -- since this is a propel plugin -- the name is not quite right
108 Nov 08 15:21:33 <digitalbase>   hal : -)
109 Nov 08 15:21:45 <Nebelmann> is a plugin some kind of app which can be embedded in any project?
110 Nov 08 15:21:50 <KRISWALLSMITH> if you use an ORM, include its name in your plugin's title
111 Nov 08 15:21:56 <annis> So, Kris... can we code along you? (sf1.2 sandbox?)
112 Nov 08 15:21:57 <hal>   Nebelmann, yes
113 Nov 08 15:22:38 <Nebelmann> so why should we package everything in an app if it's only designed for one project?
114 Nov 08 15:22:40 <annis> everyone, please stop talking and let Kris take the lead. :)
115 Nov 08 15:23:13 <Nebelmann> /app/plugin
116 Nov 08 15:23:25 <KRISWALLSMITH> so we'll call this plugin "myPropelGuardPlugin" ... agreed?
117 Nov 08 15:23:31 <hal>   Nebelmann, the only part worth putting into a plugin are parts that are useful in other apps
118 Nov 08 15:23:57 <digitalbase>   agreed
119 Nov 08 15:24:01 <KirilAngov>    ok
120 Nov 08 15:24:09 <SecureSymfony> Nebelmann : It's more a module that a complet app...  Usually.
121 Nov 08 15:24:34 <jamiel>    KRISWALLSMITH: If we were going to release this to the world later, would it be sfPropelGuardPlugin ?
122 Nov 08 15:24:51 <jamiel>    rather than my ?
123 Nov 08 15:24:58 <Nebelmann> jamiel: it's just an example...
124 Nov 08 15:25:06 <Nebelmann> I don't think it'll be released
125 Nov 08 15:25:13 <KRISWALLSMITH> yes, i'm using "my" for the purpose of this example
126 Nov 08 15:25:17 <Nebelmann> as sfGuardPlugin is already a good plugin
127 Nov 08 15:25:25 <KRISWALLSMITH> to avoid confusion
128 Nov 08 15:25:29 <jamiel>    I know ... I mean, is sf a requirement for plugins ? because there are some with different prefixes in the repo
129 Nov 08 15:25:42 <KRISWALLSMITH> anyway... i have a clean copy of the latest symfony 1.2 development checked using Subversion
130 Nov 08 15:25:54 <JPhilip>   Plugins now have a a Doctrine and Propel version, can we write plugins that are used for both like Symfony where a new data access layer could be added later?
131 Nov 08 15:26:46 <KRISWALLSMITH> so to create a new project on my mac, i open terminal and enter...
132 Nov 08 15:26:51 <KRISWALLSMITH> cd Sites
133 Nov 08 15:27:12 <KRISWALLSMITH> mkdir my_plugin_sandbox
134 Nov 08 15:27:21 <KRISWALLSMITH> cd my_plugin_sandbox
135 Nov 08 15:27:45 <KRISWALLSMITH> ~/Sites/symfony/1.2/data/bin/symfony init-project my_plugin_sandbox
136 Nov 08 15:28:09 <KRISWALLSMITH> i'll give folks a minute to do that...
137 Nov 08 15:29:47 <hal>   KirilAngov, I haven't used the sandbox before - is it fully self-contained
138 Nov 08 15:29:48 <hal>   ?
139 Nov 08 15:30:01 <hal>   KRISWALLSMITH, sorry, that was to you!
140 Nov 08 15:30:17 <annis> well, that doesn't work so well, since I only downloaded the sandbox from the site and don't have the latest svn version
141 Nov 08 15:30:19 <KRISWALLSMITH> next step is to install the sfTaskExtraPlugin
142 Nov 08 15:30:20 <hal>   KRISWALLSMITH, so I can run that alongside my other installations, and it won't affect them?
143 Nov 08 15:30:46 <annis> yes, you can
144 Nov 08 15:30:50 <jamiel>    @hal: this "sandbox" is just a fresh 1.2 project ..
145 Nov 08 15:30:56 <KRISWALLSMITH> ./symfony plugin:install sfTaskExtraPlugin --release=0.0.1 --stability=alpha
146 Nov 08 15:30:56 <annis> keep going Kris
147 Nov 08 15:31:21 <hal>   what is the svn url of the sandbox install?
148 Nov 08 15:31:38 <jamiel>    hal, just grab the latest 1.2 branch
149 Nov 08 15:31:44 <KRISWALLSMITH> the plugin's still an infant -- 0.0.1-alpha :)
150 Nov 08 15:32:36 <annis> damnit, I only have php 5.2.3 and not 5.2.4 :(
151 Nov 08 15:32:56 <pcahard>   about installation of plugins any solution for specify the release of symfony in argument than the release of the plugin ?
152 Nov 08 15:33:01 <KRISWALLSMITH> to step back -- you can checkout the symfony 1.2 branch where i have it (above) like so...
153 Nov 08 15:33:06 <KRISWALLSMITH> mkdir ~/Sites/symfony
154 Nov 08 15:33:09 <KRISWALLSMITH> svn co http://svn.symfony-project.com/branches/1.2 ~/Sites/symfony
155 Nov 08 15:33:54 <KRISWALLSMITH> do people have the sfTaskExtraPlugin installed?
156 Nov 08 15:34:02 <jamiel>    Yup
157 Nov 08 15:34:28 <lukaswoj>  me too
158 Nov 08 15:34:33 <KRISWALLSMITH> ./symfony list generate
159 Nov 08 15:34:38 <hal>   KRISWALLSMITH, nope - what's the url?
160 Nov 08 15:34:46 <JPhilip>   not yet
161 Nov 08 15:34:55 <annis> not yet
162 Nov 08 15:35:01 <KRISWALLSMITH> hal: ./symfony plugin:install sfTaskExtraPlugin --release=0.0.1 --stability=alpha
163 Nov 08 15:35:25 <hal>   KRISWALLSMITH, it would have been good to have a list of system requirements in the announcement, so that we could all have set our systems up before it started
164 Nov 08 15:35:26 <KRISWALLSMITH> hal: or svn co http://svn.symfony-project.com/plugins/sfTaskExtraPlugin/trunk plugins/sfTaskExtraPlugin
165 Nov 08 15:36:37 <KRISWALLSMITH> ok, let's generate our plugin now
166 Nov 08 15:36:58 <KRISWALLSMITH> ./symfony generate:plugin myPropelGuardPlugin
167 Nov 08 15:38:02 <KRISWALLSMITH> just found a bug in the pear version of the plugin -- you'll have to manually create your plugin's /lib folder
168 Nov 08 15:40:34 <KRISWALLSMITH> Nebelmann: correct
169 Nov 08 15:41:41 <KRISWALLSMITH> one thing we can do here, for instance, is check to make sure the propel plugin is enabled
170 Nov 08 15:44:10 <digitalbase>   could we briefly make a list of things that are considered 'good usage' in the configuration class ?
171 Nov 08 15:44:16 <KRISWALLSMITH> this can be done in the ->initialize() method by trying to call ->getPluginConfiguration('sfPropelPlugin')
172 Nov 08 15:46:33 <KRISWALLSMITH> the plugin configuration class replaces what was config.php in < 1.2
173 Nov 08 15:46:40 <KRISWALLSMITH> so this is where you'll connect to events ($this->dispatcher)
174 Nov 08 15:46:42 <KRISWALLSMITH> or register propel behaviors -- sfPropelBehavior::register(Methods|Hooks)
175 Nov 08 15:47:06 <digitalbase>   so : connect to events, checking/enabling other plugins, registering behavious, check for certain dependancies
176 Nov 08 15:47:22 <KRISWALLSMITH> digitalbase: right.
177 Nov 08 15:47:42 <KRISWALLSMITH> that list may grow as more devs begin to use these classes though
178 Nov 08 15:47:55 <JPhilip>   Can we create an ORM independent plugin instead of a propel specific? and add data access layers later.
179 Nov 08 15:48:11 <KRISWALLSMITH> fabpot: do you want to add to what belongs in a configuration initialization?
180 Nov 08 15:48:36 <digitalbase>   JPhilip, i don't think you can, if you really want ORM independancy (propel/doctrine) you could make a dbFinder plugin
181 Nov 08 15:49:15 <jamiel>    Maybe adding conditional routes can go in there?
182 Nov 08 15:49:23 <digitalbase>   no :)
183 Nov 08 15:49:28 <JPhilip>   It is just a pain to have 2 versions of each plugin that does data access
184 Nov 08 15:49:55 <KRISWALLSMITH> jamiel: yes, adding routes is done using $this->dispatcher->connect()
185 Nov 08 15:50:08 <digitalbase>   routing rules should go in : myPropelGuardPluginRouting.class.php
186 Nov 08 15:50:33 <digitalbase>   you only register those in the config
187 Nov 08 15:52:31 <KRISWALLSMITH> so our config class looks something like this: http://www.hashbin.com/td2
188 Nov 08 15:53:20 <KRISWALLSMITH> there's plenty more that can be done there, but let's move on for now
189 Nov 08 15:54:24 <KRISWALLSMITH> should we take a look at the test directory next, or start building the plugin?
190 Nov 08 15:54:44 <lukaswoj>  test first imo :)
191 Nov 08 15:55:52 <jamiel>    Yes please, I have two questions regarding the test directory
192 Nov 08 15:56:11 <jamiel>    Unless it's going to be covered later in functional testing your plugin
193 Nov 08 15:56:31 <Nebelmann> KRISWALLSMITH: I have problems accessing hashbin...
194 Nov 08 15:56:47 <KRISWALLSMITH> let's write a unit test to verify the exception we've added to the configuration class
195 Nov 08 15:57:45 <Nebelmann> well, www.hashbin.com works, but with /td2 it doesn't :)
196 Nov 08 15:58:13 <lukaswoj>  should'nt we add test first ? ;)
197 Nov 08 15:58:35 <KRISWALLSMITH> i've created a /test/unit/configurationTest.php in myPropelGuardPlugin: http://pastie.org/310145
198 Nov 08 15:59:35 <klemens_u> KRISWALLSMITH: @testing plugin: Bernhard Schussek and I would like to talk a bit more about this topic
199 Nov 08 15:59:49 <klemens_u> Can you take a note on that?
200 Nov 08 16:00:15 <KRISWALLSMITH> klemens_u: ok -- you guys can say some about testing plugins after we write this test?
201 Nov 08 16:00:20 <klemens_u> We can do this later
202 Nov 08 16:00:38 <klemens_u> It's more like questions not a speech :-)
203 Nov 08 16:01:00 <KRISWALLSMITH> klemens_u: after we write this test
204 Nov 08 16:05:28 <KRISWALLSMITH> here's the unit test i wrote -- http://pastie.org/310145
205 Nov 08 16:05:57 <KRISWALLSMITH> does this make sense to everyone?
206 Nov 08 16:06:06 <lukaswoj>  kris: where You put that code ?
207 Nov 08 16:06:45 <KRISWALLSMITH> that test is in /plugins/myPropelGuardPlugin/test/unit/configurationTest.php
208 Nov 08 16:07:15 <KRISWALLSMITH> you should be able to run this test successfully
209 Nov 08 16:07:29 <KRISWALLSMITH> php plugins/myPropelGuardPlugin/test/unit/configurationTest.php
210 Nov 08 16:07:43 <KRISWALLSMITH> or by using the harness provided
211 Nov 08 16:07:55 <KRISWALLSMITH> php plugins/myPropelGuardPlugin/test/bin/prove.php
212 Nov 08 16:08:10 <KRISWALLSMITH> any questions?
213 Nov 08 16:09:26 <JPhilip>   I get You must register some test files before running them!
214 Nov 08 16:09:56 <jamiel>    KRISWALLSMITH: Looks like we need to do your export SYMFONY=/path/to/1.2 ; trick
215 Nov 08 16:10:03 <KRISWALLSMITH> JPhilip: where did you add the pastie test?
216 Nov 08 16:10:07 <KRISWALLSMITH> jamiel: correct
217 Nov 08 16:10:35 <JPhilip>   plugins/myPropelGuardPlugin/test/unit
218 Nov 08 16:11:52 <KRISWALLSMITH> JPhilip: i'm not sure -- it's working for me
219 Nov 08 16:12:13 <JPhilip>   The command I ran is: symfony test:unit maybe this is wrong for a plugin
220 Nov 08 16:12:37 <KRISWALLSMITH> JPhilip: that command doesn't include the plugin tests
221 Nov 08 16:13:16 <KRISWALLSMITH> JPhilip: perhaps later... but not at this point
222 Nov 08 16:13:28 <klemens_u> JPhilip: that's one point we'd like to talk about later on.
223 Nov 08 16:13:44 <KRISWALLSMITH> you need to either run the test or the harness directly
224 Nov 08 16:14:00 <klemens_u> I've created a wiki entry about plugin testing, where I took some notes on what features would be nice:
225 Nov 08 16:14:02 <klemens_u> http://trac.symfony-project.org/wiki/PluginTesting
226 Nov 08 16:14:04 <KRISWALLSMITH> (the harness being bin/prove.php)
227 Nov 08 16:14:53 <SecureSymfony> Kris : plugin:runtest  should be add to sfTaskExtraPlugin
228 Nov 08 16:15:22 <KRISWALLSMITH> klemens_u: this looks like part of the roadmap for sfTaskExtraPlugin (which currently exists only in my head...)
229 Nov 08 16:16:07 <KRISWALLSMITH> anyone still working on getting configurationTest working?
230 Nov 08 16:16:15 <bschussek> kris: I guess this could perfectly be added to the core though
231 Nov 08 16:16:17 <KRISWALLSMITH> any questions about that script?
232 Nov 08 16:16:44 <klemens_u> KRISWALLSMITH: please add your ideas, or tell us if they are already written anywhere
233 Nov 08 16:16:52 <JPhilip>   So I did not get the command to run the test!
234 Nov 08 16:17:17 <KRISWALLSMITH> JPhilip: there's no command at this point. you need to execute the script directly
235 Nov 08 16:17:35 <KRISWALLSMITH> php plugins/myPropelGuardPlugin/test/unit/configurationTest.php
236 Nov 08 16:18:12 <KRISWALLSMITH> klemens_u: does this wiki page sum up what you wanted to discuss, or would you like to take a few minutes now?
237 Nov 08 16:18:36 <klemens_u> KRISWALLSMITH: in general it sums it up.
238 Nov 08 16:18:53 <klemens_u> I have to say, some is already done by the sfTaskExtraPlugin.
239 Nov 08 16:21:15 <klemens_u> KRISWALLSMITH: what is on your roadmap for the sfTaskExtraPlugin you mentioned before
240 Nov 08 16:22:48 <KRISWALLSMITH> i would like to connect to command.post_command and modify new model and form classes to be easily customizable in the project -- i haven't thought that through all the way yet.
241 Nov 08 16:23:19 <JPhilip>   The test bootstrap does not find the Symfony libs when I run the test script directly on my config:
242 Nov 08 16:23:20 <JPhilip>   PHP Fatal error:  Uncaught exception 'RuntimeException' with message 'Could not find symfony core libraries.' in C:\DATA\php\sf_sandbox\plugins\myPropelGuardPlugin\test\bootstrap\unit.php:5
243 Nov 08 16:23:24 <JPhilip>   Stack trace:
244 Nov 08 16:23:28 <JPhilip>   #0 C:\DATA\php\sf_sandbox\plugins\myPropelGuardPlugin\test\unit\configurationTest.php(3): include()
245 Nov 08 16:23:30 <JPhilip>   #1 {main}
246 Nov 08 16:23:32 <JPhilip>     thrown in C:\DATA\php\sf_sandbox\plugins\myPropelGuardPlugin\test\bootstrap\unit.php on line 5
247 Nov 08 16:24:18 <Garfield-fr>   JPhilip: Check this: http://trac.symfony-project.org/ticket/4868
248 Nov 08 16:24:33 <jamiel>    JPhilip: export SYMFONY=/path ... Path to where you checked out 1.2 to
249 Nov 08 16:24:52 <jamiel>    Ahh, windows ...
250 Nov 08 16:24:54 <klemens_u> KRISWALLSMITH: and regarding plugin testing? what are your ideas on that?
251 Nov 08 16:24:58 <KRISWALLSMITH> klemens_u: i'm also looking at using command.post_command to run plugin tests when when test:all is run, as you suggest on the wiki
252 Nov 08 16:25:11 <chrisk89>  well i have some more questions about functional testing of plugins
253 Nov 08 16:25:17 <klemens_u> (maybe we should move to a separate irc channel?)
254 Nov 08 16:25:22 <chrisk89>  how to test custom tasks?
255 Nov 08 16:25:40 <bschussek> KRISWALLSMITH: maybe we should ask fabien, I think this functionality could well go into the core
256 Nov 08 16:26:23 <KRISWALLSMITH> chrisk89: take a look at http://trac.symfony-project.org/browser/plugins/sfTaskExtraPlugin/trunk/test/unit/task/generatorTasksTest.php
257 Nov 08 16:26:51 <JPhilip>   OK, the test passes now
258 Nov 08 16:27:36 <KRISWALLSMITH> chrisk89: it uses the task_extra_lime_test class defined in the plugin's bootstrap/unit.php
259 Nov 08 16:27:49 <KRISWALLSMITH> http://trac.symfony-project.org/browser/plugins/sfTaskExtraPlugin/trunk/test/bootstrap/unit.php#L17
260 Nov 08 16:28:16 <chrisk89>  KRISWALLSMITH: hm k, I'll have a look
261 Nov 08 16:28:20 <KRISWALLSMITH> i may move that class into /lib/test so it can be reused
262 Nov 08 16:28:55 <KRISWALLSMITH> we have another 30 minutes in this "session" -- let's get back to building the plugin?
263 Nov 08 16:29:01 <KRISWALLSMITH> unless there are outstanding questions?
264 Nov 08 16:30:11 <rdeeb> One question
265 Nov 08 16:30:14 <annis> my test is failing
266 Nov 08 16:30:16 <rdeeb> sorry for beeing late
267 Nov 08 16:30:56 <rdeeb> just installed the sfTaskExtraPlugin and can access the tasks
268 Nov 08 16:30:57 <annis> Failed 1/1 test scripts, 0.00% okay. 1/2 subtests failed, 50.00% okay.
269 Nov 08 16:31:56 <jamiel>    annis: Run the test directly to see the failure message
270 Nov 08 16:32:02 <jamiel>    rather than using the harness
271 Nov 08 16:32:27 <annis> configuration throws an exception if sfPropelPlugin is not enabled
272 Nov 08 16:32:40 <annis> hmm, but I followed along you guys
273 Nov 08 16:32:46 <jamiel>    annis: did you skip the step of creating your project config file?
274 Nov 08 16:33:06 <annis> ah, that was it, because hasbin/td2 didn't work
275 Nov 08 16:33:10 <annis> damn
276 Nov 08 16:34:40 <jamiel>    annis: http://pastie.org/310167
277 Nov 08 16:35:26 <annis> now I'm with you, thanks!
278 Nov 08 16:35:27 <KRISWALLSMITH> here's the schema.yml i've created: http://pastie.org/310168
279 Nov 08 16:37:16 <KRISWALLSMITH> does this schema make sense to everyone? it's a basic users table.
280 Nov 08 16:37:25 <KRISWALLSMITH> any additions? removals?
281 Nov 08 16:37:26 <annis> where do we put that schema? I gues it's not config/schema.yml of the project?
282 Nov 08 16:37:48 <KRISWALLSMITH> annis: plugins/myPropelGuardPlugin/config/schema.yml
283 Nov 08 16:38:22 <jamiel>    KRISWALLSMITH: Should we not namespace the classes?
284 Nov 08 16:38:28 <jamiel>    Or does this happeny automatically?
285 Nov 08 16:38:44 <KRISWALLSMITH> jamiel: good point
286 Nov 08 16:39:22 <KRISWALLSMITH> updated -- http://pastie.org/310168
287 Nov 08 16:40:06 <mosez> kriswallsmith: write table name in singular.
288 Nov 08 16:40:35 <KRISWALLSMITH> mosez: personal preference. i prefer plural table names.
289 Nov 08 16:40:51 <KRISWALLSMITH> ./symfony propel:build-model
290 Nov 08 16:41:09 <SecureSymfony> Kris : Same here, but be sure to set the phpName
291 Nov 08 16:41:44 <KRISWALLSMITH> in this schema the class phpName is myGuardUser, the table name if my_guard_users
292 Nov 08 16:42:07 <KRISWALLSMITH> i'm using the new schema syntax introduced in symfony 1.1
293 Nov 08 16:42:27 <annis> cool, looks like "sf cc" can be left out starting with 1.2 when building the model?
294 Nov 08 16:44:27 <KRISWALLSMITH> moving on... you should see propel model classes in the plugin now
295 Nov 08 16:45:41 <JPhilip>   I get: You must create a schema.yml or schema.xml file, even though I have schema.yml in plugins/myPropelGuardPlugin/config
296 Nov 08 16:47:05 <KRISWALLSMITH> these model classes, as they are now, cannot be extended in both the plugin and the project
297 Nov 08 16:47:10 <KRISWALLSMITH> only one or the other
298 Nov 08 16:47:28 <KRISWALLSMITH> to fix this, we need to add a class to the heirarchy
299 Nov 08 16:48:02 <KRISWALLSMITH> so BasemyGuardUser > myGuardUser becomes BasemyGuardUser > PluginmyGuardUser > myGuardUser
300 Nov 08 16:48:27 <JPhilip>   There is an empty schema.yml in /config
301 Nov 08 16:48:42 <annis> Kris: Huh? ;) What do we need to change where?
302 Nov 08 16:49:57 <KRISWALLSMITH> mkdir plugins/myPropelGuardPlugin/lib/model/plugin
303 Nov 08 16:50:20 <annis> k
304 Nov 08 16:50:39 <KRISWALLSMITH> (this involves a few steps and is something i'd like to automate in the sfTaskExtraPlugin)
305 Nov 08 16:50:48 <annis> very good
306 Nov 08 16:54:28 <KRISWALLSMITH> create a file plugins/myPropelGuardPlugin/lib/model/plugin/PluginmyGuardUser.php with the contents http://pastie.org/310180
307 Nov 08 16:55:35 <KRISWALLSMITH> and edit myGuardUser.php so it reads http://pastie.org/310182
308 Nov 08 16:56:29 <KRISWALLSMITH> now you can add custom logic to you plugin's model class by editing PluginmyGuardUser.php
309 Nov 08 16:56:46 <annis> I guess, you're trying to install a sf1.0 plugin into a sf1.1 project
310 Nov 08 16:57:43 <KRISWALLSMITH> and the project can add custom logic by creating a myGuardUser.php in its lib/
311 Nov 08 16:57:59 <KRISWALLSMITH> is this making sense to everyone?
312 Nov 08 16:58:16 <annis> hmm, OOP is really cool
313 Nov 08 16:58:26 <KRISWALLSMITH> any questions about making a plugin model class customizable in the project?
314 Nov 08 16:58:49 <jamiel>    KRISWALLSMITH: So the plugin author shouldn't use myGuardUser ?
315 Nov 08 16:58:56 <jamiel>    Only PluginmyGuardUser ?
316 Nov 08 16:59:06 <annis> I guess
317 Nov 08 16:59:11 <KRISWALLSMITH> jamiel: correct
318 Nov 08 16:59:26 <KRISWALLSMITH> the myGuardUser.php file in the plugin should remain an empty class
319 Nov 08 16:59:55 <jamiel>    But why don't the developers just extend myGuardUser themselves if they want to override it?
320 Nov 08 17:00:21 <jamiel>    myCustomMyGuardUser extends myGuardUser
321 Nov 08 17:00:53 <annis> But then why have myGuardUser.php around? If in the project there's a class that inherits from PluginmyGuardUser then everything should be golden, right?
322 Nov 08 17:01:06 <KRISWALLSMITH> jamiel: propel restrictions -- myGuardUserPeer::doSelect() returns instances of myGuardUser
323 Nov 08 17:01:41 <jamiel>    Aha
324 Nov 08 17:01:58 <annis> And what do we want the respective classes to return?
325 Nov 08 17:02:24 <annis> if that's too low-level to explain then just move on :)
326 Nov 08 17:02:29 <KRISWALLSMITH> annis: we include stub class so the project doesn't have to unless it needs to be customized
327 Nov 08 17:02:45 <annis> alright, thanks
328 Nov 08 17:02:59 <KRISWALLSMITH> annis: i don't understand your question -- classes don't return, methods return
329 Nov 08 17:03:57 <KRISWALLSMITH> ok, if there are no more questions on this point i'd like to take a 15 minute break
330 Nov 08 17:04:05 <annis> Kris: sorry, I know. What I meant was: What do we want doSelect return in the cases where there are these inheritance hierarchies?
331 Nov 08 17:05:02 <jamiel>    annis: This way it "just works" ... and if you want to extend the propel classes in your project, you do so using myGuardUser extends PluginmyGuardUser .. and Propel will return your custom class
332 Nov 08 17:05:08 <jamiel>    because it has the name propel expects
333 Nov 08 17:05:27 <annis> ah, clear now, thanks
334 Nov 08 17:20:13 <hal>   sorry, guys, but where is myGuardUser.php located?
335 Nov 08 17:20:51 <jamiel>    hal : it gets generated in plugins/myPropelGuard/lib/model
336 Nov 08 17:21:18 <JPhilip>   OK, I finally built the model, I did not have myPropelGuardPlugin enabled in config class.
337 Nov 08 17:21:52 <annis> JPhilip: Hmm, I didn't do that... and it works.
338 Nov 08 17:22:57 <annis> Kris: Can I have another minute? ;)
339 Nov 08 17:23:43 <KRISWALLSMITH> how's this format working for everyone?
340 Nov 08 17:24:07 <jamiel>    wb, kris ... if you are going to cover it later then ignore this, but curious as to why an entire project stub gets created in test/fixtures
341 Nov 08 17:24:09 <JPhilip>   I have used only Doctrine so far, looks like the propel classes are very verbose
342 Nov 08 17:25:15 <KRISWALLSMITH> jamiel: a plugin's test shouldn't be dependent on an external project
343 Nov 08 17:25:32 <hal>   could someone tell me what I have done wrong here...  http://pastie.org/310201
344 Nov 08 17:26:12 <KRISWALLSMITH> hal: those methods need to be called from ProjectConfiguration::setup()
345 Nov 08 17:26:56 <hal>   KRISWALLSMITH, so do I replace initialize with setup?
346 Nov 08 17:27:22 <KRISWALLSMITH> no, you need to open ProjectConfiguration.class.php to enable plugins, not the plugin configuration
347 Nov 08 17:27:29 <KRISWALLSMITH> ^^hal^^
348 Nov 08 17:27:38 <jamiel>    KRISWALLSMITH: agreed, but then when is the stub project used? Because the sf_root_dir is still the main project dir
349 Nov 08 17:28:06 <hal>   KRISWALLSMITH, ah, thank you!
350 Nov 08 17:28:19 <KRISWALLSMITH> jamiel: take a look at the plugin's test/bootstrap/functional.php file
351 Nov 08 17:28:40 <KRISWALLSMITH> it uses the embedded project's ProjectConfiguration class
352 Nov 08 17:29:35 <KRISWALLSMITH> also of note is the embedded project's ProjectConfiguration class
353 Nov 08 17:29:52 <KRISWALLSMITH> it's been customized to work inside the plugin
354 Nov 08 17:30:20 <hal>   now I have the error, InvalidArgumentException: The plugin "sfDoctrinePlugin" does not exist.
355 Nov 08 17:31:24 <KRISWALLSMITH> hal: you don't need to disable the doctrine plugin b/c it's disabled by default
356 Nov 08 17:31:35 <hal>   KRISWALLSMITH, oops, ok, thanks
357 Nov 08 17:32:02 <KRISWALLSMITH> ok... let's take a look at creating plugin modules
358 Nov 08 17:32:42 <annis> cool. I'm getting the impression there are not so many of us following around anymore, or am I mistaken?
359 Nov 08 17:32:49 <KRISWALLSMITH> i'm not sure
360 Nov 08 17:32:54 <KRISWALLSMITH> who all's with us?
361 Nov 08 17:33:08 <JPhilip>   I am
362 Nov 08 17:33:12 <annis> me
363 Nov 08 17:33:19 <ksn135>    me
364 Nov 08 17:33:22 <jamiel>    yup, following
365 Nov 08 17:33:32 <lukaswoj>  me too
366 Nov 08 17:34:11 <KRISWALLSMITH> alright - let's create a module to handle login and logout
367 Nov 08 17:35:07 <KRISWALLSMITH> ./symfony generate:plugin-module myPropelGuardPlugin myGuardAuth
368 Nov 08 17:36:05 <KRISWALLSMITH> you should see a new /modules folder in your plugin
369 Nov 08 17:36:23 <JPhilip>   Yes
370 Nov 08 17:36:40 <annis> yes
371 Nov 08 17:37:05 <KRISWALLSMITH> this task creates a module just like the one created by generate:module with a few exceptions
372 Nov 08 17:37:38 <annis> there's no templates folder
373 Nov 08 17:37:55 <KRISWALLSMITH> annis: yes, that's a bug with the pear package that needs to be fixed
374 Nov 08 17:38:03 <annis> ah, okay
375 Nov 08 17:38:10 <annis> shall we create it now?
376 Nov 08 17:38:15 <KRISWALLSMITH> annis: yes
377 Nov 08 17:38:22 <annis> k
378 Nov 08 17:38:27 <KRISWALLSMITH> the module actions class should look like this: http://pastie.org/310208
379 Nov 08 17:38:29 <JPhilip>   Yes there is one from trunk
380 Nov 08 17:39:23 <KRISWALLSMITH> this class extends BasemyGuardAuthActions rather than sfActions
381 Nov 08 17:39:48 <KRISWALLSMITH> this is the same technique we used on the model classes
382 Nov 08 17:40:38 <KRISWALLSMITH> all your plugin actions should be defined in BasemyGuardAuthActions http://pastie.org/310211
383 Nov 08 17:41:22 <JPhilip>   This was done in a lot of plugins, nice to see it standardized in a task
384 Nov 08 17:42:05 <KRISWALLSMITH> updated to include stub action methods: http://pastie.org/310211
385 Nov 08 17:42:52 <JPhilip>   OK
386 Nov 08 17:43:23 <KRISWALLSMITH> a general rule of thumb for plugin actions is to create many small methods
387 Nov 08 17:44:04 <annis> so they can easily be overriden :)
388 Nov 08 17:44:10 <bschussek> KRISWALLSMITH: just a short question - why is the $_SERVER['SYMFONY'] var required when I generate plugins with your sfTaskExtraPlugin?
389 Nov 08 17:44:29 <bschussek> can't you just copy the location of symfony based on the ProjectConfiguration?
390 Nov 08 17:45:12 <KRISWALLSMITH> possibly something like this -- http://pastie.org/310211
391 Nov 08 17:45:36 <KRISWALLSMITH> bschussek: no b/c we need a customized ProjectConfiguration
392 Nov 08 17:45:39 <annis> erm, Kris, what exactly did change between the last two pasties for the action methods?
393 Nov 08 17:45:40 <quickdev>  KRISWALLSMITH, btw...many ppls are following your disicussion without taking part, just for info :)
394 Nov 08 17:45:43 <annis> the url is the same
395 Nov 08 17:46:40 <bschussek> KRISWALLSMITH: I didn't mean to use the project configuration, but to use the _path_ written in the ProjectConfiguration instead of relying on $_SERVER['SYMFONY']
396 Nov 08 17:47:31 <bschussek> another problem I see with this solution is that I cannot use multiple versions of symfony at once
397 Nov 08 17:48:06 <KRISWALLSMITH> annis: yes, i've been updating the same pastie
398 Nov 08 17:48:18 <annis> oh, I have to check
399 Nov 08 17:49:30 <KRISWALLSMITH> bschussek: you're suggesting we run a regex on that file?
400 Nov 08 17:50:24 <JPhilip>   bschusssek: http://trac.symfony-project.org/attachment/ticket/4868/sfTaskExtraPlugin.patch
401 Nov 08 17:51:32 <KRISWALLSMITH> does the structure of login methods here make sense to everyone? http://pastie.org/310211
402 Nov 08 17:51:57 <bschussek> KRISWALLSMITH: either that, or maybe there's a different solution (maybe using Reflection on symfony classes or stuff like that)
403 Nov 08 17:51:58 <annis> Kris: it wasn't updating in my browser, got it now. Makes sense.
404 Nov 08 17:52:08 <JPhilip>   Yes, similar to what was done in the 1.0 generators
405 Nov 08 17:52:50 <bschussek> ah sorry, forget the stuff about Reflection :-)
406 Nov 08 17:53:13 <KRISWALLSMITH> using this structure you can create some basic defaults and leave the more specialized code to the application developer
407 Nov 08 17:53:50 <KRISWALLSMITH> for instance, the application developer may want to handle login failures differently for ajax requests
408 Nov 08 17:54:16 <annis> so he could override handeLoginFailure?
409 Nov 08 17:54:36 <KRISWALLSMITH> annis: exactly
410 Nov 08 17:56:26 <KRISWALLSMITH> well, this discussion falls under "Writing a customizable plugin"
411 Nov 08 17:57:42 <KRISWALLSMITH> ok, so we've covered model classes and modules
412 Nov 08 17:57:50 <KRISWALLSMITH> any questions on either of those?
413 Nov 08 17:58:36 <JPhilip>   Yes, can you make it clear where we put the default action code?
414 Nov 08 17:58:56 <KRISWALLSMITH> JPhilip: in the modules's lib/Base*Actions.class.php
415 Nov 08 17:59:26 <jamiel>    KRISWALLSMITH: At this point do default routes exists now as /myGuardUser/auth/login ? Or does some routing config need to happen
416 Nov 08 17:59:38 <annis> What belongs then in the actions.class.php?
417 Nov 08 18:00:01 <jamiel>    annis: Nothing, like myGuardUser in the model .. its a stub to be extended in the project
418 Nov 08 18:00:09 <jamiel>    Erm, my wording was bad there ..
419 Nov 08 18:00:14 <jamiel>    its a stub to be used until it's extended
420 Nov 08 18:00:19 <KRISWALLSMITH> the plugin actions.class.php should be an empty class so it can be copied into the application and customized -- same technique we used for model classes
421 Nov 08 18:00:29 <annis> okay
422 Nov 08 18:00:42 <KRISWALLSMITH> jamiel: yes, default routes include plugin modules
423 Nov 08 18:01:02 <KRISWALLSMITH> jamiel: although each module will need to be enabled in the project or application's settings.yml
424 Nov 08 18:01:14 <jamiel>    k, thanks
425 Nov 08 18:01:42 <JPhilip>   I am rather new to PHP, so it seems a little strange that implementation code goes in an abstract class
426 Nov 08 18:02:24 <annis> hmm, you're right... I know that C# doesn't allow it.
427 Nov 08 18:02:33 <annis> Kris, PHP does?
428 Nov 08 18:03:06 <FabianLange>   yes, same as java. abstract classes are templates that already contain code but need to be extended by a class that provides remaining code
429 Nov 08 18:03:26 <FabianLange>   the ones that do not contain implementation are called interfaces
430 Nov 08 18:03:27 <jamiel>    Which is exactly what is happening in this case ....
431 Nov 08 18:03:40 <jamiel>    So seems fine to me
432 Nov 08 18:03:49 <KRISWALLSMITH> let's take a look at plugins/myPropelGuardPlugin/test/functional/myGuardAuthActionsTest.php
433 Nov 08 18:05:37 <KRISWALLSMITH> i've added a few lines to the generated file: http://pastie.org/310220
434 Nov 08 18:06:22 <KRISWALLSMITH> anyone know how to fix this test?
435 Nov 08 18:06:28 <jamiel>    KRISWALLSMITH: Why don't you generate that second line for us automagically with generate-module? ;)
436 Nov 08 18:06:47 <KRISWALLSMITH> jamiel: i agree
437 Nov 08 18:07:31 <KRISWALLSMITH> any ideas what needs to be fixed in the action for the test to pass?
438 Nov 08 18:07:39 <jamiel>    KRISWALLSMITH: we need a template
439 Nov 08 18:07:55 <KRISWALLSMITH> jamiel: yep
440 Nov 08 18:08:10 <KRISWALLSMITH> add a loginSuccess.php template and the test should pass
441 Nov 08 18:10:07 <KRISWALLSMITH> actually, i take that back -- looks like the module needs to be enabled in the embedded project application's settings.yml
442 Nov 08 18:10:53 <jamiel>    KRISWALLSMITH: again, generate-module could have done that for us couldn't it?
443 Nov 08 18:11:07 <annis> but there's no frontend app with an settings.yml
444 Nov 08 18:11:15 <KRISWALLSMITH> jamiel: yes, there are a few bugs here
445 Nov 08 18:11:29 <annis> or do you mean to create one the plugin config dir?
446 Nov 08 18:11:31 <jamiel>    annis: in plugins/myGuardUser/test/fixtures/project/
447 Nov 08 18:12:27 <KRISWALLSMITH> paste this into your plugins/myPropelGuardPlugin/test/fixtures/project/apps/frontend/config/settings.yml http://pastie.org/310223
448 Nov 08 18:13:07 <KRISWALLSMITH> *now* the test should pass -- sorry about that
449 Nov 08 18:14:43 <KRISWALLSMITH> success?
450 Nov 08 18:15:00 <chrisk89>  a little question about custom tasks in a plugin and application configuration, is it recommended/forbidden that tasks modify configuration files? if you want it can be discussed later
451 Nov 08 18:15:35 <KRISWALLSMITH> chrisk89: there are some tasks that do (ie configure:*) but it must be done w/ care
452 Nov 08 18:15:35 <annis> no success
453 Nov 08 18:15:36 <jamiel>    KRISWALLSMITH: getting unknown strategy 1
454 Nov 08 18:15:47 <annis> even after clearing the cache of the embedded project
455 Nov 08 18:15:51 <KRISWALLSMITH> yeah, that's another bug, but the pastie has that fixed
456 Nov 08 18:16:03 <jamiel>    tried turning off escaping_strategy in that config you gave us but no joy
457 Nov 08 18:16:43 <chrisk89>  KRISWALLSMITH: thx
458 Nov 08 18:17:21 <KRISWALLSMITH> jamiel: what do you see now?
459 Nov 08 18:17:47 <jamiel>     InvalidArgumentException: Unknown strategy 1. This is using the pastie config
460 Nov 08 18:18:19 <KRISWALLSMITH> jamiel: http://pastie.org/310223
461 Nov 08 18:18:58 <TjiefTjaf> Class 'sfGuardSecurityUser' not found
462 Nov 08 18:18:58 <TjiefTjaf> Heil sfAutoloader
463 Nov 08 18:19:42 <jamiel>    Same error kris :S hmm
464 Nov 08 18:20:55 <annis> erm, I just checked, the embedded project doesn't regenerate the module.yml compilation...
465 Nov 08 18:21:04 <annis> it's missing in the config folder
466 Nov 08 18:21:15 <KRISWALLSMITH> you may need to clear the cache for the test project
467 Nov 08 18:21:16 <annis> how do I clear the cache of the embedded project?
468 Nov 08 18:22:10 <KRISWALLSMITH> annis: this should be handled by the bootstrap script, but for now you can run this...
469 Nov 08 18:22:12 <KRISWALLSMITH> ./plugins/myPropelGuardPlugin/test/fixtures/project/symfony cc
470 Nov 08 18:23:52 <annis> Kris: my bash just tells me, Permission denied on the symfony script
471 Nov 08 18:23:55 <annis> hmm...
472 Nov 08 18:24:01 <annis> sudo... no luck
473 Nov 08 18:24:12 <jamiel>    do php plugins/my..
474 Nov 08 18:24:14 <jamiel>    instead of ./
475 Nov 08 18:24:19 <jamiel>    unless u +x it
476 Nov 08 18:24:57 <jamiel>    Clearing cache hasn't helped, maybe just move on Kris ... look into it later
477 Nov 08 18:25:29 <annis> yeah, just move on, it's now telling me, it can't find the AutoLoaderWhatEver...
478 Nov 08 18:26:13 <KRISWALLSMITH> annis: try php plugins/myPropelGuardPlugin/test/fixtures/project/symfony cc
479 Nov 08 18:27:05 <annis> no luck there, same error
480 Nov 08 18:27:07 <JPhilip>   I give up on the function test for now, I just get too many errors
481 Nov 08 18:27:31 <jamiel>    Oh wait, i got it
482 Nov 08 18:27:44 <annis> Huh? ;)
483 Nov 08 18:27:58 <KRISWALLSMITH> there are some bugs in the generated code that are complicating things
484 Nov 08 18:28:17 <KRISWALLSMITH> i will address these for the 0.0.2 release :)
485 Nov 08 18:29:01 <annis> no worries, it's still alpha... but we could work with it pretty much, I wouldn't call it 0.0.1-alpha
486 Nov 08 18:29:03 <jamiel>    Mine passes with that pastie sorry kris :) .. I was sticking in config/settings.yml instead of apps/frontend/config/
487 Nov 08 18:29:25 <KRISWALLSMITH> ok
488 Nov 08 18:30:15 <annis> mine passes now too
489 Nov 08 18:30:47 <KRISWALLSMITH> let's look at the plugin:package task, take another break, then get into the 3rd session "Ad hoc coding sprints on new and existing plugins"
490 Nov 08 18:31:54 <KRISWALLSMITH> so let's pretend we're ready to release myPropelGuardPlugin
491 Nov 08 18:33:19 <KRISWALLSMITH> go ahead and run ./symfony plugin:package myPropelGuardPlugin
492 Nov 08 18:33:53 <KRISWALLSMITH> you should see some interactive prompts
493 Nov 08 18:34:23 <KRISWALLSMITH> go ahead and complete the wizard
494 Nov 08 18:35:01 <jamiel>    Ahh, sexy
495 Nov 08 18:35:44 <KRISWALLSMITH> this uses the new sfTask::ask() methods
496 Nov 08 18:35:57 <jamiel>    KRISWALLSMITH: Is there a corellation between our plugin version number and symfony version number?
497 Nov 08 18:36:11 <KRISWALLSMITH> jamiel: no, your plugin version number is up to you
498 Nov 08 18:36:13 <JPhilip>   Cannot package, errors in package file
499 Nov 08 18:36:53 <annis> use a number like 0.0.1 as the version number
500 Nov 08 18:36:57 <annis> that had me too
501 Nov 08 18:37:16 <annis> run the same again, it will only ask you what's missing or wrong
502 Nov 08 18:37:25 <annis> pretty sexy, I'll have to admit
503 Nov 08 18:37:58 <KRISWALLSMITH> right -- some of those values are added to the xml template
504 Nov 08 18:38:29 <KRISWALLSMITH> if you get an error in the package file you should see a package.xml.error file
505 Nov 08 18:38:37 <KRISWALLSMITH> take a look at that
506 Nov 08 18:39:04 <KRISWALLSMITH> or run pear package-validate...
507 Nov 08 18:39:13 <KRISWALLSMITH> cd plugins/myPropelGuardPlugin
508 Nov 08 18:39:17 <KRISWALLSMITH> pear package-validate
509 Nov 08 18:40:26 <KRISWALLSMITH> you may need to mv package.xml.error package.xml before running package-validate
510 Nov 08 18:40:38 <KRISWALLSMITH> but that command should show you more information about what's wrong
511 Nov 08 18:41:24 <annis> maybe print out the package.xml.error?
512 Nov 08 18:41:44 <annis> And restart the process? So you don't have to run the command twice?
513 Nov 08 18:42:00 <annis> Can one restart the task from within the task?
514 Nov 08 18:42:45 <jamiel>    So what have we got here Kris? Our package all zipped up and ready to go and starting point for a package.xml that we need to edit?
515 Nov 08 18:42:50 <KRISWALLSMITH> annis: you can abort the task with ctrl-z
516 Nov 08 18:44:02 <hal>   KRISWALLSMITH, I'm afraid I have to go.  Thank you for your hard work today.  I can follow the tutorial tomorrow by using the log at http://colabti.org/irclogger/irclogger_logs/symfony but can you publish all the code somewhere later, so that we can access it, please? Can I suggest that when you post to a pastebin, to make sure it is a permanent pastebin, and to use different posts each time, so that we can always access each code-change as we follow through the tutorial at a later date?
517 Nov 08 18:44:06 <annis> Kris: no, I mean, when there are errors, just print out the package.xml.error and restart the task *automatically* :)
518 Nov 08 18:44:43 <hal>   kriswallsmithBRB, my above suggestion is for future seminars like this one.
519 Nov 08 18:45:59 <SecureSymfony> There will be other discussions today!
520 Nov 08 18:47:14 <SecureSymfony> Kris : Hal have a good comment; exactly what I wanted to say, especially because we log the chatroom
521 Nov 08 18:47:43 <hal>   SecureSymfony, thanks a lot - bye now!
522 Nov 08 19:02:58 <KRISWALLSMITH> hal_away: i'll try to recreate each paste and remove general discussion for the published log of today
523 Nov 08 19:02:59 <annis> kris is back :)
524 Nov 08 19:03:30 <KRISWALLSMITH> so this last session is a bit more free-form
525 Nov 08 19:03:36 <annis> Kris, before we start
526 Nov 08 19:04:04 <KRISWALLSMITH> annis: yes?
527 Nov 08 19:07:17 <KRISWALLSMITH> how many are here for the plugin developers day now?
528 Nov 08 19:07:24 <annis> me
529 Nov 08 19:07:37 <KRISWALLSMITH> (no need to be shy)
530 Nov 08 19:07:43 <FabianLange>   freeform means that kris drinks cofee while everbody asks questions
531 Nov 08 19:07:52 <phuson>    anyone knows why after I checkout the plugin into the plugins folder, running ./symfony generate:plugin gives me "Task "generate:plugin" is not defined."
532 Nov 08 19:07:54 <annis> :D
533 Nov 08 19:07:56 <FabianLange>   i am here because of that event as well
534 Nov 08 19:08:18 <jamiel>    Heh - I'm pretty sure most people are just catching up every 15-20 mins
535 Nov 08 19:08:21 <KRISWALLSMITH> phuson: sounds like you haven't enabled the plugin in ProjectConfiguration
536 Nov 08 19:08:45 <phuson>    ah
537 Nov 08 19:08:55 <JPhilip>   here, I had an error in package content generation with <?xml version="1.0"?> added before the content.
538 Nov 08 19:09:02 <jamiel>    KRISWALLSMITH: Still sitting with a package.xml template ... and a zipped up project ... how do we wrap that up to let the world know about our new awesome plugin?
539 Nov 08 19:09:14 <phuson>    KRISWALLSMITH: it's been a while since I mess around with plugins, let me look at the API docs for that
540 Nov 08 19:09:39 <KRISWALLSMITH> jamiel: now that you have the .tgz package you just need to upload it to http://www.symfony-project.org/plugins
541 Nov 08 19:09:44 <SecureSymfony> me
542 Nov 08 19:10:05 <jamiel>    But my package.xml is still an incomplete template it looks like
543 Nov 08 19:10:30 <jamiel>    Don't all the <files> need to be in there?
544 Nov 08 19:11:04 <KRISWALLSMITH> jamiel: delete the package.xml and run plugin:package again
545 Nov 08 19:12:39 <lukaswoj>  Is there any plugin which automates caching (for example: with memcached) of selected model objects ? If no - I could try to develope such plugin
546 Nov 08 19:12:43 <jamiel>    I just get a package.xml.tmpl
547 Nov 08 19:13:36 <KRISWALLSMITH> jamiel: good -- the task uses that template to create a package.xml, which it then deletes after the package.tgz is created
548 Nov 08 19:13:56 <JPhilip>   if I remove <?xml version="1.0"?> from content and build with pear, it works
549 Nov 08 19:14:10 <KRISWALLSMITH> if there's a package.xml file the task just uses that w/o asking any questions
550 Nov 08 19:14:30 <KRISWALLSMITH> JPhilip: pear doesn't like the xml declaration? really?
551 Nov 08 19:14:57 <JPhilip>   Not on my setup (windows)
552 Nov 08 19:15:08 <KRISWALLSMITH> interesting...
553 Nov 08 19:15:30 <SecureSymfony> JPhilip : Your PHP is set to accept small tag... VERY BAD!
554 Nov 08 19:15:56 <JPhilip>   What is that?
555 Nov 08 19:16:48 <SecureSymfony> in your php.ini it accept <? instead of <?php only
556 Nov 08 19:17:24 <FabianLange>   it is called "short tags"
557 Nov 08 19:17:40 <SecureSymfony> JPhilip : So you have an error with the XML
558 Nov 08 19:17:55 <SecureSymfony> FabianLange: Your right! My bad!
559 Nov 08 19:17:57 <KRISWALLSMITH> so, shall we decide upon a plugin to write/upgrade together? anyone want to take the lead here?
560 Nov 08 19:18:02 <FabianLange>   http://www.php.net/ini.core
561 Nov 08 19:18:15 <JPhilip>   I have asp_tags = Off in php.ini
562 Nov 08 19:18:38 <annis> I'm also in, but not so much as a lead
563 Nov 08 19:18:47 <SecureSymfony> JPhilip : short_open_tag = Off
564 Nov 08 19:18:47 <Henrik|away>   KRISWALLSMITH: hmm it should be something that uses tasks
565 Nov 08 19:18:58 <jamiel>    KRISWALLSMITH: Why dont we upgrade sfFeed2Plugin ? It's pretty basic
566 Nov 08 19:19:19 <annis> jamiel: sounds cool
567 Nov 08 19:19:25 <Henrik|away>   an idea of mine http://svn.symfony-project.com/plugins/sfPopulateDataPlugin/README
568 Nov 08 19:19:46 <Henrik|away>   or how about the DbFinder :)
569 Nov 08 19:19:50 <Henrik|away>   theres no release for 1.2
570 Nov 08 19:20:00 <skoop> whats with sfFeed2Plugin?
571 Nov 08 19:20:08 <JPhilip>   short_open_tag = Off is there
572 Nov 08 19:20:38 <skoop> Henrik|away: I think sfFeed2Plugin isn't even fully done for 1.1 yet
573 Nov 08 19:21:32 <annis> sfFeed2Plugin sounds good, anyone in?
574 Nov 08 19:21:36 <SecureSymfony> I'm at a conference at the same time...
575 Nov 08 19:21:43 <skoop> feel free to do the sfFeed2Plugin, but I have a nearly-done addition to the original plugin based on the ticket from Michael Nolan that I still need tocommit to it
576 Nov 08 19:21:53 <BoukeH>    Your configuration accepts besides <?php also <? as start tag (asp-style) which is considered a bad thing by some
577 Nov 08 19:22:03 <mirthlab>  KRISWALLSMITH: oh yeah, nice work on the sfTaskExtraPlugin though :) worth the lack of sleep
578 Nov 08 19:22:20 <jamiel>    Lets just do an easy one and get sfPHPUnitPlugin out the way :P
579 Nov 08 19:22:24 <KRISWALLSMITH> let's not work on sfFeed2Plugin if skoop has some pending commits
580 Nov 08 19:22:33 <skoop> oh no, please do
581 Nov 08 19:22:35 <skoop> it's an addition
582 Nov 08 19:23:08 <skoop> the only thing that may be a problem is the fact that the sfFeed2Plugin repository doesn't have trunk/branches yet
583 Nov 08 19:23:11 <KRISWALLSMITH> it's brand spankin' new
584 Nov 08 19:23:14 <skoop> but I can easily change that
585 Nov 08 19:23:20 <KRISWALLSMITH> but requires symfony 1.2
586 Nov 08 19:28:44 <mirthlab>  so have we decided? sfFeed2Plugin it is?
587 Nov 08 19:29:19 <mirthlab>  i think KRISWALLSMITH should just make a final decision :)
588 Nov 08 19:29:22 <Henrik|away>   whos in for openid for sfGuard ? :)
589 Nov 08 19:30:15 <KRISWALLSMITH> i like the openid idea
590 Nov 08 19:30:17 <jamiel>    OpenId for sfGuard sounds cool
591 Nov 08 19:30:31 <KRISWALLSMITH> can we leverage Zend's open id classes?
592 Nov 08 19:30:47 <SecureSymfony> Henrik : Too long to do... There is already 3 Plugin for it, and 2 with Zend!
593 Nov 08 19:30:47 <FabianLange>   there is a zend openid for sfguard plugin :-)
594 Nov 08 19:30:55 <annis> Anyone with me on sfFeed2?
595 Nov 08 19:31:00 <skoop> KRISWALLSMITH: perhaps stupid question: for plugins, do we put the versions for the different symfony versions into branches like branches/1.0 branches/1.1 and branches/1.2 ?
596 Nov 08 19:31:10 <Henrik|away>   yeah but its incomplete
597 Nov 08 19:31:12 <SecureSymfony> sfFeed2 seem good, and more simple!
598 Nov 08 19:31:22 <SecureSymfony> Yes, both of them!
599 Nov 08 19:31:26 <FabianLange>   skoop: ideally yes, but not all plugin authors did it like that
600 Nov 08 19:31:32 <Henrik|away>   KRISWALLSMITH: sure i guess they are pluggable
601 Nov 08 19:31:50 <skoop> FabianLange: well, I'm going to alter the sfFeed2Plugin repo for this specific purpose ;)
602 Nov 08 19:32:01 <FabianLange>   then please do so
603 Nov 08 19:32:02 <KRISWALLSMITH> skoop: most plugins use branches/{sf_version}
604 Nov 08 19:32:07 <skoop> ok
605 Nov 08 19:32:20 <KRISWALLSMITH> but it's up to the plugin dev to organized his or her repository
606 Nov 08 19:33:05 <Henrik|away>   KRISWALLSMITH: hmm guess openid should be a part of sfGuard and not an extra plugin so mayb too steep for now :/
607 Nov 08 19:33:29 <KRISWALLSMITH> FabianLange: where is the zend open id for sfguardplugin?
608 Nov 08 19:33:52 <Henrik|away>   http://www.symfony-project.org/plugins/sfZendOpenIdPlugin
609 Nov 08 19:34:13 <KRISWALLSMITH> i think group think is getting the best of us here... let's just get into sfFeed2Plugin
610 Nov 08 19:34:27 <mirthlab>  KRISWALLSMITH: i agree! let's just make a decision
611 Nov 08 19:34:53 <KRISWALLSMITH> skoop: can you take a lead here?
612 Nov 08 19:35:11 <skoop> KRISWALLSMITH: sure, what you want me to do? just help people with sfFeed2?
613 Nov 08 19:36:56 <KRISWALLSMITH> this is the practicum part of the day
614 Nov 08 19:38:01 <BoukeH>    okey I'll pay attention now since the discussed plugin, sfZendOpenIdPlugin, is the one I'm lead on :)
615 Nov 08 19:38:02 <KRISWALLSMITH> so folks could make edits to the plugin and send you patches for approval?
616 Nov 08 19:38:30 <KRISWALLSMITH> i haven't looked at sfZendOpenIdPlugin yet
617 Nov 08 19:39:11 <BoukeH>    it's very basic at this moment, only authentication (sfZendOpenIdAuth) and administration of identities is supported as of yet
618 Nov 08 19:39:19 <KRISWALLSMITH> BoukeH: can you share any challenges you faced writing this?
619 Nov 08 19:40:00 <skoop> ok, I have made the changes to the sfFeed2Plugin repo
620 Nov 08 19:40:15 <skoop> I'll copy the 1.0 version to the 1.2 branch
621 Nov 08 19:40:27 <skoop> KRISWALLSMITH: do people have access to the repo, or will they supply patches?
622 Nov 08 19:40:43 <skoop> sorry, I'm just in and haven't really been followeing PDD as I was in BHD
623 Nov 08 19:41:10 <KRISWALLSMITH> skoop: no one has commit access
624 Nov 08 19:41:34 <KRISWALLSMITH> who's still with us? who wants to work w/ stefan (skoop)?
625 Nov 08 19:41:41 <annis> me
626 Nov 08 19:41:59 <JPhilip>   me
627 Nov 08 19:42:01 <Henrik|away>   im on kinda :P (catching up on work stuff at the same time) but there none the less
628 Nov 08 19:42:19 <mirthlab>  me
629 Nov 08 19:42:24 <mirthlab>  i have commit access
630 Nov 08 19:42:28 <FabianLange>   me, but i am on 1.2 tickets :-)
631 Nov 08 19:42:46 <BoukeH>    It was my first plugin so I had to find everything out; particular challenges were the package.xml file for PEAR and integration of the Zend Framework
632 Nov 08 19:42:56 <Henrik|away>   why not merge the repo to git and everyone who wanna work on it can commit
633 Nov 08 19:42:58 <FabianLange>   so in case anyone has any patches for 1.2 besides plugins feel free to pm me
634 Nov 08 19:43:05 <Henrik|away>   and at the end well split some review parts up ?
635 Nov 08 19:43:12 <mirthlab>  Henrik|away: that's a little out of the scope for today ;)
636 Nov 08 19:43:19 <Henrik|away>   :)  sry :P
637 Nov 08 19:43:28 <mirthlab>  haha
638 Nov 08 19:43:38 <skoop> annis, JPhilip , mirthlab: ok, so from what I understood you want to migrate sfFeed2 to the 1.2 structure?
639 Nov 08 19:43:55 <annis> seems like it
640 Nov 08 19:44:19 <Henrik|away>   the tasks needs to be split up into tickets or something so peps dosent work on the same thing
641 Nov 08 19:44:25 <annis> Can we use the sandbox 1.2 from before for it? I kinda stumped how we are going to work together
642 Nov 08 19:44:54 <KRISWALLSMITH> annis: that's why i'm delegating :)
643 Nov 08 19:45:11 <annis> Kris: fine, thx
644 Nov 08 19:45:17 <skoop> annis: I wasn't in before so I don't know exactly what the 1.2 sandbox was, but it sounds like you could do it
645 Nov 08 19:45:17 <Henrik|away>   well we need some kind of project management ticket stuff
646 Nov 08 19:45:34 <Henrik|away>   skoop: the sandbox = clean 1.2 install
647 Nov 08 19:45:34 <skoop> Henrik|away: I agree
648 Nov 08 19:45:52 <skoop> ah, in that case annis, you can use the sandbox to work on the sfFeed2Plugin
649 Nov 08 19:46:30 <annis> skoop: We first need to know what's *not* working in the plugin now
650 Nov 08 19:46:35 <Henrik|away>   KRISWALLSMITH: assembla account with temp ticket trac ?
651 Nov 08 19:46:42 <annis> skoop: So, I'll just checkout the 1.0 branch to my sandbox?
652 Nov 08 19:47:02 <KRISWALLSMITH> Henrik|away: sorry, i'm english only...
653 Nov 08 19:47:11 <mirthlab>  the way i've worked on plugins before.... simple link the plugin to the plugins directory via svn:externals
654 Nov 08 19:47:12 <Henrik|away>   haha :) assembla.com :)
655 Nov 08 19:47:19 <skoop> annis: wait just a minute, and you can checkout the 1.2 branch instead
656 Nov 08 19:47:22 <Henrik|away>   so we wont clutter the symf trac
657 Nov 08 19:47:30 <FabianLange>   skoop, did you intend the svn copy that way?
658 Nov 08 19:47:42 <Marijn>    KRISWALLSMITH: Ok, something occurred to me the other day. I was thinking about naming conventions for plugin classes and I think that when it comes to action classes we should stick to the Plugin prefix there as well in favor of the Base prefix
659 Nov 08 19:47:43 <KRISWALLSMITH> why not just create trac tickets for sfFeed2Plugin?
660 Nov 08 19:47:43 <FabianLange>   ah you didnt :-)
661 Nov 08 19:48:17 <skoop> FabianLange: already fixing it ;)
662 Nov 08 19:48:17 <Henrik|away>   KRISWALLSMITH: hmm sure if its not gonna be confusing for people :P
663 Nov 08 19:48:23 <Marijn>    wow, just read the blog post about sfTaskExtraPlugin => NICE :D
664 Nov 08 19:48:39 <skoop> annis: ok, the 1.0 code is now available in the 1.2 branch, so you can check out the 1.2 branch of sfFeed2Plugin
665 Nov 08 19:48:41 <KRISWALLSMITH> Marijn: thanks
666 Nov 08 19:49:00 <FabianLange>   #3959 could be fixed :-)
667 Nov 08 19:49:19 <skoop> FabianLange: my fault for working directly in the repo with my copies. fixed it in a local checkout instead ;)
668 Nov 08 19:49:35 <Marijn>    thanks for my first comment or the second. I just started to see the advantage of developing certain logic in plugins and found myself in dire need of such a task :-)
669 Nov 08 19:49:51 <FabianLange>   yeah for directory copy and merge i prefer a gui over the cli :-)
670 Nov 08 19:49:59 <jamiel>     svn checkout https://svn.symfony-project.org/plugins/sfFeed2Plugin/branches/1.2 plugins/sfFeed2Plugin
671 Nov 08 19:50:09 <Pests> How do I use a projects symfony model classes outside of my symfony dir?
672 Nov 08 19:50:11 <JPhilip>   Got sfFeed2Plugin branch 1.2 checked out
673 Nov 08 19:51:49 <annis> doing the checkout now... done
674 Nov 08 19:52:05 <jamiel>    How about we start by getting the tests failing in a way we expect ... rather than throwing errors
675 Nov 08 19:52:27 <jamiel>    then we can make them pass one by one
676 Nov 08 19:52:45 <skoop> FabianLange: ticket 3959 is also related to this same thing: there is no sf1.1 package for the plugin yet
677 Nov 08 19:52:52 <FabianLange>   i know, thats why i was refering to this
678 Nov 08 19:53:58 <skoop> annis, JPhilip , mirthlab: perhaps you guys could work on both an sf1.1 and an sf1.2 version?
679 Nov 08 19:54:04 <bschussek> Klemens and I just implemented some new plugin testing goodies. We'll propose them to Fabien, maybe we will get them into the core
680 Nov 08 19:54:06 <Henrik|away>   one thing is that 1.2 supports multiple mime types so the asXml method should be cleaned up
681 Nov 08 19:54:21 <annis> jamiel: I'd do it the other way around first
682 Nov 08 19:54:27 <bschussek> symfony test:all --plugin=myCustomPlugin and such stuff ;-)
683 Nov 08 19:54:52 <bschussek> the documentation for it is just being written by Klemens
684 Nov 08 19:54:54 <annis> jamiel: create a new plugin with the new TaskExtraPlugin and integrate back from the original sfFeed2Plugin
685 Nov 08 19:55:09 <KRISWALLSMITH> bschussek: yes, either the core or the task plugin
686 Nov 08 19:55:34 <annis> jamiel: b/c the prove.php has changed since then, everything should be different now
687 Nov 08 19:55:42 <bschussek> kris: I think this as well as the generate:plugin task definitely belongs into the core, since symfony officially supports plugins
688 Nov 08 19:56:08 <Henrik|away>   annis: i second that
689 Nov 08 19:56:27 <Henrik|away>   but is there a lead on this so people arent gonna do all kind of things
690 Nov 08 19:56:50 <KRISWALLSMITH> bschussek: fabpot has told me tasks geared toward plugin developers should go in the task extra plugin.
691 Nov 08 19:57:06 <KRISWALLSMITH> bschussek: which is maintained by the core team
692 Nov 08 19:57:07 <bschussek> KRISWALLSMITH: ah, that's interesting
693 Nov 08 19:57:11 <annis> that's kinda hard to do Herik, b/c the feed plugin isn't working yet, we can't just add features, we'll have to rewrite pretty much
694 Nov 08 19:58:21 <annis> How about gathering ppl for the same plugin in another room?
695 Nov 08 19:58:26 <bschussek> KRISWALLSMITH: on the other hand, we made only small enhancements to the core test tasks, and I think writing separate tasks for this functionality would be way too complicated (for both devs and users)
696 Nov 08 19:58:27 <Pests> How do I use a projects symfony model classes outside of my symfony dir?
697 Nov 08 19:58:48 <KRISWALLSMITH> bschussek: can you use the command.* events?
698 Nov 08 19:58:49 <bschussek> just think of having to use different test:all and plugin-test:all tasks
699 Nov 08 19:59:14 <isleshocky77>  ok, I'm back. Had to grab some food.  For anyone who said that the taskPlugin is only for 1.2+  I made a small raw php only script which handles package.xml files pretty easily I don't know if I should post it somewhere.
700 Nov 08 19:59:36 <bschussek> KRISWALLSMITH: not really. Klemens will release the documentation for our changes in ~5 minutes, I suggest both you and Fabien look at it and tell us what you think about it
701 Nov 08 19:59:56 <KRISWALLSMITH> bschussek: sounds good
702 Nov 08 20:01:42 <JPhilip>   One more hour, are we going to learn how to transform helpers into widget classes?
703 Nov 08 20:01:44 <skoop> KRISWALLSMITH: do I need to be the lead on a plugin to change the installation instructions on /plugins?
704 Nov 08 20:02:41 <KRISWALLSMITH> skoop: under which tab?
705 Nov 08 20:02:52 <skoop> Under Installation
706 Nov 08 20:02:57 <KRISWALLSMITH> JPhilip: i'm not sure i understand what you're asking
707 Nov 08 20:03:20 <Henrik|away>   skoop: you cant
708 Nov 08 20:03:30 <Henrik|away>   its generate by the packages availible
709 Nov 08 20:03:46 <JPhilip>   Old plugins use helper functions, now we have widgets for the same functionality
710 Nov 08 20:03:55 <skoop> Henrik|away: ah ok
711 Nov 08 20:05:10 <KRISWALLSMITH> JPhilip: you're referring to form helpers and sfWidgetForm classes?
712 Nov 08 20:05:43 <Pests> How do I use a projects symfony model classes outside of my symfony dir?
713 Nov 08 20:05:57 <klemens_u> You can find the documentation of Bernhard's any my proposal here: http://trac.symfony-project.org/wiki/PluginTesting
714 Nov 08 20:06:35 <klemens_u> It describes the enhancement for 'symfony test:all' etc for plugins
715 Nov 08 20:06:49 <JPhilip>   I mean custom helper functions like in my plugin sfDoctrineTree plugin: get_doctrine_tree($model, $field, $root = 0, $options = array()) should now be a widget
716 Nov 08 20:07:48 <KRISWALLSMITH> JPhilip: why is that?
717 Nov 08 20:09:30 <JPhilip>   I guess you can still use the helper functions, but widgets seem to integrate into the new form framework
718 Nov 08 20:10:31 <isleshocky77>  Anyone know where this room is being logged to?  I have in my bookmarks that it was here: http://www.cpr.in-berlin.de/symfony/irclog.frontend.php
719 Nov 08 20:11:38 <bschussek> KRISWALLSMITH: if you have any feedback on our proposal, just write us here or add your comments on the wiki page
720 Nov 08 20:11:51 <Henrik|away>   a bit ot shouldnt JSON content type be text/x-json ?
721 Nov 08 20:12:13 <KRISWALLSMITH> bschussek: now i see it
722 Nov 08 20:12:34 <annis> Henrik|away: that's IE MIME-types at work... :D
723 Nov 08 20:12:39 <Henrik|away>   okay :P
724 Nov 08 20:12:55 <Henrik|away>   becuase safari just auto downloads application/json files
725 Nov 08 20:13:29 <annis> it should be text/json then
726 Nov 08 20:14:00 <Henrik|away>   ty
727 Nov 08 20:14:03 <fruit> q: does are avaiable any where #symfony channel logs?
728 Nov 08 20:14:43 <SecureSymfony> fruit : we will have a transcription
729 Nov 08 20:14:54 <SecureSymfony> I got to go!
730 Nov 08 20:17:23 <SecureSymfony> Hum, normal, we need to get them out there.... It will be on symfony-project.org
731 Nov 08 20:21:15 <KRISWALLSMITH> have PDD folks signed off?
732 Nov 08 20:22:01 <Henrik|away>   KRISWALLSMITH: dunno im still here on the sideline :P
733 Nov 08 20:22:06 <klemens_u> me too :-)
734 Nov 08 20:22:30 <KRISWALLSMITH> ok, let's wrap up.
735 Nov 08 20:22:39 <ringhio`>  KRISWALLSMITH: do you will post a complete log of this PDD somewhere?
736 Nov 08 20:22:55 <KRISWALLSMITH> do you guys think this is a good format for this sort of thing?
737 Nov 08 20:23:02 <martialmind>   doctrine:build-filters or propel:build-filters
738 Nov 08 20:23:06 <KRISWALLSMITH> would you like to see this type of event happen more often?
739 Nov 08 20:23:20 <ringhio`>  of course!
740 Nov 08 20:23:23 <klemens_u> KRISWALLSMITH: good questions. in general absolutely yes!
741 Nov 08 20:23:44 <KRISWALLSMITH> i'm very interested in growing the plugin community
742 Nov 08 20:23:45 <klemens_u> perhaps more focused - more specific on one topic
743 Nov 08 20:24:12 <klemens_u> and a 'prepare this and that' list perhaps (sf1.2 installation etc)
744 Nov 08 20:24:13 <KRISWALLSMITH> another idea i've had is to setup an established "peer review" process that a plugin dev can submit their work to
745 Nov 08 20:24:19 <ringhio`>  maybe it could be shorter and more focused
746 Nov 08 20:24:20 <KRISWALLSMITH> to add a level of legitimacy
747 Nov 08 20:24:41 <KRISWALLSMITH> ok, shorter and more focused. fair enough.
748 Nov 08 20:24:52 <klemens_u> KRISWALLSMITH: +1 for the peer review
749 Nov 08 20:25:11 <klemens_u> It's would be also a good way to learn from each other
750 Nov 08 20:25:16 <JPhilip>   Maybe ask people to prepare specific questions/problems to solve from their plugins
751 Nov 08 20:25:33 <annis> yeah, that would be good
752 Nov 08 20:25:42 <KRISWALLSMITH> JPhilip: i'm not following you
753 Nov 08 20:26:00 <ringhio`>  if you want to repeat frequently
754 Nov 08 20:26:01 <annis> anyone here still interested to help skoop and myself with sfFeed2?
755 Nov 08 20:26:25 <ringhio`>  annis: sfFeed2Plugin of Zaninotto?
756 Nov 08 20:27:05 <JPhilip>   Let plugin developers prepare and expose problems they have with their own plugins
757 Nov 08 20:27:17 <ringhio`>  i use it on http://miit.me are you looking for help to maintain?
758 Nov 08 20:27:21 <skoop> ringhio`: previously of francois, yes
759 Nov 08 20:27:37 <annis> ringhio: yes
760 Nov 08 20:27:39 <skoop> ringhio`: we are looking for help right now to port it to sf1.1 / sf1.2
761 Nov 08 20:27:41 <ringhio`>  yes I know about his departed
762 Nov 08 20:28:15 <annis> join us on #sfFeed2
763 Nov 08 20:28:18 <JPhilip>   I am not sure I understood the sf2Feed thing, I thought it was just an exercise we were doing
764 Nov 08 20:28:20 <FabianLange>   i really would like to see sffeed2 for 1.2 and could help, but i dont have anythin here on my mac yet
765 Nov 08 20:29:05 <klemens_u> KRISWALLSMITH: a question for sfTaskExtraPlugin:
766 Nov 08 20:29:12 <EBSMobile> annis: I am getting an array as a result but now sure how to extract the data from it?
767 Nov 08 20:29:12 <klemens_u> how is the fixtures project created?
768 Nov 08 20:31:06 <KRISWALLSMITH> klemens_u: it's directly copied from the core
769 Nov 08 20:31:10 <Henrik|away>   KRISWALLSMITH: should have our own channel so normal sf question is filtered from the actually event
770 Nov 08 20:31:37 <KRISWALLSMITH> Henrik|away: next time, yes
771 Nov 08 20:31:44 <Henrik|away>   #symfony-event or something
772 Nov 08 20:32:21 <KRISWALLSMITH> Henrik|away: that's exactly what i was thinking :)
773 Nov 08 20:32:36 <Henrik|away>   great minds think alike ^^
774 Nov 08 20:33:43 <klemens_u> KRISWALLSMITH: so it's similar to 'generate:project'?
775 Nov 08 20:34:57 <KRISWALLSMITH> yes, although it doesn't actually call the task
776 Nov 08 20:35:08 <klemens_u> I see. thanks
777 Nov 08 20:35:24 <KRISWALLSMITH> well, thank you to everyone who participated today
778 Nov 08 20:35:31 <KRISWALLSMITH> i'm glad we did this :)
779 Nov 08 20:35:53 <isleshocky77>  KRISWALLSMITH: Is there a log somewhere?
780 Nov 08 20:35:54 <KRISWALLSMITH> i'll have a transcript available shortly -- i'll probably announce it on the blog
781 Nov 08 20:36:03 <JPhilip>   Thanks
782 Nov 08 20:36:16 <klemens_u> KRISWALLSMITH: Any feedback from your side on our 'enhancment of the test tasks' RFC?
783 Nov 08 20:37:13 <isleshocky77>  Is there a new way of running tests, such as all tests including symfony and plugins, just all plugins, etc.  Or do we have do run php prove.php individually for each?
784 Nov 08 20:37:51 <klemens_u> isleshocky: we proposed that today: http://trac.symfony-project.org/wiki/PluginTesting+
785 Nov 08 20:38:00 <klemens_u> sorry: http://trac.symfony-project.org/wiki/PluginTesting
786 Nov 08 20:39:03 <klemens_u> isleshocky. Is that what you have in mind?
787 Nov 08 20:43:21 <KRISWALLSMITH> cheers, all
788 Nov 08 20:43:26 *   KRISWALLSMITH is now known as kriswallsmithAFK
789 Nov 08 20:43:43 <isleshocky77>  klemens_u: Yep.
790 Nov 08 21:00:16 <bschussek> Our result of the plugins developers day! :-) http://trac.symfony-project.org/ticket/4873
791 Nov 08 21:00:37 <bschussek> Rejoice all plugin developers, for the day of easy plugin testing has (nearly) come
792 Nov 08 21:00:54 <bschussek> :-)
793 Nov 08 21:01:04 <klemens_u> goodnight everyone!
794 Nov 08 21:01:19 <klemens_u> (at least in our timezone :-))