Archive
Learning materials management: Online_resources.xls I: Intranet (2003-2009)
Language labs tend to have many multimedia files (audio and video) on network shares – still more flexible than the web-based interfaces we are given (1 user operation does a batch on many files versus multiple clicks are needed for an operation on 1 file).
As a variation on the spreadsheet for multimedia file collections, I created a cataloging spreadsheet that imports lists of audio and video files, including metadata which gets preserved when windows media center records commercial digital TV, from a language center network share – you can find sample code on MS-Excel lists. You can see the import code in action in this screen cast.
Unfortunately, no recursion into subfolders and once more meant to move the files off the network and store on DVDs, for lack of space. Here at least the fields are less and the search relies more on regular expressions.
The current quick and dirty incarnation of self-made source material for interpreting exercises is here:
Learning materials management: Textbook exercises (2000-2008)
Textbook exercise management is a rapidly evolving field, with more textbook becoming digital and online resources and more metadata getting added and AI getting implemented to enable personalized (data-driven, feedback-based) learning paths.
German.xls was an attempt to be able to sort, search, filter the exercises of some bigger textbooks in the American college market, each containing thousands of exercises (how many? why does it take a sumif() to find out?):

Subtitles.xls converted text files with movie subtitles which can be extracted from DVDs or found into spreadsheet for post-processing (search, filter, sort – and assign different show times, for DVD editions differ).
online,
Auralog Tell me more 7 is a language program that allegedly comes with “more than five times the amount of content than other language programs” – but strangely not with a table of contents of its exercises. Automation extracted the exercises first into the file system for full text search with Windows Desktop Search, then converted the extracted files into links in the Auralog Content XLS.
Blackboard VLE Training Videos Overview
|
2006 |
Video |
|
|
2006 |
Video |
|
|
2007 |
Video |
|
|
2007 |
Video |
|
|
2007 |
Video |
|
|
How to do a language lab recording exercise as Blackboard assignment |
2007 |
Video |
| Blackboard controlpanel_export_import_course_or_parts.wmv | 2008 |
Video |
| Blackboard dropbox_sort_filter.wmv | 2008 |
Video |
|
Blackboard Content System: Add a content item instead of attaching a file |
2009 |
Video |
|
2010 |
Video |
|
|
2010 |
Video |
|
|
2010 |
Video |
|
|
2010 |
Video |
Cheap Microsoft Software: At work licensing
University staff can purchase the following Microsoft software for a nominal fee (<£20, including s&h) under the Microsoft at Work agreement:
-
Office Enterprise 2007 Work at Home Media
-
Office Mac 2008 Work at Home Media
-
Windows XP Professional w/SP3 Work at Home Student Media
-
Windows Vista Business w/SP1 Upgrade Work at Home Media
-
Project Pro 2007 Win32 English Disk Kit Student Media EMEA Only CD
-
Visual Studio Pro 2008 English Disk Kit Student Media EMEA Only DVD
-
Office SharePoint Designer 2007 Win32 English Disk Kit Student Media EMEA
I put the Order form for staff on: “J:\Humanities arts and languages (HAL)\Language_services\software\Microsoft\Work at Home order form from Civica – London Met U.pdf”.
Auralog Tell-me-more Demo Screencasts
An overview, mostly narrated:
How to force-stop Sanako Student using VbScript and WMI
We have been experiencing issues with the Sanako student becoming unresponsive in the Language Lab. This utility resets the student on the student computer:
'debug:
'on error resume next
Const HKEY_LOCAL_MACHINE = &H80000002
arrComputers = Array("LSS-NWX13PC06") 'update this thru scriptomatic.hta strComputer = "LSS-NWX13PC06" '01<-fails, 03<- works,
'Service Name
SrvName = "Sanako Helper" 'which format? example imapiservice is not in win xp services.msc
'Process Name
'ProcessName ="Student.exe" 'überflüssig
For Each strComputer In arrComputers
'restart helper.exe
For Each strService In GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer).InstancesOf ("win32_service")
' Set objWMIService = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & strComputer & "\root\CIMV2")
' Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Service", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)
If strService.Name = SrvName Then
If strService.State = "Running" Then
WScript.echo "Shutting down '" & strService.Name & "' Service"
strService.StopService
wscript.sleep 5000
strService.StartService
WScript.echo "ReStarting '" & strService.Name & "' Service"
Else
strService.StartService
wscript.echo "Starting '" & strService.Name & "' Service"
End If
End If
Next 'service
'restart student.exe
'find path for starting
Set objRegistry = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
'student.exe
'tutor [HKEY_LOCAL_MACHINE\SOFTWARE\Sanako\Setup] "RootDir" "C:\\Program Files\\Sanako"
'student: HKEY_LOCAL_MACHINE\SOFTWARE\Sanako\Shared Components\CMC ClientModuleLocation C:\Program Files\Sanako\Study\Student
'student: HKEY_LOCAL_MACHINE\SOFTWARE\Sanako\Study\Student\Settings InstallPath C:\Program Files\Sanako\Study\Student
strKeyPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Sanako\Study\Student\Settings"
strValueName = "InstallPath"
objRegistry.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue 'GetDWORDValue method is not needed
WScript.echo "Registry BaseDir is '" & strValue & "'"
If IsNull(strValue) Then 'Empty means that the registry value exists, but is blank; Null means that the registry value doesn’t exist.
strStudentCommandline = "C:\Program Files\Sanako\Study\Student\Student.exe" 'todo: notbehelf
Else
strStudentCommandline = strValue & "\Study\Student\Student.exe"
End If
WScript.echo "strStudentCommandline is '" & strStudentCommandline & "'"
'do you have to do the same for vieostreamer window?
For Each strProcess In GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer).InstancesOf ("win32_process")
' Set objWMIProcess = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & strComputer & "\root\CIMV2")
' Set colItems = objWMIProcess.ExecQuery("SELECT * FROM Win32_Process", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)
If strProcess.CommandLine = strStudentCommandline Then
strProcess.terminate
WScript.echo "Terminating '" & strProcess.CommandLine & "'"
wscript.sleep 5000
End If
'todo: remote
' you shoule be able to do this without a shell using .Create(CommandLine)
'todo: Processes launched by WMI can NEVER be visible. They run in their own windowstation, the same as window services.
'It make it visible you have to have a System Tray application or similar hidden application which is launched when each desktop starts. Then you have to setup some kind of IPC/RPC between the system tray app and your
'the problem is that i restart the student.exe under my credentials, but would have to do it under the logged in student credentials
set WshShell = WScript.CreateObject("WScript.Shell")
Ret = WshShell.Run(strStudentCommandline, 3, True) 'bWaitOnReturn Optional. Boolean value indicating whether the script should wait for the program to finish executing before continuing to the next statement in your script. If set to true, script execution halts until the program finishes, and Run returns any error code returned by the program. If set to false (the default), the Run method returns immediately after starting the program, automatically returning 0 (not to be interpreted as an error code
'error checking
If ret <> 0 then
wscript.echo "error starting "& strStudentCommandline
Else
WScript.echo "Starting '" & strStudentCommandline & "' Process"
End if
Next 'process running
Next 'strComputer
UPDATE: I haven now also coded a similar utility in AutoIt, hopefully easier to use.

