Install and Upgrade

Install and Upgrade 1.1.7 Patch Level 1

No permission to download
Is it possible to integrate @DragonByte Tech eCommerce add-on like the resource manager? So if someone use the eCommerce add-on as shop, i copy the API-key to get the install&upgrade for these add-ons as well as from DBTech shop?

I hope my declaration was clear enough.. :D
 
Is it possible to integrate @DragonByte Tech eCommerce add-on like the resource manager? So if someone use the eCommerce add-on as shop, i copy the API-key to get the install&upgrade for these add-ons as well as from DBTech shop?

I hope my declaration was clear enough.. :D
You can integrate your own copy of eCommerce by copying the DragonByte.php profile file that already exists and customising it to fit your setup (e.g. category structure etc), you'll also need the content type defined in the AdminCP.

It isn't possible to create a generic eCommerce profile file because each shop has its own category setup.
 
I am in the process of cleaning up my installed addons and I was checking how many queries each addon adds to the system.

Right now this addon adds 74 extra queries in the Admin Control Panel, increasing the number from 18 up to 92.

Of course not many people use the admin area, but it seemed a bit high to me, so I wanted to report it. But thank you for this free addon of course.
 
Fwiw, the number of queries has very little meaning in general. As long as a query is well indexed, it takes virtually no time to execute. A single badly to not at all optimized query can easily take longer than a hundred perfectly indexed queries.
 
Ha, I wondered how come I'd not noticed my admin panel was over 100 queries before.. Now I know 😅
Well, if you have debug mode not enabled, then you won't realize it. And when you do, you are probably focused on other things.

Can recommend this addon.


Fwiw, the number of queries has very little meaning in general. As long as a query is well indexed, it takes virtually no time to execute. A single badly to not at all optimized query can easily take longer than a hundred perfectly indexed queries.
I just wanted to be sure. If you looked over it and think it is fine, all good with me. I wanted to be safe and reported it. Thanks.
 
Hey @ThemeHouse there're some missing phrases.

th_iau_log_action_addOn_update_check
th_iau_log_action_style_update_check
th_iau_log_action_language_update_check
 
It actually requires 2.1. There are no options however, it integrates directly into existing functionality. Check out the documentation if you're having trouble and if you still have questions after that, feel free to open a ticket and we'll gladly assist you.
 
Okay. Thanks for the info @Lukas W.
Cheers to you and the ThemeHouse team dude. Superb stuff!
I've built what I think is an amazing design based on the Xenith framework and am looking forward to opening up shop soon.
I've also used the bulk of your add-ons as it's the exact functionality I was looking for in a rather "content discovery" type approach for my new community. So ... Thanks! (y)

J.
 
Apologies, we yet have to look into these issues. If worst comes to worst, you can uninstall and reinstall I&U and reassociate all add-ons. That'll remove all leftover data from the database, so the errors should be gone.
I tried this, and it worked for a time, but the same issue seems to have resurfaced now that some addons have updates available. The update fails on a 403 (same as the errors posted before) after not asking for my encryption key. Removing the addon that requires updating and installing it again from URL does work, but this a less than desirable workaround.
 
@ThemeHouse i got this error once every day..

Code:
Server error log
XF\Db\DuplicateKeyException: Job ThemeHouse\InstallAndUpgrade:GetProducts: MySQL query error [1062]: Duplicate entry '3-364' for key 'PRIMARY' src/XF/Db/AbstractStatement.php:217
Generated by: Unknown account Apr 17, 2019 at 16:35

Stack trace
INSERT  INTO `xf_th_installupgrade_product` (`profile_id`, `product_id`, `product_type`, `title`, `description`, `latest_version`, `extra`, `content_id`, `current_version`, `update_available`, `installed`, `json_hash`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
------------
#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL query err...', 1062, '23000')
#1 src/XF/Db/Mysqli/Statement.php(77): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1062, '23000')
#2 src/XF/Db/AbstractAdapter.php(94): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/AbstractAdapter.php(218): XF\Db\AbstractAdapter->query('INSERT  INTO `x...', Array)
#4 src/XF/Mvc/Entity/Entity.php(1452): XF\Db\AbstractAdapter->insert('xf_th_installup...', Array, false)
#5 src/XF/Mvc/Entity/Entity.php(1184): XF\Mvc\Entity\Entity->_saveToSource()
#6 src/addons/ThemeHouse/InstallAndUpgrade/InstallAndUpgrade/DragonByte.php(128): XF\Mvc\Entity\Entity->save()
#7 src/addons/ThemeHouse/InstallAndUpgrade/Job/GetProducts.php(60): ThemeHouse\InstallAndUpgrade\InstallAndUpgrade\DragonByte->getProducts()
#8 src/XF/Job/Manager.php(253): ThemeHouse\InstallAndUpgrade\Job\GetProducts->run(G)
#9 src/XF/Job/Manager.php(195): XF\Job\Manager->runJobInternal(Array, G)
#10 src/XF/Job/Manager.php(79): XF\Job\Manager->runJobEntry(Array, G)
#11 job.php(42): XF\Job\Manager->runQueue(false, 8)
#12 {main}

Request state
array(4) {
  ["url"] => string(8) "/job.php"
  ["referrer"] => string(53) "https://www.xentutorials.com"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
Were you able to get this fixed? I'm getting what seems to be the same error.

Code:
[LIST]
[*]XF\Db\DuplicateKeyException: Job ThemeHouse\InstallAndUpgrade:GetProducts: MySQL query error [1062]: Duplicate entry '3-336' for key 'PRIMARY'
[*]src/XF/Db/AbstractStatement.php:217
[*]Generated by: Unknown account
[*]May 22, 2019 at 1:00 PM
[/LIST]
Stack trace
INSERT  INTO `xf_th_installupgrade_product` (`profile_id`, `product_id`, `product_type`, `title`, `description`, `latest_version`, `extra`, `content_id`, `current_version`, `update_available`, `installed`, `json_hash`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL query err...', 1062, '23000')
#1 src/XF/Db/Mysqli/Statement.php(77): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1062, '23000')
#2 src/XF/Db/AbstractAdapter.php(94): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/AbstractAdapter.php(221): XF\Db\AbstractAdapter->query('INSERT INTO `x...', Array)
#4 src/XF/Mvc/Entity/Entity.php(1452): XF\Db\AbstractAdapter->insert('xf_th_installup...', Array, false)
#5 src/XF/Mvc/Entity/Entity.php(1184): XF\Mvc\Entity\Entity->_saveToSource()
#6 src/addons/ThemeHouse/InstallAndUpgrade/InstallAndUpgrade/DragonByte.php(128): XF\Mvc\Entity\Entity->save()
#7 src/addons/ThemeHouse/InstallAndUpgrade/Job/GetProducts.php(60): ThemeHouse\InstallAndUpgrade\InstallAndUpgrade\DragonByte->getProducts()
#8 src/XF/Job/Manager.php(253): ThemeHouse\InstallAndUpgrade\Job\GetProducts->run(G)
#9 src/XF/Job/Manager.php(195): XF\Job\Manager->runJobInternal(Array, G)
#10 src/XF/Job/Manager.php(79): XF\Job\Manager->runJobEntry(Array, G)
#11 job.php(42): XF\Job\Manager->runQueue(false, 8)
#12 {main}
Request state
array(4) {
["url"] => string(8) "/job.php"
["referrer"] => string(64) "/admin.php?cron/th_iau_get_products/run"
["_GET"] => array(0) {
}
["_POST"] => array(0) {
}
}
 
I tried this, and it worked for a time, but the same issue seems to have resurfaced now that some addons have updates available. The update fails on a 403 (same as the errors posted before) after not asking for my encryption key. Removing the addon that requires updating and installing it again from URL does work, but this a less than desirable workaround.
Were you able to get this fixed? I'm getting what seems to be the same error.

Code:
[LIST]
[*]XF\Db\DuplicateKeyException: Job ThemeHouse\InstallAndUpgrade:GetProducts: MySQL query error [1062]: Duplicate entry '3-336' for key 'PRIMARY'
[*]src/XF/Db/AbstractStatement.php:217
[*]Generated by: Unknown account
[*]May 22, 2019 at 1:00 PM
[/LIST]
Stack trace
INSERT  INTO `xf_th_installupgrade_product` (`profile_id`, `product_id`, `product_type`, `title`, `description`, `latest_version`, `extra`, `content_id`, `current_version`, `update_available`, `installed`, `json_hash`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL query err...', 1062, '23000')
#1 src/XF/Db/Mysqli/Statement.php(77): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1062, '23000')
#2 src/XF/Db/AbstractAdapter.php(94): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/AbstractAdapter.php(221): XF\Db\AbstractAdapter->query('INSERT INTO `x...', Array)
#4 src/XF/Mvc/Entity/Entity.php(1452): XF\Db\AbstractAdapter->insert('xf_th_installup...', Array, false)
#5 src/XF/Mvc/Entity/Entity.php(1184): XF\Mvc\Entity\Entity->_saveToSource()
#6 src/addons/ThemeHouse/InstallAndUpgrade/InstallAndUpgrade/DragonByte.php(128): XF\Mvc\Entity\Entity->save()
#7 src/addons/ThemeHouse/InstallAndUpgrade/Job/GetProducts.php(60): ThemeHouse\InstallAndUpgrade\InstallAndUpgrade\DragonByte->getProducts()
#8 src/XF/Job/Manager.php(253): ThemeHouse\InstallAndUpgrade\Job\GetProducts->run(G)
#9 src/XF/Job/Manager.php(195): XF\Job\Manager->runJobInternal(Array, G)
#10 src/XF/Job/Manager.php(79): XF\Job\Manager->runJobEntry(Array, G)
#11 job.php(42): XF\Job\Manager->runQueue(false, 8)
#12 {main}
Request state
array(4) {
["url"] => string(8) "/job.php"
["referrer"] => string(64) "/admin.php?cron/th_iau_get_products/run"
["_GET"] => array(0) {
}
["_POST"] => array(0) {
}
}
Gonna tag @Lukas W. on both of these as he'll be able to help further with these issues.
 
You can integrate your own copy of eCommerce by copying the DragonByte.php profile file that already exists and customising it to fit your setup (e.g. category structure etc), you'll also need the content type defined in the AdminCP.

It isn't possible to create a generic eCommerce profile file because each shop has its own category setup.
I've got a pull request for which works towards making a more generic eCommerce profile. Also fixes bugs :P

@Lukas W. fyi, got a fix for the Duplicate entry 'x-y' for key 'PRIMARY' bug in that attached pull-request
 
Code:
GuzzleHttp\Exception\ClientException: Client error: `GET https://xenforo.com/community/resources/login/login` resulted in a `404 Not Found` response: <!DOCTYPE html> <html id="XF" lang="en-US" dir="LTR" data-app="public" data-template="error" data-container-key="" d (truncated...) in src/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php at line 113
[LIST=1]
[*]GuzzleHttp\Exception\RequestException::create() insrc/vendor/guzzlehttp/guzzle/src/Middleware.php at line 66
[*]GuzzleHttp\Middleware::GuzzleHttp\{closure}() insrc/vendor/guzzlehttp/promises/src/Promise.php at line 203
[*]GuzzleHttp\Promise\Promise::callHandler() insrc/vendor/guzzlehttp/promises/src/Promise.php at line 156
[*]GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() insrc/vendor/guzzlehttp/promises/src/TaskQueue.php at line 47
[*]GuzzleHttp\Promise\TaskQueue->run() insrc/vendor/guzzlehttp/promises/src/Promise.php at line 246
[*]GuzzleHttp\Promise\Promise->invokeWaitFn()insrc/vendor/guzzlehttp/promises/src/Promise.php at line 223
[*]GuzzleHttp\Promise\Promise->waitIfPending()insrc/vendor/guzzlehttp/promises/src/Promise.php at line 267
[*]GuzzleHttp\Promise\Promise->invokeWaitList() insrc/vendor/guzzlehttp/promises/src/Promise.php at line 225
[*]GuzzleHttp\Promise\Promise->waitIfPending()insrc/vendor/guzzlehttp/promises/src/Promise.php at line 62
[*]GuzzleHttp\Promise\Promise->wait() insrc/vendor/guzzlehttp/guzzle/src/Client.phpat line 131
[*]GuzzleHttp\Client->request() insrc/vendor/guzzlehttp/guzzle/src/Client.phpat line 89
[*]GuzzleHttp\Client->__call() insrc/addons/ThemeHouse/InstallAndUpgrade/InstallAndUpgrade/Traits/HttpClientTrait.php at line 69
[*]GuzzleHttp\Client->get() insrc/addons/ThemeHouse/InstallAndUpgrade/InstallAndUpgrade/Traits/HttpClientTrait.php at line 69
[*]ThemeHouse\InstallAndUpgrade\InstallAndUpgrade\XF2RM->httpRequest() insrc/addons/ThemeHouse/InstallAndUpgrade/InstallAndUpgrade/XF2RM.php at line 46
[*]ThemeHouse\InstallAndUpgrade\InstallAndUpgrade\XF2RM->authenticate() insrc/addons/ThemeHouse/InstallAndUpgrade/InstallAndUpgrade/XF2RM.php at line 211
[*]ThemeHouse\InstallAndUpgrade\InstallAndUpgrade\XF2RM->createProductFromUrl() insrc/addons/ThemeHouse/InstallAndUpgrade/InstallAndUpgrade/XF2RM.php at line 86
[*]ThemeHouse\InstallAndUpgrade\InstallAndUpgrade\XF2RM->createAddOnProductFromUrl()insrc/addons/ThemeHouse/InstallAndUpgrade/XF/Admin/Controller/AddOn.php at line 193
[*]ThemeHouse\InstallAndUpgrade\XF\Admin\Controller\AddOn->ThemeHouse\InstallAndUpgrade\XF\Admin\Controller\{closure}() insrc/addons/ThemeHouse/InstallAndUpgrade/ControllerPlugin/Profile.php at line 88
[*]ThemeHouse\InstallAndUpgrade\ControllerPlugin\Profile->handleReply() insrc/addons/ThemeHouse/InstallAndUpgrade/XF/Admin/Controller/AddOn.php at line 199
[*]ThemeHouse\InstallAndUpgrade\XF\Admin\Controller\AddOn->actionThInstallUpgradeUrl()in src/XF/Mvc/Dispatcher.php at line 321
[*]XF\Mvc\Dispatcher->dispatchClass() insrc/XF/Mvc/Dispatcher.php at line 249
[*]XF\Mvc\Dispatcher->dispatchFromMatch() insrc/XF/Mvc/Dispatcher.php at line 100
[*]XF\Mvc\Dispatcher->dispatchLoop() insrc/XF/Mvc/Dispatcher.php at line 50
[*]XF\Mvc\Dispatcher->run() in src/XF/App.phpat line 2177
[*]XF\App->run() in src/XF.php at line 390
[*]XF::runApp() in admin.php at line 13
[/LIST]

I’m getting this error when trying to install an addon.
 
You inserted the wrong URL into the XFRM profile. The url is supposed to be https://xenforo.com/community, not https://xenforo.com/community/resources.
 
Top Bottom