The future of social media - social business in social comfort zones

July 15th, 2009 by Ha Vo

The vast availability of social media and its matureness is allowing us to think of Web 3.0 instead of Web 2.0. It’s time for more personal and relevant offers instead of bulk offers. Morgan Stanley asked a 15yr old intern to tell them how teenagers are using media: http://media.ft.com/cms/c3852b2e-6f9a-11de-bfc5-00144feabdc0.pdf .

A clear message: “Most teenagers enjoy and support viral marketing, as it often creates humorous and interesting content. Teenagers see adverts on websites (popups, banner ads) as extremely annoying and pointless, as they have never paid any attention to them and they are portrayed in such a negative light that no one follows them’

The next generation is expecting us to be more ’social’ and ‘personal’ with them. So no more ‘come to our website’ … instead ‘come to me and make me an offer I can’t refuse’.

This is the reason that I find the social media marketing method described on this blog: http://socialnetworkinglifestyle.com/blog/there-is-a-method-to-the-social-media-marketing-madness/ not really ’social’ as it tells marketeers to think that users still have to come to their website for the offering that is available for anyone.

A social media marketing model that I dont believe - its NOT SOCIAL!

A social media marketing model that I don't believe - it's NOT SOCIAL!

Social commerce / business is more about a personal dialogue with offers that are so relevant that users feel special. Web 3.0 is about using all the Web 2.0 data, messages, chatter etc. to make business run smarter (=more personal and relevant). Companies that will achieve this will get to a deeper level of communication with their relations, a domain where you’re found before you’re searched for.

To achieve this another model needs to be created, one that is aimed at long durable social relationships instead of one that is focused on conversion. After finalizing our innovation process with the innovation consultants of CIM - paid with Dutch Innovation subsidies  :) - we’ve established such a model for social media marketing around our Chameleon technology:

SOCIAL media marketing is about durable relationships and relevant offerings - be found before you're searched for

SOCIAL media marketing is about durable relationships and relevant offerings - be found before you're searched for

Although we’re a technology company, I believe in the basic concept of marketing - creating a durable relationship. So many marketing gurus talk about higher conversion, personal branding - I believe they’re making it just to difficult for their followers. An IT statement: KISS - Keep It Simple Stupid. As a technology company we strongly feel we can deliver the tools and techniques required for this higher level of marketing.

So marketeers, just look at yourself, your family and friends - how would you like to be adressed by companies that try to sell you something off line? Does this feel familliair?

  • Don’t annoy me with those standard banners, ads and leaflets!
  • Why don’t they have what I want?
  • Why do I have to search for it?
  • Here they come again, just when I don’t need it.

Marketeers, adjust your online campaigns to something more durable and valuable - the opposite of advertizing on Google! Do you really want to be like bankers that focus on the immediate gain? What is the lesson we all want them to learn? So go and brainstorm with our team about durable relationships and trust that a better conversion will follow. Just compare Love with the red light district in Amsterdam - what do marketeers prefer? Well, if I have to believe Forrester reasearch …

According to Forrester only 6% of online marketing budget is spent into social media marketing - the only alternative to invest into durable relationship online

According to Forrester only 6% of online marketing budget is spent into social media marketing - the only alternative to invest into durable relationship online

Disclaimer: I’m not a marketing guru, I’m just trying to use the web to improve my services to my customers - my ideas are free for anyone to use . Don’t sue me or my company if your boss doesn’t have the patience for longterm results and fires you for wanting something more durable with better longterm results.
Even after you’ve reminded him that the bankers  that caused us all to lose X.000.000.000.000 Euros/Dollars. (that’s X.000 for every person on this planet - many don’t even have it)

Can a cool search mashup be more valuable than Google?

May 13th, 2009 by Ha Vo
Google mashup - only with google sources?

Google mashup - only with google sources?

Today I’ve been asking people about my idea for a search mashup that can be more valuable than Google. Can it really be true, why do I even dare to be so bold? Some considerations:

  • The amount of popular Web 2.0 frameworks are growing continuously - people like online tools for certain reasons. Google doesn’t know what your favorite Web 2.0 tools are, or else Google might provide a more personalized ranking?
  • It takes time to keep track of all interesting changes in all those frameworks, personally I like Google, Delicious, Slideshare, Twitter, YouTube, Facebook, Linkedin. And I just know that I should spend more time on LastFM or Flixter, but I just don’t have time to really check all the cool things that are available. So can a mashup save me time and allow me to see more interesting content at the same time?
  • It would be even more interesting if I can mix it with my favorite websites, even if they are behind a login. Can I have a search through our wiki / jira in the same mashup?
  • Can the search be more smart and allow me to organize my interests into ‘parts of life’ like work, research, travel, sport, family, friends, movies …?
  • And can the search be so smart to also move along with me through time - during the week or weekends - morning, afternoon, evening, night?
  • Can the search already get me started with the preferences that I have available in facebook, lastfm, delicious, wordpress or tripadvisory?
Google is so good nowadays …
Google is so good nowadays, we don't need the Top 10 anymore - the first 2-3 are enough

Google is so good nowadays, we don't need the Top 10 anymore - the first 2-3 are enough

The picture above compares how people click on Google - 2005 and 2008. It shows that we now trust the first 2-3 results and we don’t need the Top 10 anymore. With mashups you can have the first 2-5  results of all your favorite Web 2.0 frameworks.

A basic ‘Your search’ mashup

I think we can make a first start from the MarCom mashup to a basic ‘Your search’ mashup with the following features:

  • first ask me to identify with either my Facebook, Gmail or Hyves account
  • it should use the same panels like the MarCom mashup (twitter, delicious, youtube, slideshare, amazon, google search, google search - favorite website)
  • the panels now listen to a ’search keyword input’ or a ’search cloud’ panel instead of a pre-configured tagcloud panel
  • if the user has identified with the Facebook or Hyves account, then use the relevant interests metadata from Facebook or Hyves to generate a starting search cloud
  • the search cloud will remember new search key words that are used
  • the search cloud will only show 30 most often used keywords - if there are more - the ones that are least used will not be shown
    • the keywords and related counts are not thrown away, they’re just not shown in the search cloud
  • the search cloud should offer a possibility to show all tags with a link ’show all tags’
  • a user should be able to save a search cloud with different names (eg work, private, travel, sport, cars, etc.), a max of 25 search clouds should be sufficient I think
  • a user should be able to ‘hide’ tags that are not relevant and save the tag cloud under different name
    • so actually there is actually 1 big list of search keywords for each user
    • but through different ‘names’ the user can chose to organize different views of the search clouds

The search mashup app would be cooler if

  • if the panels could be rearranged in size / length
  • the layout would be a ‘click, drag & drop’ to allow users to define their own mashup combination to show results
  • for each view of the search cloud a different organization of the mashup can be remembered (used panels, position, sizes, lengths)
  • if a user can also import tags from:
    • LastFM (favorite artists)
    • Delicious
    • Google bookmarks
    • Wordpress (used tags)
  • If the searchcloud could use variation in density of colors to show how ‘recently’ the search keyword has been used
    • a dense but small keyword means a new interest, but recently often searched
    • a light but small keyword means that it’s been a big interest in the past
  • If the searchcloud could somehow show directly how many results are found in each seracheable Web 2.0 frameworks before I click on it
    • this can be cached every hour?

If we do it for ourselves … then we can believe it’s also cool for others
Personally I know that I’m a reasonable Web 2.0 poweruser and with me I know that Componence team members are above average Web 2.0 users. But statistics show that there are millions more out there that use different combinations of Web 2.0 tools. But they probably all have the same isse, they want to know / see more - but have less and less time to browse the internet. So if the mashup we make is really usefull for us and we really see advantages of it above Google search, then it will be time for us to launch the app into Facebook to see how many more user internationally will find the app usefull.

Configuring JBoss server monitoring in ManageEngine AM

April 8th, 2009 by kantila

Application Manager 8 have options to monitor various servers including JBoss server, but, for JBoss 5.0.1, I could not add a monitor easily. Telling long story in short, it is a 2 minute task if you have the correct way to do so (however I spent about a day to google for the solution and testing). So, here is the correct way:

  • Start JBoss server on a particular IP address by passing the “-b a.b.c.d” argument, where a.b.c.d is the IP address in dotted decimal notation, like 172.16.4.111 .

In Componence, we use a custom script to do that, i.e. runStandalone.sh or runCluster.sh; so, I updated that one.

  • Restart the JBoss server and try to add the monitor again, and it works.

But, you may not be able to monitor the JVM information yet. But don’t worry, this is also a 2 minute task to rectify the problem. Just

  • Copy the $APPMAN_HOME/working/resources/jbossagent.sar to the deploy directory of the running server so that it got hot deployed.

JVM information, max heap size and current heap size is now available.

Mashup example - LastFM in Facebook with Google Maps & Amazon

April 4th, 2009 by Ha Vo

The first Componence mashup example for the world to see

At last - Componence has achieved a major goal at the end of this first quarter! Our first example mashup is ready! It has been a about a month ago when we began to work on the LastFM - Facebook mashup. And after a month, with approximately 500 - 600 hours of work, we’ve put it to a rest. The result:

  • Different demonstrations to music producers showed interest, the producer of The Dream might be interested.
  • Mubito probably will do a Proof of Concept with us in May - we should add their APIs to it.
  • A demo of our new Chameleon technology that I can easily use & show in our sales. The goal from last summer was to have this at the end of Q1.

The background of this mashup
The idea for this mashup was triggered by this e-mail response of Yannick De Rechapt, CTO of Mubito:

” What type of applications do you want to expose into the communities?
- Basically expose content such as, audio, video, member data, feeds, shop widgets with search based on our catalogues + single cart etc… this is a non exhaustive list.

What kind of communities are you thinking about?
- Again I don’t have an exhaustive list but : flicker, myspace, imeem, lastfm, facebook and so and so

Although they had switched their WLP platform to a PHP platform, Yannick was keen about our Chameleon technology, that would allow him to make widgets to be posted to different social networks. We just took it a little bit further …

Not enough real data
Before I want to tell about what was mixed & matched, here is a list of everything that is hard coded due to lack of time / real data:

News not yet implemented

News not yet implemented - it can be a combination of different news sources and Twitter

Photos & Videos - no reliable real source - can be user generated content or Webservices

Photos & Videos - no reliable real source - can be user generated content or Webservices

The mashup ingredients
The main source of the mashup is LastFM, but the mix might make it more valuable for end users.

  • LastFM
    • User preferences / top artists, artist data, event data
  • Google Maps
    • Allowing us to show the events in a map
  • Amazon
    • Allowing us to connect e-commerce to the app

Why Facebook as first choice?
The combination above has been implemented in a Facebook look & feel for the following reasons:

But if this continues into a real project, of course the app would also be available in other communities.

Value for potential business?
Although we don’t know the music industry is not our own comfort zone, I do think this kind of application can help them to deal better with their pains:

  • Revenues - due to illegal downloads - their revenues are continuously under pressure
    • The theory is that if the mashup is valuable enough, the user can take it along into their comfort zone (community, desktop, mobile). And then probably we might get fans to buy albums / merchandise more easily. From once a year to twice a year can already be a huge increase in revenues.
  • Better cost / benefits
    • An insider told me that the music industry are like dinosaurs, they’re so far behind on technology. Just look at the websites of most artists, most of them just don’t really appeal for engagement / interaction with endusers. A mashup can incorporate many popular, of course Twitter on top, webplatforms that are already favorites for user generated content (YouTube, Flickr, Picasa, blogs). If there is better interaction, there are more chances there are sales.
  • Easier way to engage and keep fans happy
    • By being in their comfort zone, artists can consider giving out special freebies to fans who have this app in their profile. Just think of live webcam feeds of concerts? Or free downloads of the latest single within the first 24 hours? Or a sweepstake contest with the ultimate prize being a private appearance.
  • New business model - different subscriptions
    • Silver, Gold, Platinum? With maybe just $1-$3 dollars a month, you can get access to more cool features. With the ultimate privileges like access to special webcam chats, or another free download, or the details to secret appearances or even invites to hangout with the artist.
  • More prolonged return for investments
    • For any artist - starter or already a star - eventually millions is put into marketing. How much return is their in an ad in a magazine or a billboard? How the return of those investments be prolonged? I believe that such offline promotions can easily be connected to the online Fanbase.
    • I think if a fan spends $50 for a single concert and merchandising, by giving discount coupons at the concert to the online shop and special access codes to behind the scenes reports, we might get the fan to spend another $20 online in the week after the concert. And if we’re really good, the fan will make use of the special discount on the Gold membership, that can last for years.
    • Personally I think a really cool mashup would cost between $50.000 - $100.000. With 10.000 fans - online sales between $5-$10 per fan would already be enough. But what if there are 25.000 or 100.000 fans?

Standard Chameleon panels ready
With this mashup we already have different panels that can be easily reused for our other mashup projects:

  • Check login with LastFM
  • Retrieve & show favorite artists from LastFM
  • Retrieve & show Events list from 1 artist from LastFM
  • Retrieve & show Details of 1 event from 1 artist from LastFM
  • Search & show results of artists from LastFM
  • GoogleMaps to show events from LastFM
  • List of related downloads from Amazon

We might come up with cooler names for the panels, but for now, we’ll use the word ‘Panel’ from the Wicket technology - the base of Chameleon technology.

Why our Chameleon technology is really cool
Although the above sounds not to difficult, the real reasons why our Chameleon technology is so cool:

  • The panels can function as different applications - and listen to events from each other
  • The whole mashup can be shown in different comfort zones
  • Each panel can be configured to become a widget that can function in different environments (Java portal with JSR-286, iGoogle, Facebook, OpenSocial, iPhone web app, gadgets on your MacOSX or Vista

Yesterday Eric van den Wildenberg, Director at Brand republic called our technology trendsetting! And he invited me to give a presentation to the whole group of Central Park.

More mashup following
To show and proof the value of mashups, we’ll implement a few more mashups in the coming months:

  • April: social media marketing mashup - easily invite & share from different social networks
  • May: knowledge management mashup - combine different media sources about a specific topic
  • Summer: some more … to come

Using a scrum-like project approach

March 25th, 2009 by Martin

scrum

We at Componence decided to use the agile project development methodology Scrum to develop a product that has little predefined requirements and a lot of technical challenges.

Scrum is quite a leap from our usual approach called PIM which is Prince 2 based and aimed at structured and controlled project development. Scrum has a highly agile character with scope and planning using yellow papers, daily stand up meetings and a lot of interaction between the developers, designers and project management.

The project team is located in one room on our office. This meant taking people from their usual places and getting them deep into the project ‘cave’. We’ve drawn up a lot of yellow papers with features on them and stuck them to the wall in a square called “Todo”, this represents the open workload and the upper line of yellow papers is the sprintworkload for the active sprint of 1 week. When a feature is being developed we move it to the next square called “In progress”, which has a subsection with features that will be finished today. Finally there is a square called “Done”, this shows all completed features.

Each morning at 9.00 sharp we discuss the previous day, the current day and the challenges we’ve had and still expect. This meeting is open for every member of the project, including our client.

planningThe approach takes some getting used to. Especially since we’re used to working with a strictly defined functional scope that can be developed by multiple teams at once. Scrum is much more efficient, but it is far less predictable and you have to be alert all the time to solve challenges as they arise. As always communication is the key and Scrum supports that very well.

So far the team is happy with the approach and we’re delivering very fast. I’m also very enthusiastic and looking forward to deliver the final product.

Speaking of colors

March 17th, 2009 by ybensoussan

Componence being the company that it is provides some … interesting experiences abroad. Last week I took a short trip over there to discuss some matter related to the boring stuff we call work.  But it also happened to be “Holi“, a festival that celebrated the victory of good over evil. As with many things in India, they celebrate with as much exuberance as they spice their food.

I was fortunate enough to be with our guys during this time of celebration and they have shown me that they want you to experience India to its fullest whenever they can. In this case it meant that I got to wear many colors. Kind of like a Chameleon one might say. The result is rather colorful and to me the way our Indian team “allowed” (and I use that term lightly!) me to join in on their celebration signifies to me the way we operate here at Componence. Whether in Jaipur, Nieuwegein, Auckland, Lviv or Spain… somehow we always tend to be able to enjoy each other’s company beyond the drudgery of work.

Anyways, more on actual work related stuff later! For now I leave you with a picture and invite you to “spot the foreigner!”

These colors however... do somethingthe colors! they do nothing!

Chameleon needs to be more visual and conceptual

March 15th, 2009 by Ha Vo
We need to be more visual to show the value of our Chameleon solution

We need to be more visual to show the value of our Chameleon solution

In the past weeks I have been telling about our Chameleon solution to managers of different type of businesses like music, publishing, health, communities, education and even pharmaceutical.

The concepts are definitely there, they see the interesting possibilities to combine their content with the Web APIs. And with the possibility to let the results or parts of the results be serviced through different channels (communities, partner websites, desktop, mobile) the possibilities for new online business models become even more evident.

But I have also spoken to many designers, creative directors and business consultants. They all said the same thing: you guys are too technical referring to the presentation of a Fanbase 2.0 concept, thinking that it was a lot less technical than all our other presentations.

Componence Fanbase2 0 Solution V2.3 Teaser 20090312

View more presentations from Ha Vo.

In the coming month I will get us some new presentations that will be 100% better for non technical people to visualize their own possibilities with Chameleon! I will work together with external people to make sure that this time Chameleon will sound like a business solution rather than a technical solution. We should be able to present a presentation like this:

Activity Streams & the social networking malaise

Using XIP tool in WLP10.2

March 14th, 2009 by kantila

Installing the Export/Import Utility

You only need to perform the following procedure if you intend to run the Export/Import Utility as a stand-alone application. If you only want to run the WorkSpace Studio propagation tools, then the following procedure is unnecessary.

  1. Before installing the Export/Import Utility, be sure you have Ant 1.6.5 in your PATH environment variable. Ant is part of the normal WebLogic Server installation. It is located in:
  2. <BEA_HOME>/modules/org.apache.ant_1.6.5/bin

  3. Stop WebLogic Server if it is running.
  4. Open the file <WLP_HOME>/bin/xip/build.xml, and edit the following properties in the Installer section to point to the appropriate locations:
  5. Property
    Description
    bea.dir
    Points to <BEA_HOME>/wlserver_10.0.
    wlp.lib.dir
    Points to ${bea.dir}/portal/lib.
  6. Using a utility such as WinZip, open the following WAR file:
  7. <WLP_HOME>/lib/modules/wlp-propagation-web-lib.war

  8. Extract the file propagation.jar from the WAR file and save it in <WLP_HOME>/lib.
  9. Tip: If you place the propagation.jar file in <WLP_HOME>/lib, you do not need to add it to the wlp.classpath in the build.xml file. If it is not in this directory, you must add it to the wlp.classpath in build.xml.
  10. Create a directory called ejb under ${wlp.lib.dir}/netuix, and extract netuix.jar from the following EAR and place it in that directory:
  11. <WLP_HOME>/lib/modules/wlp-framework-full-app-lib.ear

    Note: The file ${wlp.lib.dir}/netuix/ejb/netuix.jar is referenced in the wlp.classpath in build.xml.
  12. Build the Export/Import Utility. To do this, run the following command from within the <WLP_HOME>/bin/xip directory:
      export JAVA_HOME=$BEA_HOME/jdk150_11
  13. ant

    Note: If you get the error “taskdef class weblogic.ant.taskdefs.build.LibClasspathTask cannot be found”, please provide additional lib reference to ant as -

    ant -lib $BEA_HOME/wlserver_10.0/server/lib/weblogic.jar

    Note: You may also get some error like “java.lang.UnsupportedClassVersionError: org/apache/tools/ant/loader/AntClassLoader2″, please also set variable JAVA_HOME to your jdk1.50_11 as -

    export JAVA_HOME=$BEA_HOME/jdk150_11

    Note:It is recomended to make a shell script with all the tasks required to run as:


    #!/bin/bash
    export BEA_HOME=/usr/bea/bea102
    export JAVA_HOME=$BEA_HOME/jdk150_11
    export WEBLOGIC_HOME=$BEA_HOME/wlserver_10.0
    export PATH=$PATH:$BEA_HOME/modules/org.apache.ant_1.6.5/bin
    export WL_HOME=$WEBLOGIC_HOME
    ant  -lib $BEA_HOME/wlserver_10.0/server/lib/weblogic.jar

    You may safely ignore the error <BEA-160144>

    Overview of the Export/Import Utility

    The XIP Utility allows a full round-trip development life cycle, where you can easily move portals and desktops between a WorkSpace Studio environment and a staging or production environment, as shown in figure:

    Round Trip Development

    Round Trip Development

    This utility lets you import .portal, .pinc, and other portal framework files into the database, and lets you export these files from the database. The exported files can be loaded back into WorkSpace Studio, or imported into another WebLogic Portal database.

    The utility performs its work in a single database transaction. If the utility fails for some reason, the database is not affected.

    What the Utility Moves

    The Export/Import Utility moves desktops, portlet references, books, pages, and localization definitions. In other words, the utility exports .portal, .pinc, and other portal framework files from a database, and imports the contents of those files back into a database.

    Note: The actual definitions for portlets, look and feels, shells, menus, layouts, themes, JSPs, and other code are contained in the EAR file. These files are stored in directories in portal web applications, such as the framework/markup directory. If any of these file-based elements change, you must rebuild and redeploy the EAR. The .portal and other portal framework files simply refer to the definition files.

    What the Utility Does Not Move

    The Export/Import Utility does not handle the following items: campaigns, behavior tracking events, content management assets, entitlements, WSRP producer registration, portlet categories, localization resources, user profiles, and commerce data.

    Refining Rules for Exporting and Importing

    The Export/Import Utility allows you to select an object (desktop, book or page) at any level (library, admin, visitor) and import it or export it, according to specified rules.

    To refine and customize the export and import of .portal, .pinc, and other portal framework files to and from the database, you can:

    * Specify rules to determine how portal elements are merged. For instance, in a manner similar to that of a source code control mechanism, changes in a .portal file can be merged with changes in the database.
    * Specify scoping rules. Scoping rules determine how new books and pages will be merged into the new environment. Note that user and administrator customizations are preserved when assets are merged.

    As shown in Figure below, the Export/Import Utility offers flexibility with respect to importing, exporting, and scoping. You can scope changes to the library, admin (desktop), or visitor (individual user) level. For instance, if you import a desktop at the admin scope, the imported changes will be applied only to the specified desktop. If a user has customized that particular desktop, then the changes will also be inherited by the user desktop. Note, however, that changes are never inherited up the hierarchy. Elements in the library will not inherit changes made to a desktop.
    Tip: For a more in depth discussion of the relationship between the library, desktops, and user views, see Scope and Library Inheritance.

    Options

    Options

Work done with Wicket on JSR-286 (WICKET-1620)

December 24th, 2008 by gwwesterink
One major aspect of my work here was completing the Portlet 2.0 specification JCR 286implementation in Wicket . Wicket of course being one of today’s Top web development frameworks and a pleasure to work with. All the work sits under the Wicket issue WICKET-1620 .

JavaDoc

When I came on the scene, Portlet 1.0 support was complete, with the help of Apache Portal Bridges and work on Wicket resource serving support was mostly complete. The first daunting task however, was completing the documentation for nearly the entire existing Portlet support in Wicket. This was a big learning experience and a deep look into Wicket internals (which btw, made me a bit nervous about my upcoming event implementation task). This was mostly completed in WICKET-1875 , with the a lot more additional javadoc included in my patches for WICKET-1620.

 

Events

It was pretty much decided that I wasn’t going to try and do anything at this stage with the public render parameters part of the spec, and was going to focus on the Events system. This was a much bigger task than any of the other parts of the Portlet 2.0 spec, and a lot more complicated than I expected.

However, in the end, I think I came up with a pretty nice solution. After some false starts, I ended up implementing with custom

 

  • WebRequestCycleProcessor
  • AbstractBehavior
  • BehaviorRequestTarget

aptly named

  • PorletWebRequestProcessor
  • AbstractPortletEventListenerBehaviour
  • PortletEventRequestTarget

This really fits into Wicket superbly well, a testament to the sophisticated, yet reasonably straight forward (considering the problem domain) extensibility of Wicket. Bravo.The patches are sitting with the issue, and now that I have some extra time, I will massage them some more and I’m confident that they will be in Wicket 1.5. Included with the patches is also a simple example application.

Known issues with the implementation at this stage are:

 

  1. Issues around events in response to events
  2. Resource URL’s being generated for links, in some cases, instead of Action URL’s.

 

On my second to last day at Componence, I gave a presentation to the company on the work I had done. Posted below are two small sections of that presentation (Keynote is lots of fun) which show the gist of it.

Basic flow of code through the events sub-system

Basic flow of code through the events sub-system

Triggering an event is merely a call into the Portlet API and letting the hosting Portal take care of the rest.

The basic steps for receiving a Portlet event are as follows:

  1. Wicket receives an event request - this is like a normal HTTP request (or a Action request in Portlet speak - so to speak ;)
  2. Wicket calls into the custom (registered) PorletWebRequestProcessor.
  3. The PorletWebRequestProcessor checks the context is an Event Request - otherwise the processing is delegated to the parent.
  4. The Request Target is resolved to the custom PortletEventRequestTarget.
  5. During the normal Wicket request processing, at the appropriate stage, calls into our PortletEventRequestTarget the processEvents method from the IEventProcessor.
  6. Inside this method call, we search through the page’s component tree looking for behaviors attached to components which extend the AbstractPortletEventListenerBehaviour. The search performed is a depth first recursive search. I have a niggling feeling that this could perhaps be improved somehow.
  7. When found, the event name is checked to see if it matches the name of event the behavior is registered as wanting to subscribe to.
  8. If they match, we call into the behavior, passing in the Event.
  9. Hey presto!

In hind sight it all seems a little simple now ;) But of course I have come out the other end a much wiser and learned man - gotta love the opportunity to learn from Open Source! So my current view is of course, biased.

wicketevents-code

Code example of using the events API

I’m very proud of the work I’ve done on Wicket and am very excited to see it make it into trunk. As I said before, the next step is to polish up the patch and remove extra unneeded code (it’s pretty big), so that the core guys can review it properly.

A snapshot of the end of my talk at Componence about Wicket et al

A snapshot of the end of my talk at Componence about Wicket et al

Author:    Antony (Tony) Stubbs
Source:    Tony’s Blog on http://stubbisms.wordpress.com/

Optimizing WebLogic Portal for search engines

December 8th, 2008 by gwwesterink

External or internal facing?

Something to take into consideration when starting up a customer facing portal is its SEO friendliness. For instance, WebLogic Portal generally has endless URLs with structures and characters that just don’t make sense to search engines. Though this might not be a problem for internal facing portals, it is a big problem for all external facing portals.

Lead generation
Search engines, like Yahoo or Google, are crucial to generating business on the internet. Without optimization your portal can easily miss out on 5 to 10 times the amount of visitors, and potential clients, who currently come through the search engines. Just imagine how much easier it would be to defend your online marketing / investment budgets, if the amount of visitors were to double or triple?

Search Engine Optimization Portlet
At Componence we have years of hands on experience in solving this problem for a lot of publishing and online information business. Our special Search Engine Optimization (SEO) portlet offers a diverse range of features that will allow you to manage your portal’s behavior and visibility in search engines:

 

  • Automating the meta data generation (title, keywords, description) from specific portlet pages;
  • Using taxonomy data to be used as meta data;
  • Allowing you to manage your own search engine friendly URLs that are more relevant;
  • Allowing you to manage and generate the site maps for Google or Yahoo;
  • Allowing you to manage the proper content and redirection for error pages;

You can download our special whitepaper for our SEO portlet solution hereseo_portlet