Archive for April, 2008

Now dynamic creation of the course overview page.

Saturday, April 26th, 2008

Another small step. The page Homepage -> Multimedia Courses is now generated dynamically. This far it was a static page.

No change at all from a users point of view - although it looks a bit different and now shows view statistics right there. However, it is another step towards a “real” community website, where posting content is possible for web users.

Should I announce every tiny step? Well, why not? This is the Change-(B)log!!!

Next: Ability to  upload “items” and create “courses”. To create a new course one has to create a course AND upload items. Items are any kind of content, Flash files, video files, images, text files, PDFs, etc. etc. Other content websites allow only videos, like the German commercial project learn2use.de I just joined. That makes management soooo much easier. This project aims higher. A course needs more than just video! One needs PDFs to print, tests, still pictures, HTML content (I have a content type “multimedia enhanced dynamic HTML”, where video/audio can be attached to an HTML page and it controls its dynamic behavior, the page does not need to be static but can employ dyn. HTML effects controlled by the audio/video, to make stuff move/appear/disappear/etc.). When you create a “course” you put the “items” - yours and those of other people! (if they allow it - compatible license types are checked and enforced automatically, i.e. in the future) - so you put the “items” into the course. The course itself has a “glue file” that can be HTML, or Flash. From there you link to the “items”. The course file only “glues” them together, i.e. it uses those reusable files (by you and/or others) and adds content specific to only that course. Sounds complicated? No, why, you do that any time you write a webpage and use a CMS (content management system).

Mörre

New archive for the list

Wednesday, April 23rd, 2008

It turned out I could not use the Google Groups service to archive the mailinglist list@letexa.com. The technical reason does not matter, I found a service that is a MUCH better match for Letexa! The Mail Archive is a free but professional quality (it seems) service with a spirit very similar to the one of this project.

On the private side,  I am going to join a German startup learn2use.de, and take over responsibility for all the technology (i.e. “CTO”, but that title sounds a little grand for the current early but very promising state). I hope to be able to “leverage some synergies” between Letexa and that business, which means I’ll continue working on Letexa. It’s just a fun project, and I don’t care at all that right now I get only 5 visitors per day :-)  That’s because I know that if I tried I could get more, but I take my time. Besides, I use the site to experiment with designs and technology. Design: current Letexa design is supposed to be (remain) simple, with few images (none! except for some buttons and the logo) - and in black&white. Adding some AJAX recently, e.g. for the login, sure wasn’t a high priority from a project point of view (to say the least), but it sure showed me A LOT of things hard about AJAX. That’s not the technology itself, but managing a website and many different possible states that can happen when people with or without Javascript use the site, login using AJAX within a page and then press “Back” in the browser (which navigates to a page that had been created server-side in “logged out” state), and many other potential pitfalls.

Even though I’ve VERY few readers, I’ll keep adding to the change-blog, this is a documentary for later!

Mörre

PS: This latest entry also serves to test the new mailinglist archive, because this blog post is sent out via that list too ;-)

Site changes: beginning to code the backend for contributors

Tuesday, April 22nd, 2008

The “Contributors” section has changed. There is no underlying functionality yet, but the main contributor landing page now reflects what is intended. Next step is to implement backend functionality to enable uploading content, and to manage the content one uploaded. The framework for how this could look like has been set…

As usual, please report any issues. There are lots of things to consider - even more when one uses AJAX, as I do. For example, if someone logs in using the AJAX method within every page and then uses the browser’s BACK button one gets to a page where the user wasn’t logged in. So I had to implement code that changes the appearance of that page to reflect the now logged-in state too, even if it didn’t the last time the user was there… and that requires Javascript. There are even more issues when considering the various states of elements on a page (e.g. buttons: enabled or not) when you do it in PHP and/or in Javascript after loading…

Mörre

Site (code) updates

Monday, April 14th, 2008

Yesterday I enabled site-wide user registration, login and logout. Today I enabled AJAX for the login.

This is a minor step, but important, since this is the very basis for enabling user content. By enabling AJAX-ified login I created a basis for a modern interface. The Javascript-disabled browsers still get all the functionality, but IMHO AJAX is not just a hype but really is a great technology for faster browsing.

I’m using SMF forum on my site. The new site-login uses the user data collected by SMF forum. However - and I’m quite proud of this - only during the login procedure itself I use SMF and its database. I avoid any additional calls to SMF, not even via the relatively lightweight smf_api.php API file they provide (compared to the native SMF routines in SSI.php)! After SMF user authentication I rely on the PHP session mechanism only. True, SMF does more sanity checks to ensure security, but when the only issue is to display to the user the fact they are logged in, and not a security critical action like withdrawing money or deleting uploaded content, it makes little sense to have all this overhead for a simple status message!

A few days ago I switched to swfobject 2.0 for Flash detection, and to having just one site-wide PHP template file for displaying the Flash multimedia content. One of the differences now: This new version of swfobject does not require Javascript to function. This is for the very few people who disable Javascript (the Firefox “noscript” plugin is quite popular…), but forgot to remove Flash… :-)

Mörre

PS: If anyone finds a bug in this new login code send me an email, please! (webmaster@letexa.com)