Products.sqlpfgadapter is working, as a proof of concept. I'd like to invite
those that joined in this discussion to take a look at it.

svn co
https://svn.plone.org/svn/collective/Products.PloneFormGen/adapters/Products.sqlpfgadapter/buildout/plone3
sqlpfg-plone3
cd sqlpfg-plone3
python2.4 bootstrap.py
./bin/buildout -c buildout-dvl.cfg

My next goal is to make it work with collective.megaphone.

Kees

On 09/07/2010 01:27 PM, Kees Hink wrote:
> For your information, I'm working on this and there's code in svn:
> https://svn.plone.org/svn/collective/Products.PloneFormGen/adapters/Products.sqlpfgadapter/trunk/
> The product currently only adds an empty form action adapter, please be 
> patient.
> 
> I hope to do the following:
>  * Get it working with a Z MySQL Method which i create manually in the ZMI;
>  * Then either:
>    - Call the Z MySQL connection directly, or
>    - Create the Z MySQL Method on the fly, or
>    - some other way to save to MySQL
> 
> Other things on the TODO list:
>  * Global controlpanel settings for DB location, user, password
>  * Plone 4 compatibility (I'm getting deprecation messages from ZMySQLDA)
> 
> Suggestions are always welcome.
> 
> Kees
> 
> On 09/01/2010 08:48 AM, Kees Hink wrote:
>> Hi David,
>>
>> Thanks for thinking along. I'll try the PFG action adapter. Thanks for your
>> pointers.
>>
>> Kees
>>
>> On 08/31/2010 09:41 PM, David Glick wrote:
>>>  On 8/31/10 2:24 AM, Kees Hink wrote:
>>>> A question for collective.megaphone developers:
>>>>
>>>> A client of ours wants to store collective.megaphone data in a MySQL 
>>>> database.
>>>> One could do this by following the steps at
>>>> http://plone.org/products/ploneformgen/documentation/tutorial/sql-crud/tutorial-all-pages.
>>>> That's a lot of manual work, and it requires some ZMI/MySQL knowledge [1]. 
>>>> It
>>>> would be nice to enable editors to create an Action Letter with a MySQL
>>>> extension using the wizard.
>>>>
>>>> I'd like to create either some kind of extension to collective.megaphone 
>>>> itself
>>>> or a separate add-on product, which will do the following:
>>>> * on installation/activation, a create "Z MySQl database connection" is 
>>>> created
>>>>   - host, username, database are supplied by admin user at this moment
>>>> * When an Action Letter is created, the user can checks the box that says 
>>>> "Save
>>>> also to MySQL database". If checked, this happens:
>>>>   - a table is created (name derived from the Action Letter's id)
>>>>     + add columns for all form fields are added
>>>>     + maybe later allow users to select which fields are added
>>>>     + maybe later allow updates when fields have changed
>>>>   - a "Z MySQL Method" for storing is added
>>>>     + maybe later add other "Z MySQL Methods"
>>>>   - this method will be called after saving the form
>>>>     + for example, an after-validation script calling this method
>>>> * each time an Action letter is deleted, its table is deleted
>>>>
>>>> What i'd like to know:
>>>> * Are there currently solutions available that i may have missed?
>>> Not that I'm aware of (but I haven't looked).  Massimo Azzolini from Red
>>> Turtle also recently expressed interest in something like this.
>>>> * Is it feasible to do this in collective.megaphone? If I created a branch,
>>>> would someone be willing to merge it if the quality is good?
>>>> * Or is this out of scope, and/or are there reasons why a separate package 
>>>> is
>>>> better suited for this than collective.megaphone?
>>> I would rather see this as a separate package which provides an
>>> additional wizard step for Megaphone.  In Megaphone >= 2.0b1 (e.g.
>>> current trunk), the MegaphoneActionWizard class has a dynamic 'steps'
>>> property which returns the list of steps to be included in the wizard. 
>>> We should modify this to do an adapter lookup to a new
>>> IMegaphoneWizardStep interface we define, so that a separate package can
>>> supply an additional step.  I would be happy to merge a branch
>>> implementing that adapter lookup in order to make it possible to create
>>> the MySQL integration as a separate add-on.
>>>> [1] Also, I'm currently pondering about a way to use _two_ after-validation
>>>> scripts: collective.megaphone has one already filled in
>>>> (here/@@recipient_multiplexer), which i currently replace with my Z MySQL 
>>>> Method.
>>> You should probably instead create a PloneFormGen "action adapter", and
>>> call your Z MySQL method from its onSuccess method.  If you do this, the
>>> recipient multiplexer will ensure that it is called once for each
>>> selected recipient (with different values in the request form each time):
>>> - mark the action adapter with
>>> collective.megaphone.recipient_multiplexer.IMultiplexedActionAdapter
>>> - *don't* enable the action adapter as one normally does in PloneFormGen
>>> (then it will get run directly by PFG instead of via the recipient
>>> multiplexer)
>>> - set the execCondition of the adapter to "python:True" (this is how the
>>> multiplexer tells whether it is enabled or not)
>>>
>>> David
>>> ----------          
>>> David Glick
>>>  Web Developer
>>>  
>>> davidglick-jwyafjbudsc+ujob2kujgw-xmd5yjdbdmrexy1tmh2ibg-xmd5yjdbdmrexy1tmh2...@public.gmane.org
>>>  206.286.1235x32
>>>
>>> Groundwire: You Are Connected               
>>>  http://groundwire.org              
_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

Reply via email to