Posts Tagged ‘apache’

Integration of HTTPS, rpc4django, HTTP basic auth fully working

Wednesday, December 16th, 2009

Today I was able to remotely call methods of Dycapo using HTTPS and HTTP basic auth. Can't wait for the next version of rpc4django! 0.1.6 should give us the possibility to also access the authenticated user object inside the exported functions.
We are also waiting for Django 1.2 that will give us the possibility to validate our models at the models level instead of the current forms level.

BD-review

Wednesday, July 29th, 2009

BD-review is a dynamic website to allow people to review releases (albums, demos, EPs, singles) of (young, unsigned) music bands. The project is the outcome of the Internet Technologies course at the Faculty of Computer Science of the Free University of Bolzano.  The requirements of the project were to build a website using a small subset of JavaEE technologies, without the use of web-frameworks.

Therefore, this project is not really meant for production use. It was made as a strong, working and correct base for studying JavaEE academically. It should be useful for every student (also non-student) willing to have an overview on JSP and study it. The code is well-written, uses MVC, and the whole project is documented in detail in a 20+ pages report.

A screenshot of a Review

A screenshot of a Review

I encourage to read the PDF report of the project. It contains detailed information about the analysis and design phases, as well as the architecture description, screenshots, problems found etc. Please read also the README file. It contains configuration instructions.

There is a running demo located on the evaluation server of the course, but I think it will be removed soon.

Quick Jump:

Vision

Requirements Implemented

Technologies Overview

Download

License

Vision

The aim of the project is to build a dynamic website to allow people to review releases (albums, demos, EPs, singles) of (young, unsigned) music bands. Users will be able to signal interesting materials and review them, while other users will be able to comment the reviews, too.
This web 2.0-oriented application should allow unknown talented musicians to achieve a higher notoriety but also to improve their productions.

Screenshot of the personal user page

Screenshot of the personal user page

Requirements Implemented

I report here the requirements of the course, all implemented by BD-review:
What BD-review implements is:

  • User Management
    • List existing users of the system
    • Creation of a new user
    • Deletion of the existing user
  • List and modify access rights of the users
    • check boxes with some capabilities (min 3)
  • User registration and login to the system
  • Items management
    • Users add, edit or remove items
    • Users comments or reviews items
    • Administrator can manage the comments (edit,remove, add)
  • Personalization
    • Salutation for a returning user
    • List resources that are new from the last visit
    • Customization of the layout for a class of users.
  • Techniques – MUST be used
    • Static HTML
    • CSS: all the look and feel must be in CSS files
    • Javascript: check input and manage menus
    • Servlet: Reading (parameters and headers) and writing headers and resulting page
    • Servlet: Session management with cookies and session object
    • Servlet: Redirect the client
    • Servlet: Forward to another page or servlet
    • JSP: Expressions, scriptlets and declarations Beans
    • DBMS access trough JDBC
    • Integration of JSP and Servlets (forward and include) using MVC pattern.

In addition, BD-review implements two Filters and plays with Regular Expressions.

Technologies Overview

  • J2EE technologies (JSP, Servlets and JavaBeans)
  • Database support (PostgreSQL 8.3) through JDBC 4
  • XHTML Strict 1.0 + Cascading Style Sheets 2.1 for presentation
  • Apache Commons for conversion and Bean population routines
  • Some utility methods found on Books and Internet (their provenience is cited in the sourcecode)
  • Javascript for confirmation system and form validation
  • Regular Expressions
  • TinyMCE rich WYSIWYG HTML editor
Screenshot: modifying a Review

Screenshot: modifying a Review

Download

PDF report of the project
Complete Source Code and Documentation (as Netbeans Project)

The Future

There will not be future developments for the project. It was not a real-life project but I will be very proud if you find it an useful example for learning JSP. You can also use it as a basis for developing a real project (also a University Project). You can do anything you want with BD-review, but please respect the license. I would be happy if you send me an email about your experience in using BD-review.

License

BD-review is released under The Gnu Affero GPL version 3! This is different from the license of the contents of the blog

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see < http ://www.gnu.org/licenses/ >.

Announcing incollo.com service!

Tuesday, September 30th, 2008

When I announced BD-incollo 6 days ago, I also mentioned that I would have launched the service today. I really did that, and I'm very proud to announce the first site that runs BD-incollo.
http://incollo.com! Very easy :-)
Incollo.com is a collaborative debugging tool like Pastebin or other similar services, but it's slightly different from it. And it's different from other Pastebin clones even written using Rails or Django.
Here are the most exciting features:

  • It's Fast. Very Fast
  • Written thinking about usability
  • A very clean interface, a minimalist design that gives space to the code (as it should always be)
  • It's possible to search through pastes, like in a forum
  • A Paste is not deleted after 30 days or something similar. A paste is deleted after it is no more interesting! It's deleted after 60 days of no visualizations
  • The system is anonymous. It won't store your information! Paste whatever you want but please use your brain! A Paste may be reported to the administrator!
  • You don't really have to play with options and there are no required field other than the Paste itself. You may paste a text and directly hit the submit button
  • Quite every page is XHTML 1.0 compatible
  • It works well and has nice urls, thanks to Django
  • Compatible with every browser (tested with Internet Explorer 6,7,8, Mozilla Firefox 3, Apple Safari, Google Chrome)
  • Resolution friendly! Liquid design that adapts to every monitor resolution (tests from 1024x768)
  • Developer friendly! Every functionality of incollo.com can be used with max 2 mouse clicks and without a mouse scroll!
  • Tested with lots of pastes, quite every source code should be perfectly viewed (this does not happen with every pastebin clones I've tried)
  • Uses Pygments for code highlighting
  • Languages supported: ActionScript, Assembly (various), Boo, Befunge, BrainFuck, C, C++, C#, Common Lisp, D, Delphi, Dylan, Erlang, Haskell (incl. Literate Haskell), Java, JavaScript, Lua, MiniD, MooCode, MuPad, OCaml, PHP, Perl, Python (incl. console sessions and tracebacks), Redcode, Ruby (incl. irb sessions), Scheme, Visual Basic.NET, Django/Jinja templates, ERB (Ruby templating), Genshi (the Trac template language), Myghty (the HTML::Mason based framework), Mako (the Myghty successor), Smarty templates (PHP templating), JSP (Java Server Pages), , Other markup, , Apache config files, Bash shell scripts, BBCode, CSS, Debian control files, Diff files, Gettext catalogs, Groff markup, HTML, INI-style config files, IRC logs (irssi style), Makefiles, MoinMoin/Trac Wiki markup, Redcode, ReST, SQL, also MySQL, Squid configuration, TeX, Vim Script, Windows batch files, XML

This is an example of Paste with Incollo.com:
http://incollo.com/7dca5011

You are really welcome to report any bugs or leave a feedback! Remember that this is my very first Django project, and I created it in about 6 days!

Of course, I'm already beginning to think about new features :D

Server updates for the new year

Wednesday, January 2nd, 2008

Happy new year everybody!
I'm sure you found my site offline quite a lot of times in the last week. I decided to format the whole server and to move from the UML virtualisation system to the more convenient Xen system, which is still in beta testing at Linode but full working for my personal needing. The decision to switch to Xen was because of its support to multicore CPUs, needed by a couple of applications I'm using for personal studies.
The linux distribution I've chosen is Debian Etch again, stable, quite fast and easy to be maintained.
The software has been updated and some security tips have been adopted, and thanks to the free resources upgrade by Linode, Apache server has came back.
I'm really enjoying my VPS experience =)

New permalink structure: short wordpress urls

Monday, June 11th, 2007

As you maybe already know, my permalink structure of the blog was of type http://task3.cc/year/month/day/title-of-the-article/
I've just updated the permalink structure to this new one: http://task3.cc/title-of-the-article/

This is nothing difficult, you can set it in WordPress control panel (Options->Permalinks)

The problem was that, if I just updated the settings in WP control panel, all the links which pointed to my articles, written in forums, mailing lists, etc, would have been broken. I needed a mod_rewrite rule. And I'm a noob about mod_rewriting.
After some googling, I found this awesome mod_rewrite Cheat Sheet which brought me to the solution (after about 30 x /etc/init.d/apache2 reload :-) ):


RewriteEngine On
RewriteBase /
RewriteRule ^200[0-9]/[0-1][0-9]/[0-3][0-9]/(.*)/$ $1/ [R,NC,L]
RewriteRule ^200[0-9]/[0-1][0-9]/[0-3][0-9]/(.*)$ $1/ [R,NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


You just need to add two new lines in your mod_rewrite rules, as you see:

RewriteRule ^200[0-9]/[0-1][0-9]/[0-3][0-9]/(.*)/$ $1/ [R,NC,L]
RewriteRule ^200[0-9]/[0-1][0-9]/[0-3][0-9]/(.*)$ $1/ [R,NC,L]

The line basically means:
take the urls which starts with a year (200x) / continue with a month / continue again with a day / contain some text / (with or without the final slash / )
re_write the url just like this: /contain some text/

Yeap, it works! You can try it!
This is my famous article about thermal problems of Amd Turion X2 cpus and Linux (this is the link that Google knows) http://task3.cc/2006/12/02/hp-nx6325-and-friends-thermal-problems-solved/
The link will be redirected to http://task3.cc/hp-nx6325-and-friends-thermal-problems-solved/.

Cool, isn't that? In this way, you can change your permalinks structure without loosing your google rank :-P

Goooodoooooo!

Monday, March 26th, 2007

Sul mio serverino virtuale sto installando:
- la versione di apache che voglio io
- i moduli di apache che voglio io
- la versione di php che voglio io
- le estensioni di php che voglio io
- la versione di mysql che voglio io

Inutile dire che:
- i file di configurazione di apache sono quelli che voglio io
- il file di configurazione di php5 é come lo voglio io
- I sottodomini vengono creati come voglio io e sono quelli che voglio io

Volete sapere la distro scelta per il server? :cool:

Powered by Debian linux
Image taken from http://www.fede-ulg.org

E tutto bleeding-edge software! Non vedo l'ora di finire e trasferirmi lí :D
edit: per il poco spazio e per le poche risorse a disposizione (non posso permettermi 30-50€ al mese :-( ) sono dovuto passare per forza di cose a Debian, in quanto Gentoo non ce la faceva.. Va beh va bene lo stesso!