-- Nodes
 --------------------------------------------------------------------------------
 
--- Valid node boot states
+-- Valid node boot states (Nodes.py expect max length to be 20)
 CREATE TABLE boot_states (
     boot_state text PRIMARY KEY
 ) WITH OIDS;
     tagvalue text                                      -- value attached
 ) WITH OIDS;
 
-CREATE OR REPLACE VIEW node_tags AS
-SELECT node_id,
-array_accum(node_tag_id) AS tag_ids
-FROM node_tag
-GROUP BY node_id;
-
-CREATE OR REPLACE VIEW view_node_tags AS
-SELECT
-node_tag.node_tag_id,
-node_tag.node_id,
-nodes.hostname,
-tag_types.tag_type_id,
-tag_types.tagname,
-tag_types.description,
-tag_types.category,
-tag_types.min_role_id,
-node_tag.tagvalue
-FROM node_tag 
-INNER JOIN tag_types USING (tag_type_id)
-INNER JOIN nodes USING (node_id);
-
 --------------------------------------------------------------------------------
 -- (network) interfaces
 --------------------------------------------------------------------------------
 GROUP BY node_id;
 
 --------------------------------------------------------------------------------
--- Interface settings
+-- Interface tags (formerly known as interface settings)
 --------------------------------------------------------------------------------
 
 CREATE TABLE interface_tag (
 GROUP BY node_id;
 
 --------------------------------------------------------------------------------
--- Slice attributes
+-- Slice tags (formerly known as slice attributes)
 --------------------------------------------------------------------------------
 
 -- Slice/sliver attributes
 CREATE INDEX slice_tag_node_id_idx ON slice_tag (node_id);
 CREATE INDEX slice_tag_nodegroup_id_idx ON slice_tag (nodegroup_id);
 
-CREATE OR REPLACE VIEW slice_tags AS
-SELECT slice_id,
-array_accum(slice_tag_id) AS slice_tag_ids
-FROM slice_tag
-GROUP BY slice_id;
-
 --------------------------------------------------------------------------------
 -- Initscripts
 --------------------------------------------------------------------------------
 AS pcu_protocol_type_ids
 FROM pcu_types;
 
+--------------------------------------------------------------------------------
 CREATE OR REPLACE VIEW view_events AS
 SELECT
 events.event_id,
 event_object.object_type
 FROM events LEFT JOIN event_object USING (event_id);
 
+--------------------------------------------------------------------------------
 CREATE OR REPLACE VIEW view_persons AS
 SELECT
 persons.person_id,
 FROM persons
 LEFT JOIN peer_person USING (person_id);
 
+--------------------------------------------------------------------------------
 CREATE OR REPLACE VIEW view_peers AS
 SELECT 
 peers.*, 
 COALESCE((SELECT peer_slice_ids FROM peer_slices WHERE peer_slices.peer_id = peers.peer_id), '{}') AS peer_slice_ids
 FROM peers;
 
+--------------------------------------------------------------------------------
+CREATE OR REPLACE VIEW node_tags AS
+SELECT node_id,
+array_accum(node_tag_id) AS tag_ids
+FROM node_tag
+GROUP BY node_id;
+
+CREATE OR REPLACE VIEW view_node_tags AS
+SELECT
+node_tag.node_tag_id,
+node_tag.node_id,
+nodes.hostname,
+tag_types.tag_type_id,
+tag_types.tagname,
+tag_types.description,
+tag_types.category,
+tag_types.min_role_id,
+node_tag.tagvalue
+FROM node_tag 
+INNER JOIN tag_types USING (tag_type_id)
+INNER JOIN nodes USING (node_id);
+
 CREATE OR REPLACE VIEW view_nodes AS
 SELECT
 nodes.node_id,
 LEFT JOIN peer_node USING (node_id)
 LEFT JOIN node_session USING (node_id);
 
+--------------------------------------------------------------------------------
 CREATE OR REPLACE VIEW view_nodegroups AS
 SELECT
 nodegroups.*,
 AS node_ids
 FROM nodegroups INNER JOIN tag_types USING (tag_type_id);
 
+--------------------------------------------------------------------------------
 CREATE OR REPLACE VIEW view_conf_files AS
 SELECT
 conf_files.*,
 AS nodegroup_ids
 FROM conf_files;
 
+--------------------------------------------------------------------------------
 CREATE OR REPLACE VIEW view_pcus AS
 SELECT
 pcus.*,
 COALESCE((SELECT ports FROM pcu_nodes WHERE pcu_nodes.pcu_id = pcus.pcu_id), '{}') AS ports
 FROM pcus;
 
+--------------------------------------------------------------------------------
 CREATE OR REPLACE VIEW view_sites AS
 SELECT
 sites.site_id,
 FROM sites
 LEFT JOIN peer_site USING (site_id);
 
+--------------------------------------------------------------------------------
 CREATE OR REPLACE VIEW view_addresses AS
 SELECT
 addresses.*,
 COALESCE((SELECT address_types FROM address_address_types WHERE address_address_types.address_id = addresses.address_id), '{}') AS address_types
 FROM addresses;
 
+--------------------------------------------------------------------------------
 CREATE OR REPLACE VIEW view_keys AS
 SELECT
 keys.*,
 LEFT JOIN person_key USING (key_id)
 LEFT JOIN peer_key USING (key_id);
 
+--------------------------------------------------------------------------------
+CREATE OR REPLACE VIEW slice_tags AS
+SELECT slice_id,
+array_accum(slice_tag_id) AS slice_tag_ids
+FROM slice_tag
+GROUP BY slice_id;
+
 CREATE OR REPLACE VIEW view_slices AS
 SELECT
 slices.slice_id,
 FROM slice_tag
 INNER JOIN tag_types USING (tag_type_id);
 
+--------------------------------------------------------------------------------
 CREATE OR REPLACE VIEW view_sessions AS
 SELECT
 sessions.session_id,