SecureGroupHeaderTemplate

SecureGroupHeaderTemplate, and its variants SecurePartyHeaderTemplate and SecureRaidGroupHeaderTemplate, automate the creation of SecureUnitButtonTemplate frames for all members of a party or raid group.
== Attributes ==
=== Essential ===
; template : String - name of an XML template derrived from SecureUnitButtonTemplate to use for the unit buttons
; templateType : String - specifies the frame type of the managed subframes (Default: "Button")
; showParty, showRaid, showPlayer, showSolo : Booleans -- at least one of these must be true for the frames to appear (Defaults: SecurePartyHeaderTemplate and SecureRaidGroupHeaderTemplate respectively set showParty or showRaid to true)
=== Layout ===
; point : String - A valid anchoring point for the first child frame
; xOffset, yOffset : Numbers - Used when anchoring the unit buttons (Default: 0)
; maxColumns, unitsPerColumn, columnSpacing : Used to layout unit buttons in multiple columns (Defaults: 1, nil, 0)
; columnAnchorPoint : String - "LEFT" or "RIGHT" point used by each new column anchor (use "LEFT" to grow rightward)
=== Fitering ===
;nameList : String -- a comma separated list of player names (not used if 'groupFilter' is set)
;groupFilter : String -- a comma seperated list of raid group numbers [1-8] and/or uppercase class names and/or uppercase roles
;roleFilter : String - a comma seperated list of MT/MA/Tank/Healer/DPS role strings
;strictFiltering : Boolean - if true, then characters must match both a group and class from the groupFilter list (unless groupFilter is nil) and at least one of role from the roleFilter list (unless roleFilter is nil)
=== Sorting ===
;sortMethod : String - sort by "INDEX", "NAME" or "NAMELIST" (Default: "INDEX")
;sortDir : String - set to "DESC" to reverse the sort order (Default: "ASC")
;startingIndex : Number - the index in the final sorted unit list at which to start displaying units (Default: 1)
;groupBy : String - pre-sort by "GROUP", "CLASS", "ROLE", or "ASSIGNEDROLE" before regular sorting (Default: nil)
;groupingOrder : String - specifies the order of the groupings (ie. "1,2,3,4,5,6,7,8")
== Child Frames == 
SecureUnitButtonTemplate children created by the Group Header will be assigned a unit attribute (of type UnitId) that may be passed to various functions such as UnitName("unit"), UnitHealth("unit"), UnitHealthMax("unit") to generate a basic frame with player name and health bar.
To be useful, a custom template inheriting SecureUnitButtonTemplate should be defined in XML so that it may be accessed programmatically upon creation. Possible tasks include setting attributes to respond to clicks; and activity made possible by the protected nature of these frames.
== See Also ==
These templates were contributed to FrameXML with permission by well-known community addon developers:FrameXML/SecureGroupHeaders.lua, archived at Townlong-Yak - see first line for attribution to Esamynn, Cide, Iriel.
* Esamynn (affiliated to Gatherer and Auctioneer)
* Cide (affiliated to CTMod including CT Raid Assist)
* Iriel (UI & Macro community MVP). 
== References ==