For what it’s worth, HorseBloggers is a blog directory, so pretty similar.
I set up a weblog for blog profiles and a weblog for news items. My main member group is set up to add and edit entries in these weblogs. News is a pretty standard title/body weblog. The blog profile has all the custom fields I wanted for these directory listings—title/tagline/description/feed URL if available, etc.
When a user registers, they have access to a front-end control panel that allows them to manage both user account settings (password, avatar, etc) and their profile and news entries.
The user account settings are handled via a customized version of the EE member templates.
The profile and news entries are handled by regular EE templates. I restrict them to logged-in members only and I use the SAEF to let them create the entries. Both submit with status=open and appear immediately on the site. I have not had enough problems with bad/spam entries to bother setting up any sort of entry validation process, but that could be done easily with a different status choice.
The front-end control panel also has a table that lists their existing blog and news entries. They can select a title to go to an edit form and edit their data whenever they like. It’s another SAEF with Solspace’s form_helper plugin. They can only edit their own entries. These templates are also further restricted so you have to be logged in just to see them.
I do allow them to set the status of an existing entry to closed if they want it to disappear from the site. You can do more with status if you want to—I have an additional “admin_closed” status that removes the profile from the live site and disables the user’s ability to edit it. I use it when there is an issue with the profile that needs to be resolved. Once the user and I work out the issue, I set the profile back to closed or open, and the user has control of it again.
So everything the user does is on the front-end, without access to the main EE control panel. I customized all their front-end control panel pages to look like the rest of the site, so they can’t tell when they are in the EE member profile templates and when I am using regular templates. It all looks like one integrated control panel.
Customizing the member profile templates was the hard part; setting up the SAEF forms so they can add new entries/edit their existing entries was pretty easy.