Wow, this is great. Thank you. I will get into it in the following days and I'm sure some questions will come up. :)
Meanwhile, I was wondering if you have used this plugin: acts_as_abusable<http://github.com/linkingpaths/acts_as_abusable/tree/master>for flagging any suspicious content and would something like this be included in CE? Thank you, Andrei On Sun, Feb 15, 2009 at 7:00 PM, Bruno Bornsztein < [email protected]> wrote: > Hi Andrei and others, > I'd be happy to provide some details. I've attached a diagram of the models > & controllers I'm using for TennisMetro. Most of TennisMetro is just > standard Rails stuff (I'm using a few plugins that I'll mention later). > There area few areas where I'm extending or relying on CE to make things > easier: > > 1) Using CE's layout and styles. This is obvious, but it facilitates > building new views when I can just cheat and reuse the styles CE already > provides for forms, boxes, tables, etc. > > 2) Using CE's plugins. For example, it was super easy to allow comments on > Courts, because I just had to make Court acts_as_commentable, and then > include the new comment form. I'm also using CE's acts_as_publishable to > allow users to submit court listings which I can then publish. Another place > I use this is with the activity_tracker: it's easy to track activity on new > objects by using acts_as_activity on them. When a user records a match in > TennisMetro, for example, this is recorded in the activities table and then > displayed in the activity feed (I just had to override the > _unhandled_item.html.haml > partia<http://github.com/bborn/communityengine/blob/338205d797c3e0eef26327270c1d31734e5753cd/app/views/activities/_unhandled_item.html.haml>l > to display my new activity correctly. > > 3) Inheriting from CE classes to add and modify functionality. As you can > see on the diagram, I'm doing this only in a few places. The most important > is in Player, which inherits all of User's methods, but also adds some of > its own functionality. For example, a Player can have a rating, set his > availability, and belong to a court. The other places where I use > inheritance is in TennisMetroArea and TennisState (subclasses of MetroArea > and State, respectively). I do this in order to make TennisMetroArea and > TennisState geocodeable (since they're used when mapping courts and in other > area where geocoding is important). Lastly, TennisEvent inherits from Event. > In TennisMetro, TennisEvent represents a 'bulletin', where a player > announces he'd like to find a partner at a certain time and date. Unlike > Event, it has no end_time, and it also can have an association to Court and > TennisMetroArea. > > Beyond that (I'd happily answer questions or provide more detail if > something's unclear), it's mostly just new Rails code layered on top (or > beside) CE. I'm using > resource_controller<http://github.com/giraffesoft/resource_controller>for > most of my new controllers. I use > GeoKit <http://geokit.rubyforge.org/> for geocoding and spatial MySQL > queries, and Eschaton <http://github.com/yawningman/eschaton/tree/master>to > generate the custom Google maps. Other plugins: > ajaxful-rating <http://github.com/bborn/ajaxful-rating/tree/master> for > court ratings and > permalink-fu<http://github.com/technoweenie/permalink_fu/tree/master>for > pretty permalinks. > > Thanks! > Bruno > > > > > > On Sat, Feb 14, 2009 at 10:33 AM, Andrei Erdoss <[email protected]> wrote: > >> Hello Bruno, >> >> I would like to congratulate you and the community for building such a >> nice app like Community Engine. >> >> I am interested in building a site like TennisMetro, but more geared to >> shotgun shooting games, like Skeet, Trap, Sporting Clays. I would like to >> know if you could provide some general details on how you setup CE to run >> the TennisMetro site. What classes did you extend, what else did you include >> besides the standard CE, etc. >> >> I wrote to the group, because I believe we could all learn from your >> experience customizing CE. >> >> Thank you, >> >> -- >> Andrei Erdoss >> >> >> > > > > -- Andrei Erdoss --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CommunityEngine" 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/communityengine?hl=en -~----------~----~----~----~------~----~------~--~---
