Update ExampleDatasetForm, was broken by recent changes to IDatasetForm
Update ExampleDatasetForm, was broken by recent changes to IDatasetForm

file:a/README.rst -> file:b/README.rst
--- a/README.rst
+++ b/README.rst
@@ -31,7 +31,6 @@
 
 Then activate it by setting ``ckan.plugins = example`` in your main ``ini``-file.
 
-
 Orientation
 ===========
 
@@ -39,7 +38,7 @@
 
 * To understand the nuts and bolts of this file, which is a CKAN
   *Extension*, read in conjunction with the "Extension
-  documentation": http://docs.ckan.org/en/latest/plugins.html
+  documentation": http://docs.ckan.org/en/latest/extensions.html
 
 * One thing the extension does is set the values of
   ``extra_public_paths`` and ``extra_template_paths`` in the CKAN
@@ -61,6 +60,21 @@
 * The custom package edit form at ``package_form.py`` follows a deprecated
   way to make a form (using FormAlchemy). This part of the Example Theme needs
   updating. In the meantime, follow the instructions at: 
-  http://readthedocs.org/docs/ckan/en/latest/forms.html
+  http://docs.ckan.org/en/latest/forms.html
+
+Example Tags With Vocabularies
+==============================
+
+To add example tag vocabulary data to the database, from the ckanext-example directory run:
+
+::
+
+    paster example create-example-vocabs -c <path to your ckan config file>
+
+This data can be removed with
+
+::
+
+    paster example clean -c <path to your ckan config file>
 
 

--- a/ckanext/example/forms.py
+++ b/ckanext/example/forms.py
@@ -11,6 +11,7 @@
 from ckan.plugins import IGenshiStreamFilter
 from ckan.plugins import implements, SingletonPlugin
 from ckan.lib.navl.validators import ignore_missing, keep_extras
+import ckan.lib.plugins
 
 log = logging.getLogger(__name__)
 
@@ -107,7 +108,7 @@
         """                
                 
 
-class ExampleDatasetForm(SingletonPlugin):
+class ExampleDatasetForm(SingletonPlugin, ckan.lib.plugins.DefaultDatasetForm):
     """This plugin demonstrates how a theme packaged as a CKAN
     extension might extend CKAN behaviour.
 
@@ -249,7 +250,10 @@
                         continue
 
                     html = '<li class="sidebar-section">'
-                    html = html + '<h3>%s</h3>' % vocab['name']
+                    if vocab['name'] == GENRE_VOCAB:
+                        html = html + '<h3>Musical Genre</h3>'
+                    elif vocab['name'] == COMPOSER_VOCAB:
+                        html = html + '<h3>Composer</h3>'
                     html = html + '<ul class="tags clearfix">'
                     for tag in vocab_tags:
                         html = html + '<li>%s</li>' % tag['name']

--- a/ckanext/example/plugin.py
+++ b/ckanext/example/plugin.py
@@ -51,8 +51,7 @@
         our_public_dir = os.path.join(rootdir, 'ckanext',
                                       'example', 'theme', 'public')
         template_dir = os.path.join(rootdir, 'ckanext',
-                                    'example', 'theme',
-        'templates')
+                                    'example', 'theme', 'templates')
         # set our local template and resource overrides
         config['extra_public_paths'] = ','.join([our_public_dir,
                 config.get('extra_public_paths', '')])

--- a/ckanext/example/theme/templates/forms/dataset_form.html
+++ b/ckanext/example/theme/templates/forms/dataset_form.html
@@ -41,7 +41,7 @@
 
     <dt class="name-label"><label class="field_req" for="name">Url</label></dt>
     <dd class="name-field">
-      <span class="js-url-text url-text">${url(controller='package', action='index')+'/'}<span class="js-url-viewmode js-url-suffix">&nbsp;</span><a href="#" style="display: none;" class="url-edit js-url-editlink js-url-viewmode">(edit)</a></span>
+      <span class="js-url-text url-text">${h.url(controller='package', action='search')+'/'}<span class="js-url-viewmode js-url-suffix">&nbsp;</span><a href="#" style="display: none;" class="url-edit js-url-editlink js-url-viewmode">(edit)</a></span>
       <input style="display: none;" id="name" maxlength="100" name="name" type="text" class="url-input js-url-editmode js-url-input" value="${data.get('name', '')}" />
       <p class="js-url-is-valid">&nbsp;</p>
     </dd>

--- a/ckanext/example/theme/templates/layout.html
+++ b/ckanext/example/theme/templates/layout.html
@@ -10,7 +10,7 @@
   <py:match path="//div[@class='menu']">
     <div class="menu">
         ${h.nav_link(c, _('Home'), controller='home', action='index')}
-        ${h.nav_link(c, _('Data'), controller='package', action='index')}
+        ${h.nav_link(c, _('Data'), controller='package', action='search')}
         ${h.nav_link(c, _('New dataset'), controller='package', action='new')}
         ${h.nav_link(c, _('New group'), controller='group', action='new')}
     </div>