Showing posts with label cakephp. Show all posts
Showing posts with label cakephp. Show all posts

Wednesday, May 05, 2010

PhpBibliography 1.0 - using CakePhp

The brand new release of PhpBibliography is out!

PhpBibliography allows you to publish your bibliography online (and to edit it via web).
It is implemented in Php 5 and uses MySql 5 (however, it might work also with Php 4, and also with MySql 4, but I'm not testing this).

This is a complete rewriting using CakePhp, the old version site is available here.

CakePhp is really a wonderful framework and I really enjoyed using it for PhpBibliography.

Hopefully, PhpBibliography is now more stable, relying on many mechanisms offered by CakePhp, and it looks nicer (in my opinion at least).

In the near future, I'm also planning to allow customization of the look by relying on CakePhp themes.

If you have an already installed version of PhpBibliography (earlier than version 1.x) you will need to follow the instructions you find at this link.

PhpBibliography now comes with a web based installation procedure which should minimize the efforts of the user who installs it (hopefully).


These are the main features provided by PhpBibliography:

  • Automatic generation of bibtex for papers (unless a manual bib item is specified when editing the paper).
  • For each paper two files can be uploaded and two links can be specified.
  • Papers can be searched with criteria about their fields.
  • Besides standard fields, new attributes can be specified for papers; attributes can be selectable, i.e., the logged user can choose among a(n extensible) set of values and multiple, i.e., a paper can be given several values for that attribute; an example of selectable/single attribute is "Publisher", an example of selectable/multiple attribute is "Keyword", and an example of non-selectable attribute is "DOI".
  • Papers can be specified as private (visible only to logged users).
  • Reports can be generated by filtering by author, by value and by grouping up to two levels (e.g., show only papers of a given authors, grouped by year and by paper type).
  • RSS feeds are available for search results, reports and paper lists.
  • Lists of papers, and results of reports and searches can be included in other webpages (by using the bare layout).
  • Papers can be imported from DBLP.
  • Searches for possible duplicate papers.
  • Papers can be inserted through bibtex items and bibtex files.
And here are some screenshots of the new interface:

The main paper view


Recently modified papers


Let's generate a report...


...and this is the result.


The administrative interface (for logged users)


Papers shown in a table ready to be edited or deleted.


The view of a paper


The co-authors of an author

Wednesday, March 03, 2010

CakePhp and SSL connections (https)

I've been playing with CakePhp for some time now (and really enjoyed and enjoying it), since I'm turning my bibliography system, PhpBibliography, to use it (I've rewritten it basically from scratch using cakephp, and hopefully the new version will be out soon).

What I've been struggling with was the https ssl connections which didn't seem to work: I was getting page not found errors, and even after the ssl site was working, only the home page seemed to respond, but no css style was applied.

The problem was due to the rewriting engine on which cakephp is based on, and I had not configured it correctly in the apache site (so cakephp was not to blame). I document my experience here hoping it can help others.

I'm using Ubuntu 9.10, so what follows was done on such system.

First of all, you need to enable ssl in apache; To enable SSL, type (as user root, e.g., with sudo):

a2ensite default-ssl
a2enmod ssl

Note that I'm not interested here in creating a specific certificate, so I'm using the default one.

Then, you need to make the mod_rewrite work also for the ssl site: you need to edit /etc/apache2/sites-enabled/default-ssl and make sure that AllowOverride is set (in my case I only need that in /var/www):

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

Then, restart apache and your cakephp will work with https as well.