Is it possible to increase the Title character limit? Simple use case: I have a channel that is setup solely to be used in an entries field to relate goals that are used on multiple pages. The goals channel simply has the title field, as the goals themselves are all one sentence statement and need to be easily identifiable by content editors for the site. Unfortunately, one of them is 268 characters, and the Title field has a limit of 255 characters.

So my question is - is there a recommended way to change the character limit for the title field? If it's in the database structure, where is it? (I will continue to dig through the database for this). If it's in config, is there a configuration override to do this so it doesn't get changed back every update, or a plugin? 

Thanks!
The title column in the craft_content database table has the column type VARCHAR, which is limited to 255 characters. There's no setting that'll change the column type for you – you can always use a tool like phpMyAdmin or Sequel Prop to change it to TEXT in order to increase the limit and it'll probably work, though it seems like a bit of a risk.

Edit: Brought to my attention by the OP in the comments below that both the actual input field and possibly some validation functionality is also limiting the title field to 255 characters. My revised TLDR answer: Nope, don't bother trying :)

In my opinion, the following would probably be a safer/better way to solve your issue:


Add a PlainText field to your Entry Type (give the handle text or the like). Consider making it multiline, since there's a fair amount of text for each entry.
Pop into the Entry Type's settings (under CP -> Settings -> Sections -> [entry type], and uncheck the Show the Title field checkbox.
In the Title Format field that appears, add something like this:


{{ object.text | length &gt; 252 ? object.text | slice(0, 252) ~ '...' : object.text }}

With the above in place, your content editor(s) will still only have to edit a single field (it'll just be called Text instead of Title), and the contents of the "Text" PlainText field will be copied over to the actual Title field when the entry is saved. For the few entries that have more than 255 characters, the title will be truncated to the first 252 characters, suffixed w/ ... – those 252 characters should probably be enough to identify each entry inside the CP (you might want to add fuzzy searching, btw), and the dots look nicer than just cutting the text off. The text field will contain the full, un-truncated text.

Obviously, in your templates you'll need to use {{ entry.text }} instead of {{ entry.title }} to get the full text.