ckan / ckan/ckanext-scheming

ckanext.scheming.errors.SchemingException: validator/converter not found: u'scheming_multiple_choice_output'

Open
#200 13 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
102
Forks
182
PR merge metrics
No merged PRs in 30d

Description

This might be related in some ways to #199.

I have a CKAN installation, coupled with Wordpress, on top of which is activated the ckanext-scheming plugin. I have a custom scheming json which is used to enrich the resources fields.

While trying to perform a search index rebuild, I get the following errors :
```python-traceback
Indexing dataset 1/1113Traceback (most recent call last):
File "/usr/lib/ckan/default/bin/paster", line 11, in
sys.exit(run())
File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 102, in run
invoke(command, command_name, options, args[1:])
File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 141, in invoke
exit_code = runner.run(args)
File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 236, in run
result = self.command()
File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 579, in command
self.rebuild()
File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 602, in rebuild
quiet=self.options.quiet)
File "/usr/lib/ckan/default/src/ckan/ckan/lib/search/__init__.py", line 194, in rebuild
defer_commit
File "/usr/lib/ckan/default/src/ckan/ckan/lib/search/index.py", line 102, in update_dict
self.index_package(pkg_dict, defer_commit)
File "/usr/lib/ckan/default/src/ckan/ckan/lib/search/index.py", line 122, in index_package
pkg_dict, schema, 'package_show')
File "/usr/lib/ckan/default/src/ckan/ckan/lib/plugins.py", line 268, in plugin_validate
result = plugin.validate(context, data_dict, schema, action)
File "/usr/lib/ckan/default/src/ckanext-scheming/ckanext/scheming/plugins.py", line 268, in validate
f, scheming_schema, False)
File "/usr/lib/ckan/default/src/ckanext-scheming/ckanext/scheming/plugins.py", line 417, in _field_output_validators
f['output_validators'], f, schema)
File "/usr/lib/ckan/default/src/ckanext-scheming/ckanext/scheming/validation.py", line 301, in validators_from_string
v = get_validator_or_converter(p)
File "/usr/lib/ckan/default/src/ckanext-scheming/ckanext/scheming/validation.py", line 319, in get_validator_or_converter
raise SchemingException('validator/converter not found: %r' % name)
ckanext.scheming.errors.SchemingException: validator/converter not found: u'scheming_multiple_choice_output'
```
What am I missing? Where should I look for the validator/converted mentionned above? Is it a specific file which is expected somewhere in the system?
[wonderful_metadata_scheming.txt](https://github.com/ckan/ckanext-scheming/files/2644968/wonderful_metadata_scheming.txt)
#199

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the attached wonderful_metadata_scheming.txt and inspect the output_validators entry referenced by the traceback. Read ckanext/scheming/validation.py at validators_from_string and get_validator_or_converter, then follow the rebuild path through ckan/lib/search/index.py. Reproduce the search index rebuild and determine whether the named validator is missing or incorrectly configured.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.