This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Front End For Database..

I have a very basic question. I have created a local (mysql) database in my system. I would like to know what would be the best option for a front end. I had used html before and want to try out something new. I might also add some perl code in between for some computational work. Kindly help me in this regard..

database web

Stackoverflow would a better place to ask this kind of question.

Thanks for the info..Its actually a biological database and we will be integrating some bioinformatics tools along with it. So I thought of asking the question in this forum...

5 answers

[?]

  • MySQL or PostgreSQL as Back end for the data
  • (X)HTML for the Front end
  • PHP to make the link between the Front End and the Back End
  • Javascript to add interactivity to the Front End. I also use the Javascript library called jQuery that makes life easier to deal with Javascript
  • SVG if I want for instance to draw interactive KEGG Pathways

[?] Link to "Professional PHP Programming"

thanks..I was just looking for these kind of ideas :)

Thanks...I was looking forward to such ideas :-)

Already Nice Answers: Here's my two cents.

I would recommend you to start with a basic template and add various components as required.

You can do the front-end -> database interaction in a simple way using CGI.pm with DBI::mysql / DBD::mysql

But the current state-of-art is to use MVC based frameworks (Catalyst is Perl based and Django is Python based MVC frameworks) for front-end with database interaction. A detailed list of Perl based frameworks are available here. Remember all of them are not capable of full MVC. For example Template::Toolkit will only take care of the view part. The latest in the block is Mojolicious. I am currently experimenting with this, got good reviews from fellow Perl fans. So if you want to try something different within Perl, you could give it a try.

To get the best look and user interaction for the interface you may need a bit of CSS, Java Script and Ajax. If you are new to this, I would recommend you take a look at W3C tutorials and finally if you have enough time, you could learn a great deal of all these technologies from the online course videos : Building Dynamic, Scalable websites by David J Malan.

lots of thanks :-)...specially for the tutorials...

Assuming that by "front end" you mean web interface, there are many possible solutions.

Since you mention Perl, you might want to look at a web framework such as:

At the very least, you should be familiar with DBD::mysql; you can "roll your own" Perl CGI around that, perhaps using CGI.pm.

To let others to access and update the database, I recommend OpenOffice Base

  • It is Open Source and cross platform
  • It produces a nice(ish) user interface QUICKLY (if you have to make your own webpages it is a nightmare)
  • On top of the server side permissions (who can UPDATE, DROP, SELECT...) you can put some other client side restrictions
  • It allows to make, save and share custom QUERIES, FORMS (either to read or to update tables)

You can start here to see how to connect Base to mysql

I have just started using it. I am in a large(ish) group of biologist that will need to update different tables (about samples, DNA preparation and so on) so that such information can be used by me and another bioinformatician for analysis. Also people in the lab need to retrieve information and I think this is the way to go. Happy to help more (and share link on documentation that is sparse) if you go this way

If you want a nicer user interface (don't like mysql client) you can use MySQL Workbench

I use it mainly to keep an up to date EER model, but it is much more powerful than that

hey..thanks a lot..I will have a look at it right away !!

Hi,

So it depends on what you want to do, personally I prefer Python and find it very easy to build html interfaces to databases very quickly (its very easy to get something working quickly):

For example pylons has a very simple way of building templates for webpages and it uses SQLAlchemy (an object-relational mapper) to access the database side.

http://pylonshq.com/

or

http://www.djangoproject.com/

Both have relatively good AJAX support. I know you may want to use Perl ... but I thought I'd suggest that there are some very easy Python frameworks available for this.

Thanks for ur suggestion...this is exactly the point ..that I didn't want to use the usual stuffs and wanted to try out something different..so I will try out with Python as well !!

Log in to answer this question.