You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@incubator.apache.org by Vic Cekvenich <vc...@basebeans.com> on 2003/02/05 03:55:05 UTC

Incubator New Project Proposal: basicPortal.sf.net

I would like to propose a project for the incubator, I also cc general list.

Background

Scope: basicPortal.sf.net, is a portal vertical applications suite, or a 
portal web application containing a set of frequently used vertical 
business applications that you install from setup.exe.
It use Jakarta many sub projects, it’s main verticals are CMS and 
Community building.
It is not a framework, but actual solutions to business problems/needs.
It’s based on Struts tiles, but includes Tomcat, a PostgreSQL  (which 
has a liberal license) DB, in which XML content is stored as a varchar 
filed in a db, and it is rendered via JSTL x:transform tag. One of it’s 
goals it to be able to run J:Meter right out of the box to find out how 
many transactions it can support. Also, it is being ported to Commons 
SQL for DAO.
The goal of it’s UI is something like “my.netscape.com” where you can 
move verticals around (some verticals like carigslist.com) so an admin 
can assign a suite for a “role” (based on JDBC Realms).

The problem so far has been to write sample apps for a Jakarta project, 
for example Master Detail processing of users in Struts, or JDBC Relms 
in Tomcat. This suite provides a place where a project can be plugged in.

It is similar to JetSpeed, but based on Struts and JSTL. It is similar 
to Forest and Caccon, one day jakarta web site could have it’s XML moved 
to something like basicPortal and have it be a dynamic content with RSS 
feeds, and approval, etc.
I believe JetSpeed can get better with some competition; Jakarta has a 
tradition of similar systems, such as Velocity, Turbine and Struts.

I think it should be in incubator and become a Jakarta project one day 
as a show case of what a business user can do with Jakarta. Most 
projects now are framework type for developers.

Community and Developers: It could use a better community and more 
involvement.
It’s developers list
https://sourceforge.net/project/memberlist.php?group_id=55539
but I did most of the development.
I have several commercial sites that use it, and baseBeans.com is 
running it.
I have mailing list, that is not specific to basicPortal at
http://www.basebeans.net:8080/mailman/listinfo/mvc-programmers
It is as popular or more than OJB/Tapestry, the latest 2 projects.
BasicPortal will work more on building a community before and after 
acceptance, as is required by the Subproject proposal page. (“understand 
what it means to build a community”). One developer is using Nullsoft 
Open source setup to make a setup.
It is already packaged as org.apache.xyz


Alignment: It  also does try to demonstrate some of the good practices 
designs in developing an application that uses Tomcat, Struts, JSTL, SQL 
Commons, DBCP, J:meter, and any other Jakarta project, that could be 
used. I realy think some projects could build a demo app, since Tomcat 
and working PostgreSQL will be provided to basicPortal.
It’s an application that was developed using KISS, everything in it is 
simple code that is very teachable, and each pieces is simple.

Some of the features:
-	New content can be approved (in a multi row update, so you can check a 
lot of content at once) before it is available.
-	Wiki style, non approved comments on any page (from a comments db table)
-	RSS based feed (digester based-into content table)
-	Tomcat based declarative users security of JDBC realms (a users table, 
each role has it’s module actions)
-	Modules for Contact Management (user table), Task tracking, E-mail web 
client, Store, Auction, Bloeger.
-	It allows for people to upload an image into a DB (as BLOB) and 
display it from a JSP (via a servlet link)


Like I said it is simple, combined systems to make a useful application. 
For example, anyone can write a user maintenance web module, basicPortal 
uses it for JDBC Realms, so in Struts in order to long in you need to be 
a user.

CMS: users enter an XML record in a XML field in DB. Simple. But since 
it is DB, it can be flagged a approved, and rendered to another HTML 
filed in same table.

Ad sub system uses GIF images stored in a DB. When user is browsing 
certain content, we can find out ads with similar metatags and display 
it. (as well as measuer click troughs via count++;)

The entire application is tile (Sturts tiles action, vs Struts action) 
based, so that users in the Relm of admin, can move tiles around similar 
to my.netscape.com to change the look and feel for the group.

Other modules are even simpler.

The foundation of application is Struts Tiles Action (MVC), so as above, 
it can have several different presentations.
It can also have several different DB layers, such as RowSet or 
SQL-Commons. Other can be added by implementing a simple DAO interface. 
(we did not do OJB or JDO yet since they tend to be more heavyweight).

The system comes with PostGreSQL DB and can alternatively be installed 
via Setup.exe, since it is an application useful for business (as 
opposed to a framework like Struts that is used by a programmer).

Upon installation, once can immediately run J:Meter on it, to find out 
how quickly the master/detail processing would happen in your 
environment. It is popular to have performance of a system (and you can 
change your layers here).

And if I can say useful again, J:Meter is cool and so is DBCP, but when 
combined and we code a simple master/detail processing, now that is 
greater than the sum of the parts.

Other Jakarta projects might want to demo a sample of it’s features, and 
basicPortal could provide the rest, for example it’s working and 
updateable beans.


And I think we should move past the Apache HTTP static web server. 
Apache is not as powerful as a DB based Java CMS, such as basicPortal.
Also…. If you are old enough to remember the days of Shareware, things 
like Sidekick. I miss those days, when you could develop an application 
(not a framework) and offer it to the community. I hope for an explosion 
of web applications/share ware, free ware similar to basicPortal setup.exe.

Orphaned and Inexperience, etc: basicPortal is not. It has more 
production sites (non-compete) than Jetspeed, etc. Development on 
basicPortal has gone on for more than 6 months.

It has plenty of ties to Apache products, except where there are none.

Lastly, every now and then, there are talented people between the gigs. 
System programming is cool, but if we can write a killer bus. app., that 
can pay the bills.

BasicPortal is Apache license already. It does use JasperReports for 
repotting (Apache license) and PostgreSQL, both of which are non-Jakrta, 
and it comes out of the box with Eclipse, like Jboss. So you get a full 
environment for the download.

It will also cross over to xml.apache, for Soap and Forest features to 
make dynamic db.

BasicPortal can be named something else (Jasic? for Jakarta Basic ), or 
have logos, or some other infrastructure. It’s future, as always, 
depends on the kind souls that implement features like to see. So I am 
all for Meritocracy. I would not mind at all if someone with more 
Jakarta background decided to guide it some.

Summary:

basicPortal leverages a combination of Jakarta projects to solve 
business problems, and shows some ways of writing a CMS/Community 
project for high performance sites via dynamic and not static content, 
as well as commonly needed verticals. 80% of projects need for example 
container based authentication and a way to manage users/roles. So start 
with something that works and just do the missing parts.
It is always in the top 10% of sf.net and has about 1,600 downloads per 
month.
I would like to re-package the screens/src and place on Jakarta, if you 
like the idea.

more info at basicPortal.sf.net


Vic Cekvenich