Skip to content
Jeffery (Zeyu) Zhao edited this page Aug 6, 2020 · 9 revisions

Customize fields

Warning: fields string with wrong format might prevent you entering password manager!, read this page carefully before you customize fields.

To enable customized fields, you have to set $CUSTOMIZE_FIELDS=true in config.php (the default value is true).

Introduction

Users might find it helpful to customize their fields. For example, some users always use a same username everywhere, so they might want to delete username field or at least hide this field. Some users might want to add a answer to security question field because they always forget their answer to security questions. In password manager, fields are controlled by fields string, which is associated with a user account for Password-Manager. That said, different users can have different customized fields. Password-Manager allows users to edit fields string to customize their fields.

How to customize fields

After login, open settings -> Customize Fields. You'll see your current fields string. If you never edited it before, it's the default fields string. You can edit this string and then save it by clicking Change. The format requirement for this fields string is as follows:

  1. String should be in JSON format, a format like {entry_1,entry_2,entry_3}. Even if you don't want any fields, you should make the string {} instead of empty.

  2. Each entry in 1 should be like "label":{"colname":"screen name","hint":"input hint","cls":"style","position": position_int,"type": "input_type"}, italics texts are placeholder for parts you can edit.

  • position and type fields are optional, meaning "label":{"colname": "screen name","hint": "input hint","cls": "style","type": "input_type"} and "label":{"colname": "screen name","hint": "input hint","cls": "style"} are also valid entries. All other fields are required.
  • label is a system label for this entry, which should be UNIQUE and won't show up in user screen.
  • screen name is the name for this entry that the user see on their screen, need not to be unique.
  • input hint is the hint string that will show up when you try to edit values for this field.
  • style is the display style for this field. If style string is empty (e.g. ..."cls":""...), this field will always show up. If style = hidden (e.g. ..."cls":"hidden"...), this field will not show up in main table. You can only access it by clicking [view details]. If style = hidden-xs, this field will not show up in main table on small screens such as smart phone screens, but will show up on computer screens.
    • "", "hidden" and "hidden-xs" are tested but you can do much more since cls is just an appended string to HTML element class attribute. For example, you can do "cls":"hidden-xs textred": this will make texts red for that field column in table. For all available classes, please refer to css scripts in source code.
  • Optionally, you may define the position of each additional fields on the main table of Password Manager. If you want to define position, the entry should look like: "label":{"colname":"screen name","hint":"input hint","cls":" style","position":position_int}
    • position_int should be an integer number (Do not put it inside quotation mark). Account name, Password will always be the first two columns in main table. Other fields will be sorted according to position_int and appended to the main table. Fields with smallest position_int that is visible will be right after Password. Fields without position will be appended at last.
  • Optionally, you may define the type of each additional fields on the edit / new entry screen. If you want to define type, the entry should look like: "label":{"colname":"screen name","hint":"input hint","cls":" style","type": "input_type"}
    • input_type should be a reasonable HTML input type (i.e. do not use button). In addition, "textarea" is also OK. Default value (if no type defined) is text
  1. A complicated example of fields string is shown as follows:
{"url":{"colname":"URL","hint":"","cls":"hidden"},"user":{"colname":"Username","hint":"Login user name","cls":"hidden-xs","position":0},"tags":{"colname":"Tags","hint":"Comma separated values","cls":"hidden-xs textred"},"comment":{"colname":"Comment","hint":"Add detailed comments here","cls":"hidden","type":"textarea","position":2},"email":{"colname":"Email","hint":"Account email address","cls":"","type":"email","position":1}}
  1. Account name and Password fields are mandatory and the style is fixed. So you don't need to specify these two fields in fields string. Otherwise you might have a duplicate.

  2. label can't start with _ (e.g. _password is not valid).

Tags

Tags allow you to group accounts and find accounts with same the same tag quickly. If you have a field with label "tags" (there is tags field by default) and you have at least one entry with tags field not empty, at the top-right corner of the password manager window, you'll see tag-overview section.

  • You can group accounts by tags by clicking the down arrow in tag-overview section.
  • You can filter tags by clicking the tags you want to use. Then, only accounts with this tag will show up in your screen.

URL

If you have url label in the fields string (there is url by default), there will be a link icon besides the account in the main table and you can just click that link to reach the login page. url cls can be set to hidden as the icon is clickable so you can save space.

Clone this wiki locally