Easymode : toolkit for making xml based flash websites¶
With easymode you can create backends for dynamic flash/flex websites. Easymode makes internationalization simple and outputs xml by default. To tailor the xml to your application, you can transform it using xslt templates, which easymode integrates.
For more info, look at Why does easymode exist?
- Release Notes
- Internationalization and localization of django models, with admin support
- Translation of database content using gettext
- Automatic generation of xml from models using xslt
- Admin support for model trees with more than 2 levels of related items
- Easymode settings
- Management Commands
- Injecting extra data into the XSLT
The best way to learn how easymode works, is to read the above topics in sequence and then look at the example_app. If you have questions please send them to the mailing list at firstname.lastname@example.org.
You can download easymode from:
Or you can do:
- pip install django-easymode
- pip install -e git://github.com/specialunderwear/django-easymode.git#egg=easymode
Note the version number in the top left corner and use:
- easy_install http://github.com/specialunderwear/django-easymode/tarball/[VERSION]
Which, if the version was v0.1.0 would become http://github.com/specialunderwear/django-easymode/tarball/v0.1.0.
Easymode requires python 2.6, furthermore the following packages must be installed:
The following packages might also be required, depending on what features you are using.
Easymode comes with an example app which is available from github:
To run the example app, you must clone the repository, install the dependencies and initialize the database:
git clone http://github.com/specialunderwear/django-easymode.git cd django-easymode pip install -r requirements.txt cd example python manage.py syncdb python manage.py loaddata example_data.xml python manage.py runserver open http://127.0.0.1:8000/
Unsupported django features¶
The following features, which django supports, are not supported by easymode:
- unique_for_date, unique_for_month, unique_for_year
- django.contrib.admin.ModelAdmin.fields, use django.contrib.admin.ModelAdmin.fieldsets instead.
- Inheritance for models is restricted to abstract base classes. This is a direct result of the fact that OneToOneField are not supported by the serializer.
- django.contrib.admin.ModelAdmin.prepopulated_fields is not supported.
- You can not use fields marked for translation with I18n in the ordering attribute of a model’s Meta options.
- Unfortunately, the new template loaders are not supported with xslt templates. Please use the
old, deprecated ones like
Most these features are not supported because the ammount of work to have them was greater than the benefit of having them. However, it could also be that I just didn’t need it yet.
If you are developing flex or flash sites with easymode, you are invited to try out the new actionscript bindings at
These integrate object creation and databinding for easymode’s xml output.
Version naming convention¶
- Each update to the development status will increase the first digit. (eg beta or alpha or production ready)
- Each new feature will increase the second digit.
- Each bugfix or refactor will increase the last digit
- An update to a ‘big’ digit, resets the ‘smaller’ digits.