In TLDC, creating an application group called, for example, "foo/bar" fails silently. This seems to be because the "/" is not escaped in tl-desktop-customizer.hconf and therefore looks like part of the object path. This could be considered a hiveconf bug since hiveconf doesn't seem to support escape characters, however TLDC needs to escape the slash somehow as well.
To clarify, creating a group called "foo/bar" ends up with a group called only "foo" in the tlwebadm interface and the following in the .hconf file: [/utils/tl-desktop-customizer/groups/foo/bar]
Deleting such a group results in a Traceback: 2015-10-29 16:57:15 ERROR tlwebadm[53736]: code 500, message Internal error on page '/desktop/appgroups' 2015-10-29 16:57:15 INFO tlwebadm[53736]: 'POST /desktop/appgroups HTTP/1.1' 500 - 2015-10-29 16:57:15 ERROR tlwebadm[53736]: ---------------------------------------- 2015-10-29 16:57:15 ERROR tlwebadm[53736]: Traceback (most recent call last): 2015-10-29 16:57:15 ERROR tlwebadm[53736]: File "/opt/thinlinc/sbin/tlwebadm", line 269, in post_or_get 2015-10-29 16:57:15 ERROR tlwebadm[53736]: IIIIii , OOooOO000 = getattr ( O0OOO , action ) ( iIIi1i1 , I1I1IiI1 , IIIIii ) 2015-10-29 16:57:15 ERROR tlwebadm[53736]: File "/opt/thinlinc/modules/thinlinc/tlwebadm/main.py", line 124, in do_POST 2015-10-29 16:57:15 ERROR tlwebadm[53736]: self . _POST_METHODS . get ( page_name , self . error_404 ) ( query ) ) 2015-10-29 16:57:15 ERROR tlwebadm[53736]: File "/opt/thinlinc/modules/thinlinc/tlwebadm/desktop.py", line 232, in appgroups 2015-10-29 16:57:15 ERROR tlwebadm[53736]: Oooo0000 [ 'errors' ] = self . delete_group ( query ) 2015-10-29 16:57:15 ERROR tlwebadm[53736]: File "/opt/thinlinc/modules/thinlinc/tlwebadm/desktop.py", line 677, in delete_group 2015-10-29 16:57:15 ERROR tlwebadm[53736]: self . hfolder . delete ( "groups/%s" % Ii1I1Ii , recursive = True ) 2015-10-29 16:57:15 ERROR tlwebadm[53736]: File "/opt/thinlinc/modules/hiveconf.py", line 438, in delete 2015-10-29 16:57:15 ERROR tlwebadm[53736]: return parentfolder._delete_folder(comps[-1]) 2015-10-29 16:57:15 ERROR tlwebadm[53736]: File "/opt/thinlinc/modules/hiveconf.py", line 450, in _delete_folder 2015-10-29 16:57:15 ERROR tlwebadm[53736]: self._folders[foldername]._be_delete_folder() 2015-10-29 16:57:15 ERROR tlwebadm[53736]: File "/opt/thinlinc/modules/hiveconf.py", line 369, in _be_delete_folder 2015-10-29 16:57:15 ERROR tlwebadm[53736]: return hfu.delete_section(self.sectionname) 2015-10-29 16:57:15 ERROR tlwebadm[53736]: File "/opt/thinlinc/modules/hiveconf.py", line 900, in delete_section 2015-10-29 16:57:15 ERROR tlwebadm[53736]: f.seek(section_offset) 2015-10-29 16:57:15 ERROR tlwebadm[53736]: TypeError: 'NoneType' object cannot be interpreted as an index 2015-10-29 16:57:15 ERROR tlwebadm[53736]: ----------------------------------------