August 9, 2009, 5:53 am
We provide consulting and custom software development services, as well as licensing of the Webglimpse search engine. We also collaborate with partners on ad-supported citizen journalism sites. Please visit our Services page for more details.
July 15, 2010, 5:48 pm
Just fifteen years ago, few organizations had websites. Those that did, owed thanks to some nerdy staffers or volunteers who had heard about the web, learned HTML, and hacked something together. Fast forward to today: most organizations, millions of people as well as several dogs, cats and birds have their own websites. Such proliferation has been assisted by numerous standards and tools that have emerged to aid with creating, editing and maintaining said sites. For most organizations, the key tool is a Content Management System (CMS); others design and build their own web application using a coding framework. Drupal is a bit of both, CMS and application coding framework.
Note, Drupal is by no means the only or necessarily the best choice for site building. Choices abound: Wordpress for simplicity and elegance, CodeIgniter or Symphony for efficient PHP application coding, newcomers such as CubicWeb built on emerging semantic standards – google ‘choosing a CMS’ if looking for advice on selecting a system for a new site.
Suppose, however, that you have inherited a Drupal site or have chosen Drupal on its merits as a mature, open source platform with a thriving community of users and developers and a plethora of modules to perform nearly every conceivable web task. Then it behooves you to understand the Drupal Way of avoiding pain and achieving maintainability.
Continue reading ‘The Drupal Way’ »
June 14, 2010, 5:49 pm
Drupal 6 generally is a solid version, notwithstanding the INSTALL.txt issue. It has good RDF support as well, including the ability to add and manipulate arbitrary triples using the RDF module. The Relations API module provides an easy user interface to add SeeAlso relations to nodes, but not to include nodes in arbitrary triples.
From the README.txt that comes with the Relations API: ” Currently supports bidirectional node relationships based on the rdfs:seeAlso predicate. This could in the future fairly easily be extended to include support for user-defined predicates and for unidirectional relationships.” – so this was part of the possible future plans, at least.
Since most of the RDF work appears now to be focusing on Drupal 7, I’m hoping that arbitrary relations make it in there. What I would really like to see is the use of the taxonomy terms vocabulary that the RDF module auto-generates used as the predicate set – that would essentially reach the “en:anyword” goal mentioned below, and in a widely used CMS! Perhaps this will be possible by extending the Relations API. For now, using it in standard form at a teaching tips site, http://bteaching.com
June 6, 2010, 5:09 pm
So, I am ping-ponging around in my spare-time quest for the best way to quickly add triples to the web on a nice user-friendly content-rich website.
Latest attempt involves Drupal 6 and the Relations API module, as it seems to me that Drupal 7 doesn’t yet have this particular functionality (though I am hoping it will by code freeze!)
Anyway, thus my latest discovery: the installation instructions in the INSTALL.txt packaged with Drupal 6.17 are WRONG. They tell you to make a copy of default.settings.php to settings.php before you visit the new site the first time and choose your language. This will result in annoying error messages like so: “Warning: Table ‘mydb.access’ doesn’t exist query: SELECT 1 FROM access WHERE type = ‘host’ AND …”.
Luckily the solution is documented here:
http://drupal.org/node/464982
but would it be too much to ask to correct the INSTALL.txt file for us old-fashioned text-doc-reading types?
May 30, 2010, 4:31 pm
It seems sort of amazing, that with all the man-hours of development of the semantic web, that I’m still not aware of a widely-used standard for tagging a link with a meaning. Page tagging has gotten us pretty far, but as I understand it what Tim BL’s original app did, was to assign a meaning to each link.
We do have the rel= attribute, which we’re allowed to expand upon according to the spec:
http://www.w3.org/TR/html401/types.html#type-links
Since a source doc, target doc, and link tag comprise a triple, why not leverage this more by encouraging the use of vocabularies in the rel= attribute? It would seem to me to be the simplest possible solution and could be supported by many different tools.
rel= is indeed used within the RDFa spec, but I’d argue that by itself a link containing a rel= tag is sufficient to define a triple. I’d also like to see a commonly used curie of
en:anyword
to mean ‘anyword’ in the english language. Lets also leverage the existing structure of language – Google does!
May 30, 2010, 3:43 pm
So, although the RDF support in Drupal7 is really encouraging, I wanted to experiment with a pure semweb app that might make it cleaner and quicker to add relations between things. Trying out Cubicweb, here are some notes:
My main server runs Fedora, which is supported but doesn’t have a packaged install. Going down the path of least resistance, I spun up a cheap Debian Lenny server at Rackspace.com and installed the nice debian packages following the instructions at http://www.cubicweb.org/doc/en/admin/setup.html. All went well until I hit the ‘Next’ link and got to the page Creation of your first instance. Oops! I haven’t installed a cube yet, and here it says “Now that we created a cube…”. Back, forth, nope – didn’t miss a step, must be a wrong link in the docs.
Backed up and found the tutorial with Steps for creating your cube. Continuing…
learning python-isms, such as the fact that classes must start with capital letters…
and YES! It works. http://173.203.29.23:8080/ Its password protected so you can’t see anything public yet, but I love the interface that encourages you to add relations to everything.
April 2, 2010, 3:03 pm
There seems to be a lot of excitement in the Drupal 7 dev groups about support for SQLite. Well and good, but when I try to install Drupal 7 on my Mysql/Apache/PHP5 server, I get “Your PHP configuration only supports the SQLite database type so it has been automatically selected.”. And unfortunately the section search capabilities on drupal.org are not good enough to make a quick existing bug search efficient.
Drupal 6 detects my Mysql server without any problem…
(I was trying to install Drupal 7 for the RDF capabilities, it seems RDFCCK will be part of core in 7. But looks like may have to wait a few months.)
A bit of research determined that Drupal 7 requires the PDO extension to PHP. However, something funky in my Fedora OS setup didn’t let me recompile PHP from scratch, and yum update php wasn’t doing the trick. Finally, after looking at this page
http://www.electrictoolbox.com/update-php-command-line-yum/
I tried just yum installing the extensions, like so:
1010 yum install php-pdo
1011 yum install php-mysql
1012 yum update php
1013 yum install php-gd
1014 yum install php-xml
1015 yum install php-soap
and that worked. Your mileage may vary…
March 23, 2010, 12:56 pm
Some links relevent to vocab reuse/microformats. In particular RDF vocabs should be simple to import into all the modern CMS’s, but we’re not there yet.
esw.w3.org/VocabularyMarket
esw.w3.org/SeedApplications
Evoc drupal module for importing RDF vocabs and exposing properties in Drupal
RDFCCK drupal module by the same author, Stephane “scor” Corlosquet
article by Marco Neumann on importing semantics into Drupal
Import SKOS into Drupal taxonomy but then do you need to use the RDFa module to have your Drupal content part of the linked data initiative?
————-
Follow-up (If I post as a comment, not visible from front page – need to configure WP to do follow-up threads better):
Reading Scor’s paper, sounds like work is heading in the right direction. The autocompletion sounds promising
“To this end, our module adds a new tab “Manage RDF mappings” to the content
type administration panel of CCK for managing such mappings cf. Fig. 2. An autocomplete list of suggested terms is shown, based on the keyword entered by the user.
The terms are coming from two different sources, which are detailed below.
External vocabulary importer service
The module RDF external vocabulary importer…”
March 15, 2010, 9:22 am
I like the looks of this – need to see if we can also have cubes that interface with mysql, make fuzzy-rule-based decisions as well as clear inferences. If so, this looks like a fun way to code…
March 12, 2010, 10:18 am
Just ran into an error, using mysqlimport to pull in a tab-delimited file with long float values in BIGINT columns. When trying to import the value
866.897575000000057458
as an int, mysqlimport turned it into 866897575000000057458 – a bit off!
mysqlimport Ver 3.5 Distrib 5.0.45, for redhat-linux-gnu (x86_64)
(maybe this is fixed in 5.1, don’t know)
November 10, 2009, 8:50 pm
…us actually talk to that omnipresent ‘they’ in our daily conversations? ‘They’ as in, ‘they ought to do something about that building before the roof falls in’; or ‘they really should make it easier to see where our tax money is going’; or even ‘they are driving me crazy with this phone system!’.
Sometimes it can: find a commentable online profile of a company and post a complaint or suggestion, and odds are that sooner or later someone high up at that company is going to read it.
What if, though, you don’t know yet who the ‘they’ are? What if you know something about a specialized subject area and can see clear needs that not everyone knows about, but its not clear who or how those needs will be met?
Needs are also opportunities.
A need for a nurse at a hospital for a better way to manage patient information, is an opportunity for an IT firm somewhere. That nurse has no resources to pay the IT firm, and even the hospital may not have the resources to sponsor custom software development for the exact needs they have. However: if some long-term thinking VC’s (Venture Capitalists) and eager young programmers understood the need clearly and precisely, maybe they would create out of the box software that would solve the problem nicely and cost effectively.
Even if the need doesn’t have a clear cash flow opportunity – say the need to deliver more books to developing countries – sometimes there may be a nonprofit with a mission that could align itself with that need, or a philanthropist looking for a genuine cause to donate some dollars to.
The purpose of this section is to document concrete needs identified by people in different fields. Speculative ideas are ok too. Its a little like http://shouldexist.org, in which people submit ideas of things that ’should exist’ in the world. Maybe a lot the same. But one difference is, that some postings here may be produced by interviews with people who might not otherwise post to a blog like this.
In the spirit of the blogosphere, not all posts will be made directly to this blog. Some will be made to more subject specific sites and just linked to from here. If you write something along these lines for another site, feel free to post a link here.
Coming soon: Clearinghouse for recycled building materials aimed at contractors and architects ; ‘Books Please!’ on the need for more books, regular physical books, into the hands of more people in more languages ; A Micropayment Implementation ; IT and Recycling ; IT and the Grid ; Credit Ratings for Contractors ; and lessons learned from ShouldExist.org