Any recent activity?

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
mb2449's picture

Hello,
I am looking to get into the publishing business by starting my own classifieds for my hometown. I wanted to start an online/print classifieds, but I could not find any suitable Drupal classifieds module... the only one out there is really simple and just won't cut it. I just wanted to post, and see if there are any others with resources (programming talent, funds), who were also looking for something similar.

I have done some PHP programming in the past, and have setup a few Drupal sites, but I am new to module development. I have already outlined the features I am looking for, and have a rough framework on paper. I will probably start developing it here in another month or so, and I am hoping to have it done by May. If there is anyone who would like to collaborate on this project, I would like to start a dialogue.

Comments

Creating a Classifieds System

sbroadbent's picture

I was likewise disappointed by the lack of a decent classifieds module, and instead tried to use my knowledge of existing modules to put together something equivalent to some of the existing classifieds sites (Craigslist, Kijiji, etc). In the following instructions, I highlight in Bold all the modules I use mention.

Stages of Development
1. Create form to have user submit ad to be displayed in Classifieds.
2. Enable users to respond by email (or other contact options)

I have effectively completed the theoretical design of "Stage 1" which is having a user submit an ad.

I have 5 major categories (Content Types) each with a different form with CCK fields for customized entry. Yours may vary.
- Marketplace (for buying, selling, Free Offers, Barter/Trade)
- Housing (sale or renting of residential, commercial/office, storage space, vacation/timeshare)
- Job Connect (Finding jobs, offering services, posting resumes and skills)
- Personals (Relationships, Friends, etc)
- "Community"

Taxonomy vocabularies can be then used to choose options such as in the Job Connect category:
1. when a person posts they select the taxonomy term they are offering ie: "Employment", "Service", "Resume"
2. Which Field they are looking in: "Professional/Medical", "Skilled Trades/Carpentry", etc.

Using Views, if a user chooses to display all Employment ads in the Professional/Medical category, it will list all the relevant ads.

If a user misplaces an add (say posts a Resume in the Employment category, the category can be changed to Resume)

The Autoexpire module can be used to remove ads after a specified amount of time, and a user can renew an ad if desired.

To add images to classified ads, imagefield and filefield are necessary, though if you also want to include smaller Thumbnails in the category listing, imagecache and imageapi can be used to create the thumbnail.

CCK can be used to create all the various fields necessary. Email Field can be used to specify the email address field.

All is fine and well until I got to stage 2.

Stage 2
At this point, my module search efforts start to fail finding modules necessary for the functionality, or I'm over thinking things and/or don't know about messaging/email functionality in drupal. Perhaps writing my thoughts down will help clarify it in my mind, and perhaps a response or two can help to resolve this stage.

When you respond to a CL ad you click the respond button then have to pass a Captcha to get an email address. This you then just bring into your email of choice and go from there. The email address is typically unique to the advertisement, so you would need a module that creates a temporary email address to allow responding to, or have it show the poster's real email. Some CL ads do give that option.

Kijiji has a form on the ad page. It needs to pull the relevant contact information from the ad (email to use the form), or phone number to be displayed if that option is available.

Any additional modules needed, or can things be done with what we have so far? What are the proper steps to get it functioning as intended?

Additional Ideas:
If you need location proximity searching, though I haven't played around with it, I believe the location module can be used to find ads closeby.

If you want the site to use different subdomains to identify different regions like Kijiji and CL, there are a few domain/subdomain modules that could be of use, though I didn't get far enough to want to mess with that yet.

If you want user moderation and flagging, the Flag and Rules modules are necessary.

Modules Used:
Essential modules used:
Taxonomy to give sub-categories
Autoexpire: To have ads expire and then eventually purge from system
CCK: To Customize your Content Types
Views: to build your list of ads.
Email Field: Mainly for anonymous users if you allow non-members to respond to ads. Registered users would probably just use basic user information to respond to ads.

Optional modules used:
Flagging and Moderation:
Flag: Allow users to flag inappropriate content
Rules: Events based on flags (unpublish or delete inappropriate content, etc)

Image and attachments:
imagefield: Allow users to upload images
filefield: Required by imagefield
imagecache: Add Thumbnails to category listing
imageapi: Required by Imagecache

location: Add proximity searches by location.

I am currently building a demo to see what I can put together that can be found here: S-Classifieds

My work so far....

mb2449's picture

Thanks for the response. I have been working on this classifieds for the last couple of weeks.... I am at about the same stage you are at... and it seems we have drawn the same conclusions as far as cck goes. I have a few dependent modules such as: cck, conditional fields, and content taxonomy. Basically my system works by creating a taxonomy that lists all your main and sub categories. Each main category can then be associated with a node type. Then using conditional fields and content taxonomy, the nodes can be customized for each sub category if necessary. I have already created the main module, which will allow you to setup your classifieds, and handles the ad creation process in a slick way. I am working on assigning attributes to nodes. Attributes are ad duration length, images, seller type etc.

For displaying my classifieds, I am using taxonomy menu to create a menu... and probably views to build the list pages (although I still have to do this part).

After my main module is complete, it will also have the following modules:

Sales- This will modify my module to integrate into Ubercart and streamline the checkout process. You will also be able to add pricing rules for the attributes, per category(s).

Publishing - This will add in print support. I will probably use computed fields to generate a XML value for every ad, so that they can be directly exported and imported into Adobe InDesign. Also, the publishing module will allow for special pricing rules (price per line, characters per line).

Commercial - This will be to allow for commercial accounts, where credits can be purchased at a discount, so people like auto dealerships, realtor's, etc can add their own adds at a discount over normal commercial rates.

Syndication - I want to setup a XML syndication so ads can be shared between sites. This will require a common format. This module is on the backburner for now.

There are also a lot of features I left out, but I am designing this to be a full featured classified system. If anyone has experience working with Ubercart modules, or would like to help out in general, I will consider creating a project page for my module and uploading my code. I was hoping to have a prototype up by Dec 31, but it might be close. I personally wanted to launch my publication in January, but I am still playing things by ear.

I am not sure about the auto

mb2449's picture

I am not sure about the auto expire module... but I will have an auto expiration feature built in (I am trying to not make this dependent on too many modules).

I like the idea about the flagging module. I will have to look into that.

Also, I forgot to add, I am also going to include the location module. Since thing's like yard sales and events generally have a location attached to them.

I'd agree that there

sbroadbent's picture

I'd agree that there shouldn't be too many dependencies, so if an auto expire feature was built in, that'd be alright. Overall, it seems the auto expire module was designed with classifieds in mind.

I'm still fairly new to Drupal, having been playing around with it heavily for about 3 weeks, and learning what it can do. So far this classifieds site would make site #9 in my ongoing saga to see what I can do with Drupal, though with the complexity involved and the lack of an existing module to handle the functionality, it makes for an interesting challenge.

I'd like to learn a bit more about how the coding works for modules, so I'll have to spend some time reading about it. The last time I did any sort of coding was in C in the late 90's... and checking my bookshelf I still have that textbook from college ;)

At the very least, I'll provide some encouragement to keep working on it, as it's a feature unfortunately lacking

The flagging module worked well for the rule or two I setup. I set up a rule that when content was flagged for being 'inappropriate', the rule unpublished the content, sent an email to an admin (saying that the content had been flagged and for an admin to verify which the admin could either delete or republish if it was wrongly flagged.

This would be more of an extreme case though, and was intended for a social networking site where the admin would often get sent a text message even in the middle of dinner saying someone posted something inappropriate, and she'd have to rush home to remove it. This would allow user moderation to relieve the burden the admin was under.

Rules can be set so that if something has been flagged X number of times, it can trigger an action to occur.

I tried testing an add-on to the inappropriate content flag by trying to also trying to set a flag for the user who posted the content which could then temporarily put a user into a moderated status to be dealt with by admins later, though I'd probably only do it if a user has been flagged Y number of times. I moved onto something different after it didn't seem to work as I was only able to give the moderated role to the person who flagged the content ;)

Helpful

Kami-kaze's picture

I tried building a classifieds about a year ago... and dropped the project due to lack of encouragement and knowledge. You posts have been helpful. I wish I could share some work, but I really don't have anything yet.

I will be following these posts though, should there be more ideas passed around. Maybe I'll have something to offer soon too!

Thanks!

subscribing

drupalina's picture

subscribing

Update

mb2449's picture

Well, I have been programming my classifieds module on and off for the past 7-8 months, and I finally have something almost ready for beta testing. Basically my classifieds system is all encompassing (like a forum is). My module will do all you need in order to run a classifieds. It has great online ad (node) creation support, views based lists, and taxonomy integration. Here is how it works:

Basically you create the nodes you want to use for classifieds. You have a standard classified ad definition that you can import into cck. You can then add your own fields to it. You then create a classifieds taxonomy which holds your classifieds structure. Currently it supports classification up to 3 levels deep. The node creation form gets modified the module, to provide a seamless interface for the user, complete with ahah updates, to calculate the current price, etc. The last thing to configure would be the views... and again, my module has it's own default view for listings. You can filter through the listings as well as add your own custom criteria (from the custom fields you created earlier).

This module provides some nice tools to help you run the system as well, like sales rules, to adjust pricing based on certain aspects (no of image, printed ad, category, etc). You can adjust what fields show up by category, as well as the search filter.

I had a lot of module dependencies at first, but these tended to not play very well... so I only stuck with well known dependencies. Views, pathauto, ubercart(if you want e-commerce checkout), uc_node_checkout, image field, and cck_email (I think) and there might be a few more. I created this thing for D6, the D7 came out, I want to update it, but I need it finished and up and running, so this will be a D6 thing for awhile in all likely hood.

First version up...

mb2449's picture

Well, I have been working hard... still have a little bit to do on my classified system... but I would say it's about 90% there, and I will be putting the finishing touches on it. It integrates with nodes, views, pathauto, and ubercart. My system is like a cragislist style online classifieds with built in support for publishers. You can export a list of your classified ads directly into InDesign. It has a backend that allows you to set category information.... it has a lot built in... more then I want to write all out at the moment.... but you can see a working demo here:

http://www.cvflier.com

Depending on the interest, I'm still thinking about turning it into it's own module, as I think it is different enough from the current classified ad module.

Hey mb2449, How did you

almamun's picture

Hey mb2449,

How did you create the Classified page? By manually adding blocks in that Panel page or else?

Please share some tips from your experience.

Thanks in advance

almamun
..................................
Dinajpur- My District Portal
Rangpur-Another Local Portal (Drupal Powered)
Rangpur News-Local News Site (Drupal Powered)

subscribing

verta's picture

We are looking for a classifieds module to test.

module

jugheadjones's picture

Hi, we'd love to test out a module as well. How do we get our hand on this :)

Sandbox up

mb2449's picture

I got a sandbox project up... Got pretty busy here taking on a clients site... but I am still working on it. Have to get the cron working, and debug... and write out the install file, and type up the installation instructions... hoping to get that up in the next few weeks.

Hoping to let others evaluate it, work out the bugs, and get it stable. I eventually want to turn it into an object oriented module, with an api so others can extend it. My classified module creates blocks for each category (and each category can have it's own node type with it's own custom fields), and these blocks list out the categories. So basically you just create a panel, and load in the blocks in the order you want.

Ok, almost up and ready, so

mb2449's picture

Ok, almost up and ready, so end users can download it and try it out....

http://drupal.org/sandbox/mb2449/1264938

I will be doing all my work / posting on here from now on most likely. I got something up now, but it is not usable (unless you're really adventurous). I created the install file, and now I am working through a test install on a fresh system, working out the bugs, and building the installation read me. I am also going to write a concise description of the module, as what it does is probably murky to most but me.

I should have some code finished and ready to be downloaded in a few days here.

Ok, code is up on the link in

mb2449's picture

Ok, code is up on the link in the post above. I tested it on a fresh install of Drupal and it seemed to go ok. I am sure there are some bugs somewhere, but I am hoping to work those out here, apply for full project status, and release a developmental version for the general public. But for now, if you know how to use Git, you can connect and evaluate the module.

Classifieds with Commerce

coloryan's picture

I recently took up an expired domain and converted it to a paid classified ad site/directory/PR site. Granted, I haven't given it the attention it deserves, but it can be seen here: http://www.IntermodalExchange.com.

Classified Advertising

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: