What can I use to make my website?
April 18, 2012 7:38 AM   Subscribe

Network guy dipping toes into web development. I want to create a "simple" site. The site would have members enter text and create tags for that text. The user would then generate "reports" based on the tags into templates. The data entered and reports generated would only we viewable by the user that entered it. I guess it would be a multi-user web based Cyrstal reports type of thing. What is the right tool for the job? It would be nice if I could use a pre-build enviroment like a CMS (Drupal, Joomla) as I have access to training and web host offer simple installers. I am savvy with Linux and would prefer free software.
posted by nivekraz to Computers & Internet (14 answers total) 2 users marked this as a favorite
Hoo boy.

We do this, and I assure you, doing custom reporting is not a "simple" site. Essentially, we're running Jboss on top of an oracle database and a custom jsf application acts as an interface between Oracle and Business Objects.
posted by Oktober at 7:52 AM on April 18, 2012

I'm not sure, but you could certainly do this in Drupal, but you might even be able to do it in something more standard like wordpress. The basic page + tagging is part of all CMS, so then it becomes a question of permissions such that only creators can read their own pages.
posted by idb at 8:33 AM on April 18, 2012

doing custom reporting is not a "simple" site.

Well, it depends on what the asker means by "reporting". (This may just be my last conference call talking, but there seems to be a tendency in the Java world to immediately jump to the most complicated and expensive possible interpretation of any stated problem. I'm not sure that JBoss + JSF + Oracle BO is an appropriate suggestion for someone "dipping toes" who prefers "simple installers" and "free".)

Anyway. Are you talking about just retrieving all the texts that match a given tag? Or more complex lookups?

Pretty much any of the gazillions of available frameworks will likely do you just fine, unless there's something unexpectedly complicated in your requirements (does it need to scale to high load or large amounts of data for example?) If you can offer more details about what you're trying to build, people might be able to recommend particular environments that would suit; otherwise you're going to wind up with a more or less random list of "here's my current favorite development environment." Not that that's valueless; if a lot of people are using a given environment that's a reasonable argument in favor of you using it too.

Personally I'd suggest starting by narrowing your selection based on which language (PHP? Ruby? Javascript? Java? ASP? Perl? Python? etc ) you already have familiarity with and/or feel most like learning -- find a few options that use that language, see which one has the clearest documentation and an active userbase, and go from there.

Of the two you mention: I've worked with Joomla once or twice. It doesn't suck. Drupal I have no direct experience with, but it has a reputation for being both very powerful and very complicated to set up. (Both are built in PHP, which is not my personal preference, but that's just my personal preference.)
posted by ook at 8:34 AM on April 18, 2012

I probably should not have compared to Crystal Reports. Not that complex

"Anyway. Are you talking about just retrieving all the texts that match a given tag?"

Yes, just this. Return text that matches a given tag (or tags).

-BobUser signs in
-BobUser enters "I enjoyed the Pinot with my Taco Bell Dorito Supreme" and tags that text with "wine", "tacos", "lunch".
-BobUser enters "I drank Pepsi with Chicken" and tags it with "lunch", "chicken", and "soda"
-Later on, BobUser wants to see all entries tagged with "tacos" & "dinner" and entries tagged with "lunch" and "soda".
-The results have the entries tagged with "dinner" are grouped together and the ones tagged "lunch" are grouped together and presented.
-Only BobUser would have access the info BobUser input.

I am just using this to learn so there is no issue of scaling or high performance.

Thanks for taking the time to look and respond.
posted by nivekraz at 9:27 AM on April 18, 2012

Most (any) CMS can do this. Wordpress is probably your simplest option. I would handle it by each entry being a post. Then each post has a taxonomy associated with it. The nice thing about WordPress is by default taxonomy has pages that list all posts that have been tagged with that particular taxonomy.
posted by rdurbin at 9:52 AM on April 18, 2012

Essentially, we're running Jboss on top of an oracle database and a custom jsf application acts as an interface between Oracle and Business Objects.

Well, that sentence terrifies me. I think we are talking about a pretty simple thing here.

Spin up a VM in house or on EC2. Ubuntu Server, Debian, CentOS, Oracle Linux, whatever floats your boat. Then: MongoDB, Flask, BrowserID, that's all you need. Quick and dirty. I bet you can have your app in production by the end of the week.
posted by tracert at 10:06 AM on April 18, 2012

The site would have members enter text and create tags for that text.

Wordpress does this. It's pretty much what it does, at the most fundamental level.

The user would then generate "reports" based on the tags into templates.

We've had happiness integrating FusionCharts with WP.
posted by DarlingBri at 10:26 AM on April 18, 2012

I do Drupal for my day job. I have put together some internal analytics applications in Rails, I do consulting work for a network with six Joomla sites, and I run WordPress for myself.

For something like this — and if I were you — I'd figure out how to do it in WordPress.

Drupal's nice and all, but it's very open-ended. A new Drupal installation is less interested in your opinion than it is amused by your attempts to express it.

Joomla thinks it already knows your opinion, and it's half-right but often about the things you care least about. You'll wander the interface just to humor its notions of how content should work. There is probably a developer somewhere who shares your opinions. He has written a free module that will allow Eastern European crime syndicates to share their opinions about herbal viagra all over your site.

Rails has its own opinions, but they're not about anything you're trying to do. On those things it is silent and expects you to figure them out for yourself. About the time you begin to understand why its seemingly unrelated opinions might actually apply to the things you were trying to accomplish, it will change its mind. Hours of screencasts will be shot explaining why you are wrong to be upset about that.

WordPress has its own opinions, and while it may not be desperate to make you think it agrees with you, there's an army of developers and a large community that is.
posted by mph at 10:52 AM on April 18, 2012 [3 favorites]

Would the CMS be able to produce the search results in a predefined template?

Using my example above:
Search for tags "tacos" and "soda"


I drank Pepsi with Chicken

I enjoyed the Pinot with my Taco Bell Dorito Supreme
posted by nivekraz at 11:21 AM on April 18, 2012

Taco will match for tacos but unless you have a sub-taxonomy, soda will not match for Pepsi. Click the tags on this Ask; that's pretty much exactly how tags work.
posted by DarlingBri at 1:31 PM on April 18, 2012

I can easily imagine exactly how I would do this in Drupal.

Drupal's Views module makes it easy to report on your content and even makes it easy for your users to specify what they want to look for - so you don't have to pre-build every possible report, just let them pick. There's lots of info about Views in the handbook pages on Views

You do this using the Exposed Filter option in Views. You can see an example of a Views configuration page at drupal.org - the Filters area off to the right is where you would define your filters.

There are also modules like Faceted Search that let you drill down into combined search terms: tacos, then soda.

For really simple things, I recommend WordPress, but this just seems like a perfect application of one of Drupal's great strengths - the Views module.

(And yes, you can definitely have all sorts of control over the output of the view - so yes, a predefined template should work fine.)

Feel free to MeMail me if you'd like to discuss further.
posted by kristi at 1:55 PM on April 18, 2012

What kristi said, with the addition of some role-based content access restrictions. I'm pretty sure you'll need the Content Access module or a similar one. Here's a nice tutorial of how to do it.
posted by epersonae at 4:35 PM on April 18, 2012

Thanks for the pointers. Setting up Drupal now. I will also check out Wordpress. I like the idea of the Multi-user Wordpress but have not been able to find search plug-ins that give me what I what. (but that could be because I am so ignorant and I don't know what to really look for)
posted by nivekraz at 5:53 AM on April 19, 2012

I'd kinda suggest not using WordPress anyway, if you're treating this more as a learning project... WP is a good tool for making one particular type of website, and while you can wrestle it into producing different types of site, you wouldn't learn much in the process (not even about using WP effectively, since you'd be starting out by using it for something it's not really designed for.)
posted by ook at 9:20 AM on April 19, 2012

« Older What's going on with this rice?   |   Where do body fat metabolism products go? Newer »
This thread is closed to new comments.