[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Putting it all together



<warning> This is only one or two notches above vapourware </warning>

It all started back in november (or october) 1998 (remember those days?)

Micah announced edulp which would take various programs and keep track of 
levels reached in order to produce rewards at certain levels of 
accomplishment.

I really liked the idea and I wanted to enlarge it by using XML to allow anyone 
to create various managers based on the same "various programs" and attributes 
such as levels or other things, in order to produce "rewards" or other things 
(like report cards)

Since then, I've been bogged down mainly by the fact that XML is an emerging 
technology for which documentation, tutorials and tools are not yet up to par 
with the hype. I now use the alpha Mozilla (XML viewer), expat and 
XML::Parser (perl module) for transformations, and php3 for server-side 
processing as my main tools.

With the help of several members of this list, we created EDUML which contains 
a proposed canonical set of elements to use with the various databases we 
might run into having to manage in a school/educational setting.

XML is just a tool, albeit a very useful one for the cause of universality. 
Another extremely important tool (or idea) is the set of principles behind the 
design of UNIX itself:  the unix philosophy:

- open source
- small programs do one things well (object oriented)
- programs can be piped into each other to build complex applications
- input and output is text (and now: as much as possible XML text)
- build prototypes ASAP and label current status as alpha/beta/stable
- choose portability over efficiency
- make use of other software (avoid re-inventing the wheel)
- avoid captive user interfaces
- allow user to tailer the environment
- look for the 80% solution (avoid wasting time on the last 20%)

So I am building a tool set called "VN" which currently stands for "very neat"
(as in "XML's transformational abilities are --- very neat ---")
because the entire "source" is in EDUML itself (vn.xml) and it can extract 
itself into various formats: shell script using "case" which produces unix 
style short programs which can be piped, a pdmenu script which produces a 
classic menu to choose from, and an interactive php3 webpage.  Let a thousand
conversion scripts be written: it will be easy with the upcoming XSL. I wrote
these without XSL (not yet available) and it was relatively easy with 
XML::Parser in perl.

I am currently importing the various code snippets in BASH and PERL and AWK 
that I have written over the years and putting them in vn.xml and will be 
posting to the usual place on cran.seul.org/~vernier . I continue to comb for 
any code snippets that are relevant to education or management of educational 
networks and will add them to the depository (vn.xml)

Even though EDUML is not in its final format (for lack of having been tested 
in real situations), XML and XSL in particular allow for very easy 
transformation ... so that we can confidently use EDUML in its current form 
and will later simply run a script (from vn.xml) to transform all our data 
into the latest version of EDUML as time goes.

School specific configuration is stored in /etc/vn/vn.conf
EDUML data (including vn.xml) is stored in /etc/vn and/or /var/vn
User specific preferences are stored in ~/.vnconf

I am almost ready to use a CVS on seul.org

here is a list of some of the more stable functions:

conf)                        VN: Edit VN Configuration
diff)                        VN: diff/email after edit
edit)                        VN: Edit a VN Function
first)                       VN: create vn file
usage)                       VN: usage
edu2html)                    EDUML: eduml to html
edu2perl)                    EDUML: eduml to perl
eduml2case)                  EDUML: eduml to bash case
eduml2pdmenu)                EDUML: eduml to pdmenu
eduml2php3)                  EDUML: eduml to php3
unix2xml)                    EDUML: nosql to eduml
LibrarySearch)               Library: Search Terminal


Conclusion: my work has essentially been to repackage existing ideas and 
functionality in an XML format so as to benefit from XML's "very neat" 
transformation abilities.  I have a very strong preferential option for 
anything that conforms to the unix philosophy as outlined above.

I hope many of you will participate by sending code snippets for conversions 
from your favorite formats into eduml and vice versa from eduml into your 
favorite formats.

I intend to finally write courseware using these tools.  I need to redo my 
info tech 11 and 12 courses as well as courseware on EDUML and VN itself.
I hope that one day there will be EDUML courseware available not just for 
K-12 courses but for every Linux package... because that would make the 
learning curve be a lot more efficient that the current method of guessing how 
things work from the very sparse and generally un-educationally oriented 
documentation.

Bruno

p.s. The big picture is this:  Each school or "educational setting" would need 
a linux distribution and the vn (or whatever its name will be) package and will
be fully functional.  The vn package will specify what other standard linux 
packages are needed for the functions to work.  Anyone can contribute 
courseware, functions, or converters to the vn package. It really should be 
able to do everything for everyone if someone writes the appropriate functions 
and if the co-requisite standard linux packages adhere to the unix/free source 
philosophy. Likewise, it can interface with legacy commercial systems given 
that someone sits down to write the conversion functions.

p.s.s. VN is essentially a collection of transformation functions like netpbm 
for graphic formats, but for educational management.  Other education projects 
like DrGeo are seen as standard Linux packages from VN's point of view. 
Insofar as DrGeo etc... produce statistics, levels, assessment results, these 
can be integrated into VN's EDUML databases.  Insofar as DrGeo etc... imports 
histories or questions sets, these can be piped in from VN's EDUML databases.