| 
			
			 | 
		#1 | 
| 
			
			
			
			 Junior Member 
			
			![]() Posts: 4 
				Karma: 10 
				Join Date: Dec 2023 
				Location: United Kingdom 
				
				
				Device: Kobo Aura One/Kobo App on Android 14 
				
				
				 | 
	
	
	
		
		
			
			 
				
				Hierarchical Custom Composite Columns
			 
			
			
			I have been successful in creating a custom column that combines other columns. For that I used the one that acts like tags. This is the template: 
		
	
		
		
			{#series1:||,}{#series2:||,}{#series3}. However, when I try to proceed with making the custom column hierarchical, it does not show up in custom metadata and the tags are not draggable. For example, this is a previous column that works: and my current one which does not: Is creating a hierarchy something that you cannot do with custom composite columns, or am I missing something? Thanks  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#2 | 
| 
			
			
			
			 Zealot 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 112 
				Karma: 53342 
				Join Date: Jun 2013 
				
				
				
				Device: Sony PRS-600 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			At a guess... 
		
	
		
		
		
		
		
		
		
		
		
		
	
	The delimiter for hierarchical tag browser entries is '.', not ','. And ending with '.' causes the hierarchy to break. That is, "A,B,C." gives you an entry that is "A,B,C." If instead you do {#series1:||.}{#series2:||.}{#series3} You should find it works. Notice that I did not include the '.' at the end of the template. Having '.' at the end of the template forces the result to be treated as a non-hierarchical value. In my test I used a mix of custom and built-in fields: {#titlecount:||.}{#pagecount:||.}{series:||.}{#pub series:||.}{#pubseries_index} giving me 
 With the trailing '.', I get 
 Which brings up another observation: this works if and only if your last entry in the template exists. If it doesn't, but one or more of the entries ahead of it does, then you end up with a spurious trailing '.'.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#3 | |
| 
			
			
			
			 Zealot 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 112 
				Karma: 53342 
				Join Date: Jun 2013 
				
				
				
				Device: Sony PRS-600 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 Perhaps different markup... Code: 
	{#titlecount:||.}{#pagecount:||.}{series:||.}{#pubseries:||.}{#pubseries_index}
 | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#4 | |
| 
			
			
			
			 want to learn what I want 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,681 
				Karma: 7908443 
				Join Date: Sep 2020 
				
				
				
				Device: none 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 https://www.mobileread.com/forums/sh...postcount=1166 However I couldn't get rid of that space for the life of me, lol.  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#5 | 
| 
			
			
			
			 null operator (he/him) 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 22,018 
				Karma: 30277294 
				Join Date: Mar 2012 
				Location: Sydney Australia 
				
				
				Device: none 
				
				
				 | 
	
	|
| 
		
 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#6 | |
| 
			
			
			
			 Grand Sorcerer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 12,525 
				Karma: 8065948 
				Join Date: Jan 2010 
				Location: Notts, England 
				
				
				Device: Kobo Libra 2 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 Code: 
	{#titlecount:}{#pagecount:|.|}{series:|.|}{#pubseries:|.|}{#pubseries_index|.|}
Code: 
	program:
	list_join('.', $#titlecount, '.', $#pagecount, '.', $series, '.',$#pubseries, '.', $#pubseries_index, '.')
Code: 
	{:'list_join('.', $#titlecount, '.', $#pagecount, '.', $series, '.',$#pubseries, '.', $#pubseries_index, '.')'}
 | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#7 | 
| 
			
			
			
			 Junior Member 
			
			![]() Posts: 4 
				Karma: 10 
				Join Date: Dec 2023 
				Location: United Kingdom 
				
				
				Device: Kobo Aura One/Kobo App on Android 14 
				
				
				 | 
	
	
	
		
		
			
			 
				
				Thanks
			 
			
			
			Thanks for your help. The '.' instead of ',' thing should have been obvious to me. I still don't seem to be able to get it to work though. I figure it is probably something wrong with the columns that I am trying to combine. Honestly I'm not very good at this sort of thing.
		 
		
	
		
		
		
		
		
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#8 | |
| 
			
			
			
			 Zealot 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 112 
				Karma: 53342 
				Join Date: Jun 2013 
				
				
				
				Device: Sony PRS-600 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 Code: 
	program:
    '.'.join(filter(None, ($#titlecount,$#pagecount,$series,$#pubseries,$#pubseries_index)))
 | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#9 | |
| 
			
			
			
			 Grand Sorcerer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 12,525 
				Karma: 8065948 
				Join Date: Jan 2010 
				Location: Notts, England 
				
				
				Device: Kobo Libra 2 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 Code: 
	python:
def evaluate(book, context):
    vals = (filter(
                None, 
                (
                    book.get('#myint2'), 
                    book.get('#pagecount'), 
                    book.get('series'), 
                    book.get('#series'),
                    book.get('#series_index')))
                )
    vals = ((str(v) if isinstance(v, (int, float)) else v) for v in vals)
    return '.'.join(vals)
 | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#10 | |
| 
			
			
			
			 Zealot 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 112 
				Karma: 53342 
				Join Date: Jun 2013 
				
				
				
				Device: Sony PRS-600 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 Looking at the documentation, the semantics of list_join seems odd to me... but I think I see now how it works.  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
            
        
    
            
  | 
    
			 
			Similar Threads
		 | 
	||||
| Thread | Thread Starter | Forum | Replies | Last Post | 
| Composite columns and identifiers | ownedbycats | Library Management | 15 | 05-26-2022 03:32 PM | 
| Quickview and composite columns | ownedbycats | Library Management | 2 | 12-25-2020 05:43 PM | 
| [Library Closed Plugin] Save Composite Custom Columns | chaley | Plugins | 22 | 04-11-2020 08:09 AM | 
| Question about hierarchical columns... | dkplayaclub | Library Management | 14 | 06-27-2016 05:31 PM | 
| composite custom columns sorted numerically | Doug-W | Library Management | 2 | 02-18-2011 03:16 AM |