Preparing for BE 1.4 release, which is coming soon (although exact date not yet set), I started working on documentation for Extension Manage and changes it has compared to previous BE version. This is a short list I came up with. Obviously, I'll have to go into specifics and provide code examples for documentation be useful. This will be on the Wiki as soon as 1.4 released.

1. Data Provider instead of XML only model

Now if you use custom, not XML provider - Extension Manager will use it rather than save/retrieve data from XML file.

2. Each extension gets it's own XML file (or entry in the database)

Unlike 1.3, each extension gets separate file/row in DB. This makes it easier to isolate and fix problems if extension has issues.

3. Multiple settings per extension

Extension can have multiple settings. If you need to save several groups of settings, they all will show up on the extension settings page as separate sections.

4. Strongly typed parameters

Some of the most common data types has been added (Integer, Boolean, Long, Float, Decimal). They have basic type checking on admin/extension settings page ("must be Integer" kind of checks) and AddValue method of settings object let you pass in these new types.

5. List(collections) data types

Along with strong data types, you can pass in array or collection and it will be rendered as List on the settings page. Supported types are DropDown, ListBox and RadioButtonGroup.

6. Option to disable extension on initial load

If you need extension been initialized by user before enable it, you can set Enabled status to false. Then administrator can set required parameters and turn it on from settings page.

Below is a picture describing bullet points 4 and 5.