If you right-click on a group and select "Edit Group", you can add any notes you want - or do you mean something different by "placeholder"?
(EDIT: I just noticed your other posts, which imply you already knew this - and that you do indeed mean something different by "placeholder" - but I'm unclear on exactly what that is. Could you please explain further?)
Last edit: T. Bug Reporter 2016-01-22
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Oh. I think these are meant to be similar to the single-entry Notes fields, in that they're intended for auxiliary information about a group ("notes to self"), and not for information actually needing to be transmitted to other programs.
Perhaps a better way to implement a similar feature would be to allow custom fields to be attached to groups; this would allow the notes to keep their original intent while also allowing for entries in a group to share common data.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
But if you have a dozen different groups, each with an entry named "!Default", would a reference from another record be able to figure out which "!Default" was being referred to? And how would one go about making such a reference? (The documentation implies that this is possible, but isn't all that clear on exactly how to do it - especially if a custom field is involved.)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You can refer to it via UUID, or change the name to make it obvious.
This seems awkward if you have several groups with similar structures; the OP would either have to come up with unique names for each "!Default", or track down the UUIDs for each of them - and if he ever needed to move a record from one group to another, he'd have to remember to update every reference accordingly.
References for Notes are the same as for any other field. Is that what you meant?
Not really; I was assuming that if the OP was going to make separate records for his "pertinent to every record in this group" information, he might want to put that info somewhere other than in the Notes field - or might want to better identify it and/or split it up using one or more custom field names (which, on rereading the documentation, may negate the goal of using this info in other records). Regardless, the documentation is short on detailed examples of cross-record references - probably because relatively few people have a use for them.
Last edit: T. Bug Reporter 2016-01-23
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
For consistency, the group path placeholder will be renamed to {GROUP_PATH}, but the old {GROUPPATH} will also continue to be supported for backward compatibility.
A property system with inheritance would be nice, but would require a database format change and won't happen in the near future.
Side note: using {T-REPLACE-RX:...} you can extract some value from a field. For example, if you format your group notes in INI style (lines of Key=Value) and want to extract the value of the item with key 'Example', you could use {T-REPLACE-RX:/{GROUP_NOTES}/(?s).*Example=([^\r\n]*).*/$1/}.
Thanks and best regards,
Dominik
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Got it now. I was attempting to understand why ([^\r\n]*) matched any character as there is no character definition preceeding the quantifier, only a negative match. Seems regex assumes a dot definition when it's not specified in a group - not obvious.
If you right-click on a group and select "Edit Group", you can add any notes you want - or do you mean something different by "placeholder"?
(EDIT: I just noticed your other posts, which imply you already knew this - and that you do indeed mean something different by "placeholder" - but I'm unclear on exactly what that is. Could you please explain further?)
Last edit: T. Bug Reporter 2016-01-22
I was referring to a placeholder similar to the ones documented at http://keepass.info/help/base/placeholders.html
It would be helpful if a placeholder was added for {Group_Notes}
Oh. I think these are meant to be similar to the single-entry Notes fields, in that they're intended for auxiliary information about a group ("notes to self"), and not for information actually needing to be transmitted to other programs.
Perhaps a better way to implement a similar feature would be to allow custom fields to be attached to groups; this would allow the notes to keep their original intent while also allowing for entries in a group to share common data.
Make a default entry for the group - "!Default" should work - and add the notes to that. A sort will put the default at the top.
cheers, Paul
But if you have a dozen different groups, each with an entry named "!Default", would a reference from another record be able to figure out which "!Default" was being referred to? And how would one go about making such a reference? (The documentation implies that this is possible, but isn't all that clear on exactly how to do it - especially if a custom field is involved.)
You can refer to it via UUID, or change the name to make it obvious.
References for Notes are the same as for any other field. Is that what you meant?
cheers, Paul
This seems awkward if you have several groups with similar structures; the OP would either have to come up with unique names for each "!Default", or track down the UUIDs for each of them - and if he ever needed to move a record from one group to another, he'd have to remember to update every reference accordingly.
Not really; I was assuming that if the OP was going to make separate records for his "pertinent to every record in this group" information, he might want to put that info somewhere other than in the Notes field - or might want to better identify it and/or split it up using one or more custom field names (which, on rereading the documentation, may negate the goal of using this info in other records). Regardless, the documentation is short on detailed examples of cross-record references - probably because relatively few people have a use for them.
Last edit: T. Bug Reporter 2016-01-23
I've now added the
{GROUP_NOTES}placeholder.Here's the latest development snapshot for testing:
http://keepass.info/filepool/KeePass_160123.zip
For consistency, the group path placeholder will be renamed to
{GROUP_PATH}, but the old{GROUPPATH}will also continue to be supported for backward compatibility.A property system with inheritance would be nice, but would require a database format change and won't happen in the near future.
Side note: using
{T-REPLACE-RX:...}you can extract some value from a field. For example, if you format your group notes in INI style (lines ofKey=Value) and want to extract the value of the item with key 'Example', you could use{T-REPLACE-RX:/{GROUP_NOTES}/(?s).*Example=([^\r\n]*).*/$1/}.Thanks and best regards,
Dominik
How does "(?s)" work? I thought "?" was a quantifier but you have nothing for it to quantify.
cheers, Paul
I see it's single line mode, but I can't get you example to work.
cheers, Paul
Hmm, it works fine for me. Here's a sample database file (master password "123"):
http://keepass.info/filepool/Test_Rx.kdbx
Best regards,
Dominik
Thanks Dominik! I appreciate your responsiveness. I've done testing and the {Group_Notes} placeholder works perfectly for my workflow.
Got it now. I was attempting to understand why ([^\r\n]*) matched any character as there is no character definition preceeding the quantifier, only a negative match. Seems regex assumes a dot definition when it's not specified in a group - not obvious.
I was using http://regexstorm.net/tester to test the expression and it doesn't interpret the search correctly. I now use https://regex101.com/ and it's fine, and more informative.
cheers, Paul