MIME Types, AddType

MIME Types (sometimes referred to as “Internet media types”) are the primary method to indicate the type of resources delivered via MIME-aware protocols such as HTTP and email. User agents (such as browsers) use media types to determine whether that user agent supports that specific format, and how the content should be processed. http://www.w3.org/services/svg-server/?

Video files

In case you have a problem to run MP4 file in particular browser media players (Firefox, IE in most cases) you should simply try to put this to your .htaccess file in root folder of your Apache server:

AddType video/mp4 .mp4 .m4v
# for other extensions
AddType video/ogg .ogv
AddType video/webm .webm

For Windows servers should work something this:

            <mimeMap fileExtension=".mp4" mimeType="video/mp4" />              
            <mimeMap fileExtension=".m4v" mimeType="video/ogv" />              
            <mimeMap fileExtension=".m4v" mimeType="video/webm" />         

Image files

The same thing work for image files. In this example, by default, SVG is read by the server as plain text (XML) not as an image, then we should tell him (Apache):

AddType image/svg+xml svg
AddType image/svg+xml svgz

For more information about SVG server settings and for settings on different type of servers go here.

Audio files

As you would expect, the same as above:

AddType audio/aac .aac
AddType audio/mp4 .mp4 .m4a
AddType audio/mpeg .mp1 .mp2 .mp3 .mpg .mpeg
AddType audio/ogg .oga .ogg
AddType audio/wav .wav
AddType audio/webm .webm

Read more about AddType. This page describes how to use the .htaccess file to configure MIME types.

I don’t feel ashamed of it

While preparing for presentation of our website, creating some new taxonomies to show, I found this sweet generator. It can generate custom taxonomies, custom post types and many other stuff I haven’t even tried. I must check it out. I don’t really feel ashamed as it is a great time saver. It makes the routine bit less tiresome.

I found also another usefull blog about WordPresss. When you find out yourself in emergency, go there and find your cure!

About the project

The website we are making is supposed to be a tool for one particular course at the university. The course is going to learn students how to teach high school students about history. Apparently, I took the name of my blog from here, it is a didactic course. The history departement wanted to make the course modern and so to use new media; to make it more attractive for students and thereby to learn them how to use new media in their own practice. In case the website will be working well and get filled with a meaningful content, then, they would like to share their results with public.

Few instructions only

However, one would expect the departement has prepared scripts and scenarios about their methods. We would likely use these documents as a building stone of the whole project. Unfortunately (for students), there is nothing like this. There are only few specific demands about a funcionality of their website:

  1. Public and internal course-only version of the website.
  2. Database of audio-visual and textual documents.
  3. Direct communication between tutor and students.

Open field for creativity

We know nothing about intentions of tutors about their way of teaching. We can only guess.. So my collegue took this into his scope. He is also student of this departement, thus he knows about standard styles of academic works. We figure out we need to be able to create templates like for annotation, movie, pictures, interview etc.. I’m sure that a student’s outputs limited with these templates will be good for academical needs as well as for graphical needs. We still need to keep it modular as possible in case the tutors will change their mind..

Scenario of the course

The course occurs once per week. There is a homework for students every week. The homework is fulfilled when student writes blog post to the internal part of the website. The final output will get public at the end of the course. It should consist of more parts in contrast to simpler homeworks.

Technical solutions

WordPress Multiste

I decided for sub-folder mod of WordPress Multisite because of public/internal need. Originally, I thought every student should have his own blog. Eventually, we figured out there is no need for personal blogs. We decided for class blogs. It is much easier for tutor to handle all of his students and it reduces administration requirements. It is also easier for us to programme. Basically, there is one public blog and additional new internal class blog – one every year.


There are three levels of communication.

  1. Private communication between tutor and student thanks too Peter’s Post Notes.
  2. Students vs. students in post’s comments within internal blogs.
  3. Officials vs. public in post’s comments within public blog.

The third point is still in discussion. Shall we let visitor to comment? Shall we even show internal discussions? How?


When thinking about templates I wondered what are Custom Fields good for. Then I found this awesome plugin – Advanced Custom Fields. Sure, you can hardcode any meta box you desire but this guy did really great job. Simple UI still with lots of options, easy to display your content with the_field function, perfect documentation and support.


The only problem is self-hosted video. WordPress 3.5 video support isn’t good. 3.6 is promising and close to release but you can easily deal with any kind of specific content thanks to combination of ACF + custom taxonomy á la post formats + get_template_part function.

What’s next

I’ll write more detail informations how I dealed with specific problems when looking for right solutions.

Hello World!

The reason for this blog is an educational web I’m making for History Departement at Charles University. This is a low budget project and we have just the two of us on this project. I’m also excited about blogging regulary as I’ve never done this before. I would like to summarize here the progress we are making. Which might be helpful for me as well as for someone sometime..

My job


My part of the job is to bring technical and design solution. After quite short research I decided to work with WordPress as I was already experienced with its architecture and I know I can rely on the heavy support of its large comunnity. There are also lots of proves that WordPress is the right choice as an educational tool. Not like archaic Moodle which is more like LMS anyway. Some easily googable articles about the topic can be found here and here.

Among the other reasons for WordPress, I like to work with modern web and graphical standards and so to use modern frameworks like Foundation. It is easy to incorporate Foundation framework within WordPress with Required+ theme for example.


I’ll talk more about my design intentions in the future as I’m dealing with technical stuff with WordPress at the moment. However, as I mentioned I decided for Foundation framework which is responsive one. That’s an interesting topic to think about: how important is to have responsive layout for (our) educational website. Do we really need it? In the beginning I would say no. But as we have been making progress I’m more and more convinced there are important reasons to make the web responsive:

  1. Tablets are used in education.
  2. Interactive whiteboard as well.
  3. The student’s output can be presented within the web layout.
  4. Accesible and maintained by teachers as well as students anywhere anytime and so to make it more living and immersive project.
  5. There is actually no real reason to not make it responsive except additional time and knowledge requirements.

As long as I will keep the design simple I should not take any risk to make it responsive and confusing.

That’s enough for now. Next time, I’ll write more about the purpose of this project as well as about the consequences for the technical solutions.