On 5/2/10 9:14 PM, Josh Godsiff wrote:
<snip>
> Anyway, back to actual questions:
> 
>     * Are Plugins capable of modifying the structure of existing tables,
>       or can they only create/modify their own new ones?

Yes.  You can munge the database any which way you want to in an
IEnvironmentSetupParticipant.  However, if you change the core tables,
you do run the risk of a future core schema change failing.

>     * Other than the obvious having to recode CRUD functions, would
>       these changes likely interfere with any of the other workings of Trac?

Not very likely.  I can't think of any places in the code that use
'SELECT *', so most queries should be relatively safe.  However, you are
changing a core assumption, so it might mess up more than you or I
think.  Fortunately, it's open source, so you can track down any issues :)

>     * If I decided to scrap this idea and just store the data I want to
>       store in the ticket_change table, would doing so (i.e. storing
>       data about a comment as opposed to a ticket) mess with the way
>       Trac operates when it's trying to calculate fields and changelogs.
>       (Or more accurately, where does Trac actually store the data about
>       which fields it should attempt to retrieve in order to construct a
>       changelog?)

As per above, the queries don't use 'SELECT *' so adding extra data
shouldn't make anything blowup.

-John

-- 
You received this message because you are subscribed to the Google Groups "Trac 
Development" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/trac-dev?hl=en.

Reply via email to