Hey All,
Fluid Design + Marketing (
http://www.fluidhk.com) would like to introduce a new site powered by MODx, many hours went into the project and we’re interested to get feedback from the MODx community!
http://www.womguide.com
The website is the online portal version of Hong Kongs best selling non-fiction book - WOM Guide, the first and most comprehensive local survey-based restaurant guide in Hong Kong.
We found a lot of help in the forums and the MODx community resources to get the site up, so thanks to all involved in MODx! I thought it would be interesting to share our experiences with the community, highlight any special customisations and show how capable MODx can be.
User Management
We took the awesome WebLoginPE as a base and slightly modified it. So far it is capably handling around 4000 users. Users can now log into the site to post restaurant reviews, comment on articles, upload photo’s and also request and recommend restaurants to be added to the database. Our user input snippets were custom built.
Search Engine
http://www.womguide.com/restaurants/restaurant-listings
One of the prime features of the website we paid a lot of attention to was the restaurant search engine. All of our restauarant data is stored in MODx documents and we’re using DBSight, which is an enterprise search server written in Java. It is free. DBSight fully indexes all the content and TVs that we want to be searchable, returning a result in xml which we then format using chunks for display purposes. This means that PHP and MySQL have very little work to do and our search results can be returned very quickly. DBSight also has some nice functions allowing us to translate certain TVs - so that Chinese speakers can use chinese characters in their search queries.
From a UI side, we’ve tried to assist users in finding results by minimising their opportunity to find zero results. We found that on similar websites, using an advanced search with more than one or two checkboxes selected would more often than not lead to zero search results. As a result we decided to go heavy on the javascript (it will not work without) and created a drilldown menu, in an iPod style to let users filter down their results. This means that only search filter routes with more than 0 results are ever displayed in the restaurant filter.
In case a user types in a query that does result in 0 results, we also have a spell suggest feature - where our dictionary is built using data from within our TV fields rather than generic english to provide relevant search hints only.
Whenever an admin makes an update to the restaurant database, the DBSight search index needs to be rebuilt. We’ve done this using MODx plugins =) to trigger DBSight to refresh its’ index. We’ve also used a MODx plugin to communicate with DBSight to initiate the search engine.
The database of restaurants is fairly large, and at this stage we have decided not to use custom tables. The site has around 2000 documents and is likely to grow, slowly. So far, we’re using the awesome MODx caching system and page rendering times are well within reasonable (please note this site is hosted in HK... for those in the US & Europe I’m sure you will experience slow network speeds.
Backend Customisation
We decided early on that we would require some manager interface modifications to allow our website admins to update the homepage in particular with ease. We used custom tables to store the one-to-many relationships that we needed between the homepage and restaurants + articles, and created a module that is able to modify these relationships. The module is loaded into the homepage editing interface through a plugin allowing us to manage the homepage from one manager page. The alternative approach would be to create a checkbox TV for all restaurants and articles that when checked, would promote it to the homepage, then we could use a snippet like Ditto to print out those documents on the homepage. Our reason for not taking that approach was to make the homepage editing procedure simple and centralised. Unfortunately we can’t show you a real time working demo of our backend customisations.
Looking forward to hearing what people think about the site!