Search

I’ve been proposed to design a database website for collecting creative-commons licensed sounds recorded in Venice. The project intrigues me, but at the very same time I don’t want to get in a jam promising things I’d not be able to handle – I’m mainly a front end web designer.

Thanks to the Map Location Field v3 I’ve succeeded in laying out each sound in a Google Map (it’s a 1 day experiment), but I’m worried about the creation of the XML page which collects all the markers/sounds positions to be displayed in the map, since the number of those entries could become quite big in the future and such a XML page has to render them all in one go: what issues could I head for?

Beside this, is Symphony the right tool for building and managing such a database of sounds? I’m a huge supporter of Symphony, but I’m also aware of the fact it’s the only CMS/framework I’ve ever used (apart from Joomla!), so I’m not able to compare it to other solutions and evaluate if it’s the proper tool for such a task.

I would really appreciate to hear any advice or direction, thanks!

How many markers do you expect, worst case?

Two things come to mind:

  • (easiest) make sure you cache somehow the resulting xml (you can create a dynamic ds which pulls directly from your page).
  • (hardest) if we're talking about a lot of markers, you should take in serious consideration a library to cluster them. I've used MarkerCluster in the past and works quite well.

As the others have said, Symphony is a great choice for this. Outputting many markers shouldn't be a problem — the XML might get large but worst case you can rewrite a Symphony data source using straight SQL to the database and it'll be a lot faster — that'll be a fix if things get out of control. Caching will help.

But showing lots of markers is more of a client-side issue and not a server side Symphony one. It's the browser itself that might struggle, and you should definitely implement clustering. This is a map with clustering that is powered by Symphony XML. An AJAX request gets the markers but from memory the data sources on this page are heavily cached (the XML might even be created asynchronously to the page load, I forget).

If it helps with your decision, the original Map Location field (v1) was made for World on the Move where animal migrations are plotted over time.

I've worked on the Goomaps plugin for jQuery to try and take the pain out of doing something like this for another project that got shelved.

The aim of the plugin was to call a JSON page from Symphony that is paginated, JSON created with XSLT that is, and add the markers in a batch process using the javascript with callbacks to increase the page number after each batch has completed. The idea was to take the load off the server and client this way.

Goomaps is available here, and is about to go into another round of development in the coming months for additional functionality.

I could quite happily help out with this if you like? (I love geographic stuff and maps (nerd))

Thank all of you for your quick replies! Excuse me if I’ve not written you back immediately but I’ve been K.O. due to fever – I got it for a sunny weekend, as always….

@Lewis:

  • since the number of sounds recorded depends on the activity of the students of the academy of music of Venice, it’s difficult to forecast the numbers of markers that could be displayed in the map – such a number could grow up to thousands in the worst case.

@alpacaaa and @nickdunn:

  • For caching the XML can I rely on Cacheable Datasource (I’ve never used this extension so I’m not fully aware of its potential) or it’s something which needs to be crafted by hand?

  • thanks for pointing MarkerCluster out to me, I’ll definitively have a look at it!

@nickunn

  • I’ve looked at the Symphony-made websites you linked to me, now I know Symphony can handle such a task and I’m reassured – the next question is: I’ll be able to do it as well, will I? :P

@designermonkey

  • thank you very much for your offer of help, as soon as I get well from my current state I’ll have a look at Goomaps to understand how it works and I’ll let you know if I’m not able to grasp something! I’ve never used Google Maps in a project before, but I agree with you, I really enjoy the idea of having the possibility to create a map!

  • to use Goomaps I should first create a JSON page like this one explained here, am I right?

Yeah, that's a good way to do it, following the object model Goomaps requires. If you need any help, just ask, I'm always around...

if you have the URL of the final project, post it there. I'm curious to see this website.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details