Hands on your first portal (I)

January 26, 2011 Leave a comment

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)

December 20, 2010 Leave a comment

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
Common Google Search

Open source CMS search on Google

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
  • SEO will end up achieving highe page rankings.
  • Once you’re into SEO, you’re forever, and the principles will remain, so one investment lasts for a long time.
  • Search engines are not changing their algorithms short term.
  • Setting a proper SEO will be working for all search engines.
  • Higher initial budget is required to set a proper SEO
  • Search engines change could break all your SEO initiative
  • SEO is a long term investment.
  • SEO could require a full time job expert
PPC Advertising
  • Fast set up. Easy to manage, monitoring budgets and measuring ROI.
  • By using keywords that are relevant to your business, visitors are led to your site by search terms rather than its content.
  • Visitors are directed to pages specific to their requirements, so that they don’t have to drill down through the site themselves.
  • Highly demanded products could suffer very high costs per click with no ROI
  • You need to be very sure how and where you will get value for money.
  • Bidding for popular keywords can become extremely costly and the amount of effort required to manage them could easily become a full-time job for someone.

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.

Being good for Google (I)

December 8, 2010 1 comment

As said on one of the lyrics of Chicago musical, but changing a word, “When your good to Google, Google is good for you”.

In my previous post, Hill Valley exposed their information on the Internet, but how can you be notorious if you are not shown on Search Engines when users perform a query on them? And let’s face it, Google still the widest spread Search Engine.

How can Google be good for you? It’s kind of obvious, but being the widest spread Search Engine, means that if you’re well positioned on it, you’ll be more likely to appear when people search in Google for information related to your activity.

How can you be good for Google? This question is not as easy to answer as the previous one, as many people could tell you lots of ideas to promote your page on the Google results list, even paying, but these lines won’t talk about paying or cheating to get to the top. This post will contain a set of practices that even though might not take your own BMW fan site on top of BMW official page, for example, but that for sure will make Google to reach it easier.

Previous to getting your site as polished as possible for Google, let me introduce some concepts that are important in order to scale positions on their results lists, even though I’ll be referring to some external links, as usual:

There are some basic instructions that can help Google crawler to read and understand your HTML code:

  • Make sure each page have a title tag. Preferably, your targeted keywords should be at the beginning of the tag. You can leave your web site’s name in the title, but it is recommended that you leave it at the end and that each title is descriptive enough on its information.
  • Ensure that you use meta keywords and descriptions. Although it is not as important as other tips, description is often used in the search engines results pages to describe your site, so please make sure it is correctly written and it is not too long.
  • Include on your meta keywords both your primary keywords as well as some common typos and grammatical errors.
  • enable linking the rest of the site.
  • Don’t duplicate pages. Make sure that each page and its content is unique.
  • Use only one H1 tag by page with keywords similar to the title tag. Using sub-titles (H2 and/or H3) before each paragraph or logical section of your page. Structuring your information helps gaining readability and defining your content for search engines. Bullets and numbered lists or bold texts could also be used to gain readability.
  • Text links are preferred than image or flash links, try to avoid this last ones when possible.
  • Site map link could be very a very powerful tool when set on each site page, as it will
  • Images and flash are not currently being read by bots, so try to avoid using them for text and titles.
  • When using images, make sure that they always have an alt tag to describe the image, this tag could contain keywords related to the image.
  • Each page should always contain some of its keywords and try to be as relevant as possible.
  • The easier to navigate your site, the longer that both visitors and bots will stay. Keeping some links at the bottom of the page to the most relevan places of your site could benefit along with the site map we already defined.
  • The home page should have links to the most important places of your site. Don’t forget it is the entry point to your web, so if you want to highlight something, it should be the most appropriate place to do it.

Wow!!! When I started this post, I wasn’t sure I was going to make it so long, so I think I will keep the rest of the information for the next post.

See you soon.

Showing your information to the big public

November 26, 2010 Leave a comment

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:

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.

Taking advantage of CMS in your company (II)

November 23, 2010 Leave a comment

Up to this point we’ve defined who can do what in the company, but how can we grant that the information goes through the appropriate steps in the business process, from the Account manager starting the relationship with a new client, so new initiatives are taken for this customer and finally they are invoiced in time to the client?

This process will be guided by different workflows, let’s place an image so we can clarify it:

Basic Workflow

Many CMS offer this kind of workflows features, or are including them in future versions, as it is quite useful in order to decide when the information is ready to be moved into the next step through automated process that produces a notification through email or in the administration consoles so the user knows if he’s got work to do.

As you can see, structuring the information and giving permissions over content to the different roles in the company will leads Hill Valley to a higher level of efficiency on their way of sharing information across the different workers leads so anyone that needs to have access over a part of the information is certainly going to have it, if the system is set up properly.

Please, in case you have anything to point out, or any question you feel I could answer, don’t hesitate asking, and I will try to reply as soon as possible.

In the following post, I’ll be introducing you to Portals and web initiatives, so any information on your CMS could be shown on the internet/intranet.

See you soon.

Follow

Get every new post delivered to your Inbox.