Froyo 2.2 for Motorola Droid Update.


I’ve been watching all the hype about Verizon updating it’s line of MotoDroid phones and getting annoyed about having to wait. Officially now, it’s been rolling out but they are projecting Aug. 18th for completing the roll-out. It’s an open phone, why can’t I update it myself? Well, I didn’t like the prospect of “bricking” it and having to shell out money for a new one. That said, I stumbled on this post from Phandroid and couldn’t help myself. I am now a Froyo user in just over 10 minutes. Easy, easy, easy!



Oracle Portal JSP based pages


Re-posted from my old site. This may be slightly outdated but of use to someone….

NOTE: I am working with the Portal 10g product version 10.1.2.* and it’s various componenets. In my recent trolling through Google search results I found the following information on Mark Rittman’s blog. The below is a direct copy from his blog and all credit should be hereby granted to him for the following content. This “re-post” is simply for the purpose of further distributing this info and also creating a version for myself in the unwelcome event that Mark’s site goes defunct or is unavailable.

The following example uses Application Server 10g to integrate Portal portlets into a JSP page, and delivers it through the AS10g mid-tier webserver [Thanks to Gareth for putting together the examples]

1.    First, rename your existing HTML files to use the extension .jsp instead of .htm or .html
2.    Create a new blank file at $ORACLE_HOME\j2ee\OC4J_Portal\applications\portal\portal\WEB-INF\wwjps.xml where $ORACLE_HOME is your Portal mid-tier instance

Within the file, create this XML

<jps version="1.0">
<portal name="mtier" default="true">
<database data-source="jdbc/MyPortal"/>
<url host="site.name.com" port="1111" path="/pls/portal"/>
<cookie name="portal" maxAge="-1" path="/" />
<pagegroups>
<pagegroup name="DWHome" key="welcome1" default="false"/>
<pagegroup name="TOPLEVELSITE" key="welcome1" default="true"/>
<pagegroup name="GH_DEV" key="welcome1" default="false"/>
<pagegroup name="PG_PAYMON" key="welcome1" default="false"/>
</pagegroups>
</portal>
</jps>

Note: The <portal name="mtier" default="true"> is the name of the mid-tier instance that contains the Portal application we wish to use portlets from. The <pagegroup name="DWHome" key="welcome1" default="false"/> entries define which pagegroups will contain the portlets we wish to use. The MyPortal reference I’ll explain in a second.

3.    Locate the file $ORACLE_HOME\j2ee\OC4J_Portal\applications\portal\portal\WEB-INF\web.xml where $ORACLE_HOME is your Portal mid-tier instance

This file should contain the following code within the <web-app> tag.

<context -param>
<param -name>oracle.webdb.service.ConfigLoader</param>
<param -value>/WEB-INF/wwjps.xml</param>
<description>This parameter specifies the location of the JPS configuration file</description>
</context>

Note: In the OC4J_Portal application this code is already present in the web.xml file

4.    In the wwjps.xml file (mentioned in step 1) there is a tag to provide database connection information about a given portal instance.
<database data-source="jdbc/MyPortal"/>
Data-source attribute value is the name of the datasource, which must be specified in the data-sources.xml file located in the $J2EE_HOME/config directory. This file is located in the $ORACLE_HOME\j2ee\OC4J_Portal\config\data-sources.xml

The following code was inserted into this file for a connection to the Infrastructure database:


<data -source
class="com.evermind.sql.DriverManagerDataSource"
name="MyPortal"
location="jdbc/MyPortal"
xa-location="jdbc/xa/MyPortal"
ejb-location="jdbc/MyPortal"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="portal"
password="passwd-here"
url="jdbc:oracle:thin:@site.name.com:port-#:SID"
inactivity-timeout="30"
/>

The text in bold must be the same as the text in bold in the wwjps.xml file.

5.    If you want a Portal page group to be accessible externally then you need to allow external access.  To do so go the the Page Group Properties   Configure   JSP Access.  Check the “Allow External Access” tickbox and enter the access key.   The access key should be the key=”welcome1″ value you used when creating the wwjps.xml file in step 1.

6.    To add a portlet that can be accessed from our JSP page, use Navigator to select the page group you wish to work with, click on the ‘Externally Published Portlets’ entry at the bottom of the navigator page, then click on the ‘Create Externally Published Portlet’ link. Select a portlet you wish to publish and give it a name.

Externally Published Portlets

1.    To include a reference to this portlet in your .jsp page, open up the page in your HTML editor and add the following JSP tag codes.


< %@ taglib prefix="portal" uri="/WEB-INF/lib/wwjpstag.jar" %>
<portal :usePortal id="mtier" pagegroup="PG_PAYMON" login="false"/>
<portal :showPortlet name="test_paymon" portal="mtier" header="True"/>

2.    Lastly, copy your .JSP pages into the $ORACLE_HOME\j2ee\OC4J_Portal\applications\portal\portal\ directory, which the ‘htdocs’ equivalent for your now 9ias-delivered website.
3.    Assuming your converted HTML page is now called index.jsp, you can now access your page using the URL http://<host .domain:port/portal/index.jsp

Portlets on JSP Page

What we’ve done here is convert our HTML pages to JSP pages, include references to Portal portlets, and delivered the page through Application Server 10g. Oracle refer to these as ‘external JSPs’, and because the pages aren’t hosted in Portal you’ll have to maintain them outside of Portal. However, you can also choose to take your JSP page and import it into Portal, making it what Oracle terms an Internal JSP. To do this:

1.    Create your Portal page group as normal, but when you go to create a new page, select ‘JSP’ as your page type.

Create JSP Page

2.    Then, after naming the page, select the jsp page (from your filesystem, not from a URL) to import, and it’ll then be brought in as an internal JSP.

Like external JSPs, internal JSPs can reference Portal content as well as regular HTML and JSP tags. So what are the differences between external and internal JSPs?

  • Both internal and external JSPs are created outside of Portal using a text editor or HTML editor like Dreamweaver or Frontpage
  • Internal JSPs are automatically stored in the Portal database, and are managed and secured by Portal
  • External JSPs are stored outside of Portal (usually in the 9iAS mid-tier file system, under the OC4J_PORTAL directory home) and Portal does not provide any file management or file security
  • Both internal external JSPs can make use of SSO, internal JSPs automatically and external JSPs by using login=”true” in the Portal JSP tags.
  • Generally, Internal JSPs are easier to manage and store, whilst external JSPs are more flexible and run faster (as they’re not being delivered through Portal).

For more details on delivering Oracle Portal content through your JSP pages, check out the Oracle document “Oracle HTTP Server : Integrating Java Server Pages With Oracle 9iAS Portal” available on OTN.



Create a perfect ISO


There are a million posts out there that cover how to make an ISO image of a CD/DVD. For some reason I was having a particularly hard time with a specific disk. It had long file names, funny folder structures and I kept getting all uppercase file names. I tried the stock dd if=/dev/cdrom of=~/[file-name].iso first and found that it was just not cutting it. The below seemed to work the best on multiple CDs and formats.

mkisofs -r -J -l -d -allow-multidot -allow-leading-dots -joliet-long -no-bak -o ~/[name-of-file-or-disk].iso /media/[source-folder]



Reverse SSH to your Android


This article caught my eye as I was playing catch-up on my RSS subscriptions….
http://www.handlewithlinux.com/android-reverse-ssh



Diagram of Inter Portlet Communication?


InterPortletCommunication



AJAX Basics


Note: I wrote this back some time ago (27th, February 2007) on another site but thought this warranted a re-post. Much has been done by way of AJAX frameworks, IDEs, stadards etc but I feel that the basics are still important and provide the foundation for understanding.

I’ve been intending to write this article for a while now. This desire started close to a year ago after attending several break-out sessions at Java One. It was one of these specifically that the core of what AJAX was and is was detailed out. The following is an attempt to give a basic tutorial on how to get started. Please note that I’m assuming a decent knowledge of Java Script and events.

Contrary to what I found in more than one Google search, AJAX is rather simple. What i found was that the majority of it all is related to one simple and small key piece. XMLHTTPRequest (or for those that are forced to code for I.E. the ActiveX object Microsoft.XMLHTTP) is the key component that make this whole thing go. The rest is just the “extras”.

First off, this “event” will be captured using the onChange() Java Script function within the <select> tag. If you are not familiar with Java Script events or at least this event, please check out the tutorial at QuirksMode or a Google search for JavaScript Events.

Now let’s assume that we have already created a web accessible script or something that produces a document that is structured like the following.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
<code>ID or Code</code>
<display>Display Value</display>
</response>

And next we make a request to a server for information based on this data. Now we see where XMLHTTPRequest comes into play. This simple “function” will look to retrieve XML from a specified source and return it all without reloading the browser window. The following code will give you an idea of what’s going on:

if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChangeXML;
req.open("GET", sendURL, true);
req.send(null);
}

This brings us to the step of capturing the event using the ReadyState value from our “req” variable earlier. The following is a snippet from a library I created and detail below.

if (req.readyState == 4) {
//-- only if "OK" from web server
if (req.status == 200) {
response  = req.responseXML.documentElement;
response.getElementsByTagName('display')[a].firstChild.data;
}
}

At this point you should be looking at two functions and a script that produces an XML document. The rest of our work is simply putting all the pieces together. Now at this point you may be lost so let’s get some actual code together. Start off by downloading this AJAX library written for a series of applications over the last few months. Make sure you have your XML producing script ready and running. Paste the following in an HTML page and add a couple of values for the dropDown1 select box.

<select name="dropDown1"
id="dropDown1"
onChange="loadXMLDoc(this.form, 'dropDownCode', this.value, '/scriptName.php');" >
<option value=""></option>
</select>
<select name="dropDownSelect" id="dropDownSelect">
<option value="">Please select from above list</option>
</select>

Please let me know what issues you run into. The AjaxLib.js file is meant to be minimalistic and also meant as a tutorial aid. Good luck and have fun.



Android


I’m not really concerned with what kind of a geek this makes me or how i’ll burn in hell for adopting the Google way of life, the Motorola Droid running Android 2.0 is a nice little piece of geek heaven. And yes, i’ve even plugged into Eclipse IDE with USB and developer/debug mode turned on. I did that the second day I owned it :)



Technology


I just finished a night of general geekiness and as I lay here thinking about the accomplishments, and realizing that I’m writing this from my phone, I wonder if maybe there is a downside to it all.



JSR-168 Portlet Specification


What is it about the JSR-168 spec that is so hard for vendors to implement. Too vague? Too free? What?
I just wasted the last week trying to figure out why portlets were not rendering with a particular structure. Turns out with the folder in web containing the view, edit and help.jsp files can not start with a capital letter. What the hell?



LDAP Browser for Mac


I got a little tired of launching LDAP Browser (LBE from Novell) on the Mac from command line. So I created a .app file for Mac (zipped) that can be placed in your Applications folder. This was created using Platypus and has not been tested on any other machine than mine. Please report any bugs found.

Next Page »

Scríobhaim is proudly powered by Wordpress Themes and themed by Mukkamu end © Scríobhaim 2010 | Theme design by Data sub systems.