What tools should I use to build this website?
May 24, 2013 10:27 PM   Subscribe

I need to build a website to organize a lot of files (1000+), each of which should have its own page. Further details inside. What CMS should I use to do this, and what theme? Little current web design knowledge, but have time and desire to learn whatever technologies are necessary.

The files will all have lots of associated metadata; there will be about 10 categories of metadata, each with 10 to 50 or more distinct items. The site's theme should display all of the metadata categories; for the metadata categories with fewer items, all items should be displayed, and for the categories with more items, the ones with the most associated pages should be displayed. The main way of navigating the site will be through the metadata terms. There should be a page on the site with ALL of the metadata categories and terms.

CRUCIAL: Users MUST be able to combine metadata terms (for example, [year] + [country]) to navigate the site. There should be no limit to the number or type of terms that can be combined.

Final necessity, there should be a column on the right in which advertisements can be displayed.

The site will be hosted on its own domain.

This is a personal project and part of the goal is to help me learn the relevant technologies, so don't please think you must recommend the simplest way to achieve the above if it's not the best way -- I would like to know the best way.
posted by John Raskolnikov Gilson to Computers & Internet (5 answers total) 1 user marked this as a favorite
 
If you're the only one who needs to edit the data and you'd be willing to deal with simple code editing a CMS might be overkill.

MIT's SIMILE 3.0 javascript framework specializes in easy filtering and sorting. You ought to be able to adapt one of the examples so that links to all of the files and their metadata is held in a single JSON file, which with a bit of ingenuity you could edit using any spreadsheet application.

Doing it that way, without any need for a database server as most CMS applications require, will be very flexible and allow you to use almost any web host because the site will just be a few HTML and javascript files; you could even host it via a storage service like Dropbox or Amazon S3. (And the site will also be functional as a group of local files, so you could burn it onto a CD for backups or have a copy on a USB drive.)
posted by XMLicious at 11:16 PM on May 24, 2013


Response by poster: Each file needs to have its own page with a distinct URL (there won't just be links to the files on the pages, but also formatted text), so I don't think that would work, XMLicious. Thanks for the suggestion, though.
posted by John Raskolnikov Gilson at 11:37 PM on May 24, 2013


Apache Solr might be overkill for your project, but it's faceted search feature might be a good fit for your navigation needs. While it's really a search engine, you can use Solr to build browsing-oriented websites too.
posted by sriracha at 4:35 AM on May 25, 2013


I would use the Flask micro framework to create a simple site. For the database I would just use SQLite. Which is a db that lives in a single file.

What you're describing would only require three or four views (the functions that return actual html). What do you imagine your urls looking like? What are the columns in your db table going to be? Just:

filename | metadata ??


What are your urls going to look like?

Use source control on your project. Git is one of those tools that non-professional coders think is too hard, or a waste of time for a small project. That's because they don't realise how much pain you remove from writing software when you have a permanent history of the project and can step backwards and forwards through it and identify exactly what you changed that broke everything.
posted by aychedee at 5:00 AM on May 25, 2013


I might almost suggest Joomla for content management, with a plug-in akin to one of the free OrdaSoft Digital Library plug-ins. You can then design the metadata and tag the articles appropriately, as well as search the corpora. Another suggestion would be Greenstone Digital Archive. You can see an example of the OrdaSoft Digital Library plug-in for a Joomla personal library project here: Schizophrenia Library. You can see that the Schizophrenia Library is running adverts alongside the right side. If you're interested in creating a website fairly identical to this library, let me know and I'll see if I can port you a blank-slate version of it. Also, if I remember right, you can upload an Excel file to the OrdaSoft plug-in, rather than create each page individually. This is a great feature, IMHO.
posted by jibberish at 8:24 PM on May 25, 2013


« Older Focus Interruptus   |   Fixing an unreasonably slow MySQL query Newer »
This thread is closed to new comments.