Hi All,

I'm embarking on my first Radiant-based project that isn't primarily
about pages.  I'm going to need several extensions to get the job
done.  I anticipate writing one or more of my own and contributing to
several existing projects.  But, I don't want to reinvent things that
are already out there.  Jim and I talked a bit at RailsConf and he
gave me some good leads, but I'd like to get thoughts from the rest of
you.

The site I'm building is for a network of small businesses here in DC.
 The goal is to help connect the network of business owners and
customers.  Below are my general requirements, thoughts, ideas, and
questions.

Thanks for lending your time and expertise,
Jeff


Events
=====
Business owners can post events at their business.  Customers can view
events.  Only major sticking point is that events may be recurring.

I think the ice_cube library (http://seejohnrun.github.com/ice_cube/)
can help with the most painful parts of the reoccurrence
functionality.  The events-calendar extension
(http://github.com/davec/radiant-events-calendar-extension) looks to
fit the general idea, though it hasn't been updated since March so
probably needs some love to be 0.9 compatible.


Advertising / Promos (Internal)
======================
Site admins can post highlights and advertisements that are visible
around the site.  Promos need to be targeted to certain pages based on
URL.

I've used the banner-rotator extension in a similar situation before
with success.  I think the UI will need a little work to deal with the
targeting I have in mind, but it should be minor.


Business Listings
=============
Business owners can create and maintain a page describing their business.

Just specialized pages, I think this will best be tackled using Page
Parts / Page Factory.  I really want all the data elements in one
screen/tab though instead of splitting across 6-10 tabs.  Josh and I
have talked a little about how to best implement a composite editing
view, but no solution yet jumps out at me as the right one.  Have any
of you solved this?


Deals
====
Business owners can post "deals" (like coupons, happy hours, etc) for
their business.  The deals are displayed in a widget around the site.

It's simple from a data modeling standpoint.  A deal is attached to a
business and just has a start date, end date, and body.  Maybe it's
solved by PageFactory/PageParts and deals just hang on as children to
their business' content page.


Member & Account Management
========================
We'll have about a hundred business owners and, hopefully, thousands
of registered users.  My other radiant sites have dealt with a dozen
or two accounts, so this is new ground for me.  Business owners are
allowed to edit their business page, post events, etc.  Registered
users are just allowed to post comments and reviews.

The member-extension
(http://github.com/Aissac/radiant-member-extension) looks interesting
but the lack of user self-registration is a problem.  The
reader-extension (http://github.com/spanner/radiant-reader-extension)
looks like a perfect fit.  Building on that, the
reader-group-extension
(http://github.com/spanner/radiant-reader_group-extension) might come
into play.

In the past I've used the rbac extensions (rbac_base, rbac_page_edit,
etc) for handling permission issues like this.  I think they'd be a
good choice, though as I recall the interface for managing role
assignments was awesome for a small number but would struggle with a
large number of accounts.  It might need some rethinking, but
modifications should be minor.

Also, when a business owner logs in to the admin site, I'd like them
to only see the part of the page tree where their business is the
root.  Basically creating a "virtual" tree scoped just to their
account.  Is there an extension that already does this?

Reply via email to