Index-of, replace and key-value parsing in XSLT

Lately I had to change a few BPEL Processes in a way that I had to pass multiple parameters in one field. Instead of a complete base64 encoded data-object I had to pass a key to that object in a way that I could determine that the object was in fact a key-value pair. The field contains in that case in fact two key-value pairs. I thought that if I would code the key-value pair with something like $KEY="AABBCCDDEEFF" I could search for $KEY=" and then the value after the double-quote and before the next would then be the value.

The problem with XSLT is that you have functions like substring-before(), substring-after() and positional substring, where the from-position and length can be passed as numeric values. But for the latter function you need to determine the start and end position of the sub-string to extract from the input string. But apparently XSLT does not provide something like the Pl/Sql instr or Java index-of(). Also XSLT lacks a replace function in which you can replace a string within a string with a replacement string. The xslt-replace() function does a character-by-character replace.

Fortunately you can build these functions quite easilily yourself as xslt-templates using the substring-before(), substring-after(), and string-length() functions. I found the examples somewhere and adapted them a little for my purpose. Mainly to get them case-insensitive.

Index-of-ci
Here is my Case insensitive version of the Index-of template:

<!-- index-of: find position of search within string
2010-08-31, by Martien van den Akker -->
<xsl:template name="index-of-ci">
<xsl:param name="string"/>
<xsl:param name="search"/>
<xsl:param name="startPos"/>
<xsl:variable name="searchLwr" select="xp20:lower-case($search)"/>
<xsl:variable name="work">
<xsl:choose>
<xsl:when test="string-length($startPos)&gt;0">
<xsl:value-of select="substring($string,$startPos)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="stringLwr" select="xp20:lower-case($work)"/>
<xsl:variable name="result">
<xsl:choose>
<xsl:when test="contains($stringLwr,$searchLwr)">
<xsl:variable name="stringBefore">
<xsl:value-of select="substring-before($stringLwr,$searchLwr)"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="string-length($startPos)&gt;0">
<xsl:value-of select="$startPos +string-length($stringBefore)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="1 + string-length($stringBefore)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>-1</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:copy-of select="$result"/>
</xsl:template>

The template expects 3 parameters:
  • string: the string in which is searched
  • search: the substring that has to be searched
  • startPos: position in string where the search is started
The first thing the template does is declaring a work-variable. If startPos is not given, the variable work will contain the complete input string. But if startPos is given work will contain the substring of string from startPos to the end.

Then the input and the search strings are converted to lower case into new variables: andinputLwr and searchLwr. These variables are to test case-insensitively if the search string is in the input. If that is the case then the part of the input string before the search string is determined with the substring-before() function. The string-length() of the result denotes in fact the numeric position of the search string within the input string. This is incremented by 1 or by startPos depending on startPos being filled.

The template can be called without the startPos parameter:

<xsl:call-template name="index-of-ci">
<xsl:with-param name="string" select="$input"/>
<xsl:with-param name="search" select="$keyStr"/>
</xsl:call-template>

Or with the parameter:

<xsl:call-template name="index-of-ci">
<xsl:with-param name="string" select="$input"/>
<xsl:with-param name="search" select="string('&quot;')"/>
<xsl:with-param name="startPos" select="$startIdx"/>
</xsl:call-template>


Replace
The next template replaces the fromStr in input to toStr.

<!-- replace-ci: case insensitive replace based on strings
2010-08-31, by Martien van den Akker -->
<xsl:template name="replace-ci">
<xsl:param name="input"/>
<xsl:param name="fromStr"/>
<xsl:param name="toStr"/>
<xsl:param name="startStr"/>
<xsl:if test="string-length( $input ) &gt; 0">
<xsl:variable name="posStartStr">
<xsl:call-template name="index-of-ci">
<xsl:with-param name="string"
select="$input"/>
<xsl:with-param name="search"
select="$startStr" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="startPos">
<xsl:call-template name="index-of-ci">
<xsl:with-param name="string"
select="$input"/>
<xsl:with-param name="search"
select="$fromStr" />
<xsl:with-param name="startPos"
select="$posStartStr" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="inputLwr" select="xp20:lower-case($input)"/>
<xsl:variable name="startStrLwr" select="xp20:lower-case($startStr)"/>
<xsl:choose>
<xsl:when test="contains( $input, $startStrLwr ) and contains( $inputLwr, $fromStr )">
<xsl:variable name="stringBefore" select="substring($input,1,$startPos - 1)"/>
<xsl:variable name="stringAfter" select="substring($input,$startPos + string-length($fromStr))"/>
<xsl:value-of select="concat($stringBefore,$toStr)"/>
<xsl:call-template name="replace-ci">
<xsl:with-param name="input"
select="$stringAfter"/>
<xsl:with-param name="fromStr"
select="$fromStr" />
<xsl:with-param name="toStr"
select="$toStr" />
<xsl:with-param name="startStr"
select="$startStr" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$input"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>

Here the pos of the from string is determined using the index-of-ci template described earlier.
But this is done from the position of the startStr that marks the start of the replacement search. For example, if you want to replace domain names in email-adresses, you want to start the search of the domain after the at-sign ( '@' ).
Having the start position of the 'from'-string the part of the input before and after the 'from'-string is taken using the string-before() and strina-after() functions.
The 'to'-string is concatenated to the result of the string-before(). The result of the string-after() is used to call the template recursively to search the remainder of the input-string.


Parsing keys
The following template parses a key value like $KEY="AABBCCDDEEFF"
 <!-- Parse a KeyValue
2010-08-31, By Martien van den Akker -->
<xsl:template name="getKeyValue">
<xsl:param name="input"/>
<xsl:param name="key"/>
<xsl:param name="default"/>
<!-- Init variables -->
<xsl:variable name="keyStr" select="concat('$',$key,'=&quot;')"/>
<xsl:if test="string-length( $input ) &gt; 0">
<xsl:variable name="startIdxKey">
<xsl:call-template name="index-of-ci">
<xsl:with-param name="string" select="$input"/>
<xsl:with-param name="search" select="$keyStr"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="keyLength" select="string-length($keyStr)"/>
<xsl:variable name="startIdx" select="$startIdxKey+$keyLength"/>
<xsl:variable name="endIdx">
<xsl:call-template name="index-of-ci">
<xsl:with-param name="string" select="$input"/>
<xsl:with-param name="search" select="string('&quot;')"/>
<xsl:with-param name="startPos" select="$startIdx"/>
</xsl:call-template>
</xsl:variable>
<!-- Determine value -->
<xsl:choose>
<xsl:when test="$startIdxKey&gt;=0 and $endIdx&gt;=0">
<xsl:value-of select="substring($input,$startIdx, $endIdx - $startIdx)"/>
</xsl:when>
<xsl:when test="$startIdxKey>0 and $endIdx&lt;0">
<xsl:value-of select="substring($input,$startIdx)"/>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$default='Y'">
<xsl:value-of select="$input"/>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
The working is quite similar to the templates above. If you understand the replace-template, you wouldn't have trouble with this one. Basically the value is search using the index-of-ci template with a concatenation of '$', the key and '="'. The string after that is the value, with a double quote as the end delimiter.
Having this template you can search for the key any where in the string, even if there are multiple key-value pairs.
The template can be called like:

<ns1:Id>
<xsl:call-template name="getKeyValue">
<xsl:with-param name="input" select="/ns2:aap/ns2:noot"/>
<xsl:with-param name="key" select="&apos;KEY&apos;"/>
<xsl:with-param name="default" select="&apos;Y&apos;"/>
</xsl:call-template>
</ns1:Id>


The parameter 'default' is optional: if it is set to 'Y' and the KEY is not found in the input string, then the value of the input is returned as result. Otherwise nothing is returned.

Conclusion
I found these templates very helpful. Using them you can do almost any string replacements in XSLT. ALso to me they function as example to cope with more advanced XSLT-challenges.

JHeadstart 11g: Tree-Form with drag and drop functionallity

A little over two years ago I wrote a post on drag and drop in an adf tree component. That post was based on ADF only. In the following post I show that you can have JHeadstart generate a tree for you that supports drag and drop. Not out of the box, but with use [...]

Don’t Miss the Blogger Meetup at OpenWorld

The guys at Pythian, specifically Alex Gorbachev (@alexgorbachev) will be continuing the grand tradition of hosting a blogger meetup at OpenWorld this year.

This meetup is a must attend because it’s the best opportunity all year long to meet your favorite Oracle bloggers and tweeters IRL and put a face with a digital identity.

Oh, and I’m pretty sure that blogging and/or tweeting are not requirements for attending. If you read Oracle blogs or follow Oracle people on Twitter, I’m pretty sure that’s enough. You might even get the nudge you need to make that jump.

Here’s the skinny:

When: Wednesday, September 22, 5:30 PM

Where: Lower Dining Room, Jillian’s Billiards in the  Metreon, 101 Fourth Street, San Francisco, CA 94103.

If you don’t already know where Jillian’s is, you’ll know by Wednesday of OpenWorld week. It’s right in the middle of the show, across the street from Moscone West.

Make sure you drop a comment on Alex’s post, with a “count me in” so he can plan accordingly. See you there.

Bloggers Meetup Oracle OpenWorld 2010 The Pythian BlogPossibly Related Posts:

Change the JDeveloper system directory

De system directory is where JDeveloper stores the user specific settings, configurations and also (for 11g) the default domain of the embedded weblogic server. It uses the JDEV_USER_HOME environment variable to dettermine the location. If it’s not set is uses a default directory, for 11g on windows XP that’s <user dir>\Application Data\JDeveloper\systemXXX (XXX stands for [...]

…aaaand We’re Back

CC License: tanakawho

e-Literate had an outage of several days due to…irreconcilable differences with my now former web host. I have moved to Fused Network. Even in these early days, the difference in quality of service is night and day. I think I’m going to be happy here.

You may have noticed that the site looks different. Again. I have had a hard time finding a theme that I’m happy with. My criteria aren’t actually that complicated:

  • Legibility of posts and comments has to be excellent.
  • Navigation must be configurable.
  • There must be flexible widget spaces, preferably including spaces in the footer.
  • The look must be clean and simple.

I’m happy to say that the new default WordPress theme finally meets all of those characteristics, so that’s what I’m using and intend to keep using for the foreseeable future. I may change the banner at the top of the page, but that’s about it.

Share/Bookmark

No related posts.

Installing a subversion server

Source control is off course an essential part of the development process and Subversion is an excellent system for that purpose. In the past, installation of subversion was a bit complicated because it involved several steps, an Apache webserver and not-so-accessible user management and repository configuration. However, nowadays installation and management can’t be easier, on [...]

When Memes Collide

I love a good meme, not sure why, but I think it’s because of that moment when you can work a meme into everyday life. Awesome feeling, at least for me, but then again, I’m a giant dork.

Memes, of the internets variety, are a lot like geek speak, and I’m pondering the idea of giving an unconference session about memes at OpenWorld this year, much like the geek speak one I gave in 2008.

Knowing, if not understanding, memes helps demystify some of the jargon that permeates the internets, and basic knowledge goes a long way toward gaining some measure of credibility among your friendly, neighborhood geeks.

Plus, you might just find them fun.

IMO even more fun is the collision of memes, like the following munging of LOLcats and the double rainbow guy.

Incidentally, double rainbow guy, embedded for your enjoyment, is a great meme. Love that guy.

Another meme crash, Inception plus Yo Dawg and other Inception-themed memes.

I highly suggest Know Your Meme if you want to learn more, and no, it’s not a Rickroll.

Happy freakin’ Friday. Thoughts about meme-on-meme violence? Find the comments.Possibly Related Posts:

Security

Security

An iTunes security flaw from a week or so ago (since fixed) has given rise to a more fundamental issue in Windows security. Ars Technica discusses it:
Windows DLL-loading security flaw puts Microsoft in a bind .

*Contributions by Angela Golla, Infogram Contributor*<br><br>Here is

Contributions by Angela Golla, Infogram Contributor

Here is a handy link for information concerning RAC:
http://www.oracle.com/technetwork/database/clustering/overview/index.html
It contains links to white papers, data sheets, tools and more.

An excellent note for Oracle Support processes and best practices is
Note:166650.1. Check it out. It contains numerous hints and tips for getting the most from Oracle Support.

The latest version of the Application Technology Group (ATG) Newsletter is available in
Note:1158513.1. It contains valuable information for E-Business Suite customers.

Manage JDeveloper external libraries

Although JDeveloper provides loads of libraries out-of-the-box, you often need other libraries in your application. You can easily add these libraries via the project properties. This provides two options: ‘Add Library’ and ‘Add Jar / Directory’. We normally us the Add Library option because it allows to include the JavaDoc and the source code. However [...]

Firefox Panorama Looks Cool, But Speed Kills

The latest Firefox 4 beta build (beta 4) includes the Tab Candy feature, which has been named Panorama.

Firefox Panorama: Tab Candy Evolved « Aza on Design

I’m running this version on Ubuntu, but not as my primary browser. Panorama looks cool, and tab organization is a nice to have feature, albeit probably a power user feature.

The problem for me is that Chrome (and Chromium) are still faster than Firefox, primarily at Javascript rendering. No, I haven’t seen any tests with Firefox 4 vs. Chrome 6, but it’s going to take a major improvement in speed to switch me back to Firefox.

What about you? What’s your browser of choice and why? Do features like Panorama matter more than flat out speed?

Find the comments.Possibly Related Posts:

Geeks in Love

Luckily, I haven’t had to be this clever, but the bar has definitely been raised.

Found this via Gizmodo, seen in the wild on Hermosa Beach in Southern California. Of course, haters gonna hate, as the commenters prove, e.g. no opening tag, old picture. It does look like the opening tag might be on top of the barricade, possibly <GEEK LOVE POEM>.

Depending on the actual age of the photo, it could be lifted from ThinkGeek or vice versa.

Another one courtesty of Gizmodo, a poem created with song titles, with the same type of commentary. At least he stayed away from “Never Gonna Give You Up”.

Find the comments.Possibly Related Posts:

Detailed Solaris and Sparc roadmaps extend through 2015

Oracle has released some long overdue roadmaps for the Sparc processor and the Solaris operating system, and they’re substantial. Here’s the quick summary:

  • Sparc will have 128 cores by 2015, up from 32 today. It will also have the potential for more than 16,000 computing threads, up from 512 today. Memory capacity will increase from 4TB today to 64TB in 2015.
  • Solaris 11 is due out next year, six years after Solaris 10 came out in 2005. It is expected to include improvements in every facet of the operating system, from processor core and thread support to networking and security support.

“With Sparc, we are committing to at least doubling performance levels every two years,” Oracle systems chief John Fowler said. “We will scale to thousands of threads and multiple terabytes of memory.”

All in all, if Oracle follows through on this, that is some impressive stuff. Oracle has been the brunt of some bad news in the wake of its acquisition of Sun Microsystems, including poor server sales results and reports that IT shops are leaving the Sun hardware platform. Much of the worry revolving around Oracle-Sun earlier was its virtual nonexistent roadmaps for Sparc and Solaris.

Now that those are in place, Oracle has better ground to be able to retain existing Sun hardware customers, and possibly go out and get some more. We’ll see what happens.

EBS, Storage Performance, Exadata, Book Review, ADF, JDE



The start of a series over at James Morle's always entertaining and useful blog: SaneSAN2010: Serial to Serial – When One Bottleneck Isn’t Enough

Exadata

An Oracle employee has some well-reasoned responses to what is being published by the competition over on his personal blog, Oracle Exadata and Netezza TwinFin Compared – An Engineer’s Analysis

Book Review

We've already passed along some kind words for Tom Kyte's latest book, but this review from Charles Hooper was so thorough I couldn't resist linking to it: Book Review: Expert Oracle Database Architecture: Oracle Database Programming 9i, 10g, and 11g Techniques and Solutions, Second Edition.

ADF

Some ideas from the on what's coming up from the GE2ORGE MAGGESSY blog on ADF at Oracle Open World (you are going, aren't you?): ADF and JQuery working together.

JD Edwards

A lighthearted rundown over at ITToolbox.com of the Top 10 Signs Your Company Needs Additional JDE Training (light-hearted in a 'ha, ha, only serious' manner, that is).

Captain Support to the Rescue

Friend of the ‘Lab, Tim Hall (@oraclebase) posted a quick note over the weekend that caught my eye.

More PC support… | The ORACLE-BASE Blog

For me, the interesting part part is his question: “How are normal folk meant to cope with this?”

This isn’t rhetorical either. It’s a serious issue with technology. Most of us likely don’t call tech support when we have issues, but that’s only partially influenced by our own ability.

For the most part, tech support is abysmal for consumer electronics, e.g. when I hit issues with the OTA update to Android 2.2, I made that mistake.

Support at Sprint and HTC both shrugged their shoulders and suggested a factory reset.

Anyway, Captain Support may be the reluctant (or not) alter ego many of us have, but what about all the other n00bs out there who don’t have family geeks?

Find the comments.Possibly Related Posts:

Webcast: AT&T’s Upgrade to E-Business Suite 12.1

att-logo1.jpgI know that many of you are actively planning your Oracle E-Business Suite Release 12 upgrades right now.  The following webcast isn't directly techstack-related but may be of general interest.

Our Customer Programs team has arranged a live webcast with AT&T, who will share their experience with their Oracle E-Business Suite Release 12.1 upgrade:
Friday, August 27, 2010
2:00 p.m. Eastern Daylight Time (11:00 a.m. Pacific, 1:00 p.m. Central)

In this informal reference call, participants will have the opportunity to speak firsthand with AT&T. The call will open with a brief overview, followed by candid discussion and an open question and answer session. Please allow one hour for the call.

Restructuring higher education: NCES Stats-DC 2010 Conference

This is a guest post by Jim Farmer.

As you know, the Statewide Longitudinal Data Systems program is funding states’ work to improve their data systems. Over the past four years, 41 states and the District of Columbia have received more than half a billion dollars from this program. It has supported states as they link data from preschool, K-12, and postsecondary education. In some states, it supports their work to track students into the workforce. We’re committed to helping all states.

Keynote presentation – Secretary of Education, Arne Duncan

For 40 years institutional and policy researchers and information technologist have met with staff from the U.S. Department of Education’s National Center for Education Statistics to learn and advise on NCES data collection efforts. NCES is a source of useful statistics on K-12 and higher education. As described by Secretary Duncan, this year NCES staff and consultants provided detail data on the anticipated changes in higher education being implemented through the state agencies and conditions for any federal funding.

At last year’s STAS-DC conference the primary focus of the 600 participants was qualifying to receive federal grants to develop statewide longitudinal data systems (SLDS). The $500 million was for in grants to state education agencies. Higher education did not receive any of those funds directly or via the state higher education executive officers.

Now NCES has become the leader of perhaps the largest information technology (IT) implementation ever attempted in the U.S. It spans 4.339 colleges and universities and 98,916 public schools with annual revenue of $1.1 trillion. The Stats-DC 2010 conference, held 26-30 July in Bethesda, Maryland, focused on this implementation.

This year’s conference provided evidence of the Department’s perspective of higher education and the requirements that would be placed on public colleges and universities and incentives for private non-profit and for-profit colleges to participate as well. Statewide Longitudinal Data Systems (SLDS) have become an unfunded mandate for higher education through new state-required data reporting requirements and data exchanges among colleges, universities, and schools. States that received funding agreed to build state-level data warehouses of these data; the model was centralization within each of the states or the use of servicers.

In the long term higher education will be restructured by the metrics used to represent the success of college and university management and teaching faculty. The Stats-DC Conference offered an opportunity to learn the underlying assumptions about education and perception of the value and use of data. A caution: The U.S. Department of Education has a number of knowledgeable, dedicated, and hard-working educators. This is also true of the state education agencies. But the design and beginning implementation of a national education data system within the available time does not permit the thoughtful planning that would have reduced the risks of unintended consequences.

National Model of Education

All of the discussion focused on the pipeline model: Pre-kindergarten, kindergarten through 12th grade, higher education, and the workforce. The students who have limited objectives, take courses outside the U.S. or study at two institutions simultaneously, have credit for military training, or transferred to a non-reporting private college or university would not be considered in the model as it is being implemented.

Two roles for higher education were discussed. One is to provide information about student performance back to the student’s high school (via the statewide longitudinal data systems) Graduation rate becomes the metric for institutional effectiveness and comparisons.

Common Data Standards

The most discussed topic was Common Data Standards. Although discussions and presentations the past two years wrote about 10 or 15 data elements, the “Consortium” said a list would be available the following Monday—that list had 199 data elements. Only a few initial data elements for student progress had been published on the CDS web site earlier. None were included in the August list.

One speaker observed “98% of the [CDS] data elements were from SIFA [specification].”

The Common Data Standards data elements support the use of high school graduation rates, college and university bachelor’s degrees with a nod to the associates degree, and employment and salary for the workforce. These are the specific metrics public higher education will be judged or managed.

The incentives for colleges and universities may be an unintended consequence: Accept only students that can be expected to graduate, focus on full-time students since they graduate more quickly, and reduce the rigor of degree requirements.1 Recent research by Georgetown University’s Center for Education and the Work show that 63% of the jobs in 2018 will require some higher education or better; only 34% require a bachelor or graduate degree, about half.2 The Department’s metric for progress and learning is the classic “Carnegie credit hour.”3

The CDS Consortium includes the U.S. Department of Education, Council of Chief States School Officers (CCSSO), and the State Higher Education Executive Officers (SHEEO). The work of the consortium has, in large part, been financed by NCES. AEM Corporation, an NCES contractor, had been responsible for the technical work. The comment period for the standards to be released 30 September closed 4 June. Recognizing the September 2010 specifications will not be completed and could be improved through changes, PESC President Michael Sessa (2010) has organized a task force to develop materials for the consortium. The CDS initiative is expected to continue for two more years even though the two years exceeds the implementation of the data systems.

The Complexity of Higher Education

The conference had 605 pre-registered participants. This included 48 from colleges and universities—up from 6 last year. Only two of the 48 had information technology titles or organizations.

Perhaps because of the proportion most of the presentations and discussions were on K-12.

Hans L’Orange, Vice President for Research and Information Resources at SHEEO (State Higher Education Executive Officers) devoted his brief presentation to the complexity of higher education. He identified the many different forms of higher education institutions—some public, some private; some non-profit, some for-profit, some focusing on research, some focusing on teaching, some large, some small. He commented the complexity of higher education—likely resulting from the increased number of specialized areas of study—makes it difficult to implement student longitudinal data systems. He could have continued to show effect of the specialization of studies on higher education. As an example from a LETSI conference call, an engineer from MIT, from San Jose State University, and from DeVry are all perceived by business as graduating top engineers, but for sharply different types of work.

L’Orange’s thoughtful perspective and clear articulation should have been a caution to the audience But the K-12 representation, appearing to be uninterested in higher education, likely did not follow his argument.

Privacy

Privacy, but not FERPA (Federal Education Rights and Privacy Act), remains an issue. And the architecture of the infrastructure for exchanging data depends upon the level and type of privacy protection that is needed. Panelists considered FERPA irrelevant since it never has been and likely could not be enforced (See Krebs v. Rutgers for the limits). But a panelist cautioned that state privacy law and regulations are stricter than FERPA and can differ from one state to another. Distance learning has risks unless implemented to meet the standards of all of the states and countries where there are students.

Privacy is also an issue in using learning services, learning materials, and assessment services not on the local learning management systems.

The infrastructure to support student authentication and authorization—separately when remote services are used—will require investment. Metcalf’s Law theorizes first adopters will have little benefit from the implementation of a data transport network; hence little incentive for anyone to implement. Since implementation will be required for K-12, the SIFA specifications will likely be a component of the more general solution. The specification will be available in January 2011 and several software vendors expect to be “feature complete” at that time as well. If colleges and universities are required to exchange data with K-12 then the SIFA specification would apply unless format translations with appropriate security are used.

NCES’ next conference will be the MIS (Management Information Systems), 23-25 February 2011 in Austin, Texas. At the MIS conference earlier this year state education agencies described their current or plans for the state longitudinal data systems and their use. In 2011 many SLDS will be new systems nearing completion; the focus likely will be the areas that are not well defined such as the Web Services data transport, draft specifications for messages to be exchanged–content and choreography, and privacy.

  1. Babcock, Philip and Mindy Marks. (2010: 9 August). Leisure College, USA: The Decline in Student Study Time. Washington DC USA: American Enterprise Institute.
  2. Carnevale, Anthony P., Nicole Smith and Jeff Strohl. (2010: 11 June) Help Wanted; Projections of Jobs and Education Requirements Through 2018. Washington DC USA: Georgetown University.
  3. NARA. (2010: Jun 18) Federal Register Part II Department of Education: 34 CFR parts 600, 602, et al. Program Integrity issues; proposed Rule. Washington DC USA: National Archives and Records Administration Pages 34805-34890.

Share/Bookmark

No related posts.

More OpenWorld Sessions of Interest

If you’re attending OpenWorld (@oracleopenworld) in September, you’re probably starting to plan your schedule.

Trust me, this isn’t something you want to leave for the plane ride or the first day. This year, OpenWorld, Develop and JavaOne are all happening at once, September 19-23, and sheer volume of content is enormous.

With all that good stuff, you’ll want to map out a game plan. So, first thing, plan on making our session, “Web 2.0 Versus Enterprise 2.0: Lost in Translation” S313346 on Tuesday at 5 PM at the Marriott Marquis, Salon 7.

It’s an Easter Egg surprise because we won’t be presenting what’s in the session guide; our new working title is “WebCenter: A Web Developer’s Playground”. If you read here, you know that already.

If you like dynamic languages, you should check out Christopher Jones’ list of PHP, Perl and Ruby sessions, and if you really love the Ruby, you’ll want to make time for Raimonds’ (@rsim) Rails sessions.

Side note, I’ve not actually checked to see if these sessions conflict. So, yeah, hoping they don’t.

Today, I got an email pointing me to a list of Enterprise 2.0 sessions (pdf), featuring many WebCenter sessions given by our colleagues, and a couple sessions from friends of the ‘Lab Billy Cripe (@billycripe) and Bex Huff (@bex).

Definitely check out that list if E 2.0 is your bag.

Among the many new and interesting topics at this year’s OpenWorld are Open Office and Cloud Office, which came to us via the Sun acquisition. Here are a couple Cloud Office sessions I plan to attend:

Have any sessions you can’t miss and want to share? Anything in our wheelhouse that I’ve missed?

Find the comments.Possibly Related Posts:

Oracle pitches its virtualization stack

Last week during an online virtualization event, Oracle continued to push its concept of stack computing. And that concept includes Oracle VM, not VMware.

Understandably, Oracle is going to want to push its own virtualization technology. In the case of servers, that happens to be Oracle VM, which is basically Xen in disguise. But as Oracle pushes Oracle VM on customers, it is also trying to push VMware aside. This despite VMware being the dominant server virtualization technology in the x86 server market, with it showing no signs of waning.

According to a recent SearchOracle.com reader survey taken largely by DBAs and IT managers - all of whom are running Oracle - 74% use VMware for server virtualization. Only 13% mentioned Oracle. But see the picture here? That is Oracle’s view of the virtualization world, and all it includes is Oracle VM.

Last week before the event I wrote about whether Oracle would even mention VMware during its six-hour online virtualization event. As it turns out, it did talk about VMware in the context of how inferior it is to Oracle VM. In the initial session, Oracle Chief Corporate Architect Edward Screven and Executive Vice President John Fowler gave 10 reasons why “Oracle Delivers More Value Than VMware.” They included:

  • Oracle VM is optimized for Java
  • Aggressive testing with Oracle application and database workloads
  • Oracle VM included with the server hardware
  • Integrated support
  • Integrated everything else

“With these techs under one roof, we incorporate and include all technologies,” Fowler said. “We build hardware technologies with virtualization technologies and they’re included in system sales. We don’t consider them to be a third-party add-on.”

Of course, the drawback to adopting Oracle VM for those 74% of shops running VMware is it can often be difficult to do a rip-and-replace for any technology. Server administrators and programmers get comfortable with a certain technology and don’t want change. VMware is the market leader. Shops don’t want multiple server virtualization technologies in the same IT shop, because it can get too confusing.

This is an important move from Oracle. The company has decided to push its Oracle VM virtualization technology as hard as possible, while pushing VMware to the fringe. Its support for running Oracle on VMware is tepid at best, with support being nonexistent when it comes to Oracle RAC. Its licensing for running Oracle on VMware also leans toward costing more than running it on Oracle VM, due to tricky definitions around “soft partitioning” and “hard partitioning.”

In sum, Oracle is developing hostile licensing and support policies toward VMware, seemingly in an effort to push Oracle VM. Will it work? It might. Oracle Database is the backbone of many IT shops, and there isn’t going to be any widespread abandonment of that database platform. If Oracle undercuts VMware on pricing with Oracle VM and offers limited support on VMware, IT shops might eventually feel forced to go with Oracle VM if they want to continue to build their server virtualization infrastructure.

Philadelphia Charging Bloggers a Fee

Not sure how the city can trace bloggers who should pay this, but assuming they have that magic figured out, does it make sense to charge bloggers a fee at all?

Philadelphia Bloggers’ License – $300 Fee | Geekosystem

The economics of this are quirky. The cost of identifying and notifying bloggers has to outweigh the revenue they’ll collect, right?

I wonder if this is for a given time period, and if they can tack in on to municipal taxes.

Weird. Anyway, just another reason to forgo ads on your blog. Very few bloggers actually drive enough traffic to make it worth the annoyance of ads anyway.

Thoughts?Possibly Related Posts: