| Home | Podcasts | 

Facebook, Chisimba, and the Personal Learning Environment
Mon, 05 May 2008 07:52:04 +0200

Today on the Chisimba developer mailing list, one of the developers in Kenya asked about creating a Facebook application. Another replied and suggested that the question was off the topic.

This got me thinking about Education 3.0, and the paper i gave in Tokyo last year, where I presented a mockup of a Facebook application as an example of how social networking technologies could be used to make personal learning environments. This presentation is shown below, and I think it is worth Chisimba developers having a look at it.

We already have Brent working on the Personal Learning Desktop in XUL for the IADP project, so the notion of Personal Learning Envirnoment is not outside the scope of our current activities. It is also an area that we are exploring with some of the Sakai people.



There is lots of Chisimba functionality that could become a Facebook application, not just for PLE but for any use to which Chsisimba is put. It would be good to have that capability in the framework, perhaps even a means to generate Facebook applications from an API. In particular, I think that while Facebook is widely used, it can be a connector of people and courses, or people and X where X is any aspect of Chisimba. The wonderful API created by Paul Scott makes this feasible and relatively easy.

So I would say if someone wants to work on Facebook and Chisimba integration, then it would be AWESOME! Step one would be figuring out how to get an application into facebook. Step two would be to make a really cool Facebook app from Chisimba that allows for interesting things to happen in the PLE space.  I have thrown this idea out to the Kenyan Facebook developer community, lets see if there are any takers.

But there is more to this idea than just Facebook. Widgets are all the rage nowadays. We could also look at how we can implement the W3C Widget specification, and allow Chisimba to both generate and consume W3C compliant widgets. Not that would be cool! But I will write about that another time.

Given the increasing prevalence of widgets, I have decided to devote a few blog posts to widgets and how they might be used in eLearning to achive some of the goals inherent in the idea of personal learning spaces.

Adapted from a post originally made on http://ics.uwc.ac.za on Fri, 02 May 2008 11:19:22



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Moodle plugin for Chisimba Webpresenter
Sun, 01 Jun 2008 20:29:45 +0200

Today I wrote a Moodle plugin for Chisimba webPresent. It was my first attempt to write a Moodle plugin since I have never used Moodle before.

Chisimba webPresent is a presentation conversion and sharing module, with an integrated set of realtime online presentation tools. You can upload a PowerPoint or Open Office presentation, and it gets converted to the other format, plus PDF, flash, and images. A transcript is extracted from it, and an autoplay slideshow is created from the images using Ajax.

It also provides a filter that can be cut and pasted into any of the Chisimba based content tools, but need not be limited to the same aplication, or even to PHP applicatoins, as long as the application can handle filters and someone writes one for it.

Webpresenter also includes social networking tools including tagging of presentations, blogging, etc. Indeed, being a Chisimba application, it can use any of the Chisimba modules. While it is designed to run as a stand alone site, providing functionality for other sites to use, you can also integrate it into KEWL3 (eLearning application) as well.

Moodle is one of the most popular eLearning applications. Creating a plugin for Moodle seemed like a good idea since Chisimba does some things very well that Moodle doesn't do at all, and vice versa. With this plugin, a Moodle site could set up a Webpresenter instance, or share one with another organization. Then presentations could be used, for example, to build tutorials in Moodle using Open Office or PowerPoint.

If you are a Moodler, you can download the plugin here. Unzip it into the Moodle filters directory, and enable it using the Moodle filter manager. You can test it by going to http://chameleon.uwc.ac.za and either uploading a presentation or using one of the presentations that you will find there.

Click on a presentation thumbnail in Chameleon, and in the right panel of the presentation you will see two filters. Paste one of those filters into a moodle page after you have enabled the wpresent filter, and you will see your presentation in Moodle. Pretty cool huh?

[ALERT: url=http://www.dkeats.com/usrfiles/users/1563080430/filters/moodle/moodle1.jpg]\"Webpresent[/ALERT]
webPresent with tags (red arrow) and presentations (blue arrows). Clicking
the presentation will open it for playing in a web browser.. Click the image for
larger view.

[ALERT: url=http://www.dkeats.com/usrfiles/users/1563080430/filters/moodle/moodle2_detail.jpg]\"Presentation[/ALERT]
Select the second filter and copy it to the clipboard. Then paste it into your Moodle page. Click image to zoom in
on the filter text.

Remote presentation playing in Moodle
Remote presentation playin in Moodle.

Check out chameleon at http://chameleon.uwc.ac.za



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Web 2.0 commenting with Disqus
Tue, 17 Jun 2008 21:11:39 +0200

Disqus is a Web 2.0 commenting system. I am just experimenting with it to see how it works. Disqus claims that it makes your comments more interactive for readers and easier to manage for you — all while connecting your community with other blogs. Well, lets see how it works.

If it works well, perhaps I will make a Chisimba filter for it so that it can replace the Chisimba commenting system if the user wishes to be more Web 2.0 in their approach to comments on Chisimba pages. From what I have seen so far, it works pretty well.

Update: Disqus needs a permalink to work. That makes it not too useful on a dynamic system such as this. I have lodged a support request with Disqus to see if we can have some kind of  alternative to using the permalink as an index. I think so, but I am too dumb to figuer it out. Awaiting reply...

Update 2: Thanks to the help from Daniel Ha and Jason Yan, I got it to work. Now to make it a filter in Chisimba.  I like this tool because it is elegantly simple. There are other things that do similar jobs, but are much more complicated to set up.
 

 

 

 

 

blog comments powered by Disqus

 

 



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Chismiba development with Eclipse Ganymede (3.4)
Sat, 16 Aug 2008 21:05:56 +0200

To do Chisimba development with Eclipse 3.4, you need to do some manual work to get it installed. The version in the Ubuntu repositories is the way outdated ersion 3.2. The current version is 3.4, called Ganymede. These instructions are for using Ganymede on Ubuntu Hardy Heronm which is available from  http://www.eclipse.org/ganymede/">http://www.eclipse.org/ganymede/ .

The version you need is Eclipse Classic 3.4 (151 MB), unless you intend doing Java EE development as well. 

1. Download Eclipse from the Eclipse website or mirror, and move it to a temporary directory.

You can use wget to download it from the Open Source Lab at Oregon State University if you want:


Move it to a temporary directory. For example,
cd ~
mkdir ganymede
cd ganymede

Then using the Nautilus file manager or the mv terminal command, move the eclipse download to that directory. I used the terminal because it is faster:
mv /home/dkeats/Desktop/eclipse-java-ganymede-linux-gtk.tar.gz  /home/dkeats/ganymede/

2. Unzip the file using Nautilus file manager or the tar command on a terminal.

To use Nautilus, right click the file, and select Extract here from the menu. Alternatively, in a terminal type:

tar -xzvf eclipse-java-ganymede-linux-gtk.tar.gz

Either way, you will end up with a directory called 'eclipse'. If you do not, then something went wrong.

3. Create a home for eclipse on your system.

I keep eclipse in /usr/local/opt/eclipse/ as this seems to be a fairly standard place for manual install of eclipse. On a fairly fresh install, the opt/ directory may not exist, so in a terminal type

cd /usr/local/
sudo mkdir opt
cd opt

4. Move eclipse to /usr/local/opt/

In a terminal, type

sudo mv /home/dkeats/ganymede/eclipse/ /usr/local/opt/

Yes, I know, you could just put it there in the first place, but I prefer to download and extract in my home directory.

5. Grant Eclipse execute permissions

Go into the eclipse directory

cd cd /usr/local/opt/eclipse/

and give execute permissions
chmod +x eclipse

6. You need a JDK to use eclipse

Get the Sun Open JDK either by installing from the Synaptic package manager or a terminal. In a terminal type:

sudo apt-get install openjdk-6-jdk

Make sure that this is the version used by configuring its settings:
sudo update-java-alternatives -s java-6-sun

Edit the JVM configuration file
gksu gedit /etc/jvm

and add the following line at the top of the file:
/usr/lib/jvm/java-6-sun

There is a bug that causes Eclipse to ignore the default java setings in Ubuntu, so it is necessary to ensure that Eclipse uses the JVM that you  installed.
gksu gedit /usr/local/opt/eclipse/java_home

and add the following to the top of the file:
/usr/lib/jvm/java-6-sun

7. Start Eclipse and configure workspace

You should now be able to start Eclipse using the command

/usr/local/opt/eclipse/eclipse

When Eclipse first starts, it will present a dialogue box for you to input your workspace. It defaults to /home/dkeats/workspace but I prefer to use /home/dkeats/eclipse-workspace just so I know what application owns the workspace. You may configure it to be whatever you want it to be, but eclipse-workspace is an unambiguous name.
\"Eclipse
You should also check 'Use this as the default and do not ask again'.

8. Create a menu entry

\"Menu
Right click on the Gnome Ubuntu icon on the top left of the Gnome toolbar, the icon to the left of 'Applications' and select 'Edit menus' from the menu that appears.

Click on Programming in the left pane of the resulting dialogue, and on the right pane click New Item (the one with the plus sign).
\"Menu
In the dialogue that appears, select or enter

Type: Application
Name: Eclipse IDE
Command: /usr/local/opt/eclipse/eclipse
Comment: The Eclipse integrated development engironment

and click OK. You now have Eclipse on the Pogramming menu.

You can also provide an icon for it if you want. To do so, if you have saved already, right click on Eclipse IDE in the menu editor, and click the Icon button (the one that is unlabelled, that looks like a platform atop a spring). And brows to the icon that you want to use. You can download an Eclipse icon from the web. Use a search engine to find one. I use the icon from:

\"Eclipsehttp://www.iconlet.com/download_32x32_/vistainspirate/32x32/apps/eclipse.png

I made a directory in my home directory, under Pictures, called icons and put it there.

 \"Eclipse

9. Install a subversion plugin for Eclipse

Previously, I used the Subclipse subversion plugin with Eclipse, but Subclipse 1.4.x requires Subversion 1.5.0 version but the Ubuntu repository contains Subversion 1.5.0.  Installing this version of Subversion might break your operating system, so it is better to work with the Subversive plugin rather than Subclipse when using Eclipse Ganymede.

Instead of using Subversion, Subversive uses a native Java implementation of the Subversion protocol. You need to install the Java HL API:

sudo apt-get install libsvn-javahl

Then you need to add this to the eclipse.ini file located in
/usr/local/opt/eclipse/eclipse.ini

In a terminal, type
gksu gedit /usr/local/opt/eclipse/eclipse.ini

and then add the line below to the end of the file and save
 
-Djava.library.path=/usr/lib/jni

Now you can install Subversive. The subversive installation includes Subversive team provider and Subversive Team Provider Sources. In order to start work with Subversive you should install both of them. This is now part of the Ganymede update site so you can access it from Eclipse using:
Help > Software Updates... > Available Software > Ganymede > Collaboration Tools

And install them in the normal Eclipse way.
\"SVN

You also need to add

and install the connectors. License incompatibility prevents them from being distributed together, so you have to live with this inconvenience.

10. Install a PHP plugin

I prefer PHPEclipse, rather that PDT, but either should work. The instructions below are for PHPEclipse.

From the Eclipse menu choose Help -> Software Updates and switch to the tab named 'Available Software'.

On the bottom of the dialog, make sure 'Show only the latest versions of available software' is checked, and 'Include items that have already been installed' is unchecked.

Click the 'Add site' button to open the 'Add site' dialog.

Enter the URL http://update.phpeclipse.net/update/nightly and click 'OK'.

Highlight the new entry 'Update site: http://update.phpeclipse.net/update/nightly' and drop it down using the little arrow handler left to the checkbox.

The sub-entry 'PHP Eclipse Nightly Builds' should appear. There may be others as well, but make sure you check the Nightley Builds one by selecting the appropriate checkbox.

Make sure that none of the other checkboxes are selected and click the 'Install' button.

After the despendencies have been successfully resolved, a confirmation screen is displayed. Click the 'Next' button.

On the license dialog, select 'I accept the terms of the license agreements' and click 'Finish'.

When prompted to do so, restart Eclipse.

After installation, the PHP perspective needs to be activated by going to Window -> Open Perspective -> Other -> Select PHP -> OK.

----

Thats it, you now have an Eclipse based development environment for Chisimba development.

Sources of information used in setting up my eclipse setup:


 



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

New version of Chisimba released
Fri, 05 Sep 2008 08:09:48 +0200

Chisimba logo
The next release of the Chisimba PHP5 framework is now available.

Major enhancements included in this release are:

 - PDO and MDB2 support
 - Improved database performance
 - Bug fixes
 - Better code documentation
 - API integration for many more modules
 - Remote downloads of modules (apt like module installations)

and, of course, new modules to add onto your installation!

Please take a look, download it and give it a test drive!
 
Chisimba, for those that don't know it already, is a PHP5 framework made in Africa, for Africa and the world. It is a collaboration between around 13 African Universities, as well as around 35 active developers from around the continent.
 
It can be downloaded from AVOIR at:
 
http://trac.uwc.ac.za/trac/chisimba/downloader/download/release/5

and the docs can be found at:
 
http://avoir.uwc.ac.za/

There are server setup instructions, as well as installation walkthroughs available linking from the main AVOIR site:
 
For those interested in developing a module, or just getting some additional info please join our mailing list and ask some questions:
 
http://mailman.uwc.ac.za/mailman/listinfo/nextgen-online
 



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Our chisimba twittering
Tue, 09 Sep 2008 13:19:00 +0200

This is a chisimba RSS feed of all mentions of Chisimba on Twitter. It was created using the RSS filter:
[RSS:limit=5]http://search.twitter.com/search.atom?q=chisimba[/RSS]
which demonstrates the power of Chisimba filters.

chisimba - Twitter Search


 chisimba_svn:   pwando: Added a blogs wide block http://trac.uwc.ac.za/trac/chisimba/changeset/16758
>27 minutes ago

 chisimba_svn:   pwando: Added a blogs wide block http://trac.uwc.ac.za/trac/chisimba/changeset/16757
>28 minutes ago

 chisimba_list:   Re: [Chisimba] #3791: Assignments upgrade fails http://bit.ly/aJBYrO
>6 hours, 42 minutes ago

 chisimba_list:   Re: [Chisimba] #3790: HTML Elements and Utilities upgrades are recursive http://bit.ly/b95zK9
>6 hours, 42 minutes ago

 chisimba_svn:   dkeats: Further improvements to styling http://trac.uwc.ac.za/trac/chisimba/changeset/16756
>11 hours, 53 minutes ago



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Testing the Flock Blog editor
Thu, 01 Jan 2009 16:08:05 +0200

Having just reinstalled Flock, I thought I should play around with some of its features. One of them is a blog editor, so I am trying it out here with the CHisimba implementation of the Metaweb API. This post started out being just the first two paragraphs, but 'stuff' intervened.

I like the editor because it is a tool icon in Flock, and it gives me a nice fat, full-screen, desktop-like editing experience, at lease when it does not crash. It also allows source inserts, which is vital for inserting widgets and snippets (like the Get Flock) button below.

Get Flock

One of the problems with using a browser based blog editor, however, is that it is dependent on the browser. And new browsers are nortorious for crashing. In my case, I typed all of this once, and was busy editing while uploading some pictures to Flickr. The Flickr uploader is about as stable as an insane person on a bad day, so it naturally crashed the browser, and brought down my editing session.

I was left with no option but to open a text editor and retype what I had already typed, by reading the greyed out text from the crashed screen. This is of course one of the annoying 'features' of browsers that Google is trying to fix with its Chrome browser, the tendency of one crashed site to bring down the entire browser and all other sites in other tabs. Hopefully, they will eventually succeed, and other browsers can do likewise.

When I restarted Flock, I was presented with a dialogue asking if I wanted to recover the post that I was typing when it crashed. I did this, but the resulting content was not editable, indeed, Flock appeared to have crashed despite the fact that I had chosen a new session. I closed Flock, and tried to reopen it, but it said it was already running.

Running ps -ax | grep flock showed a whole bunch of running processes, but no Flock on my desktop. I killed all four Flock processes, and this time Flock opened again.  It still gave me the option to recover the dead file. Should I or shouldn't I? I decided to let it recover, and this time it worked. So, here I am testing it at last!

Yes, it worked but I had to go to the site to edit it because:

  1. It does not have a Creative Commons chooser.
  2. It doesn't insert the tags into the tags field in the blog.

So, for me, it is not very useful. It also failed to find any categories, but I suspect that might be a bug on our side as none of the blog posters I have tried found categories either.

Blogged with the Flock Browser

Tags: , ,



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike PDF of this post email this post to a friend

New release of Chisimba out
Fri, 16 Jan 2009 13:28:05 +0200

The next release of the Chisimba PHP5 framework (Chisimba-2.1.0) is now available. Chisimba is the application that is used to power this site, and it is pretty awesome, being able to be almost any Web 2.0 enabled system you can imagine from eLearning (Learning Management System) platform, to blog, to content management system, to MXit interface, presentation sharing, to realtime presentation tools, to wiki, etc. With lots of filters for external content, and running in the Amazon Cloud it is infinitely scalable.

Major enhancements included in this release are:

 - Numerous enhancements to the database abstraction layer for increased
performance
 - Numerous core bugfixes and enhancements
 - Patch descriptions added in module catalogue
 - Layout and skin enhancements
 - Increased security and RC4 encryption of session data
 - Complete authentication system overhaul
 - "Remember me" functionality added
 - URL rewriting
 - Remote popularity contest module
 - Additional filters for rich content
 - Some installer fixes
 
and, of course, new modules to add onto your installation!

Please take a look, download it and give it a test drive!
 
Chisimba, for those that don't know it already, is a PHP5 framework made
in Africa, for Africa. It is a collaboration between around 16 African
Universities, as well as around 35 active developers from around the
continent.
 
It can be downloaded from AVOIR at:
 
http://avoir.uwc.ac.za/

and the documentation can be found at:
 
http://avoir.uwc.ac.za/index.php?module=news&action=viewcategory&id=gen14Srv6Nme27_7167_1219410313

There are server setup instructions, as well as installation
walkthroughs available linking from the main AVOIR site:
 
http://avoir.uwc.ac.za/index.php?module=news&action=viewcategory&id=gen14Srv6Nme27_2077_1219410069
 
For those interested in developing a module, or just getting some
additional info please take a look at:
 
http://avoir.uwc.ac.za/index.php?module=news&action=viewcategory&id=gen14Srv6Nme27_6705_1226737050



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Copyright

A #Chisimba developer and demonstration installation and a Bash script to automate it
Sat, 20 Jun 2009 18:11:19 +0200

When I set up the PHP5 development framework, Chisimba, on my laptop, I always follow a practice that I have used for development and demonstration purposes since we first created Chisimba. I have written about it before on the nextgen-online mailing list, and David Wafula published this on the AVOIR site. Hence, this has been published before, but what I am going to do here is to provide a bash script that automates most of this process.

The install takes advantage of the soft linking capabilities of GNU/Linux to allow multiple installations to run from the same code base. In that way, you can develop different functionality with different installs but you only need to maintain a single code base. In addition, you can run demonstration sites on your laptop without having to deal with the confusion of maintaining multiple checkouts or copies of the Chisimba code. This basic setup can also be used to create multiple live sites, and I use this on http://kim.wits.ac.za for my test and play sites.

I use Eclipse for development, so I check out the code using the Subversive plugin. However, here I will give the instructions for command line checkout. You can adapt them if you use a GUI for interacting with Subversion.

Firstly, I always do my Chisimba checkouts in my home directory. The reason for that is that I use RSYNC to back up my home directory quite often, so if I have done some editing and not committed the code to subversion yet, the chances are it will be in my backup. Of course, the only reason not to commit code to subversion is if it is a core module that will break everything. Since I work mainly on filters, this is the case, so I need them to be working properly before I commit. Normally, youwould just commit your code to subversion and not worry about backups.

I create a directory called chisimba in my home directory, so when I begin, I have

/home/dkeats/chisimba

I am using Ubuntu (Jaunty at the time of writing), so my webserver root is in

/var/www

So, with that bit of background, lets get on with it.

Step 1: Check out Chisimba from subversion

There are three separate sets of code to check out, the framework core, the modules and the skins (if you need them).

svn co https://cvs2.uwc.ac.za/chisimba/framework/trunk/ framework
svn co https://cvs2.uwc.ac.za/chisimba/modules/trunk/ modules
svn co https://cvs2.uwc.ac.za/chisimba/skins/trunk/ skins

This will leave you with three directories

/home/dkeats/chisimba/framework
/home/dkeats/chisimba/modules
/home/dkeats/chisimba/skins

The next step is to create the web directory, and build the symbolic links.

Step 2: Create web location and make symbolic links

First we are going to enter the webroot directory, and make a directory for our instance of Chisimba. It might be chisimba, or you might name it for the type of instance you are going to install. In this case, I am going to install a content management system (CMS) demonstration, so I call the directory cms.  I chmod the directory to 777 so I can write to it, and so can the webserver. You should not do that on a real web server that is accessible on the Internet, rather use the production settings.

cd /var/www
sudo mkdir cms
chmod 777 cms -R

Now we can change to the cms directory, and create symlinks to the appropriate parts of the framework. We do the files and directories individually this way so that we do not create links that will mess up the subversion repository. This keeps the repository clean and means we can commit back code from our code base without worrying about the repository structure.

cd cms
ln -s /home/dkeats/chisimba/framework/app/*.php .
ln -s /home/dkeats/chisimba/framework/app/*.php .
ln -s /home/dkeats/chisimba/framework/app/classes/ .
ln -s /home/dkeats/chisimba/framework/app/core_modules/ .
ln -s /home/dkeats/chisimba/framework/app/cron/ .
ln -s /home/dkeats/chisimba/framework/app/installer/ .
ln -s /home/dkeats/chisimba/framework/app/lib/ .

Now we need to make a directory for the skins. While we could symlink the skins directory as above, it would create problems if we wanted to add skins from the skins repository later. Therefore, each instance of Chisimba should have its own skins directory that links to the root skins and any skins from the skins repository that you want to use. Here we only link back to the core skins, but adding other skins from the skins repository could be done the same way.

mkdir skins
cd skins
ln -s /home/dkeats/chisimba/framework/app/skins/* .
cd ..

We need to create a separate user_images directory for each instance for the same reasons. Each instance will have different user images, and also, we do not want user_images getting back into subversion. This keeps our subversion checkout clean. Therefore, we create a directory, and link in the default images from the framework core.

mkdir user_images
cd user_images/
ln -s /home/dkeats/chisimba/framework/app/user_images/* .
cd ..

Chisimba expects to find the modules that are outside of the core in the directory packages. Therefore, we create this directory, and symlink all the modules into it. Once again, we do it this way to keep the subversion repository clean, and avoid accidental contamination.

mkdir packages
cd packages
ln -s /home/dkeats/chisimba/modules/* .
cd ..

Lastly, we chmod the installation directory to 777 so that you and the webserver have write access to it, keeping in mind that using 777 on any machine on the Internet as a webserver is a recipe for getting hacked. Rather use the production settings as recommended in the Chisimba installation guide for production servers.

sudo chmod 777 cms -R

Thats it, you now have a fully operational Chisimba instance, and you can repeat this procedure for as many Chisimba instances as you would like to have on your developer machine. Now you can proceed with the install.

Step 3: Install your instance

You can now install your instance of Chisimba by opening http://yourserver.yourdomain/yourinstancename/ in the usual way. For example, in my case, I would open http://localhost/cms/ and run the installer. Before you use my automated script, you should do this manually at least once, so you have an understanding of how it works.

Automating the process

Having just done this process for the umteenth time, I decided to make  very simple bash script to automate it. To make it work, you first need to edit the script and change some settings as indicated in the script itself. The lines that you need to edit are:

CHISIMBA_SVN="/home/dkeats/chisimba/framework"
MODULES_SVN="/home/dkeats/chisimba/modules"
SKINS_SVN=="/home/dkeats/chisimba/skins"
SERVER_ROOT="/var/www"

Change the above lines to correspond to your setup. If you have followed the checkout instructions, and you are running Ubuntu, you should not need to change anything.

The script is as follows:

#!/bin/bash
#  This script creates a developer clone of a chisimba
#  subversion checkout. Do not use this on a production
#  server. It is for setting up a developer machine only.
#  Author: Derek Keats
#  License: GPL 2

#  Set the chisimba base directories for core, modules
#   and skins (this assumes that all Chisimba
#   files follow standard naming protocol in that directory)
#   IMPORTANT: Note that there is no trailing /
CHISIMBA_SVN="/home/dkeats/chisimba/framework"
MODULES_SVN="/home/dkeats/chisimba/modules"
SKINS_SVN=="/home/dkeats/chisimba/skins"

#  Set the webserver root location. This is usually /var/www
SERVER_ROOT="/var/www"

#Check if there is a supplied $1 input
if [$1 = ]; then
   echo "You did not supply a directory name to create."
   exit 0
fi


#Change to the server root directory
cd $SERVER_ROOT
echo "In $SERVER_ROOT, which contains"
ls -l
echo
echo

#Create the Chisimba instance directory
sudo mkdir $1
chmod 777 $1 -R
cd $1
echo "Created $1 directory"

# Create the symlinks to things that can be safely linked
ln -s $CHISIMBA_SVN/app/index.php .
ln -s $CHISIMBA_SVN/app/gateway.php .
ln -s $CHISIMBA_SVN/app/classes/ .
ln -s $CHISIMBA_SVN/app/core_modules/ .
ln -s $CHISIMBA_SVN/app/cron/ .
ln -s $CHISIMBA_SVN/app/installer/ .
ln -s $CHISIMBA_SVN/app/lib/ .
echo "Linked the core into $1, which now contains"
ls -l
echo

#Create a directory for skins and link it in
mkdir skins
cd skins
ln -s $CHISIMBA_SVN/app/skins/* .
echo "Created skins directory and linked core skins"
ls -l
cd ..

#Create a directory for user_images and link it in
mkdir user_images
cd user_images/
ln -s $CHISIMBA_SVN/app/user_images/* .
echo "Created user images directory and linked default images"
ls -l
cd ..

#Create a directory for modules and link it in
mkdir packages
cd packages
ln -s $MODULES_SVN/* .
echo "Created packages directory and linked to modules"
ls
cd ../..

#Make it all writeable and horribly insecure
sudo chmod 777 $1 -R
echo "Chmodded it all to VERY INSECURE."
echo "All done. Bye....."

You can download the script from here.

You need to run it as root, so put it somewhere, change to that directory, and run it as:

sudo sh clone-chisimba.sh DIRECTORY

where DIRECTORY is the name of the directory you want to create. For example

sudo sh clone-chisimba.sh cms

Using this script, you can have a new Chisimba demo installed and up and running in less than 3 minutes. As I have been writing this, it has just occurred to me that I could actually turn it into a full install by adding the SVN checkout to it. I will do that another time, test it and make another blog post about it.

 



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 2 Attribution Share Alike

Google SMS services: a good thing for 'Africa'?
Tue, 30 Jun 2009 18:37:58 +0200

A blog post appeared yesterday on the official Google Blog entitled Extending Google services in Africa ( http://googleblog.blogspot.com/2009/06/extending-google-services-in-africa.html). The post talks about one-third of the population owning a mobile phone and many more having access to one, but that most only have voice and SMS capabilities. Google has therefore focused on SMS, and has a number of SMS based applications, including Google Trader and Google SMS Tips. The blog post talks about information poverty.

The story is reiterated on the official Google Afirca Blog under the title Google SMS to serve needs of poor in Uganda. The focus of that article is on the SMS marketplace application, which is probably one area where SMS can be useful, in that there is a business need,  and the cost can be passed on to the customer through normal business practices. However, I am worried that Google seems to be suggesting that 'the poor' can be made information rich by buying prepaid SMS bundles from MTN (MTN in Uganda is currently the only service provider supporting the service).

Interstingly, while it is true that a lot of current phones only support voice and SMS, what the Google blog post fails to point out, SMS is still very expensive in most African countries. Indeed, extensive use of any of these SMS services, apparently available only in Uganda right now, is likely to cost quite a lot of money. With many African countries dealing in prepaid services at higher rates, the people who are information poor will pay significantly to alleviate their information poverty using SMS.

Indeed, I can easily imagine running up an SMS bill that would exceed the cost of a low-end phone that can do basic web browsing and run XMPP based services. This is a bit of a Catch-22 type of situation in that spending money on SMS might prevent people from accessing cheaper sources of information by keeping them from getting a better phone. For example, a phone that can support XMPP messages (most modern phones) can retrieve text based information for about 1/2000th the cost of sending an SMS. That means you can do around 2000 searches for the price of a single SMS search.

XMPP based communication is widespread in Africa, particularly in South Africa where the MXiT application is extremely popular among young people, with about 11 million subscribers. Other XMPP applications that can run on phones work just as well, you do not need to subscribe to the MXiT service.

Paul Scott of the University of the Western Cape's (UWC) Free Software Innovation Unit (FSIU) has developed some innovative services based on XMPP messages, and thanks to his work and that of Wesley Nitsckie, adding new ones within the Chisimba framework is very simple to do. The framework was developed in the African Virtual Open Initiatives and Resources (AVOIR) project to foster collaboration in Software Engineering in African institutions using Free Software (Open Source) as the vehicle. The UWC XMPP based tools in Chisimba have already been used extensively in drug counselling. Paul has built some of this into a XMPP based social networking service at http://www.peeps.co.za. For example, you can send a dictionary lookup or a Wikipedia request to Paul's service and get the results back on your phone for a tiny fraction of the cost of sending an SMS.

So the question is, are SMS-based services going to contribute to information wealth, or further entrench information poverty. The answer is probably somewhere in between, but certainly not in the space the Google marketing hype would have us believe. And I am a big fan of Google!

[COLORBOX:boxtype=bluebox] Links

More on Google SMS services http://www.google.co.ug/mobile/sms/
Paul Scott's XMPP based social network http://wwww.peeps.co.za
African Virtual Open Initiatives and Resources http://avoir.uwc.ac.za
Business Times article on drug advice services http://www.thetimes.co.za/Business/BusinessTimes/Article1.aspx?id=1017017
[/COLORBOX]



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

New module for #Chisimba: Apture integration
Thu, 09 Jul 2009 22:29:56 +0200

In my minute little bit of spare time, I created a module for Apture use in Chisimba. Apture is a Web 2.0 site that allows you to build multimedia content into your content by providing drag and drop for video, audio, media from hundreds of sites. Its pretty cool stuff. You don't use it in edit  mode, you edit it after saving in the live page! Check out some of the links in this page that have little icons next to them to see Apture in action.

The module is still pretty alpha, but it is stable enough for me to risk installing it on the KIM site, as well as to use it here on dkeats.com. To use it, you need to add some code to the page template of the skin you are using. The code goes into your page template before the </body> tag, and if you have any scripts at the end of your page, you need to put this code BEFORE those scripts. The code you add is:

    // Insert the apture module code for see www.apture.com
    $objModule = $this->getObject('modules','modulecatalogue');
    // See if the apture module is registered and set a param
    $isRegistered = $objModule->checkIfRegistered('apture');
    if ($isRegistered){
        if (!isset($suppressApture)) {
            $objApture = $this->getObject('apturecode','apture');
            echo $objApture->getAptureScript();
        }
    }

You can see this functionality in the kim_wits skin, which is in the skins repository. The module will be added to the User menu, so on a live site, you should use Configure module links to remove it. I will fix this in the next version in a day or so.

To use it you need to go to [LINK] http://www.apture.com[/LINK] and click the button "Download Apture Plugin". choose "Other Platform" and then "Get started now". Go through the registration and add your site to the list of sites you are installing apture on. You can use http://localhost on a test site - it seems to work OK.

When you have saved your site, you will get a code snippet of the type

<script id="aptureScript" type="text/javascript"
src="http://www.apture.com/js/apture.js?siteToken=6Bs4YyH";
charset="utf-8"></script>

If you don't see it, click installation instructions. The token is the bit after the equal sign in the siteToken=6Bs4YyH part of the script, and in this case it is 6Bs4YyH. Copy this.

Go to User parameters on the user menu in your chisimba site (requires Userparamsadmin), and add a parameter 'apturetoken' and make its value the token as noted above, in this case '6Bs4YyH'.

Once you have done this, and the apture module is installed, you should see a howto video popup the first time you open your enabled site. To activate it, hit the letter e (on a saved page, not in the FCKeditor).  Select some text, and see what happens! Its pretty cool, no?

UPDATE: Because it is quite tricky to decide whose Apture Token to use for any given page, I have enabled this feature only in the blog module. If you are a developer, and you want to add this feature to another module, you need to add username detection to the bestguess class in the utilities module. Then you need to edit the apturecode class in the apture module, and add the module code for your module to the array that limits access. That is, change:
  $permittedModules=array('blog');
to
  $permittedModules=array('blog', 'yourmodule');

UPDATE: It is really hard to get this kind of application working without access to the back end or some kind of support. The Apture support people don't seem to respond much to ordinary requests. I guess they are swamped with requests for support from more significant players. I am not sure that it is possible to use Apture properly with a dynamic application such as Chisimba.



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Trying out my new skin
Thu, 06 Aug 2009 19:32:00 +0200

I am trying out my new Chisimba skin here. It still needs a bit of work, but I think it looks better than the old one. I can see a few problems that I didn't notice when I made the skin, so I will fix them over the next little while. This is still based on the original Chisimba skin engine.



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 1 Attribution Share Alike

Version 3.1.1 of the Chisimba Framework core available
Tue, 01 Sep 2009 20:17:06 +0200

Version 3.1.1 of the Chisimba Framework is now available for download on
the AVOIR downloads page and the OSUSL mirror for those off UWC campus ( http://ftp.osuosl.org/pub/chisimba/ )



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Changing OpenZoom Nano so it can work with the flash player in an arbitrary location (e.g. as a Chisimba plugin)
Tue, 22 Sep 2009 07:52:40 +0200

I have been experimenting with OpenZoom, and with writing a Chisimba wrapper for it so it can be a Chisimba plugin.  The OpenZoom Project promotes and supports the use of high-resolution images and Zoomable User Interfaces (ZUIs) on the web. OpenZoom provides frameworks, tools and documentation to enable you to create great user experiences.

The OpenZoom SDK is a free & open source toolkit for delivering high-resolution images and Zoomable User Interfaces (ZUIs) to the web and desktop. It is built on top of the Adobe Flash Platform and was developed by Daniel Gasienica, a Computer Science student in Zürich, Switzerland. The kit consists of some python tools for producing the zoomable images, as well as a jQuery plugin to render a flash applet (OpenZoom Nano) in a web page. This should make it easy to build a Chisimba wrapper, and a Chisimba filter for it.

When getting started, I hit a known issue, in that the flash player has to be in the same directory as the source image and the HTML file that makes it viewable. This would be impossible for writing a Chisimba plugin, so I posed the question on the Chisimba developer's mailing list. A solution was suggested by one of the developers there, and I merely implemented his idea and it worked.

It was necessary to change the openzoom run function as follows to read an openzoom:viewerpat parameter from the image tag, specifically:

appletFile = $(this).attr("openzoom:viewerpath") + "OpenZoomViewer.swf",

Note that I put my viewer in a directory called tmp, below the directory with the source image. You also need to change the image tag attributes to add this viewerpath as follows:

<img src="me/me-500x375.jpg" width="500" height="375" openzoom:source="../me/image.xml" openzoom:viewerpath="tmp/">

Note also that the openzoom:source now points to the image via a realative path, and the path is relative to the actual location of the viewer. In this case it is one up (../) and down in the directory 'me'. This is a limitation that makes this a bit of a dirty hack. It would be better if the image path could be absolute, but that will probably require an actionscript hero to look at the source of the player. For now, this at least works, and I can start playing with a filter for Chisimba.

The full code then looks as follows, with the changed lines indicated in red.

/*
 * OpenZoom Endo 0.4
 * http://openzoom.org/
 *
 * Copyright (c) 2007-2009, Daniel Gasienica <daniel@gasienica.ch>
 * License: GNU General Public License v3
 * <http://www.gnu.org/licenses/gpl.html>;
 */
(function($) {
    $.openzoom = {};
    $.openzoom.run = function () {
        $("img").each(function() {
            var width = $(this).attr("width"),
                height = $(this).attr("height"),
                source = $(this).attr("openzoom:source"),
                appletFile = $(this).attr("openzoom:viewerpath") + "OpenZoomViewer.swf",
                alternate = "<img src=\"" + $(this).attr("src") + "\" width=\"" + width + "\" height=\"" + height + "\">",
                viewerId = "viewer" + Math.floor(Math.random() * 0x424f),
                defaults = {
                    viewer: appletFile,
                    background: "#111111"
                },
            viewer = getEmbedHTML(source, width, height, alternate, viewerId, defaults);
           
            if (source != null && source != "")
                $(this).replaceWith(viewer);
        });
       
        function getEmbedHTML(source, width, height, alternate, id, options) {
            return "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" " +
                    "width=\""+ width +"\" height=\""+ height +"\" id=\"" + id + "\" name=\"" + id + "\">" +
                     "<param name=\"movie\" value=\"" + options.viewer + "\"/>" +
                     "<param name=\"scale\" value=\"noscale\" />" +
                     "<param name=\"bgcolor\" value=\"" + options.background + "\" />" +
                     "<param name=\"allowfullscreen\" value=\"true\"/>" +
                     "<param name=\"allowscriptaccess\" value=\"always\" />" +
                     "<param name=\"flashvars\" value=\"source=" + source + "\"/>" +
                     "<!--[if !IE]>-->" +
                     "<object type=\"application/x-shockwave-flash\" data=\"" + options.viewer + "\" " +
                      "width=\""+ width +"\" height=\""+ height +"\" name=\"" + id + "\">" +
                       "<param name=\"scale\" value=\"noscale\" />" +
                       "<param name=\"bgcolor\" value=\"" + options.background + "\" />" +
                       "<param name=\"allowfullscreen\" value=\"true\" />" +
                       "<param name=\"allowscriptaccess\" value=\"always\" />" +
                       "<param name=\"flashvars\" value=\"source=" + source + "\"/>" +
                     "<!--<![endif]-->" +
                           alternate +
                     "<!--[if !IE]>--> " +
                     "</object>" +
                     "<!--<![endif]-->" +
                   "</object>";
        }
    }
})(jQuery);
jQuery.noConflict();jQuery(document).ready(function(){jquery.openzoom.run()});

You can download Daniel's simple example with the altered code.



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Installing the OpenZoom Endo python tools for making multiscale images for use in #Chisimba
Sat, 26 Sep 2009 21:52:12 +0200

This video describes how to install the multiscale python tools from the OpenZoom project Endo so that you can produce multiscale images for use in Chisimba with the OPENZOOM filter.



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Creating multiscale images using them with the #Chisimba OpenZoom filter
Sat, 26 Sep 2009 22:10:24 +0200

This video is a screen recording showing how to create multiscale images using some simple python tools from OpenZoom Endo. It also shows how to use them with the #Chisimba OpenZoom filter. 



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

The Malta Moon file I used for the OpenZoom / #Chisimba tutorial
Sun, 27 Sep 2009 20:40:10 +0200

These are the Malta Moon files that I used for the tutorial on building multiscale images and using them with the OpenZoom Chisimba filter.


Moon over Malta

You can download this whole set as a zip file if you want to explore it.

 



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

How to create content with dashboard gages in #Chisimba content
Wed, 28 Oct 2009 17:05:05 +0200

Have you ever wanted to produce a report that has dashboard gages in it? You can now do this in any Chisimba content tool that supports filters. These include the content management system (CMS), news, blog, discussion forum, course and group content, blocks, etc.

The GAGE filter implements these dashboard gages using google graph API. Use it as

[GAGE:actual=percentage,label=percentage,colors=start-finish,size=size]Your caption here[/GAGE]

For example, to produce the gage below:
Half way there
Half way there

use the code:

[GAGE:actual=50,label=50,colors=red-green,size=150x100]Half way there[/GAGE]

Here is an example of useage:

Progress in making the muffins
Step Progress
Purchase the ingredients Purchase
Purchase
Place ingredients on counter top Where are the rest
Where are the rest
Heat the oven Oven
Oven
Mix the ingredients Dry ingredients
Dry ingredients

I am sure you can think of other uses!

NOTES:
the numbers should always be percentages;
colors can only be red-green or green-red;
the x in the size must be lower case;
only a white background at present.



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Using web widgets in content on a #Chisimba based site
Thu, 29 Oct 2009 18:40:58 +0200

Chisimba can be used to build all kinds of different sites, ranging from an academic programme registration system, through a content management system or an eLearning system (so-called learning management system), to a blog or wiki and lots more.

All the content tools and most of the blocks can take filters. For text blocks, you do not need this filter, since text blocks do not have  a  WYSWYG editor. The filter that I am going to describe here is just a shortcut to avoid the need for people who are not comfortable with messing around in the source code of the page in the editor. It allows you to paste a web widget directly into the WYSWYG editor, right in the content of the page.

Many sites give you code snippets, which are used as widgets to create some kind of mashup. For example, TeacherTube (http://teachertube.com/) is a good source of educational videos, many of which you will not find on YouTube. There is no specific filter for TeacherTube because the site's player does not lend itself to filter creation, but you can copy the embeddable player and paste it into your content page surrounded by WIDGET tags.

The filter is [WIDGET][/WIDGET] and is used to enclose a web widget in the WYSWYG editor. To use this to embed a TeacherTube video, simply surround the TeacherTube code by this tag. The format is: [WIDGET]<embed width="470" height="260" flashvars="file=http://www.teachertube.com/embedFLV.php?pg=video_120951&amp;menu=false&amp;frontcolor=ffffff&amp;lightcolor=FF0000&amp;logo=http://www.teachertube.com/www3/images/greylogo.swf&amp;skin=http://www.teachertube.com/embed/overlay.swf&amp;volume=80&amp;controlbar=over&amp;displayclick=link&amp;viral.link=http://www.teachertube.com/viewVideo.php?video_id=120951&amp;stretching=exactfit&amp;plugins=viral-1,gapro-1&amp;viral.callout=none&amp;viral.onpause=false&amp;gapro.accountid=UA-2624863-1&amp;gapro.trackstarts=true&amp;gapro.trackpercentage=true&amp;gapro.tracktime=true" allowfullscreen="true" allowscriptaccess="always" bgcolor="undefined" src="http://www.teachertube.com/embed/player.swf"></embed> style="color: rgb(0, 0, 255);">[/WIDGET]

This will cause the embeddable player to be shown when the page is viewed, as below:

This allows you to insert videos from sites other than YouTube, as well as other kinds of content from widget sites without having to tamper with the source HTML of the content.

I might use this to insert a web widget, for example from Widgetbox or another widget site. The same principle works. To insert a guitar tuner widget, I might use:
[WIDGET]<script type="text/javascript" src="
http://cdn.widgetserver.com/syndication/subscriber/InsertWidget.js"></script><script>if (WIDGETBOX) WIDGETBOX.renderWidget('b7cf6c47-768d-4ae3-8ca5-f7b5f7044942');</script><noscript>Get the <a href="http://www.widgetbox.com/widget/guitar-tuner">Guitar Tuner</a> widget and many other <a href="http://www.widgetbox.com/">great free widgets</a> at <a href="http://www.widgetbox.com">Widgetbox</a>!</noscript> style=\"color: rgb(0, 0, 255);\">[/WIDGET]
which is copied from the guitar tuner widget on widgetbox. I keep this on my local copy of Chisimba and use it daily to tune my guitar!

There are plenty of educational widgets, videos, sound bytes and other goodies that can easily be inserted in this way.There are plenty of educational widgets, videos, sound bytes and other goodies that can easily be inserted in this way.



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Installing #Chisimba on Ununtu 9.10
Fri, 18 Dec 2009 21:58:18 +0200

 This is a guide for beginners to Ubuntu and Chisimba on how to install Chisimba as a developer. It was made by David Janks at Wits.

 

 



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Short guide to installing modules for #Chisimba using a svn checkout
Sat, 19 Dec 2009 20:40:59 +0200

This is a short guide to installing modules for Chisimba using a svn checkout  made by David Janks at Wits.

 



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Getting #Ubuntu ready for a #Postgres install of #Chisimba
Mon, 21 Dec 2009 11:12:33 +0200

How to prepare your developer system for a Chisimba install using Postgres as the database. This does not cover the Chisimba install itself. Just installing all the bits you need. The rest is the same whether you use Postgres of MySQL.



 



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Getting Ubuntu ready for a Postgres install of Chisimba, Part 2
Mon, 21 Dec 2009 17:11:34 +0200

How to prepare your developer system for a Chisimba install using Postgres as the database. This video covers checking Chisimba out into your home folder in a folder that you create called 'chisimba'. This is different from the normal Chisimba install, and has nothing to do with Postgres, rather with my preferences for setting up multiple instances for developing from a common code base.





Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

New #Chisimba filter for Twitter: TWEETS
Sun, 27 Dec 2009 11:19:08 +0200

I have added a new filter for Chisimba to work with Tweets from Twitter. The filter is called TWEETS, and it works with two sets of parameters, the type of listing and the value of the query. Currently, there are two types of listings 'user' and 'query'. The filter takes the format:

[‍TWEETS:user=username]
or
[‍TWEETS:query=query_code]
where query_code is any Twitter Json API query. Examples of legitimate queries
[‍TWEETS:query=chisimba]
[‍TWEETS:query=to:dkeats]
[‍TWEETS:query=from:dkeats&phrase=chisimba]
[‍TWEETS:query=from:dkeats+OR+from:charlvn]
[‍TWEETS:query=chisimba&to:dkeats]


For example,
[‍TWEETS:query=from:dkeats]
will show my latest Tweets as shown below.

As another example, to show Tweets related to Chisimba, we can use
[‍TWEETS:query=chisimba]
which produces the results below.


To use this filter you need the latest versions of the moduless: twitter, htmlelements, and filters. The latter two are in core, while twitter is in the modules repository. Unfortunately, the Tweet! jQuery plugin doesn't behave exactly as expected for the more complex queries. I will get in touch with the Tweet! developers to see if we can fix that. Best to stick with simple queries for the time being.

There is still some work to do on this one.
1. add the ability to specify the number of tweets and the size of the avitar.
2. add the ability to provide for live queries using juitter (can also be used to make Twitter context aware)
3. fix it so that hashtags can be used

The Tweet! plugin can be found at http://tweet.seaofclouds.com/ .




Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

New #Chisimba plugin for oEmbed sites: QUICKEMBED
Sun, 03 Jan 2010 19:01:30 +0200

For my holiday pleasure, I created a new filter for Chisimba based on the jQuery oEmbed plugin. The idea is that you can paste a URL from any site that supports oEmbed, and Chisimba will embed the content for you. Thus it works like lots of other filters, except you use the same filter across multiple sites, including sites for which there is currently no filter.

oEmbed is an open format designed to allow embedding content from a website into another page. This content is of the types photo, video, link or rich. An oEmbed exchange occurs between a consumer and a provider. A consumer wishes to show an embedded representation of a third-party resource on their own website, such as a photo or an embedded video. A provider implements the oEmbed API to allow consumers to fetch that representation. The QUICKEMBED filter enables Chisimba to be a consumer for a selected number of oEmbed providers.

The following providers provide content in a way that is consistent with the QUICKEMBED plugin:

Provider

Tested

5min (http://www.5min.com)

yes

Amazon Product Images

 

Flickr (www.flickr.com)

yes

Google Video (http://video.google.com)

yes

Hulu (http://www.hulu.com/)

limited to US

Imdb

failed

Metacafe

yes

Qik

yes

Revision3 (http://revision3.com)

failed

Slideshare

yes

Twitpic (http://twitpic.com)

yes

Viddler ( http://www.viddler.com)

yes

Vimeo (http://vimeo.com/)

yes

Wikipedia (http://en.wikipedia.org)

yes

WordPress (http://www.wordpress.com) [can show blog post excerpts]

yes

YouTube (http://www.youtube.com)

yes


The format for the filter is simply the filtername, a colon, and the URL of the object you want to embed:
  [OEMBED:http://url.to.object/item.ext]

For example,
  [‍quickembed:http://www.youtube.com/watch?v=hgjP91xJe_I]
will embed a YouTube video into the page. This is exactly the same as using the   [YOUTUBE]   filter, but has the advantage that it will work with content types other than YouTube. The following will insert a Viddler video:
[‍quickembed:http://www.viddler.com/explore/nicolamattina/videos/7/]
An excerpt from Wikipedia content can be inserted using:
[‍quickembed:http://en.wikipedia.org/wiki/Open_content]
It doesn't look so pretty on its own, so you can also wrap it in a COLORBOX filter.
   [‍COLORBOX:boxtype=bluebox][quickembed:http://en.wikipedia.org/wiki/Open_content][‍/COLORBOX]

Insert a photograph from Flickr using any suitable link as follows:
  [‍quickembed:http://www.flickr.com/photos/dkeats/4213519974/]
which produces:


Important note: if you try a quickembed and it fails because the link is invalid, then it is probable that all the quickembeds on the page will fail at the same time. To fix this, delete the most recently added quickembed, that is the one that is most likely causing the problem. This is a known issue, and there is currently no way to determine if a link is valid or not.


Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Helping to test the #Chisimba #oEmbed provider
Mon, 04 Jan 2010 14:27:59 +0200


Please note that you can only do this test if you have the Wordpress oEmbed plugin installed.

We are developing Chisimba to be an oembed provider. We need help testing whether the content we provide works with oembed consumers. One of these is Wordpress. The first provider is an image provider, but once that has been tested, we can make other providers.

Here are some images that are on dkeats.com that can be used for testing:
http://www.dkeats.com/usrfiles/users/1563080430/testimages/IMG_2832.resized.JPG
http://www.dkeats.com/usrfiles/users/1563080430/testimages/IMG_2847.resized.JPG
http://www.dkeats.com/usrfiles/users/1563080430/testimages/IMG_2919.resized.JPG

I am not totally sure, but I think that these might need to be urlencoded to work with Wordpress. If so, the encoded versions are below.

www.dkeats.com%2Fusrfiles%2Fusers%2F1563080430%2Ftestimages%2FIMG_2832.resized.JPG">
www.dkeats.com%2Fusrfiles%2Fusers%2F1563080430%2Ftestimages%2FIMG_2847.resized.JPG">
www.dkeats.com%2Fusrfiles%2Fusers%2F1563080430%2Ftestimages%2FIMG_2919.resized.JPG">

The link for the base URL for the oembed version is:
http://www.dkeats.com/index.php?module=oembed&action=provideimage&as=json=
In use, the last equals sign would be followed by the image URL, which must be on the same server.

Thus, in Wordpress you should be able to insert:
[oembed:http://www.dkeats.com/index.php?module=oembed&;
action=provideimage&=http%3A%2F%2Fwww.dkeats.com
%2Fusrfiles%2Fusers%2F1563080430%2Ftestimages%2FIMG_2919.resized.JPG] 

In a nice textbox for you:
http://www.dkeats.com/index.php?module=oembed&action=provideimage&=http%3A%2F%2Fwww.dkeats.com%2Fusrfiles%2Fusers%2F1563080430%2Ftestimages%2FIMG_2919.resized.JPG] ">

Please try the encoded ones first, and if that fails, try the unencoded ones. Please let me know if it works. We know that the provider does return the correct JSON because it returns the following:

{

    * type: "photo"
    * version: "1.0"
    * title: null
    * author_name: "Derek Keats"
    * author_url: http://www.dkeats.com/
    * provider_name: "dkeats.com"
    * provider_url: http://www.dkeats.com/
    * cache_age: 600
    * thumbnail_url: http://www.dkeats.com/usrfiles/filemanager_thumbnails/gen13Srv30Nme10_59647_1262607351.jpg
    * thumbnail_width: 79
    * thumbnail_height: 100
    * url: http://www.dkeats.com/usrfiles/users/1563080430/testimages/IMG_2919.resized.JPG
    * width: null
    * height: null

}


as it should.

Please let me know the results of your test. Twitter, email, Facebook or comment.



Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike

Digital business card for #Chisimba using microformats
Sun, 17 Jan 2010 20:13:14 +0200


This weekend, I started a microformat based business card for Chisimba. It is extremely simple to use, and can generate a business card that links to your social networking sites, as well as standard address and other information. It is not finished yet but you can get a taste of it on this site. Just open my own digital business card.

As this is a work in progress, comments are especially welcome.

If you are running Chisimba, you can create your own card on your site but you need to update the unstable (developer) code. You will have to update the Chisimba engine, as well as security and userparamsadmin modules. Then you need to install digitalbusinesscard from the unstable package server using Module Catalogue.

To create your card, add user parameters using userparamsadmin User configuration from the user menu. Add the following parameters:

homepage (the URL to the page that is your website)
tagline (a tag line for teh top of your card)

Then you can add social networking sites such as twitterurl, facebookurl in the form SOCIALNETWORKurl where SOCIALNETWORK is one of the common ones such as slidshareurl, youtubeurl, etc. You can also add latitude and longitude to get the map.

This is still experimental, and this post is mainly for developers and people living on the edge of Chisimba.

Ways of calling it

http://www.dkeats.com/index.php?module=digitalbusinesscard&username=dkeats
http://www.dkeats.com/index.php?module=digitalbusinesscard&userid=userid
http://www.dkeats.com/index.php?module=digitalbusinesscard (only if you are logged in, and it will give you your business card then).
http://www.dkeats.com/index.php?module=digitalbusinesscard&username=dkeats&action=showjson
to get it back as JSON. Note that the JSON stuff has not been updated, so it might be broken after my  changes this evening. Will fix next weekend. You will need a JSON viewer plugin in your browser to see the output of the viewjson action.

@Todo - add old fashioned stuff like phone number, etc.
@Tod0 - add more social network sites.... Which ones?

Hack with a smile smile

d


Tags for this post

         
Bookmark this post Trackback URL  No trackbacks were found for this post Comments 0 Attribution Share Alike
Login




Remember me


Forgot your password?
HELP

toggle Twitter
You cannot tweet unless you are logged in, and on your own page.
Follow me on Twitter Follow me on Twitter
Friend me on Facebook Add me on Facebook
Chisimba Facebook group Chisimba Facebook group





Afrigator