Longtext counter field

From EPrints Documentation
Revision as of 09:58, 30 March 2023 by Drn@ecs.soton.ac.uk (talk | contribs) (Added common structure to longtext_counter field)
Jump to: navigation, search

EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects


Metadata Fields: Arclanguage - Base64 - Bigint - Boolean - Compound - Counter - Dataobjref - Date - Decimal - Email - Fields - Float - Id - Idci - Image - Int - Itemref - Keywords - Langid - Longtext - Longtext_counter - Multilang - Multipart - Name - Namedset - Pagerange - Recaptcha - Recaptcha3 - Relation - Search - Secret - Set - Storable - Subject - Subobject - Text - Time - Timestamp - Url - Uuid


Description

A Longtext field but with a counter for number of words used displayed next to the input field. Maximum number of words can be specified as a guide but not enforced. maxlength attribute can be used to enforce maximum number of characters as a suitable multiple (e.g. 7.5) of the maxwords.

Requires jQuery JavaScript library to be added to the archive as cfg/static/javascript/auto/directory/00_jquery.js. Tested to work with latest (v3.5.1) version of jQuery. May cause issues with existing JavaScript within EPrints.

Inheritance

Properties

As for Longtext fields with the following difference...

name default description
maxwords undefined Can be overridden in the field definition.

Required Phrases

No additional phrases.

Database

Longtext fields are stored in the database as

fieldname LONGTEXT

API

See API page.

Examples

Most basic example.

{
    name => 'task_purpose',
    type => 'longtext_counter',
}

Restricting maximum number of words. This will not stop user going over this amount but they will see they have exceeded the word limit.

{
    name => 'task_purpose',
    type => 'longtext_counter',
    max_words => 200,
}

Restricting on maximum number of words and maximum length (in characters). To prevent the user going wildly over the word limit setting a maxlength will prevent them typing over a certain number of characters. Even including spaces and punctuation, English will rarely if ever exceed 7.5 characters per word ratio used in the following example.

{
    name => 'task_purpose',
    type => 'longtext_counter',
    max_words => 200,
    maxlength => 1500,
}