Everything Java Apache Geospatial Open Source. Hello Shinning Stars!!! Vincent Massol, Raphael Luta, Santiago Gala, Carsten Z.
Tuesday, June 27, 2006
This blog will present you with a common method for maintaining branches of an open source project. A concrete example would be when you take and modify an opensource project. Branches are maintained with diff files. The subversion command for diff is 'svn diff myDirectory'. Suppose you want to use an open source project to create your own website. Just keep a copy of the svn diff and send that to any machine that will be used to deploy the website.
Tuesday, June 13, 2006
You must make a choice when developing a portlet. The Simplest being the javax.portlet.GenericPortlet. Others include the FacesPortlet, ServletPortlet, StrutsPortlet, VelocityPortlet, PerlPortlet, PHPApplicationPortlet, DotNetPortlet, and the MapServerPortlet. Documented on the Apache Portals Bridges project website.
Tuesday, June 06, 2006
Set up jetspeed server.
User record synchrontion with back end service.
No integrated marketplace.
Special urls for each group.
Messaging system. Contact everyone by building manager. Contact the lobby using this system.
Virginia, NY, CT, California.
What's new (announcements).
Marketplace,
June, test machine.
User record synchrontion with back end service.
No integrated marketplace.
Special urls for each group.
Messaging system. Contact everyone by building manager. Contact the lobby using this system.
Virginia, NY, CT, California.
What's new (announcements).
Marketplace,
June, test machine.
Sunday, June 04, 2006
Friday, May 26, 2006
I wrote the Jetspeed 2.0 release announcement. Here are some additional features of Jetspeed.
Standard and secure platform for creating custom web portals.
Standard and secure platform for creating custom web portals.
Monday, May 22, 2006
Jetspeed Security and Content Management
The objective of this text is to outline how to provide portal content and functionality to an outside server. There are two issues. One is the user must be authenticated to use a particular content. The other is defining the method to access the pages without the menu and logos. A third issue comes to mind if the provided content is inline rather than in an iframe (the server does all of the content negociation and the clients browser does not even know that it is getting content from a third party) which is all urls for images, links, forms, and resources must be standardized so that the server can know when it is to act as a proxy to third party portal content).
Authentication
One way to do authorization is by using a post request over https where password credentials can be verified. Another way is to sacrafice security for facility by allowing get requests to be made over http. This is not desirable but may facilitate testing. Production servers must make the post over a secure connection.
Content without menus and logos
One assumption that is made is the menus and logos will be invisible and only the content of the portal will be present. For this to work we need to be able to use two different themes depending on the caller.
A page accessed using the MyPage.psml will be rendered with the logo and menus. If the same page is accessed using MyPage.psml?org.apache.portals.jetspeed.theme=simple the logos and menus would be hidden. This parameter can also be passed one time during authetication to set the theme used for the entire session.
URLs
If the server does the content negociation it will act as a proxy to the Jetspeed portal requesting content and providing it inline to the end user. All URLs with a given prefix would have to be redirected to another server for content. A portlet can be written for Jetspeed to act as a proxy server to aquire third party content.
Code
This url will authenticate the user and override all page themes so that the portal content is presented without menus and logos.
It depends on a patch submitted by me a few days ago. See the Jira issue
The objective of this text is to outline how to provide portal content and functionality to an outside server. There are two issues. One is the user must be authenticated to use a particular content. The other is defining the method to access the pages without the menu and logos. A third issue comes to mind if the provided content is inline rather than in an iframe (the server does all of the content negociation and the clients browser does not even know that it is getting content from a third party) which is all urls for images, links, forms, and resources must be standardized so that the server can know when it is to act as a proxy to third party portal content).
Authentication
One way to do authorization is by using a post request over https where password credentials can be verified. Another way is to sacrafice security for facility by allowing get requests to be made over http. This is not desirable but may facilitate testing. Production servers must make the post over a secure connection.
Content without menus and logos
One assumption that is made is the menus and logos will be invisible and only the content of the portal will be present. For this to work we need to be able to use two different themes depending on the caller.
A page accessed using the MyPage.psml will be rendered with the logo and menus. If the same page is accessed using MyPage.psml?org.apache.portals.jetspeed.theme=simple the logos and menus would be hidden. This parameter can also be passed one time during authetication to set the theme used for the entire session.
URLs
If the server does the content negociation it will act as a proxy to the Jetspeed portal requesting content and providing it inline to the end user. All URLs with a given prefix would have to be redirected to another server for content. A portlet can be written for Jetspeed to act as a proxy server to aquire third party content.
Code
This url will authenticate the user and override all page themes so that the portal content is presented without menus and logos.
http://localhost:8080/jetspeed/login/proxy?org.apache.jetspeed.login.username=user&org.apache.jetspeed.login.password=user&org.apache.jetspeed.theme.override=simple
It depends on a patch submitted by me a few days ago. See the Jira issue
Tuesday, April 11, 2006
Jetspeed preferences or the Portal api preferences are getting on my nerves. I am specifying preferences in the psml file. When I debug I get calls to two separate FragmentImpl.getPreferences methods.
The first is a call to the FragmentImpl in package,
org.apache.jetspeed.om.page.psml
Which is related to the portlet itself.
The second is a call to the FragmentImpl in package,
org.apache.jetspeed.om.page.impl
Which is related to layouts.
The fist call populates a o.a.j.om.preference.impl.FragmentPortletPreferenceSet from o.a.j.om.page.ContentFragmentImpl. Then pluto eats the preference and I never see it in my portlet.
The first is a call to the FragmentImpl in package,
org.apache.jetspeed.om.page.psml
Which is related to the portlet itself.
The second is a call to the FragmentImpl in package,
org.apache.jetspeed.om.page.impl
Which is related to layouts.
The fist call populates a o.a.j.om.preference.impl.FragmentPortletPreferenceSet from o.a.j.om.page.ContentFragmentImpl. Then pluto eats the preference and I never see it in my portlet.
Monday, April 03, 2006
Caused by: java.lang.IllegalArgumentException: Illegal pattern character 'x'
Hmm, this is the second time I got this exception using Andromda. It is caused by an invalid character in my @andromda.presentation.view.field.format tagged value. Dates can not use the 'maxlength 10' value 'strict dd/MM/yyyy' is better validation rule.
Hmm, this is the second time I got this exception using Andromda. It is caused by an invalid character in my @andromda.presentation.view.field.format tagged value. Dates can not use the 'maxlength 10' value 'strict dd/MM/yyyy' is better validation rule.
Sunday, January 29, 2006
Geronimo is a truly modular application server. It can be build to run any particular war or ear with only the components that it needs. If your application is not running jms then build geronimo without activemq. If it is not using ejb then build it without openejb. This allows for a leaner faster application server, customized to run only the components that are needed.
Wednesday, January 25, 2006
Geronimo blogging is back, Andromda, MapServer, and Jetspeed news will follow. This is a list of some important modules built during the 'maven new' compile.
Geronimo :: Kernel
Geronimo :: Common
Geronimo :: Util
Geronimo :: System
Geronimo :: Deployment
Geronimo :: Core
Geronimo :: Management API
The first interesting thing to look at apart from the architecture which includes Kernel and Core, is the Management API. This programming interface allows you to control all GBeans installed in the system.
Geronimo :: J2EE
Geronimo :: J2EE Schema
Geronimo :: Service :: Builder
Geronimo :: Maven Dependency Plugin
Geronimo :: Security
Then checkout Security. All the standards are here JAAS and JACC.
Geronimo :: Web Services
Geronimo :: Axis
Geronimo :: Mail
Geronimo :: Deploy :: Common Config
Geronimo :: Test :: DDBeans
Geronimo :: Naming
Geronimo :: Security :: Builder
Geronimo :: J2EE
Geronimo :: Naming :: Builder
Geronimo :: Web :: Builder
Geronimo :: Transaction
Geronimo :: Connector
Geronimo :: Tomcat
Geronimo :: Connector :: Builder
Geronimo :: Axis :: Builder
Geronimo :: Tomcat :: Builder
Geronimo :: Derby
Geronimo :: Jetty
Geronimo :: Timer
Geronimo :: Client
Geronimo :: Client Builder
Geronimo :: Scripts
Geronimo :: Session
Geronimo :: Deploy :: JSR-88
Geronimo :: Jetty :: Builder
Geronimo :: Activation
Geronimo :: Configuration Converter
Geronimo :: Console Web
Geronimo :: JMX Remoting
Geronimo :: Installer Support
Geronimo :: JavaMail Transport
Geronimo :: Deploy :: CLI Tool
Geronimo :: Directory
Geronimo :: Installer Processing
Geronimo :: Deploy :: Hot Deployer
Geronimo :: Maven Deployment Plugin
Geronimo :: Maven Assembly Plugin
Geronimo :: IZPack Installer Build Plugin
Geronimo :: Maven Packaging Plugin
Geronimo :: Kernel
Geronimo :: Common
Geronimo :: Util
Geronimo :: System
Geronimo :: Deployment
Geronimo :: Core
Geronimo :: Management API
The first interesting thing to look at apart from the architecture which includes Kernel and Core, is the Management API. This programming interface allows you to control all GBeans installed in the system.
Geronimo :: J2EE
Geronimo :: J2EE Schema
Geronimo :: Service :: Builder
Geronimo :: Maven Dependency Plugin
Geronimo :: Security
Then checkout Security. All the standards are here JAAS and JACC.
Geronimo :: Web Services
Geronimo :: Axis
Geronimo :: Mail
Geronimo :: Deploy :: Common Config
Geronimo :: Test :: DDBeans
Geronimo :: Naming
Geronimo :: Security :: Builder
Geronimo :: J2EE
Geronimo :: Naming :: Builder
Geronimo :: Web :: Builder
Geronimo :: Transaction
Geronimo :: Connector
Geronimo :: Tomcat
Geronimo :: Connector :: Builder
Geronimo :: Axis :: Builder
Geronimo :: Tomcat :: Builder
Geronimo :: Derby
Geronimo :: Jetty
Geronimo :: Timer
Geronimo :: Client
Geronimo :: Client Builder
Geronimo :: Scripts
Geronimo :: Session
Geronimo :: Deploy :: JSR-88
Geronimo :: Jetty :: Builder
Geronimo :: Activation
Geronimo :: Configuration Converter
Geronimo :: Console Web
Geronimo :: JMX Remoting
Geronimo :: Installer Support
Geronimo :: JavaMail Transport
Geronimo :: Deploy :: CLI Tool
Geronimo :: Directory
Geronimo :: Installer Processing
Geronimo :: Deploy :: Hot Deployer
Geronimo :: Maven Deployment Plugin
Geronimo :: Maven Assembly Plugin
Geronimo :: IZPack Installer Build Plugin
Geronimo :: Maven Packaging Plugin
Tuesday, December 06, 2005
Thursday, December 01, 2005
I've been studying the data access methods used by MapServer and in theory any ODBC connection can be used to obtain data from a relational database. That's probably what we want. Afterwords all we need is a nifty car icon to indicate the direction that the car is travelling (the direction part may be tricky). MapServer uses SYMBOLS to label geo features using an icon image.
MapServer supports four categories of data access. The first is the basic file method. It can access files of type shape, arcinfo, mapinfo, us census tiger, csv, etc. These are read only methods of accessing data. Other sources could update these files and MapServer would get the updates. This wouldn't be a good idea because there could be a io conflict.
ODBC can be used to access relational databases (SQL Server, Oracle, MySQL, and company)
The third category of data access is not applicable to our work. MapServer can access data provided by a Spatial database engine like ArcSDE, Oracle Spatial, or PostGIS. These solutions provide spatial indexing and special geographic types. I think this is out of our scope. It would take longer to set up, it is more complex to install. I would suggest exploring this option if you expect to address larger clients.
The last thing that I want to tell you about is MapScript. MapServer exposes their application programing interface so that hackers and integraters can do custom things with MapServer in the language of their choice (Java,PHP,Perl,Ruby). We are not using it but It can be used to create maps and plot data, as well as query data. I will deliver you an example that I found on the net.
And lastly, I looked at your database and the GPSActive table looks like it could be plotted on the Map using the ODBC solution. There were duplicates in the table but they had the same latitude and longitude. MapServer will plot all data from the table. If we want to get fancy and label each car with their own icon we will have to read the database using PHP and plot using MapScript. Give me some more thoughts on what you need.
MapServer supports four categories of data access. The first is the basic file method. It can access files of type shape, arcinfo, mapinfo, us census tiger, csv, etc. These are read only methods of accessing data. Other sources could update these files and MapServer would get the updates. This wouldn't be a good idea because there could be a io conflict.
ODBC can be used to access relational databases (SQL Server, Oracle, MySQL, and company)
The third category of data access is not applicable to our work. MapServer can access data provided by a Spatial database engine like ArcSDE, Oracle Spatial, or PostGIS. These solutions provide spatial indexing and special geographic types. I think this is out of our scope. It would take longer to set up, it is more complex to install. I would suggest exploring this option if you expect to address larger clients.
The last thing that I want to tell you about is MapScript. MapServer exposes their application programing interface so that hackers and integraters can do custom things with MapServer in the language of their choice (Java,PHP,Perl,Ruby). We are not using it but It can be used to create maps and plot data, as well as query data. I will deliver you an example that I found on the net.
And lastly, I looked at your database and the GPSActive table looks like it could be plotted on the Map using the ODBC solution. There were duplicates in the table but they had the same latitude and longitude. MapServer will plot all data from the table. If we want to get fancy and label each car with their own icon we will have to read the database using PHP and plot using MapScript. Give me some more thoughts on what you need.
Here is a simple script that I found using ms4w from maptools.org. It helped me get a grasp on MapScript PHP for MapServer.
<?php
/*
Application: QuickMap
Purpose: Use this file to test mapfiles
Authors: Bill Bronsema (bbronsema@dmsolutions.ca)
Philip Donaghy (philip.donaghy@gmail.com)
Copyright: 2005, DM Solutions Group Inc.
Instructions: - modify the MAPFILE path and the name of the phpmapscript
MODULE (lines 16 & 17)
- in a web browser goto http://127.0.0.1/quickmap.php
- an image of your data should be displayed in your browser, or
a MapServer error
*/
// define variables
define( "MAPFILE", "map/MorganCo.map" );
define( "MODULE", "php_mapscript_44.dll" );
// load the mapscript module
if (!extension_loaded("MapScript")) dl(MODULE);
// open map
//$oMap = ms_newMapObj( MAPFILE, dirname( MAPFILE ) );
$oMap = ms_newMapObj( MAPFILE );
// set projection
//$oMap->setProjection("init=epsg:42304");
// set size
$oMap->setsize(1200, 700);
// set image format
$oMap->selectoutputformat("png");
// draw map
$oImage = $oMap->draw();
// set header
header("Content-type: image/png");
// output map
$url = $oImage->saveImage("");
?>
<?php
/*
Application: QuickMap
Purpose: Use this file to test mapfiles
Authors: Bill Bronsema (bbronsema@dmsolutions.ca)
Philip Donaghy (philip.donaghy@gmail.com)
Copyright: 2005, DM Solutions Group Inc.
Instructions: - modify the MAPFILE path and the name of the phpmapscript
MODULE (lines 16 & 17)
- in a web browser goto http://127.0.0.1/quickmap.php
- an image of your data should be displayed in your browser, or
a MapServer error
*/
// define variables
define( "MAPFILE", "map/MorganCo.map" );
define( "MODULE", "php_mapscript_44.dll" );
// load the mapscript module
if (!extension_loaded("MapScript")) dl(MODULE);
// open map
//$oMap = ms_newMapObj( MAPFILE, dirname( MAPFILE ) );
$oMap = ms_newMapObj( MAPFILE );
// set projection
//$oMap->setProjection("init=epsg:42304");
// set size
$oMap->setsize(1200, 700);
// set image format
$oMap->selectoutputformat("png");
// draw map
$oImage = $oMap->draw();
// set header
header("Content-type: image/png");
// output map
$url = $oImage->saveImage("");
?>
Monday, November 14, 2005
I'm thinking about Jetspeed documentation. Correct me if I'm wrong, it sucks, so what can be done about it. Here are things that can be done by Users, Developers, and Administrators.
User can CustomizeTheLayout, CustomizeTheStyle, CustomizeTemplates, CreatePages, CreateFolders, CreateSeparators, and CreateLinks.
Developers can WritePortlets, ConfigurePortlets, WriteLayouts, WriteStyles, as well as anything a user can do.
Administrators can InstallJetspeed, OptimizeJetspeed, ClusterJetspeed, CreateUsers, CreateGroups, and CreateRoles. As well as anything a user or developer can do. They are extremely lazy people who often say "That's the developers job".
User can CustomizeTheLayout, CustomizeTheStyle, CustomizeTemplates, CreatePages, CreateFolders, CreateSeparators, and CreateLinks.
Developers can WritePortlets, ConfigurePortlets, WriteLayouts, WriteStyles, as well as anything a user can do.
Administrators can InstallJetspeed, OptimizeJetspeed, ClusterJetspeed, CreateUsers, CreateGroups, and CreateRoles. As well as anything a user or developer can do. They are extremely lazy people who often say "That's the developers job".
[#JS2-188] Implement the LDAP - ASF JIRA summarizes the development of LDAP authentication and authorization.
Another important feature of Jetspeed is its ability to integrate with Apache Derby.
Another important feature of Jetspeed is its ability to integrate with Apache Derby.
Subscribe to:
Posts (Atom)
