Hands on your first portal (I)
First of all, Happy 2011 to everyone.
It’s been a long time since I last wrote but after holidays and a couple of hectic weeks, it’s been impossible to write a single line, also I must say that I’ve been quite uninspired.
I’ve written already a few posts talking about general aspects on portals and content management, but never got hands on an installation, so that is what I’ll be doing in this series of posts.
I’ve been thinking lots on which Portal / CMS to use for this tutorial, and as I said before I have no experience on .Net or PHP, so I’ve decided to con on a JAVA based solution, just in case I need to do any extension or customization.
From all the different suites available, I’ll be installing Liferay, as I consider it is quite a complete one, offering CMS, Portal, Web 2.0 features. Maybe sometime I’d like to do an Alfresco installation and make them work together.
Well, getting to the techie side, for its installation I’ll be using Liferay latest release of their community edition, which is the free version, bundled with Tomcat. I’ll be downloading it from here (link to http://www.liferay.com/products/liferay-portal/download/ce-vs-ee).
For all of you who don’t know what Tomcat is, it is an open source application server from Jakarta project, here you can find further information, as I’ll assume you already know about it http://en.wikipedia.org/wiki/Apache_Tomcat.
After the over 200 Mb download you obtain a zip file that you should uncompress in the folder that you want. If using windows I recommend uninstalling in C:\, D:\ or any of your drives, not under your user folder.
Tomcat, as said before is a application server running in Java, so it needs Java Runtime Environment (JRE) to run, so it’s is strongly recommended to have it installed previous to continue with Liferay installation, hopefully, if you’re a windows user and don’t have it installed, you can go on your liferay folder and there is a jre folder that can be used. If you don’t know if you have installed, go into a terminal window and just type java, if the command is not recognised, you don’t have it installed, or path is not correct, so please look for some information on the internet.
Once uncompressed, just go on the tomcat folder and then in the bin one and run startup.bat, if using windows, or startup.sh, if using linux/unix and all the magic will startJ. This startup makes the application server start, and under it installation the liferay application is made available.
Now just open your favourite browser and type this url http://localhost:8080 and here we go, liferay is installed, up and running.
This is just a basic liferay installation, without using an external database, but in case you’re a more advanced user, you might want to use your own db just in case you want to perform any customization, integration or extra development. I will use mysql to keep on the open source, I’ve installed 5.1 version. I will assume that you already have yours installed
First step will be stopping the application server, so same as we did for starting it up, in the same folder there are 2 scripts, one for windows, shutdown.bat and one for linux/unix, shutdown.sh that will perform this action.
Access your database with sufficient permissions as to create a new database and perform this creation with utf8 as the charset encoding, for those who don’t have enough sql skills this will be the syntax:
CREATE DATABASE <name> DEFAULT CHARACTER SET utf8;
<name> should be changed for the name you decided to use. I’ve chosen lportal
Once this is done it is time to tell Liferay that it won’t be using its default storage and it will use our brand new database. In order to do that we will need to go on our liferay installation folder and navigate to the following folder tomcat-6.0.26 / webapps / ROOT / WEB-INF / classes. Once you’re in classes directory, you’ll need to create a new file to indicate liferay where to store information, so you’ll need to create a file called portal-ext.properties that will contain the following information:
#
# MySQL connection information
#
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/<name>?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=root
jdbc.default.password=<password>
schema.run.enabled=true
schema.run.minimal=true
Save the file with the previous information but be careful to change <name> for the name chosen for your database and <password> for your MySQL root password, the one you created on installation.
If all these steps had been followed, once you perform the same startup explained before you should be getting the liferay main page.
It’s all by now, I’ll start to check some information on how to customise your liferay portal so you can use it for your initiatives and will get back to you soon.
Being good for Google (II)
Hi readers, I’m back.
On my last post I told you some principles that could make your website be understandable by Google, or other crawlers, what will make it easier to reach by search engine consumer.
On the first paragraphs of Being good for Google (I) I talked about paying to get higher presence on the internet.
By now, most of you are used to Google, and the way they’re showing results on their lists. But for the ones who are not aware, here you have some useful information on how Google presents their results lists.
Google differences results in two groups:
- Pay per click Adds (PPC from now on)
- SEO results
By now we could have an idea of how SEO result works, but, how does PPC advertising works?
PPC advertising consists in bidding on certain keywords and phrases, so the higher your bid is, the higher your advertisement is placed, but you only pay when someone clicks on your advertisement. As you can imagine, you can set up quite a big amount of potential key phrases. Currently there are different providers for PPC Market (Google, Miva and Overture) placing their adds in different search engines, so a good idea previous to starting a PPC initiative is try to find what Search Engines do your target customers look into.
| PROS | CONS | |
| SEO Results |
|
|
| PPC Advertising |
|
|
For sure, setting an optimal SEO strategy will do the best, but there are many cases where merging both approaches could be very beneficial.
I might not be writing until mid January as hopefully I’ll be in holidays without internet for a couple of weeks, what really scares me, because being out of internet on 2010/2011 is, don’t you think?
Merry Christmas and Happy new year to everyone.
Showing your information to the big public
On my previous posts I was showing how Hill Valley, my invented company, started taking advantage of a CMS in order to structure their information and to have a common storage for all the information produced inside the company.
From that starting point, Hill Valley has grown, and recon that they need to get presence over the Internet, showing some of their own information as well as promoting their clients.
The initial idea was to create a web page where they could so they could inform about all the initiatives done by Hill Valley along with some information of their clients, in case these allow it.
After the idea of promoting their content on the Internet is accepted by the big chaps in the company and once given a budget to assume the project they start talking about how to build their web site, coming up with the following ideas:
- Static web page – http://en.wikipedia.org/wiki/Static_web_page
- Dynamic web page – http://en.wikipedia.org/wiki/Dynamic_web_page
Obviously I’m not here to talk about static HTML, so surprisingly Hill Valley takes the decision to go for a Dynamic page where they can use the information stored in their CMS plus other information they have and they receive from different sources. Sorry, but I’m the big guy in this blog
So now we’ve decided to start or own dynamic we page initiative, there is a decision to make, shall Hill Valley start its own development from scratch or should they use a portal application?
Maybe some of you are asking yourselves what is the difference between a dynamic web page and a portal? Well, once again I’ll use wikipedia as my source of external information, in order not to reinvent what is already said: http://en.wikipedia.org/wiki/Web_portal
In order to find the answer to the previous question they should start answering the following:
- Are they going to show information from more than one source? Such as their internal CMS and external feeds or back-end applications, …)
- Will your information be personalized for users? For example, depending on user language preferences, some contents could be translated, or based on certain user role, in case the portal has a login, will they be able to see different content?
- Will the user be able to customize some bits of his portal? Adding for example gadgets or widgets?
- Will Hill Valley information be restricted to some users?
- Will your information be posted for others to consume it?
- Will you allow searching within your content?
If all or most of the above questions are answered with a yes, your company is most likely to use a portal application, as even though all these features could be developed from scratch, most of the portal applications have them built out of the box for you.
Besides all these functional reasons, another good reason to use a portal application instead of a development from scratch could be that your CMS solution has a portal solution too, what will for sure ease your development, and depending what you need from your portal, and what the solution brings out of the box can end up in a simple customization project.
I’m not going to talk this time about different portal solutions, nor about different development frameworks, as I don’t really feel like doing it, but in case you want some further information on this, please leave a comment and I will try to answer as soon as possible.
See you soon.

