[gcompris-devel] sharing tuxpaint-stamps with gcompris and others

Bruno Coudoin bruno.coudoin at free.fr
Mon Jul 21 16:37:21 UTC 2003


Bill, I am the author of gcompris (http://ofset.sf.net/gcompris) and I
found your tuxpaint-stamps an excellent resource that I would like to
reuse. More than this, I would like to merge it with what I have in
gcompris and go further by creating an xml format to use these data.
More again, this could be usefull to kdeedu team or any other person
willing to create edutainment application.

My idea is to define an xml file that would define it all and let
application developper to use it as a resource database.

Here is basically what I came up with:

<Asset soundfile="1.ogg" imagefile="1.png" videofile="1.mpg">
  <_Name>One</_Name>
  <_Description>The number One</_Description>
  <SoundCredits>Who did the sound / Licence info</SoundCredits>
  <ImageCredits>Who did the image / Licence info</ImageCredits>
  <VideoCredits>Who did the video / Licence info</VideoCredits>
  <Categories>number;math;algebra</Categories>
 </Asset>

Note the tags _Name and _Description, this is used by the intltool to
add these strings in the .po file. The big advantage is that translators
uses regular .po files. It is definitly very efficient for the
maintenance. While intltool are a gnome development, there is no
dependancy with gnome, it's just perl scripts and are needed only at
build time, not installation time.

After xml-i18n parsing we would end up with :
<Asset soundfile="1.ogg" imagefile="1.png" videofile="1.mpg">
  <Name>One</Name>
  <Description>The number One</Description>
  <Name xml:lang="fr">Un</Name>
  <Description xml:lang="fr">Numero Un</Description>
  <SoundCredits>Who did the sound / Licence info</SoundCredits>
  <ImageCredits>Who did the sound / Licence info</ImageCredits>
  <VideoCredits>Who did the sound / Licence info</VideoCredits>
  <Categories>number;math;algebra</Categories>
 </Asset>

For the sound file and video file, we could decide a file notation to
discover if the file exist in the current locale. For example here we
could use 1_fr.png and 1_fr.mpg. 
Of course, only one resource (image, sound or video) is mandatory to
define an asset.

In order to avoid to create huge file, we could create separate packages
that all put their .xml file in a predefined directory for example
/usr/share/edutainment and from here, our apps could parse the xml files
and filter in them searching for a specific info. Here, the categories
field could be used to display 'car' or 'tree' for example.
We still could of course create a package dependancy to the resources
package is they are mandatory for an app to work.

That's all now, sory for this long email. Please, share the idea with
your respecive team and I hope to get feedback from you.

On my side, that's something that would help gcompris and I plan to work
on it anyway.

Bruno.






More information about the Gcompris-devel mailing list