TopicObserver.com

Trond Pettersen on Web Development and Topic Maps

Month: December, 2008

RDF Extracted Attributes from Styled Elements (RDF-EASE)

CSS is an external file that specifies how your document should look; RDF-EASE is an external file that specifies what your document means.

.vcard
{
-rdf-typeof: "foaf:Person";
}
.vcard .fn
{
-rdf-property: "foaf:name";
-rdf-datatype: "xsd:string";
}
.vcard .url
{
-rdf-rel: "foaf:page";
}
/* This scopes everything within the hCard as applying to the
* hCard as a whole.
*/
.vcard, .vcard *
{
-rdf-about: nearest-ancestor(".vcard");
}

<div class="vcard"><a class="fn url" href="http://example.com">Joe Bloggs</a></div>
<div class="vcard"><span class="fn"><a class="url" href="http://example.com">Joe Bloggs</a></span></div>
<div class="vcard"><a class="url" href="http://example.com"><span class="fn">Joe Bloggs</span></a></div>

Now, that’s an intriguing idea — which could of course also be applied to Topic Maps.

Easy JavaScripting with jQuery (jQuery Basics)

During the last year I’ve tried using jQuery as much as possible when it comes to adding JavaScript functionality to web interfaces.

For those who still don’t know, jQuery is a cross browser open source JavaScript library which makes it extremely easy to manipulate HTML, perform Ajax requests, apply visual or interactive effects to your site, etc. If you know how to write CSS, you should be able to use jQuery. And if you work with web applications / -programming, you ought to know how to use jQuery or similar frameworks.

The dual licensing model of jQuery (GPL/MIT) makes it a perfect tool for both open source as well as commercial projects and products.
Read the full post »

Custom Forms and View Handlers in Sun Identity Management 8.0

Sun IdM, XPress and myself

Lately I’ve been working in a project for a large corporation implementing an identity management solution based on Sun Identity Management 8.0.

As part of the project, we’re doing a lot of customization to the product. A lot of the customization is done because the built in components are in desperate need of adjustments — especially when it comes to the interface (the built in interfaces have probably never even been looked at by interaction designers or graphic designers), but we’re also adding to the existing functionality.

When customizing IdM, you soon realize that writing logic in XPress (Sun’s proprietary XML based programming language) is a painful process.

Although it is simple enough, XPress code is more tedious to write and maintain, and you also loose the benefits of tools such as good editor support and unit testing. Not to speak of the verboseness of XML, and writing an application in an XML-based language.

Nested <cond> tags, complex <rule>s (which could take 10s of lines in XPress compared to a few in Java), and too much logic in your <form>s or <field>s soon turn out to be a real mess. It’s just plain horrible.

I’m sure XPress was, or at least ought to, never have been meant for implementation of complex business logic, and that it might be better suited for simple customizations made by non-programmers. Still, from what I see on the WWW, "complex" logic (at least beyond doing string replacement, simple conditionals, etc.) is often placed in XPress forms and rules.

Unfortunately, there is only little documentation on IdM’s Java API available, though, and the JavaDocs are terrible. Further, the documentation that do exist, is, as is the case with many commercial products, of poor quality. Therefore, you might soon find yourself in XPress hell.

This is why I want to share some of my experiences doing customization to IdM in the Java layer — such as creating custom views, and integrating your Java code with XPress.
Read the full post »

  • RSS @twitter

    • Could not connect to Twitter
  • Tags

  • Topics

  • Recent Comments

  • Topic Map Feeds