Difference between revisions of "Longtext counter field"

From EPrints Documentation
Jump to: navigation, search
(Added Longtext_counter field)
 
(Added common structure to longtext_counter field)
Line 1: Line 1:
 
{{fieldtypes}}
 
{{fieldtypes}}
__NOTOC__
+
 
 +
 
 +
== 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.  <tt>maxlength</tt> attribute can be used to enforce maximum number of characters as a suitable multiple (e.g. 7.5) of the <tt>maxwords</tt>.
 +
 
 +
Requires [https://jquery.com/download/ jQuery] JavaScript library to be added to the archive as <tt>cfg/static/javascript/auto/directory/00_jquery.js</tt>.  Tested to work with latest (v3.5.1) version of jQuery.  May cause issues with existing JavaScript within EPrints.
 +
 
 
== Inheritance ==
 
== Inheritance ==
 
 
* [[Metadata]]
 
* [[Metadata]]
 
** [[Text field]]
 
** [[Text field]]
 
*** [[Longtext field]]
 
*** [[Longtext field]]
 
**** [[Longtext_counter field]]
 
**** [[Longtext_counter field]]
 
== 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 [https://jquery.com/download/ 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.
 
  
 
== Properties ==
 
== Properties ==
 
 
As for [[Longtext field]]s with the following difference...
 
As for [[Longtext field]]s with the following difference...
  
Line 24: Line 23:
  
 
== Required Phrases ==
 
== Required Phrases ==
 +
No additional phrases.
 +
 +
== Database ==
 +
Longtext fields are stored in the database as
 +
 +
fieldname LONGTEXT
 +
 +
== API ==
 +
See [[API:EPrints/MetaField/Longtext_counter|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 <tt>maxlength</tt> 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,
 +
}

Revision as of 09:58, 30 March 2023

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 - 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,
}