Tuesday, January 23, 2007

Monday, January 22, 2007

Draft Obama & Hillary Clinton using Drupal | Dries Buytaert: "Clinton site and Draftobama are making good use of CiviCRM to drive newsletters sign ups and collecting CRM data on registration."

Saturday, January 20, 2007

Aggregating from aggregators: Leech and URL Profile modules | Leech / URL profile demo: "The combination of the aggregator module Leech and the URL profile module allows you to mine the original sources from feeds that contain articles from various sources"
GeoDrupal install profile | geodaniel.org & GeoRSS GML & GeoRSS to KML through Drupal - Dan Karran's blog
InfoQ: Four Ways to Ajax Enable a Java EE Application: "Sun's Developer Network posted a series of four articles late last year on different ways to add Ajax to a Java EE application. Each article covers a different way of adding in Ajax, including do-it-yourself, using Dojo, JSF components, and JSF phase listeners."
Java Profiler - .NET Profiler - The profilers for Java and .NET professionals
OpenID Mashpit Vancouver Recap | Bryght: "OpenID is an emerging Identity 2.0 standard for exchanging identity data on the internet." & Ma.gnolia Blog: Sign In Your Way: "Recently Scott Kveton over at JanRain, Inc. (View Details) mentioned in his blog post about Converting your site to OpenID (View Details) that we were considering OpenID support for Ma.gnolia... What is OpenID? The quick explanation is that OpenID is an easy-as-pie, single sign-on system that keeps users in control of their online identity. For a better explanation, check out OpenID on Wikipedia (View Details)."
Drupal Dojo Lesson #4 | groups.drupal.org
Castor - Codehaus XFire - Confluence - Top-down Approach (starting with XML schema) & Bottom-up Approach (starting with Java classes)
Client and Server Stub Generation from WSDL - Codehaus XFire - Confluence: "Limitations: The generator Java 5.0 only at this point since it takes advantage of the JSR 181 annotations & RPC/Encoding is NOT supported... XMLBeans Client/Server Generation"
Mapping collections - Codehaus XFire - Confluence: "Java 1.4 & Collections"
XMLBeans Integration - Codehaus XFire - Confluence & XMLBeans Client Generation - Codehaus XFire - Confluence: "Generating XMLBeans just requires a few lines in your Ant build file or your Maven 'maven.xml'"
services.xml Reference - Codehaus XFire - Confluence
Aegis Binding - Codehaus XFire - Confluence
MTOM - Codehaus XFire - Confluence: "MTOM is a way to handle large amounts of binary data in your services. Unlike attachments, the XML infoset stays the same. MTOM just 'optimizes' any base64Binary data you have in your messages. When MTOM is turned on, this base64 data gets sent as a binary attachment saving time and space."
HTTP Transport - Codehaus XFire - Confluence: "The Apache Jakarta HttpClient is used under the covers to provide HTTP client support... Client connecting to SSL Server via HTTPS..."
JMS Transport - Codehaus XFire - Confluence: "This guide gives you a quick rundown of how to configure XFire to use JMS as a transport. JMS is one of the easiest means to create a reliable SOAP connection. Additionally it is much faster then things such as WS-Reliability."
Aegis Java 5 Annotations - Codehaus XFire - Confluence - COOL!
Fault and Exception Handling - Codehaus XFire - Confluence - Custom Exceptions to SOAP Faults
Spring Remoting - Codehaus XFire - Confluence: "With protocols like Hessian or RMI, you just need a service interface to configure a Spring remoting client. However, SOAP is a bit more complicated. XFire has the concept of a service model. It uses your service class and various extra information to build this service model. Any information you use to configure your client must be used to configure your client as well. For instance, say you specify a custom a custom namespace on your service, you must also specify that on your client... Check out the Client API page to learn more about options when creating clients using XFire. The full example is available in the ./examples/spring/ folder (within the XFire distribution)."
Writing PHP clients for XFire, Axis and .NET Web Services « The Arsenalist Muses
Implementing WS-Security with JSR181 Annotations using WSS4J in XFire « The Arsenalist Muses: "The example shown implements WS-Security as specified by OASIS Web Services Security and implemented by WSS4J in XFire."

Friday, January 19, 2007

Java Thoughts and Other Stuff: The Beauty Of Webwork & Spring - Reusing code in a non-web application
Spring's corner : Weblog - Book: JavaScript pour le Web 2.0: "It also covers in depth several JavaScript libraries like Prototype, Dojo, script.aculo.us, Rialto, Behaviour... A project has been created for this book and can be reached at the following url: http://jsweb2.sourceforge.net/."
InfoQ: Spring 2.0: What's New and Why it Matters
tech blog: HowTo - GCJ: A native Java Compiler

Wednesday, January 17, 2007

Updating drupal without file access | Riff Blog
Translation in progress: state of internationalization | Development Seed Blog
Sony Musicbox | ted serbinski: "The site was built using Drupal 4.7, along with a number of performance patches backported from Drupal 5.0. The majority of the site uses only CCK, imagecache & imagefield modules, and theming logic, and then some custom code to tie all of those together. It’s really bare bones in that sense :-) The rest of the site, which is basically just user profiles and community features, also makes use of the community tags module, buddylist module, privatemsg module, and tagadelic module. Add to that mixture a small dose of taxonomy to classify genres of content and some custom regions/blocks for ad management, and and voila, that is the site in a nutshell."

Tuesday, January 16, 2007

Video: New Features for Drupal 5 | Lullabot & Video: Upgrading from Drupal 4.7.x to Drupal 5.x | Lullabot
How To Setup FeedBurner StandardStats With Drupal | Ventanazul
How to make (Drupal) blogs more conversational | webschuur.com: "There should be a process to allow people to ‘subscribe’ to the comments to any blog post, and get notified of new comments posted. Subscribe, Organic Groups, Notify, Views and Comment RSS. Enough to choose from, I’d say, yet no ready-to-go-out-of-the-box solution..."
SEO Checklist | groups.drupal.org
Zend Studio 5.5 debugging on OS X via Ubuntu and Parallels | SysArchitects
Drupal Dojo Lesson #2 & Drupal Dojo | groups.drupal.org
Updated Drupal TextMate Bundle | Steven Wittens - Acko.net
Drupal Scheduler Module | Adding Understanding: "By enabling the module and then going to Administer >> Content Types you can choose which types of content can be scheduled."
CSS-Based Forms: Modern Solutions | Smashing Magazine
Great Fonts for Web 2.0
Drupal Styling and themes | CivicSpace
Styled Checkboxes and Styled Radio Buttons | formStyle
Top Ten Gift Processing Problems - Jacobson Consulting Applications: "Oftentimes fundraising departments struggle with the same problems every time they enter, acknowledge, and report gifts. Are you one of them?"
Industry Solutions | MasterCard & the Nonprofit Industry | MasterCard (via civicspacelabs.org: "There are some excellent tips on this topic on the Mastercard website. There was an article about it in the May/June 2006 edition of Advancing Philanthropy Mastercard conducted a usability review of more than 50 nonprofit websites to evaluate the usability of their online giving features.")
creativepro.com - Design HTML E-Mail Templates That Won't Fail: "I could go on and on, but for most details, I'd just be parroting the world's best Web page that details everything you've ever wanted to know about CSS support in e-mail programs: David Greiner's "A Guide to CSS Support in Email". For this guide, Greiner compiled clear and comprehensive charts outlining exactly which CSS features each program supports, divvied up into local and Web-based programs. His charts even include Thunderbird and Windows Live Mail, which I haven't mentioned."
Bryght Support: Bryght's Drupal 5 Hosting Early Access Frequently Asked Questions & Running Drupal 5 on Your VPS: "These instructions will get you started running Drupal 5 on your virtual private server. They assume knowledge of the command line, which you can access via SSH."

Monday, January 15, 2007

Crossing borders: Closures: "Closures 101 in Ruby"
XML Matters: Ajax tradeoffs: The many flavors of XML: "You make a lot of decisions when you build an Ajax-enabled Web site or Web application. What format your data takes is a decision that is too often made by default or without really thinking about all the issues. I have tried here to at least give some food for thought on these issues and to help frame the decision making process. To reiterate the rules of thumb given above:
  • JSON for data
  • XML for documents (favoring XHTML unless there is a reason not to)
  • Wrap it in Atom for syndication (and to support the Atom Publishing Protocol)"
AJAX Toolkit Lets Web Apps Work Offline: Dojo Offline Toolkit

Sunday, January 14, 2007

Marketing Forum Watch: "FREE, searchable, headlines from 31 of your favorite internet marketing and search engine discussion forums and message boards, updated every 5 minutes"

Friday, January 12, 2007

Axis2/Java - Axis2 Quick Start Guide: "Generating a Client using XMLBeans: %AXIS2_HOME%/bin/WSDL2Java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.service.xmlbeans -d xmlbeans -s -o build/client"
Axis2/Java - Axis2 integration with the Spring Framework
Using Oracle TopLink with the Spring Framework
Oracle Article Blitz: How-To : Using EJB 3.0 and Java Persistence API with Spring in OC4J | Springframework.org
Spring-Loaded: My contract-first wishlist: "In recent months, I've become quite a fanatic of contract-first web-services using the Spring-WS project. Arjen Poutsma has done some really good stuff in that space. I was a skeptic at first, but the more I think about it, I believe it's the right way to do web-services."
Euxx: "Implementing an efficient Id generator with Spring framework / Java"
JAX-WS Reference Implementation adds Spring configuration support - First step in value added Spring support in GlassFish | Springframework.org
Concurrent Programming with J2SE 5.0 & Concurrency Utilities Overview
Eugene Kuleshov's Blog: Executing tasks with java.util.concurrent API: "Version 0.2 of the xcommonj-work project include implementation of ExecutorService and allows to use java.util.concurrent API introduced in Java 5 for asynchronous and parallel task execution. For compatibility with JRE 1.4 (e.g. in order to run on Weblogic 8.1) you can use this implementation is using backport-util-concurrent package. "
argos: Argos: A Search Engine Interface: "Argos provides a facade to shield the user from the differences between each engine. This makes it simple to switch between engines thus making it easy to compare the quality of results from different engines."
Pipelines and priorities « Blog of Peter ‘Alarmnummer’ Veentjer: "The solution is quite simple: add priorities to the messages and make the queues aware of these priorities: higher priority messages should be passed to consumers before lower priority messages. As soon as a high priority message is placed on the queue, it will be processed before all lower priority messages in that queue. This means that the response time of higher priority messages decreases, and response time for lower priority messages increases (in our case this behaviour is acceptable). Luckily in Java there already is such a queue implementation: PriorityBlockingQueue."
Lightweight message solution [Archive] - Spring Framework Support Forums: "Asynchronous communication can be handy to decouple components, and JMS was made for this. Only I find JMS to heavy if I need channels/pipes-filters in my system and I don`t care about the remoting aspect. Therefore I have created a lightweight channel implemention that doesn`t rely on jms (or anything else)... this is a part of the configration in Spring... java.util.concurrent.LinkedBlockingQueue..." & [java] lightweight messagechannel oplossing. - Programming
InfoQ: Terracotta Releases Clustering for Spring
Jonas BonĂ©r » Blog Archive » WebEx: Cluster Your Spring Application in Less Than 30 Min
Enterprise Java Community: Distributed Computing Made Easy: "The ExecutorService interface in the java.util.concurrent package (since Java 5) provides direct support for the Master/Worker pattern, and this is something that we will take advantage of. We are also going to use the Spring Framework's dependency injection (DI) capabilities to wire up and configure the system."

Thursday, January 11, 2007

POJO Mojo: Fun with DSO and Cyclic Barrier: "DSO is the transparent “Distributed Shared Objects” component of the Terracotta Server. It is an API-free way to convert a multi-threaded application to a multi-VM application, as well as a drop in session clustering tool for WebLogic. If this is your first time working with the DSO product, I recommend downloading the product from http://www.terracottatech.com and working through the "Hello World Tutorial" and trying out the sample applications... When running in a single Java VM, I use the java.util.concurrent.CyclicBarrier. A CyclicBarrier takes a thread count N. Every thread that calls await() is blocked until await() has been called N times."
java.util.concurrent documrntation
java.util.concurrent : Java by API examples (example source code) Organized by topic - NICE!
Chapter 23. Scheduling and Thread Pooling: "The Spring TaskExecutor abstraction -- Spring 2.0 introduces a new abstraction for dealing with Executors. Executors are the Java 5 name for the concept of thread pools. The odd naming is due to the fact that there is no guarantee that the underlying implementation is actually a pool. In fact, in many cases, the executor is single-threaded. Spring's abstraction helps bring thread pooling to Java 1.3 and 1.4 environments as well as hide implementation details between 1.3, 1.4, 5, and Java EE environments."
Koders - SimultaneousSearcher.java - java.util.concurrent.ExecutorService example. In Java 2 Platform SE 5.0 Executor provides methods to manage termination and methods that can produce a Future for tracking progress of one or more asynchronous tasks.
Java Feature — Concurrent Queries @ JAVA DEVELOPER'S JOURNAL: "You have a domain object, perhaps for reporting purposes, that's built from a ton of JDBC queries and it takes too long to load. Nothing else happens until this object is built, so it's become a bottleneck. Even worse, each of the queries is actually well tuned, so there isn't much to gain from modifying the queries themselves - there are just too many of them. You don't want to change (or can't change) your data model, so what can be done to alleviate this problem short of a major redesign? There are several options like caching, lazy loading, resource pooling. Another worthy option would be to implement a variation of the concurrent query pattern... Sources are available for download from http://sourceforge.net/projects/concurrentquery."
Tom White's Blog: Are your beans thread-safe?
AMIS Technology blog » Blog Archive » Worst practices when using Oracle JDBC Drivers - great presentation by Douglas Surber
Karl Baum's Weblog: "Resolving Weblogic 8.1 and Spring JMX Classloader Issues Problem"
A Couple of Dutch Rants » Miscellaneous questions about Java / Spring & AspectJ: "In Spring 2.0, we’ve introduced a tighter integration between Spring AOP and AspectJ. One of the most visible enhancements that came out of this is the ability to use the AspectJ pointcut expression language inside Spring AOP"
A Couple of Dutch Rants » Using Spring 2.0 AOP to implement web-request interception
A Couple of Dutch Rants » On the ServiceLocatorFactoryBean, DLAs and the sustainability of code and design: "As you can see, there certainly is such a thing as design for maintenance. Using DLAs and a dedicated service locator, we were able to decouple our application from the Spring APIs completely and create a less fragile and more sustainable design. Next to spreading your code across packages, that often correspond to modules or layers in your system, other things like adding annotations to certain classes (or in environment in which you’re not able to use Java 1.5 yet, a marker interface) might also help to better embed the rules of the game in the codebase; especially if you’re using DLAs with AspectJ for example."

Thursday, January 04, 2007

Drupal Sign up Module Question | drupal.org: Q: "The sign up form only shows fields for name and phone. At minimum I was hoping for an email field as well." A: "Look at the big comment at the end of the signup.theme file in your signup directory." & Custom Fields in Drupal Event Signups | D'Arcy Norman dot net: "Then, I saw that the module developers had already done the work for me. They implemented the signup form's fields as a themable method, letting me override it on a per-theme basis. Without having to touch the code for the module itself. Brilliant. Absofrakking brilliant. So, I added this code to our theme's template.php file (the theme is called 'uofc_thisisnow'):..." & Signup: manage users event registration | drupal.org

Tuesday, January 02, 2007

Introduction to Apache Maven 2
A comparison of php json libraries: "The JSON homepage lists quite a few php libraries, but only 4 are in fact available for download and look stable and maintained:
Path aliases and web usability | drupal.org: "What you described is also one of the things that I consider essential for a good web site: clear and hierarchical URLs, with perfectly matching hierarchical breadcrumbs. Unfortunately, this is something that Drupal does not yet offer... not out of the box, anyway. In order to get the breadcrumb navigation and the index pages for taxonomy terms, you will need to install taxonomy_context.module. Most people use this module for its taxonomy-based menu block (personally, I try to keep blocks to an absolute minimum), but I use it because it generates breadcrumbs based on taxonomy terms; because it allows you to enter a 'description' for each term, which then becomes that term's 'index page'; and also because it can generate a list of subterms and append that list to the description. Sadly, neither taxonomy_context nor any other module will give you hierarchical URLs. However, I have developed a patch that will find the alias of a node or taxonomy term, find the alias(es) of its parent(s), and then join these together to form a truly hierarchical path. Please visit my site to see this patch in action...In the meantime, good luck with taxonomy_context - it's truly one of Drupal's most valuable modules."
Reproducing a large static web site hierarchy in Drupal | drupal.org & Creating a hierarchical website with taxonomy | drupal.org: "Note: site recipes are opinions of the original author. Book module is a way to create hierarchical content out of the box."
Creating a hierarchical website with taxonomy | drupal.org
Directory: A taxonomy-based site directory | drupal.org
Search Engine Optimization Using Drupal | DevBee
OpenLaszlo 4.0 Beta 1 With AJAX Support Released @ ENTERPRISE OPEN SOURCE MAGAZINE
Java – Achieve J2EE-PHP Interoperability
The ServerSide Interoperability Blog » Tango in Web services: Java and .NET 3.0 interoperability: "Here are is a collection of useful links:
First Dojo Lesson | groups.drupal.org
Script for running Cron on all sites in a shared Drupal instance | D'Arcy Norman dot net with Ruby
Drupal Predictions | Dries Buytaert
GreenAsh ground-up videocast: Part III: Custom theming with Drupal 4.7 | GreenAsh: "It shows you how to create a custom theme that gives your site a unique look-and-feel, using Drupal's built-in PHPTemplate theme engine. Tasks that are covered include theming blocks, theming CCK node types, and theming views."
Whats new in mapping? | groups.drupal.org
Sender Policy Framework Introduction & OpenSPF.org: Project Overview & Tutorial: Preventing SPAM: "Although SMTP provides a simple and fast method of mail delivery across networks and the Internet, spoofing who the mail is from is rather easy to do. This means that there is no guarantee that any mail you receive is actually from who it says it is from. This also makes it easier for SPAM mails and viruses to spread. Ability Mail Server helps combat this problem by supporting the new SPF system, which in simple terms means that domains can declare which SMTP servers are permitted for their outbound mail traffic. Should a domain publish SPF information, and a mail is received from that domain but from a non-permitted IP, the mail can be refused before it even enters Ability Mail Server." & Part 2: How to keep your Lotus Domino server off spam blacklists: "Sender Policy Framework is a relatively new technology that allows you to list the IP addresses of your mail servers in a special DNS record. When recipients receive a message that claims to be from you, their antispam software can compare the IP address the message originated from against your e-mail server's IP address. If the addresses don't match, the message can be assumed fraudulent, and the recipient doesn't think that your mail server is sending out spam. The Sender Policy Framework is still relatively new and a bit controversial because of some alleged weaknesses. However, it is a tool that could potentially help prevent you from being blacklisted."