[ckan-dev] DatasetForm-Plugin

Mark Wainwright mark.wainwright at okfn.org
Wed Aug 7 10:49:09 UTC 2013


>             schema = superDatasetTestPluginself).create_package_schema()

There also appear to be some syntax errors in this line whenever it occurs ...





On 07/08/2013, Adrià Mercader <adria.mercader at okfn.org> wrote:
> Hi,
>
> Looks like you are using the create schema on your update endpoint:
>
> Instead of this:
>
>   def update_package_schema(self):
>             schema = superDatasetTestPluginself).create_package_schema()
>             schema = self._modify_package_schema(schema)
>             return schema
>
> It should be this:
>
>   def update_package_schema(self):
>             schema = superDatasetTestPluginself).update_package_schema()
>             schema = self._modify_package_schema(schema)
>             return schema
>
>
> Adrià
>
>
>
> On 4 August 2013 22:44, gr n8 <gr8 at gmx.at> wrote:
>> Does no one have any idea?
>>
>> kind regards!
>>
>> Gesendet: Mittwoch, 31. Juli 2013 um 23:00 Uhr
>> Von: "gr n8" <gr8 at gmx.at>
>> An: ckan-dev at lists.okfn.org
>> Betreff: [ckan-dev] DatasetForm-Plugin
>> Hi,
>>
>> I tried to develop a plugin which adds some extra fields to the
>> package-schema. Once I activate the plugin and edit a dataset, I receive
>> the
>> following error when I click the "Next:Add Data" button.
>>   "The form contains invalid entries:
>>    - Id: The input field was not expected." -- but there is no more
>> information in the log file.
>>
>> Furthermore, the schema of the package seems to be not affected (so the
>> "testfield" is not being displayed in the json-rest-interface).
>> My plugin consists only of two files, plugin.py and setup.py. Below you
>> can
>> find the code of them:
>>
>> plugin.py:
>>     import ckan.plugins as p
>>     import ckan.plugins.toolkit as tk
>>     class DatasetTestPlugin(p.SingletonPlugin, tk.DefaultDatasetForm):
>>         p.implements(p.IDatasetForm, inherit=False)
>>
>>         def package_types(self):
>>             return []
>>
>>         def is_fallback(self):
>>             return True
>>
>>         def _modify_package_schema(self, schema):
>>
>> schema.update({'testfield':[tk.get_validator('ignore_missing'),
>> tk.get_converter('convert_to_extras')]})
>>             return schema
>>         def create_package_schema(self):
>>             schema = superDatasetTestPluginself).create_package_schema()
>>             schema = self._modify_package_schema(schema)
>>             return schema
>>
>>         def update_package_schema(self):
>>             schema = superDatasetTestPluginself).create_package_schema()
>>             schema = self._modify_package_schema(schema)
>>             return schema
>>         def show_package_schema(self):
>>             schema = superDatasetTestPluginself).show_package_schema()
>>
>> schema.update({'testfield':[tk.get_converter('convert_from_extras'),
>> tk.get_validator('ignore_missing')]})
>>             return schema
>>
>> setup.py
>>
>>     from setuptools import setup, find_packages
>>     import sys, os
>>     version = '0.1'
>>     setup(
>>         name='ckanext-testExtension',
>>         version=version,
>>         description="Custom Form Plugin",
>>         long_description="""\
>>         """,
>>         classifiers=[], # Get strings from
>> http://pypi.python.org/pypi?%3Aaction=list_classifiers
>>         keywords='',
>>         author='',
>>         author_email='xxx',
>>         url='',
>>         license='',
>>         packages=find_packages(exclude=['ez_setup', 'examples',
>> 'tests']),
>>         namespace_packages=['ckanext', 'ckanext.testExtension'],
>>         include_package_data=True,
>>         zip_safe=False,
>>         install_requires=[
>>         # -*- Extra requirements: -*-
>>         ],
>>         entry_points=\
>>         """
>>                 [ckan.plugins]
>>             testPlugin=ckanext.testExtension.plugin:DatasetTestPlugin
>>         """,
>> )
>> Could you possibly tell me what´s wrong with my plugin? Why is the schema
>> not affected and why is it raising a form-validation-error?
>> kind regards
>>
>> _______________________________________________
>> ckan-dev mailing list
>> ckan-dev at lists.okfn.org
>> http://lists.okfn.org/mailman/listinfo/ckan-dev
>> Unsubscribe: http://lists.okfn.org/mailman/options/ckan-dev
>>
>
> _______________________________________________
> ckan-dev mailing list
> ckan-dev at lists.okfn.org
> http://lists.okfn.org/mailman/listinfo/ckan-dev
> Unsubscribe: http://lists.okfn.org/mailman/options/ckan-dev
>


-- 
Business development and user engagement manager
The Open Knowledge Foundation
Empowering through Open Knowledge
http://okfn.org/  |  @okfn  |  http://ckan.org  |  @CKANproject




More information about the ckan-dev mailing list