logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

RE: The simplest useful topicmap application: msg#00075

Subject: RE: The simplest useful topicmap application
Alex wrote:
>>  I just started initial programming and design of a mix of TM
>>  and Wiki, called Topiki (http://shelter.nu/blog-070.html)
>>  that is just this. Maybe an easy prototype of this would do
>>  the trick.

Peter asked:
> Could you lay out the functionality (roughly)? What would be the minimum
> that would do something useful? What libraries/stuff would these
> programmers need to use?

The main idea of doing this project was to "plonk" two files in a
file structure somewhere (with a property in it telling it what
Project Manager [the magical software called Topiki Mama] it was
attached to) using only the capabilities that comes with a PHP
default installation. This basically means "install PHP if you
haven't got it, download and extract Topiki somewhere, and plonk
your two files (index.php and config.xml, or edit existing ones).
That's it; run and use."

All links in the Topiki network will be binary when they are
created, but all links (associations) can be edited to be of
any association type. Same with links to resources (documents,
images, etc).

At the moment I have a few classes that do all the magic stuff, so
after installing Topiki to get a page to have Topiki capabilities
it is as easy as ;

<?php
   // Where is Mama?
   define  ( "TOPIKI", "/some/path/here/to/topiki/install/" ) ;

   // Configure, and let Mama know where we are
   require ( TOPIKI."topiki.php" ) ;

   // Show thyself!
   $project->display() ;
?>

There is a template engine in there as well, so you can have existing
code wrapped around this as well, and in your config.xml file you
flag templating on or off.

Anyways, there will be at all times an XTM file in the Topiki Mama
home directory that reflects the whole node-tree and its content. (Since
Topiki uses notation for content, this is easily handled in the XTM)
To extract information from your tree-nodes is a piece of simple XSLT
or whatever you'd like to use. (I havn't thought much about XTM import,
but I can rip out some stuff from xSiteable to do just that)

As for libraries and stuff, nothing but the default install (this is
so that it is easier than easy to dump this in a intranet to get Wiki
capabilities in there) I use flat files for storage and content (so no
heavy-duty traffic, but it will do for most intranets). (At the moment
I'm possibly, maybe, probably, definitly thinking of using PHP5, for
both better OO system and a few underlying XML/XSLT goodies that would
make a lot of code redundant and improve performance. Strong objections
will be considered. :)

I have tons of ideas popping up right, left and center, so I'm trying to
jot down a small spec, and somewhere in there lies a small PoC that can
be tested and commented upon before the juicier bits gets done, but all
in all I think it can prove itself interesting.

>>  I was also thinking of a simple GUI / specialised version of
>>  TM4Jscript, so that they download TM4Jscript (out of the
>>  box) and this specialised GUI on top.
>
> Could you explain a bit more? I would prefer PHP over Javascript though,
> but that's just me (I don't know much javascript). :)

Well, JavaScript is right there in almost any browser worth its weight
in silicon, so in addition to write a very simple GUI that can latch
onto a default install of TM4Jscript, you can have an on-the-fly
interpreter (hmm, Tom; maybe this is a good time to work on a query
thing for it, eh? :) to do interesting things. So, if you're writing an
article, tell the user to enter 'new array() ... and the document.write
it' to see the results on the fly. Or edit the HTML page. JavaScript is
under-evaluated as a language. it's got good OO, and often surprisingly
good performance. (Tom can give you the run-down on these things, but I
don't think Tom either has too much negative things to say about JS) And
what's more, it is perfect for learning about new stuff; no compiler, no
extra libraries to install, no development environment to worry about.

On the other hand, the problem very often is how to visualise a topic
map, and as much as xSiteable, Omnigator, that TM4J/Cocoon thing and
others (AsTMa?) have a rather similar way of presenting stuff, Ceryle,
K42 and other graphical ones are surely an impressive display of
relationships. And topic maps are all about relationships between
things.

Hmm, maybe some TinyTIM and thinkGraph merge would prove ideal for a
small and simple environment for people to install and play with? Anyone?
I'd personally spend some time on getting such a package up and running;
evangelising TM can be somewhat hard when all the good TM applications are
big and complex and not always free.


Alexander


<Prev in Thread] Current Thread [Next in Thread>