Looking for pointers on new plugin
I run a large forum that, among other things, has a trading post section where members trade stuff.
Recently, Facebook has updated its groups UIs to include the ability to post items for sale. Since then, I've seen a bit of traffic go from the forums to Facebook groups of similar purpose. So I thought, it's not such a bad idea - the trading post SHOULD hold a bit more metadata and maybe have a cleaner interface for adding a price, location, photos, etc.
My question is, where would I start in terms of code for doing this? I've built a number of plugins for Vanilla, but nothing that has such a big impact on the underlying content.
My best guess at the moment is:
- Hook a function before create post and insert some additional UI with custom fields.
- Hook after discussion creation and persist those additional fields to a new table in the db along with the discussion ID it is associated with
- Hook before discussions list render function and tweak the render output to markup this additional metadata and display it in some manner
- Hook the before discussion render and markup the same information there + any other customisation I might want to make to the first post
Does that seem like a reasonable way to do it?
Just looking on some best-practices advice.