• REGISTRATION REQUIREMENTS:

    Your username here MUST MATCH your XenForo username (connected to your XF license).

    Once you have registered here, then you need to start a conversation at xenforo.com w/Bob and provide the following:
    1. Your XenForo License Validation Token
    2. The Domain Name associated with the License
    NOTE: Your account will be validated once ALL requirements are verified/met. Thank you for your patience.

Installed on live AVForums - got a server error

Stuart Wright

Member
AMS
Showcase
Morning Bob,
upgraded from 1.3.0 on the live site to 2.1.1. The upgrade went without any problems.
Going to the Showcase home, I get the following server error:
ErrorException: Undefined index: rating_sum - library/NFLJ/Showcase/Model/Item.php:509
Generated By: Stuart Wright, 1 minute ago
Stack Trace
#0 /home/sites/avforums/public_html/library/NFLJ/Showcase/Model/Item.php(509): XenForo_Application::handlePhpError(8, 'Undefined index...', '/home/sites/avf...', 509, Array)
#1 /home/sites/avforums/public_html/library/NFLJ/Showcase/Model/Item.php(849): NFLJ_Showcase_Model_Item->prepareItem(Array, Array, Array, false, false)
#2 /home/sites/avforums/public_html/library/NFLJ/Showcase/ControllerPublic/Showcase.php(137): NFLJ_Showcase_Model_Item->prepareItems(Array, true)
#3 /home/sites/avforums/public_html/library/XenForo/FrontController.php(347): NFLJ_Showcase_ControllerPublic_Showcase->actionIndex()
#4 /home/sites/avforums/public_html/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#5 /home/sites/avforums/public_html/index.php(13): XenForo_FrontController->run()
#6 {main}
Request State
array(3) {
["url"] => string(33) "http://www.avforums.com/showcase/"
["_GET"] => array(1) {
["/showcase/"] => string(0) ""
}
["_POST"] => array(0) {
}
}
I have disabled the showcase for now.
 
rating_sum is a NEW field. Can you confirm that the xf_nflj_showcase_item table has that field? If not, then the upgrade failed.
 
ya, there were a bunch of new fields added, so your upgrade did not run successfully. Is Chris still doing some work for you? If so, I can have him check to see why your upgrades are not taking as this is the 2nd time for you that is doing the same exact thing. Its like its running the XML before the new install.php is uploaded.
 
If those are missing, then you have a LOT of stuff missing..... just take a look at everything that should have run along with those..

Do these new tables exist?

xf_nflj_showcase_category_prefix
xf_nflj_showcase_category_watch
xf_nflj_showcase_comment_reply
xf_nflj_showcase_custom_field_category
xf_nflj_showcase_prefix
xf_nflj_showcase_prefix_group
xf_nflj_showcase_tag
xf_nflj_showcase_tagged_content

PHP:
    protected function _installVersion40() //2.0.0 Beta 1
    {
        $db = $this->_getDb();
  
        $db->query("
            CREATE TABLE IF NOT EXISTS xf_nflj_showcase_category_prefix (
                category_id INT UNSIGNED NOT NULL,
                prefix_id INT UNSIGNED NOT NULL,
                PRIMARY KEY (category_id, prefix_id),
                KEY prefix_id (prefix_id)
            ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
        ");
      
        $db->query("
            CREATE TABLE IF NOT EXISTS xf_nflj_showcase_category_watch (
                user_id int(10) unsigned NOT NULL,
                category_id int(10) unsigned NOT NULL,
                notify_on enum('','item') NOT NULL,
                send_alert tinyint(3) unsigned NOT NULL,
                send_email tinyint(3) unsigned NOT NULL,
                include_children tinyint(3) unsigned NOT NULL,
                PRIMARY KEY (user_id,category_id),
                KEY category_id_notify_on (category_id,notify_on)
            ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
        ");  

        $db->query("      
            CREATE TABLE IF NOT EXISTS xf_nflj_showcase_comment_reply (
                comment_reply_id int(10) unsigned NOT NULL AUTO_INCREMENT,
                comment_id int(10) unsigned NOT NULL,
                user_id int(10) unsigned NOT NULL,
                username varchar(50) NOT NULL,
                comment_reply_date int(10) unsigned NOT NULL,
                message mediumtext NOT NULL,
                ip_id int(10) unsigned NOT NULL DEFAULT '0',
                PRIMARY KEY (comment_reply_id),
                KEY user_id (user_id),
                KEY comment_id_comment_reply_date (comment_id,comment_reply_date)      
            ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
        ");          
      

        $db->query("
            CREATE TABLE IF NOT EXISTS xf_nflj_showcase_custom_field_category (
                field_id VARBINARY(25) NOT NULL,
                category_id INT NOT NULL,
                PRIMARY KEY (field_id, category_id),
                KEY category_id (category_id)
            ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
        ");  
      
        $db->query("
            CREATE TABLE IF NOT EXISTS xf_nflj_showcase_prefix (
                prefix_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
                prefix_group_id INT UNSIGNED NOT NULL,
                display_order INT UNSIGNED NOT NULL,
                materialized_order INT UNSIGNED NOT NULL,
                css_class VARCHAR(50) NOT NULL DEFAULT '',
                allowed_user_group_ids blob NOT NULL,
                PRIMARY KEY (prefix_id),
                KEY materialized_order (materialized_order)
            ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
        ");  
      
        $db->query("
            CREATE TABLE IF NOT EXISTS xf_nflj_showcase_prefix_group (
                prefix_group_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
                display_order INT UNSIGNED NOT NULL,
                PRIMARY KEY (prefix_group_id)
            ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
        ");  
      
      
        // ALTERS
      
        try
        {
            $db->query("
                ALTER TABLE xf_nflj_showcase_category
                    DROP display_in_list,
                    DROP allow_item_create_user_group_ids,
                    DROP INDEX display_in_list,
                                      
                    CHANGE node_id
                        thread_node_id int unsigned not null default 0,
                    CHANGE prefix_id
                        thread_prefix_id int unsigned not null default 0,
                  
                    ADD last_item int(10) unsigned NOT NULL default '0' AFTER item_count,
                    ADD last_item_title varchar(100) NOT NULL default '' AFTER last_item,
                    ADD last_item_id int(10) unsigned NOT NULL default '0' AFTER last_item_title,
                    ADD category_breadcrumb blob NOT NULL,
                    ADD prefix_cache MEDIUMBLOB NOT NULL,
                    ADD require_prefix TINYINT UNSIGNED NOT NULL DEFAULT '0',
                    ADD field_cache MEDIUMBLOB NOT NULL,
                  
                    ADD INDEX parent_category_id_lft (parent_category_id,lft),
                    ADD INDEX lft_rgt (lft,rgt)
            ");
        }
        catch (Zend_Db_Exception $e) {}      

        try
        {
            $db->query("
                ALTER TABLE xf_nflj_showcase_comment
                    ADD username varchar(50) NOT NULL AFTER user_id,
                    ADD comment_reply_count int(10) unsigned NOT NULL DEFAULT '0',
                    ADD first_comment_reply_date int(10) unsigned NOT NULL DEFAULT '0',
                    ADD last_comment_reply_date int(10) unsigned NOT NULL DEFAULT '0',
                    ADD latest_comment_reply_ids varbinary(100) NOT NULL DEFAULT '',
                    ADD warning_id int(10) unsigned NOT NULL DEFAULT '0',
                    ADD warning_message varchar(255) NOT NULL DEFAULT '',                  
                  
                    ADD KEY comment_id_comment_date (comment_id,comment_date),
                    ADD KEY user_id (user_id),
                    ADD KEY comment_date (comment_date)                  
            ");
        }
        catch (Zend_Db_Exception $e) {}  
              
        try
        {
            $db->query("
                ALTER TABLE xf_nflj_showcase_item
                    DROP rating,
                    DROP vote_count,
                  
                    CHANGE custom_fields
                        custom_item_fields MEDIUMBLOB NOT NULL,                  
                  
                    ADD rating_count int(10) unsigned NOT NULL DEFAULT '0' AFTER view_count,
                    ADD rating_sum int(10) unsigned NOT NULL DEFAULT '0' AFTER rating_count,
                    ADD rating_avg float unsigned NOT NULL DEFAULT '0' AFTER rating_sum,
                    ADD rating_weighted float unsigned NOT NULL DEFAULT '0' AFTER rating_avg,
                    ADD prefix_id INT UNSIGNED NOT NULL DEFAULT 0,
                    ADD last_comment_date INT UNSIGNED NOT NULL DEFAULT 0,
                    ADD last_review_date INT UNSIGNED NOT NULL DEFAULT 0,
                                      
                    ADD INDEX prefix_id (prefix_id),
                    ADD INDEX thread_id (thread_id),
                    ADD INDEX category_last_update (category_id,last_update),
                    ADD INDEX user_id_last_update (user_id,last_update),
                    ADD INDEX last_update (last_update),
                    ADD INDEX category_rating_weighted (category_id, rating_weighted),
                    ADD INDEX rating_weighted (rating_weighted)
            ");
        }
        catch (Zend_Db_Exception $e) {}  
      
        try
        {
            $fields = $db->fetchPairs("
                SELECT field_id, category_ids
                FROM xf_nflj_showcase_custom_field
                WHERE category_ids <> '-1'
            ");
              
            foreach ($fields AS $fieldId => $categories)
            {
                $categoryIds = explode(',', $categories);
      
                foreach ($categoryIds AS $categoryId)
                {
                    $db->query("
                        INSERT IGNORE INTO xf_nflj_showcase_custom_field_category
                            (field_id, category_id)
                        VALUES
                            (?, ?)
                        ", array($fieldId, $categoryId)
                    );
                }
            }
        }
        catch (Zend_Db_Exception $e) {}      
      
        try
        {
            $db->query("
                ALTER TABLE xf_nflj_showcase_custom_field
                    DROP category_ids,
                  
                    CHANGE display_group
                        display_group VARCHAR(25) NOT NULL DEFAULT 'sidebar',
                    CHANGE field_type
                        field_type VARCHAR(25) NOT NULL DEFAULT 'textbox',
                    CHANGE match_type
                        match_type VARCHAR(25) NOT NULL DEFAULT 'none'
            ");
        }
        catch (Zend_Db_Exception $e) {}  

        try
        {      
            $db->query("
                INSERT INTO xf_content_type
                    (content_type, addon_id, fields)
                VALUES
                    ('showcase_category', 'NFLJ_Showcase', '')
            ");
        }
        catch (Zend_Db_Exception $e) {}

        try
        {
            $db->query("
                INSERT INTO xf_content_type_field
                    (content_type, field_name, field_value)
                VALUES
                    ('showcase_category',    'permission_handler_class',          'NFLJ_Showcase_ContentPermission_Category'),
                  
                    ('showcase_comment',    'moderator_log_handler_class',    'NFLJ_Showcase_ModeratorLogHandler_Comment'),
                    ('showcase_comment',    'moderation_queue_handler_class', 'NFLJ_Showcase_ModerationQueueHandler_Comment'),
                    ('showcase_comment',    'spam_handler_class',             'NFLJ_Showcase_SpamHandler_Comment'),
                    ('showcase_comment',    'warning_handler_class',          'NFLJ_Showcase_WarningHandler_Comment'),
                                                  
                    ('showcase_item',        'moderator_log_handler_class',    'NFLJ_Showcase_ModeratorLogHandler_Item'),
                    ('showcase_item',        'spam_handler_class',             'NFLJ_Showcase_SpamHandler_Item'),
                  
                    ('showcase_review',        'moderator_log_handler_class',    'NFLJ_Showcase_ModeratorLogHandler_Review'),
                    ('showcase_review',        'moderation_queue_handler_class', 'NFLJ_Showcase_ModerationQueueHandler_Review'),
                    ('showcase_review',        'spam_handler_class',             'NFLJ_Showcase_SpamHandler_Review'),
                    ('showcase_review',        'warning_handler_class',          'NFLJ_Showcase_WarningHandler_Review')
            ");
        }
        catch (Zend_Db_Exception $e) {}
      
        try
        {
            $categoryIds = $db->fetchCol("SELECT category_id FROM xf_nflj_showcase_category");
            XenForo_Model::create('NFLJ_Showcase_Model_CustomField')->rebuildFieldCategoryAssociationCache($categoryIds);
        }
        catch (Zend_Db_Exception $e) {}      
      
        // update comments for username field data!
        XenForo_Model::create('NFLJ_Showcase_Model_Comment')->updateCommentUsernameInfo();
      
        // force rebuild category structure!
        XenForo_Model::create('NFLJ_Showcase_Model_Category')->rebuildCategoryStructure();      
    }  
  
    protected function _installVersion46() //2.1.0
    {
        $db = $this->_getDb();
      
        try
        {
            $db->query("
                CREATE TABLE IF NOT EXISTS xf_nflj_showcase_tag (
                    tag_id int(10) unsigned NOT NULL AUTO_INCREMENT,
                    tag_text varchar(100) NOT NULL,
                    created_date int(10) unsigned NOT NULL,
                    created_user_id int(10) unsigned NOT NULL,
                    content_count int(10) unsigned DEFAULT '0',
                    latest_tagged_contents mediumblob,
                    tag_description text,
                    target_type varchar(25) NOT NULL DEFAULT '',
                    target_id int(10) unsigned NOT NULL DEFAULT '0',
                    target_data mediumblob,
                    PRIMARY KEY (tag_id),
                    KEY tag_text (tag_text),
                    KEY target_type_target_id (target_type,target_id)
                ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci       
            ");
        }
        catch (Zend_Db_Exception $e) {}      
  
        try
        {
            $db->query("      
                CREATE TABLE IF NOT EXISTS xf_nflj_showcase_tagged_content (
                    tag_id int(10) unsigned NOT NULL,
                    content_type varchar(25) NOT NULL,
                    content_id int(10) unsigned NOT NULL,
                    tagged_user_id int(10) unsigned NOT NULL,
                    tagged_date int(10) unsigned NOT NULL,
                    PRIMARY KEY (tag_id,content_type,content_id)
                ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci      
            ");
        }
        catch (Zend_Db_Exception $e) {}
              
        try
        {
            $db->query("ALTER TABLE xf_nflj_showcase_item ADD COLUMN item_tags MEDIUMBLOB");
        }
        catch (Zend_Db_Exception $e) {}              
  
    }

    protected function _installVersion48() //2.1.1
    {
        $db = $this->_getDb();

        try
        {
            $db->query("
                ALTER TABLE xf_nflj_showcase_category
                    ADD gallery_options_override tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
                    ADD gallery_type varchar(25) NOT NULL default '',
                    ADD gallery_tab1 tinyint(3) UNSIGNED NOT NULL DEFAULT '0'
            ");
        }
        catch (Zend_Db_Exception $e) {}      
    }
 
Yes all those tables exist. Chris is indeed working for us.
Shall I run the upgrade again?

Running it again will only execute steps in the installer if the version ID is less than the current version ID, so all you'd be doing is refreshing templates and phrases (which won't help you).

Can you look these alters and see which ones RAN and which ones didn't?

PHP:
    protected function _installVersion40() //2.0.0 Beta 1
    {
        $db = $this->_getDb();
  
        // ALTERS
   
        try
        {
            $db->query("
                ALTER TABLE xf_nflj_showcase_category
                    DROP display_in_list,
                    DROP allow_item_create_user_group_ids,
                    DROP INDEX display_in_list,
                                   
                    CHANGE node_id
                        thread_node_id int unsigned not null default 0,
                    CHANGE prefix_id
                        thread_prefix_id int unsigned not null default 0,
               
                    ADD last_item int(10) unsigned NOT NULL default '0' AFTER item_count,
                    ADD last_item_title varchar(100) NOT NULL default '' AFTER last_item,
                    ADD last_item_id int(10) unsigned NOT NULL default '0' AFTER last_item_title,
                    ADD category_breadcrumb blob NOT NULL,
                    ADD prefix_cache MEDIUMBLOB NOT NULL,
                    ADD require_prefix TINYINT UNSIGNED NOT NULL DEFAULT '0',
                    ADD field_cache MEDIUMBLOB NOT NULL,
               
                    ADD INDEX parent_category_id_lft (parent_category_id,lft),
                    ADD INDEX lft_rgt (lft,rgt)
            ");
        }
        catch (Zend_Db_Exception $e) {}   

        try
        {
            $db->query("
                ALTER TABLE xf_nflj_showcase_comment
                    ADD username varchar(50) NOT NULL AFTER user_id,
                    ADD comment_reply_count int(10) unsigned NOT NULL DEFAULT '0',
                    ADD first_comment_reply_date int(10) unsigned NOT NULL DEFAULT '0',
                    ADD last_comment_reply_date int(10) unsigned NOT NULL DEFAULT '0',
                    ADD latest_comment_reply_ids varbinary(100) NOT NULL DEFAULT '',
                    ADD warning_id int(10) unsigned NOT NULL DEFAULT '0',
                    ADD warning_message varchar(255) NOT NULL DEFAULT '',               
               
                    ADD KEY comment_id_comment_date (comment_id,comment_date),
                    ADD KEY user_id (user_id),
                    ADD KEY comment_date (comment_date)               
            ");
        }
        catch (Zend_Db_Exception $e) {}
           
        try
        {
            $db->query("
                ALTER TABLE xf_nflj_showcase_item
                    DROP rating,
                    DROP vote_count,
               
                    CHANGE custom_fields
                        custom_item_fields MEDIUMBLOB NOT NULL,               
               
                    ADD rating_count int(10) unsigned NOT NULL DEFAULT '0' AFTER view_count,
                    ADD rating_sum int(10) unsigned NOT NULL DEFAULT '0' AFTER rating_count,
                    ADD rating_avg float unsigned NOT NULL DEFAULT '0' AFTER rating_sum,
                    ADD rating_weighted float unsigned NOT NULL DEFAULT '0' AFTER rating_avg,
                    ADD prefix_id INT UNSIGNED NOT NULL DEFAULT 0,
                    ADD last_comment_date INT UNSIGNED NOT NULL DEFAULT 0,
                    ADD last_review_date INT UNSIGNED NOT NULL DEFAULT 0,
                                   
                    ADD INDEX prefix_id (prefix_id),
                    ADD INDEX thread_id (thread_id),
                    ADD INDEX category_last_update (category_id,last_update),
                    ADD INDEX user_id_last_update (user_id,last_update),
                    ADD INDEX last_update (last_update),
                    ADD INDEX category_rating_weighted (category_id, rating_weighted),
                    ADD INDEX rating_weighted (rating_weighted)
            ");
        }
        catch (Zend_Db_Exception $e) {}
   
        try
        {
            $fields = $db->fetchPairs("
                SELECT field_id, category_ids
                FROM xf_nflj_showcase_custom_field
                WHERE category_ids <> '-1'
            ");
           
            foreach ($fields AS $fieldId => $categories)
            {
                $categoryIds = explode(',', $categories);
   
                foreach ($categoryIds AS $categoryId)
                {
                    $db->query("
                        INSERT IGNORE INTO xf_nflj_showcase_custom_field_category
                            (field_id, category_id)
                        VALUES
                            (?, ?)
                        ", array($fieldId, $categoryId)
                    );
                }
            }
        }
        catch (Zend_Db_Exception $e) {}   
   
        try
        {
            $db->query("
                ALTER TABLE xf_nflj_showcase_custom_field
                    DROP category_ids,
               
                    CHANGE display_group
                        display_group VARCHAR(25) NOT NULL DEFAULT 'sidebar',
                    CHANGE field_type
                        field_type VARCHAR(25) NOT NULL DEFAULT 'textbox',
                    CHANGE match_type
                        match_type VARCHAR(25) NOT NULL DEFAULT 'none'
            ");
        }
        catch (Zend_Db_Exception $e) {}

        try
        {   
            $db->query("
                INSERT INTO xf_content_type
                    (content_type, addon_id, fields)
                VALUES
                    ('showcase_category', 'NFLJ_Showcase', '')
            ");
        }
        catch (Zend_Db_Exception $e) {}

        try
        {
            $db->query("
                INSERT INTO xf_content_type_field
                    (content_type, field_name, field_value)
                VALUES
                    ('showcase_category',    'permission_handler_class',          'NFLJ_Showcase_ContentPermission_Category'),
               
                    ('showcase_comment',    'moderator_log_handler_class',    'NFLJ_Showcase_ModeratorLogHandler_Comment'),
                    ('showcase_comment',    'moderation_queue_handler_class', 'NFLJ_Showcase_ModerationQueueHandler_Comment'),
                    ('showcase_comment',    'spam_handler_class',             'NFLJ_Showcase_SpamHandler_Comment'),
                    ('showcase_comment',    'warning_handler_class',          'NFLJ_Showcase_WarningHandler_Comment'),
                                               
                    ('showcase_item',        'moderator_log_handler_class',    'NFLJ_Showcase_ModeratorLogHandler_Item'),
                    ('showcase_item',        'spam_handler_class',             'NFLJ_Showcase_SpamHandler_Item'),
               
                    ('showcase_review',        'moderator_log_handler_class',    'NFLJ_Showcase_ModeratorLogHandler_Review'),
                    ('showcase_review',        'moderation_queue_handler_class', 'NFLJ_Showcase_ModerationQueueHandler_Review'),
                    ('showcase_review',        'spam_handler_class',             'NFLJ_Showcase_SpamHandler_Review'),
                    ('showcase_review',        'warning_handler_class',          'NFLJ_Showcase_WarningHandler_Review')
            ");
        }
        catch (Zend_Db_Exception $e) {}
   
        try
        {
            $categoryIds = $db->fetchCol("SELECT category_id FROM xf_nflj_showcase_category");
            XenForo_Model::create('NFLJ_Showcase_Model_CustomField')->rebuildFieldCategoryAssociationCache($categoryIds);
        }
        catch (Zend_Db_Exception $e) {}   
   
        // update comments for username field data!
        XenForo_Model::create('NFLJ_Showcase_Model_Comment')->updateCommentUsernameInfo();
   
        // force rebuild category structure!
        XenForo_Model::create('NFLJ_Showcase_Model_Category')->rebuildCategoryStructure();   
    }

    protected function _installVersion46() //2.1.0
    {
        $db = $this->_getDb();
           
        try
        {
            $db->query("ALTER TABLE xf_nflj_showcase_item ADD COLUMN item_tags MEDIUMBLOB");
        }
        catch (Zend_Db_Exception $e) {}           
    }

    protected function _installVersion48() //2.1.1
    {
        $db = $this->_getDb();

        try
        {
            $db->query("
                ALTER TABLE xf_nflj_showcase_category
                    ADD gallery_options_override tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
                    ADD gallery_type varchar(25) NOT NULL default '',
                    ADD gallery_tab1 tinyint(3) UNSIGNED NOT NULL DEFAULT '0'
            ");
        }
        catch (Zend_Db_Exception $e) {}   
    }
 
If all of that ran except for the items table alters, you can probably just get away with running the alters for the item table via phpmyadmin and then rebuilding all the caches for showcase.
 
That's the only query which failed, yes.
I ran it in phpmyadmin and it failed again because one of the indexes already existed.
I removed that index instruction and ran it again and it worked.
Can't remember which index it was, but you might want to look at that.

We're really getting there, now!
So the existing showcase is working nicely:
http://www.avforums.com/showcase/the-avforums-home-cinema.1/#timages
except the tabs aren't appearing when I open the thread. Neither in our style or the default Xenforo style. Is that a setting somewhere?

Also it appears that attachments are not being displayed in showcase text.
E.g.
Code:
[ATTACH=full]123456[/ATTACH]
If people are creating Showcases based on threads, it would be nice if attachments could be displayed.
 
Last edited:
  • Like
Reactions: Bob
Edit the showcase item and make sure that the thread_id is set. If it say's 0, then it got unset during the upgrade process somehow. Just set it back to the correct thread ID and all should be fine.
 
That is the one I just looked at (and posted above) and was working FINE 42 minutes ago. There is obviously something that is conflicting here. Without being able to SEE certain things (like quickly look at the thread table and see if the discussion_type is set to showcase_item for example). What happens with that particular one if you edit, change the discussion ID to 0, hit save, then edit it again and change the discussion id back to 1551974?

NOTE: The reason for setting it to 0 and saving it is so that when you edit it again and add the thread ID back, the DataWriter will do some extra stuff because its being CHANGED (where as if you just save it again, it won't run that particular action in the DW, cause the thread ID wasn't being changed).

Let me know the outcome.
 
Another query.
Tags.
The natural way to add tags is to hit Enter after each one. Tabbing only takes you to the next field. So there isn't any other way then hitting Enter to submit several tags. As far as I can see. And that submits the form. So you have to type a tag, hit Enter, re-edit the item, type a tag, hit Enter, re-edit etc. etc.
Would it be possible to alter the behaviour of the Enter key so that it doesn't submit the form while you are entering tags?

Also, I don't know what tags are used for elsewhere, but it strikes me as a good idea to use them for the brands of kit used in members' home cinemas. JVC, Panasonic, OPPO etc. And in different categories of showcase, it might make more sense to use different things for tags.
This then makes me wonder whether it might be possible to have a different phrase for the 'help' text (below the tag entry box) for each category.
 
Last edited:
I DO think there is a BUG in the edit item functionality tho that is causing threads to get unassociated somehow. It only happens in rare instances and I am pretty sure it has to do with my template syntax logic and permissions for moderation.

Another query.
Tags.
The natural way to add tags is to hit Enter after each one. Tabbing only takes you to the next field. So there isn't any other way then hitting Enter to submit several tags. As far as I can see. And that submits the form. So you have to type a tag, hit Enter, re-edit the item, type a tag, hit Enter, re-edit etc. etc.
Would it be possible to alter the behaviour of the Enter key so that it doesn't submit the form while you are entering tags?

If you add a comma after the tag, it starts a new tag. I've added HINT text to the edit form explaining that.
 
I DO think there is a BUG in the edit item functionality tho that is causing threads to get unassociated somehow. It only happens in rare instances and I am pretty sure it has to do with my template syntax logic and permissions for moderation.

Found it (and fixed it). It happens when giving a usergroup the moderator permission to Manage Thread Association without giving that same user group the ability to Moderate Items (which is driven by two showcase moderator permissions.. 'Edit items by anyone' & 'Approve / unapprove items').
 
Back
Top