I just committed Blog Portlet to the Portlet Repository java.net project. Blog portlet allows portal users to manage their weblog from a portal page. It depends on the weblog implementing (and turning on) an Atom Publishing Protocol endpoint.

The intent is not to replace the native weblog user interface, but rather to provide a simplified one that allows users to perform the most common management operations from their portal page: post, edit, delete.
In addition, the portlet has a simplified interface for creating weblogs and weblog users. This feature depends on the AAPP admin interface in Roller - meaning, you have to point the portlet at a Roller weblog server.
There are a couple of caveats at this point ...
- The portlet is really a JSF application, and therefore depends on JSF Portlet Bridge. While this is called out in the portlet's pom.xml, the dependency is not available from any repository. Therefore, to build Blog Portlet, you need to get and build the JSF Portlet Bridge and populate the dependency into your local repository. Hopefully this will change in the near future.
- While the portlet is setup to use FCKEditor to create and edit weblogs, FCKEditor is also not available as a dependency. So, by default, FCKEditor won't be there, and you'll get a standard ugly text area. To make the portlet is FCKEditor, get the "fckeditor" directory into the web application. You could do this after you deploy the web app by just dropping the files into the right place, or you could do it in the build environment by copying ther directory into src/main/webapp. Or, alternatively, it should be easy to plug in whatever Javascript editor you like by making some small changes to the portlet.
- The portlet is only tested with Roller's APP implementation. APP is new and somewhat unstable, so I hope folks can help out and get this tested / working on other APP implementations.
- Documentation is slim. I hope to either upload some documentation, or point to the Sun Portal Server 7.x documentation for the portlet that should apply 98% to the open source version. This documentation is not yet posted to docs.sun.com however. In the meantime, if you have questions, please post comments, or better yet, post to the Portlet Repository user mailing list and I will be glad to help you out.
Have fun!

Posted by blog on March 25, 2007 at 03:25 AM PDT #
Posted by Jeffrey Blattman on March 26, 2007 at 10:57 AM PDT #
Posted by jkl on May 17, 2007 at 06:23 AM PDT #
Posted by Jeffrey Blattman on May 17, 2007 at 09:46 AM PDT #
You've done excellent work here but in the absence of docs. it's turning into an uphill task (not that you said it's free ride).
I'd love to add to docs. once I've it running.... Please. let me know if you need more info. I'd love to see it working as you've.
portlet gives error:
Could not get weblog entries for URL: http://localhost:8080/roller/roller-services/app/junkyard/entries and user: jtb
Http status 401
Browsing:
http://localhost:8080/roller/roller-services/aapp
<?xml version="1.0" encoding="UTF-8" ?> - <service xmlns="http://purl.org/apache/roller/aapp#"> - <workspace title="Workspace: Collections for administration"> - <collection title="Collection: Weblog administration entries" href="http://localhost:8080/roller/roller-services/aapp/weblogs"> <member-type>weblog</member-type> </collection> - <collection title="Collection: User administration entries" href="http://localhost:8080/roller/roller-services/aapp/users"> <member-type>user</member-type> </collection> - <collection title="Collection: Member administration entries" href="http://localhost:8080/roller/roller-services/aapp/members"> <member-type>member</member-type> </collection> </workspace> </service>
http://localhost:8080/roller/roller-services/aapp:
gives a file open/save dialog with the following content:
<?xml version="1.0" encoding="UTF-8"?> <app:service xmlns:app="http://purl.org/atom/app#"> <app:workspace> <atom:title xmlns:atom="http://www.w3.org/2005/atom">Test</atom:title> <app:collection href="http://localhost:8080/roller/roller-services/app/test/entries"> <atom:title xmlns:atom="http://www.w3.org/2005/atom">Weblog Entries</atom:title> <app:categories app:fixed="yes" app:scheme="http://localhost:8080/roller/test/"> <atom:category xmlns:atom="http://www.w3.org/2005/atom" atom:term="/Politics" atom:label="Politics" /> <atom:category xmlns:atom="http://www.w3.org/2005/atom" atom:term="/Music" atom:label="Music" /> <atom:category xmlns:atom="http://www.w3.org/2005/atom" atom:term="/Java" atom:label="Java" /> <atom:category xmlns:atom="http://www.w3.org/2005/atom" atom:term="/Status" atom:label="Status" /> <atom:category xmlns:atom="http://www.w3.org/2005/atom" atom:term="/General" atom:label="General" /> </app:categories> <app:accept>entry</app:accept> </app:collection> <app:collection href="http://localhost:8080/roller/roller-services/app/test/resources"> <atom:title xmlns:atom="http://www.w3.org/2005/atom">Media Files</atom:title> <app:accept /> </app:collection> </app:workspace> <app:workspace> <atom:title xmlns:atom="http://www.w3.org/2005/atom">test2</atom:title> <app:collection href="http://localhost:8080/roller/roller-services/app/jtb/entries"> <atom:title xmlns:atom="http://www.w3.org/2005/atom">Weblog Entries</atom:title> <app:categories app:fixed="yes" app:scheme="http://localhost:8080/roller/jtb/"> <atom:category xmlns:atom="http://www.w3.org/2005/atom" atom:term="/Politics" atom:label="Politics" /> <atom:category xmlns:atom="http://www.w3.org/2005/atom" atom:term="/Music" atom:label="Music" /> <atom:category xmlns:atom="http://www.w3.org/2005/atom" atom:term="/Java" atom:label="Java" /> <atom:category xmlns:atom="http://www.w3.org/2005/atom" atom:term="/Status" atom:label="Status" /> <atom:category xmlns:atom="http://www.w3.org/2005/atom" atom:term="/General" atom:label="General" /> </app:categories> <app:accept>entry</app:accept> </app:collection> <app:collection href="http://localhost:8080/roller/roller-services/app/jtb/resources"> <atom:title xmlns:atom="http://www.w3.org/2005/atom">Media Files</atom:title> <app:accept /> </app:collection> </app:workspace> </app:service>
roller.log:
ERROR 2007-05-17 13:25:58,480 AtomAdminServlet:doGet - org.apache.roller.webservices.adminapi.UnauthorizedException: ERROR: Authorization header was not set ERROR 2007-05-17 13:27:03,353 AtomAdminServlet:doGet - org.apache.roller.webservices.adminapi.UnauthorizedException: ERROR: Authorization header was not set
My config.
1. Tomcat 5.5/pluto container
2. roller web application.
3. roller-custom.properrties
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
webservices.adminprotocol.enabled=true
webservices.atomprotocol.enabled=true
Posted by jkl on May 17, 2007 at 11:16 AM PDT #
Posted by Jeffrey Blattman on May 17, 2007 at 01:10 PM PDT #
hi,
i have downloaded blogportlet from open portal portlet repository.
i have developed some JSR 168 portlets and deployed in IBM Websphere portal 6.0.
i need this blog portlet urgent and so i downloaded.
Can anyone help me in how to deploy this portlet in websphere portal.
When i deployed the WAR, i get deployment exception and many others.
Thanks in advance,
Arun.
Posted by arun on October 03, 2007 at 12:01 AM PDT #
Hola Mundo!
Posted by 201.198.18.18 on November 15, 2007 at 11:43 AM PST #
can this portlet works in jboss portal server.I have been searching for blog portlet and i couldn't get code or war file which is suitable for jboss portal server.I am using jboss protal 2.6.3 version.Please help me in this regard.
Thanks in advance,
Posted by phanikiran on April 02, 2008 at 01:58 AM PDT #