Revision history for Web-DataService
0.42 2018-12-19
- Added method 'select_output_block' to request classes.
- Added hook 'before_record_hook'.
0.41 2018-09-26
- Added methods 'validate_params', 'param_given', 'raw_body', 'decode_body', 'exception',
'skip_output_record', 'add_error', 'errors', 'add_caution', 'cautions' to request
classes.
- Added attribute 'http_method' to request classes.
- Regularized hooks.
0.3 2016-01-13
- Pod parser has been rewritten as a subclass of Pod::Simple. If you are upgrading
from an earlier version of Web::DataService you should update doc_defs.tt and dsdoc.css.
Note that this new parser requires all command paragraphs to be preceded and followed by
blank lines, whereas the earlier version was looser about it.
- New Pod directives "=for wds_pod on", "=for wds_pod off" can be used to bracket content
that should be included if the target format is Pod and ignored for other formats such
as HTML.
- New option 'diag' for running on the command line,
0.261 2015-06-22
- Documentation nodes are now automatically auto-instantiated if a template file
exists. No need to explicitly create a node for each file.
- New Pod directive "=for wds_node ..." sets node attributes, title in particular. This
must appear in the first 2048 bytes of the template file.
- Output fields with data_type => 'str' are now quoted in JSON output even if the
value looks like a number.
- Output records of type 'select' can now have an 'if_block' attribute.
- Auto-generated links now default their link text to the node path without the base.
- Bug fix: output plugin method 'emit_empty' was being called when it shouldn't have been.
0.26 2015-06-17
- Miscellaneous bug fixes:
- Eliminated unnecessary dependency on $ENV{PWD}, which was causing problems
because this variable is not always available.
- URL generation in documentation pages now works properly with Pod format.
- Fixed a bug that was causing links to be generated incorrectly if the link
text was '0'.
- Output block inclusion now works recursively.
- Output fields with the 'dedup' option set now get a blank value in text output
records.
- You can now set 'doc_string' directly when defining set values.
- New request method 'param_keys', which returns a list of keys corresponding
to the parameters given in this request.
- New request method 'exception', which generates an exception object. This
can be passed to die() instead of a string.
- Output plugins now include the method 'emit_empty', which is called if no
output records were generated.
0.254 2015-03-18
- It is now possible to add aliases for the special parameters.
- In Text format output, the field name "Starting Index" has been replaced by
"Record Offset".
- The following field names in Text format output no longer are followed by colons:
"Records Found", "Records Returned", "Elapsed Time".
0.253 2014-12-21
- Added method 'delete_output_field' to remove a field from the output. This can
be used by operation methods to remove fields that are determined to be unnecessary.
This is especially useful for text-format output.
- Fixed a bug that was causing single quotes to be improperly doubled in CSV output.
0.252 2014-11-07
- You can now specify a summary block for any operation, with the node attribute 'summary'
- This block will be included in the output header, before any records are output
- New request method 'document_summary' to document the list of fields
- New request method 'summary_data' which takes a hash of fields with which the
block will be filled in.
- You can now specify extended documentation for a node, with the method 'extended_doc'.
This can be used to specify the documentation that will appear at the top of an
operation page, without having to create a custom template.
- Added method 'map_value' which transforms a set value to its 'maps_to' value
- The 'set_values' method now throws an exception if given an invalid set name
- Fixed a bug that would wipe out the field lists of configured blocks if one bad
block name was passed to 'configure_boock'.
0.251 2014-10-17
- Fixed a bug that was causing text output not to be properly encoded in some circumstances
- Added format attribute 'encode_as_text'
- Fixed a bug that caused the 'Access-Control-Allow-Origin' header to not be sent under some circumstances
- Improved the documentation of the configuration process
0.25 2014-10-16
- Added documentation files that were accidentally left out of 0.24
- Added one missing module that was accidentally left out of 0.24
- The method 'generate_url' can now take a string instead of a hashref
- Note: there were several incompatible changes between 0.23 and 0.24, so be
careful if you are updating to this version from 0.23 or prior
0.24 2014-10-15
- Added Perl version check to Build.PL. The minimum version of Perl is 5.012
- There are several changes to this version that are not compatible with 0.23
- Changed the template element names for documentation sections (incompatible)
- Added documentation for node lists
- Reorganized the configuration documentation
- Added node attribute 'place', and methods 'list_node', 'get_nodelist', 'document_nodelist'
- Renamed method 'has_output_block' to 'has_block' (incompatible)
- Renamed method 'response_format' to 'output_format' (incompatible)
- Renamed method 'response_vocab' to 'output_vocab' (incompatible)
- Renamed method 'response_linebreak' to 'output_linebreak' (incompatible)
- Added method 'substitute_select'
- Usage examples are now strings (incompatible)
- Fixed bug that was ignoring ordinary paragraphs in ruleset documentation
- Fixed bug that was causing documentation strings to be inherited
0.23 2014-10-03
- Improved the documentation some more
- Removed spurious use of Sub::Identify
- Fixed bug in evaluating set attributes starting with + or -
- Fixed bug that prevented multiple validators in a parameter rule
- Added set_foundation class method to set the foundation framework, removed the foundation_plugin attribute.
0.22 2014-10-02
- Fixed bad tests and improved the documentation.
- new_request and execute_request can now be called as class methods.
0.21 2014-10-01
- First release that actually works and is fully documented.