Due to some unfortunate events I have had to cover some less than exciting tasks at work in recent times. I am by no means complaining as these things happen and I am more than happy to lend a hand and apply my knowledge where required. However, this type of work may float some peoples boat – but not mine… So I decided that I needed to take on a project for myself that would reignite my excitement for this industry and at the same time benefit the school once complete. We have been struggling as of late with our well and truly antiquated file management system. The current system in place is continually in the red meaning we are in a never-ending cycle of scrambling to free up space. This system also provides little option for remote access to files from outside the schools walls.

Enter Alfresco!

Alfresco is an Open Source Content Management System (CMS) incorporating key principles of document management, record management, web content management and enterprise collaboration. I have had Alfresco on my “to look into” list for some time now so I thought I would bite the bullet and see if it could conquer our current file management woes. What I would like to achieve from this project includes the following:

  • Collaborative content management of student and staff data
  • Anywhere access to collaborative and personal data from any web capable device
  • Document version control (revision history)
  • Single sign-on (SSO) authentication tied to our network directory (Active Directory)
  • Integration with other collaborative services such as Moodle and Google Apps
  • Centralised management for ICT staff
  • Multi platform support (Windows, OS X and various Linux distributions)

Building upon these fundamental points, I would like for staff and students to have a space where they can continue to collaborate together outside the schools walls. The system would allow us to provide their content to them via the local network (ie: mapped CIFS drive) internally or via various web protocols from outside the school on their chosen device – hence maintaing anywhere access. Throughout the schools ICT systems we implement a standard whereby if the system requires authentication the user is able to use their single network directory (active Directory) credentials thus upholding a Sigle sign-on (SSO) cluster of systems. This would need to continue throughout the various facilities within the Alfresco CMS.

The school has implemented Moodle as its Learning Management System (LMS) and has employed the services of a Google Apps Educational account to provide email and other collaborative services to every student and teacher. The Alfresco CMS would need to tie into these current systems and further them to the benefit of the students learning. Our Moodle LMS currently resides on a Linux server which would also need to be able to call upon content stored within Alfresco’s filesystem hierarchy. In tern, Alfresco would be required to be accessible by the multiplatform structure that we have in place throughout the school.

From my reading, which has merely scratched the surface of what Alfresco can provide, I am confident that this CMS will be able to fulfill the school’s requirements and continue to exceed them as we explore its facilities. In the near future I hope to build a test server using Alfresco’s freely available Community Edition to put the system through its paces and confirm that it will be able to fulfill our needs before proceeding down the path of a production server and storage solution. My aim is to document my  way through this project via this blog. This process may be slow whilst I find some free time if that does indeed still exist in this world we live in…

I have been using Handbrake for quite sometime now but have recently increased my usage due to my acquisition of an Apple TV. The Apple TV is only capable of playing video files that are supported by iTunes. These supported video formats do not include AVI (well not without a Jailbreak and aTV Flash, but I will save that for another time) which is the current format of majority of my movies and TV shows. Due to this flaw in the Apple system I have been forced to convert all my unsupported videos to a format supported by iTunes. Enter Handbrake!

Handbrake is an open source video transcoder available for Windows, Mac and Linux and comes equipped with various conversion setting presets. Handbrake can convert a single video file, a queue of video files or a DVD video in a few simple steps:

  1. Select the source video file or DVD title/folder
  2. Select a destination for the converted file
  3. Select a conversion preset or configure the specific audio/video settings
  4. For a single file conversion click the Start button or click Add to Queue if you wish to convert multiple files. Click Start once you have added all videos to the queue
  5. The conversion process will start and notify you once all videos in the queue are complete

Note: For greater compatibility with iTunes, enable the ‘Use iPod/iTunes friendly (.m4v) file extension for MP4′ setting

Handbrake is by far the best free MP4 video transcoder that I have come across. Let me know your opinions or alternatives that you may use in the comments.

I was asked by our new Library Director to find an alternative to our now out-of-date and somewhat cumbersome room/resource booking software. The software would need to allow staff to book various rooms, ICT resources, labs and mobile notebook trolleys throughout the school. A quick search came up with a number of positive reviews for MRBS as a school resource booking solution so I decided to try it out.

The prerequisites for MRBS are as follows:

- PHP 4/5
- MySQL or PostgreSQL
- A web server (such as Apache) that supports PHP
- PHP-LDAP Modules (optional for LDAP authentication)

Luckily enough I already had an Ubuntu Linux production server in place with these prerequisites installed so I was ready to go. The install process is as follows:

  1. Extract the contents of the MRBS.tar.gz file to your web servers storage folder (ie: Apache – htdocs, IIS -inetpub)
  2. Create a mrbs database in MySQL
    CREATE DATABASE `mrbs` ;
  3. Create the database table structure using the supplied tables.my.sql script
    (Optional: Add sample data to the database using the supplied sample-data.sql script)
  4. You must enter a timezone into the config.inc.php file before the system will function (ie: $timezone = “Sydney/Australia;)

At this point the system is ready to use. However, I recommend a few extra steps for ease of use in a school environment:

Enable period view and define school periods:

The default view for MRBS is time slots. Generally schools work to periods not time slots so a period view has been included in MRBS.
To enable the period view:

  1. Include the following line of code in your config.inc.php file:
    $enable_periods = TRUE;
  2. Define the periods in the config.inc.php file. Example:
  3. $periods[] = “Before School”;
    $periods[] = “Mentor”;
    $periods[] = “Period 1″;
    $periods[] = “Period 2″;
    $periods[] = “Recess”;

    And so on…

Activate LDAP authentication:

We endeavor to provide a single-sign-on environment for our staff and students which means that LDAP authentication is a must have for any system that we implement into our network. This process was by far the hardest part of the MRBS install and took my colleague and I sometime to complete mainly due to the PHP-LDAP modules.
To enable LDAP authentication:

  1. Install PHP-LDAP modules
    I am not going to go into installing these modules in this post but am happy to lend a hand if you need help getting these working.
  2. Define LDAP authentication commands in the config.inc.php file. Example:
    $auth['only_admin_can_book_repeat'] = TRUE;$auth["type"] = “ldap”;

    $ldap_host = “yourdomain.com.au”;
    $ldap_port = 389;
    $ldap_v3 = true;
    $ldap_tls = false;
    $ldap_base_dn = “ou=Users,dc=yourdomain,dc=com,dc=au”;
    $ldap_user_attrib = “sAMAccountName”;
    $ldap_dn_search_dn = “cn=Admin,ou=Users,dc=yourdomain,dc=com,dc=au”;
    $ldap_dn_search_attrib = “sAMAccountName”;
    $ldap_dn_search_password = “Admin_Password”;

  3. Define admin users from LDAP in the config.inc.php file
    $auth["admin"] = “Admin”;

Being open source the opportunities to endless for you to critique this system to your individual needs. We have edited various files within the system to do the following:

  • Only allow admins to create repeat bookings
  • Change field labels by editing the language file (lang.en)
  • Apply the users username to the end of the displayed booking so staff can easily see who has made the booking
  • Add an “Override Creator” field for admins only so that they can make a booking on a staff members behalf
  • Edit the Help page to be more school specific help

I have a Windows Server 2008 Virtual Machine setup on my VMware Server install for testing purposes. I had just about finished installing and configuring the OS when I attempted to install VMware Tools and receieved the follwing error:

VMware Tools is not supported on this guest OS.
Check the virtual machine’s configuration to make sure the settings match the installed operating system. Consult the documentation for more details about supported guest operating systems.
Unsupported OS

The Fix:

  1. Create a new VMware Datastore pointing to the VMware Server install directory %HOMEDRIVE%\Program Files\VMware\VMware Server
  2. Select the unsupported OS Virtual Machine and Edit the CD/DVD drive settings found under Hardware
  3. Select ISO Image and browse for the appropriate Operating Systems VMware Tools ISO file (in this case windows.iso)
  4. Click OK and restart the Virtual Machine
    The ISO will now be mounted as the CD/DVD drive for the Virtual Machine
  5. Browse the contents of the guest OS CD/DVD drive and run the VMware Tools setup (in this case setup.exe)

You will now have a fully functional install of VMware Tools on your unsupported OS.

I recently installed Windows 7 on my desktop PC at work. I use VMware server quite heavily to assist in testing various aspects of both client and server Operating Systems. So I downloaded and installed the latest version of VMware Server only to be confronted with the following error when attempting to access the VMware Servers web interface:

The VMware Infrastructure Web Service at “http://localhost:8222/sdk” is not responding (Connection Refused)
VMWare Error

So I head towards the first port of call and make sure the required services are all started. Sure enough, the VMware Host Agent service has not started and can also not be started manually.

The Fix:

  1. Make sure that you are logged onto the PC as an administrator
  2. Browse to %HOMEDRIVE%\ProgramData\VMware\VMware Server\hostd
  3. Delete the datastores.xml file from this directory
  4. Restart the VMware Host Agent service

The datastores.xml file will now be regenerated automatically and the VMware Host Agent service will start. You will now be able to log into the VMware Server web interface as normal.

As promised the configuration of the Moodle-Google Integration plugin:

  1. Download Google-Moodle Integration plugin
  2. Unzip the files and upload them to your Moodle installation
  3. Login to your Moodle site and click Notifications to update the newly installed blocks
  4. From the Users menu, select Authentication then Google Authentication
  5. Enter your Google domain name
  6. On your Moodle server create the private and public keys:

    Private Key (stored in Moodle only)
    Command: openssl genrsa -out rsaprivkey.pem 1024

    (Visit Google Documentation for Key Generation Help)

    Public Key (stored in Moodle and Google)
    Command: openssl req -new -x509 -key rsaprivkey.pem -out rsacert.pem

    (Visit Google Documentation for Key Generation Help)

  7. Upload the created RSA Key File (rsaprivkey.pem) to Moodle (Users -> Authentication -> Google Authentication)
    Upload the created SSL Signing Certificate (rsacert.pem) to Moodle (Users -> Authentication -> Google Authentication)
  8. Login to your Google Apps Admin Control Panel (http://google.com/a/yourdomain) in a new window
  9. Browse to Advanced Tools – > Authentication -> Setup Single Sign-on (SSO)
  10. Check the Enable Single Sign-on box
  11. Copy and paste the Sign-in, Sign-out and Change Password page URL’s from the Setup Instructions box located on the Google Authentication setup page in Moodle
  12. Upload the Verification Certificate (rsacert.pem created in step 6) and Save the changes in Google Apps
  13. In your Google Apps Control Panel, browse to Users and Groups -> Settings and check the Enable Provisioning API box
    Save the Changes
    (This allows users to be updated)
  14. Browse to Advanced Tools -> Manage OAuth Domain Key
  15. Upload the created certificate (rpacert.pem from step 6)
  16. Copy the OAuth Consumer Secret
  17. In Moodle, enable all Google Blocks and add them to the Front Page of your Moodle
    (I had issues with a couple of the blocks and therefore only enabled the GMail Block. See how you go but if you have issues disabling the other plugins would be the first port of call)
  18. Browse to Modules -> Blocks -> GMail Blocks and paste the Google OAuth Consumer Secret into the supplied field
    Save the Changes
  19. Select the Google User Sync block from Modules -> Blocks and fill in your Google Admin info.
    Save the Changes
  20. Test the config…

Our current configuration allows our staff and students to login to Moodle using their Active Directory credentials (via the Moodle LDAP authentication plugin) and link straight to their GMail account. This has allowed us to continue to provide a complete Single Sign-on (SSO) environment for our users.

The school I work at currently uses Moodle as our chosen LMS for students. Moodle is linked with our School Management system to sync courses, assignments and course enrollments among other things. This greatly assists in minimising administration work, but more on this at another time…

Our school also uses Google Apps Education Edition to provide our students with Email accounts and usage of the other Google Apps services. Google provides a great LDAP sync tool that can easily sync users and groups memberships but lacks a way to sync users passwords (not secure). For this to be possible a Single Sign On (SSO) system must come into the equation. These systems can cost thousands of dollars (depending on user numbers) from 3rd party developers or require a large amount of IT admin time and server resources to perfect a solid solution. I searched long and hard for a suitable tool for this job and tried a number of solutions but none worked well enough for my liking.

At the same time that I was searching for solutions for this issue I was also browsing around for some useful Moodle plugins. This is where I came across the Moodle-Google Intergration plugin that would solve all my issues. The plugin provides a SAML based authentication method to allow users to use their LDAP credentials (LDAP must be configured in Moodle) to log into their Google Apps account. This plugin talks with the SSO feature built into Google Apps via SAML 2.0 post and the use of the generated keys and certificates for security. Users then login to Moodle and from there can access their Google Apps account.

More to come on the configuration of this plugin. Stay tuned…

Narradan

I was asked by one of the staff members at the school I work out how to convert MP4 files to AVI. The staff member needed a quick, simple and free way of doing this so that the files could be imported into Windows Movie Maker. A quick Google search and I came across a nice little program called MP4Cam2AVI.

MP4Cam2AVI allows you to convert and/or join MP4 or MOV files to AVI in four easy steps:

  1. Browse to the location of the video file/s you wish to convert.
  2. Select the video file/s from the listing.
  3. Select the appropriate action to perform on the video/s (Join or Batch Convert).
  4. Select the Output directory and start the conversion.

MP4Cam2AVI_Steps

The resulting video file/s can now be imported into Windows Movie Maker.

I was asked to explore the idea of setting up virtual PC’s for students use to allow them to “fiddle” with the software side of a computer without disrupting the school’s network. Strangely enough I was already somewhat exploring this issue. I decided to use VMware server as it allowed for greater control over the use and administration of the Virtual Machines compared to VMware player.

I setup an Active Directory group containing the students that would require the access to the Virtual Machines. I then assigned this group the following permissions on the Virtual Machines using the VMware Server console:

  • Virtual Machine ->
    • Interaction ->
      • Power On
      • Power Off
      • Reset
      • Answer Question
    • State ->
      • Revert To Snapshot

The Interaction permissions are fairly self explanetry and the Revert To Snapshot permission allows the student to revert to a clean/working OS using the snapshot I created after I completed building the Virtual Machine.

I then created another Active Directory group containing the teachers that would be teaching the classes and assigned the same roles. I decided that teachers would not require any higher level of permissions than students as I have done all the neccesary work creating the Virtual Machines.

More to come once I have fully implemeted the above…

RocketDock.com (Download)

I am not much of a Mac person although I can see Macs greater performance when it comes to image and video editing, but this is another story. What I do like about Macs is the OS X dock. For me docks are a simple and easy way to store shortcuts to my mostly used programs and folders. In my opinion the best Windows dock out there is RocketDock as it is easy to use, simple to setup and looks good too. Below is a screen capture of my current dock which is set to auto hide at the top of my screen.

My Dock

Here is a short video and feature list from RocketDock.com:

Download link

Features:

  • Minimize windows to the dock
  • Real-time window previews in Vista
  • Running application indicators
  • Simple drag-n-drop interface
  • Multi-monitor support
  • Supports alpha-blended PNG and ICO icons
  • Icons zoom and transition smoothly
  • Auto-hide and Popup on mouse over
  • Positioning and layering options
  • Fully customizable
  • Completely Portable
  • ObjectDock Docklet support
  • Compatible with MobyDock, ObjectDock, RK Launcher, and Y’z Dock skins
  • Runs great on slower computers
  • Unicode compliant
  • Supports many languages and can easily be translated
  • A friendly user base :)
  • And best of all… its FREE!!!

© 2012 AG's Latest! Suffusion WordPress theme by Sayontan Sinha