[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.