Posted on: 2012/11/24 11:01
How we upgraded the job board website
Hi there, xoopsers!
Since 2007 I've been running a translation jobs board website powered by Xoops. Language related job boards significantly differ from job boards of a general subject because the main criteria for job posters and freelancers is a language pair required. Thus none of the existing Xoops modules could be used for a job board as they are (jobs, catads, etc.). Previously I used a heavily hacked version of catads 1.4, but it had a lot of bugs and was not as flexible as I needed it to be. I needed something new and Andrey (andrey3761
) from xoops.ws gave me a hand with that. Below are some of the modules and solutions he designed for me for the last 3 months that have made the website more flexible and user friendly:
1. The Jobs module.
A brand new Jobs module has been created from the scratch. Now job posters can specify as many language pairs on a job posting page as they need with a new field made with ajax.
Also we replaced a direct contact button with a Quotes system.
To contact a job poster a user has to fill out a simple form with his pricing and deadlines information. Any user can be contacted via a new Contact me page imbedded in the Profile module (thus we don't reveal members emails that makes their profile pages more secure).
2. The Notifications module.
I have over 10,000 subscribed members that need to be notified of new job postings matching their language criteria, specified in their profiles. Thus sometimes I face a situation when over 3,000 e-mails have to be sent out at once. I have a shared hosting that cannot handle so many e-mails at the same time. So we came up with a new Notifications module that collects all the e-mails which have to be sent (sorted by priorities to ensure important e-mail are sent first) in one place and sends them out by packs of about 200 emails at once every 10 minutes with use of cron. Thus we ensured all e-mails are sent and every subscribed user is contacted. I consider this module as one of the best things we could do for this website.
3. eWallet system.
Any good website has to bring profit. We decided to create a xoops Wallet system where users could transfer their money to in order to buy some paid features. The easiest thing we could think of is to create a new "funds" field in the Profile module and use it as a "Wallet". This field cannot be edited by anybody but the webmaster. Andrey also adapted the xDonations module to write data to this field. So now if you "donate" 5 dollars to the website the same sum is added to your Wallet.
This is a short description of what has been done. I believe this proves what a flexible system Xoops is and helps those who hesitate decide if they want to use it or not.
Link to the website: http://goo.gl/CzQN0
Once again, a great Thank you goes to Andrey for his dedication and great work!
Any feedback would be greatly appeciated!