Block type installation issue

Permalink
A developer provided me the files for a block type and I uploaded them in the "blocks" directory of my Concrete5 installation. However when I go to Add Functionality and click on "Install" I get a "Block Type Installed." message but still the block is not installed and is listed under "Downloaded and Ready to Install".

I saw this topic:http://www.concrete5.org/community/forums/customizing_c5/custom-blo... and asked the developer to create a db.xml file (as this was initially missing) and he did, however I still get the same behavior.

The only other similar topic I found is this one:http://www.concrete5.org/community/forums/installation/canand039t-i... however it does not provide much help.

 
jero replied on at Permalink Reply
jero
Is this a new block type, or an override for an existing one? I might have expected the files to have been provided as a package if that were the case.

If it's an override, then you wouldn't be installing, because it's already installed which might account for your issue.

If you're comfortable doing so, perhaps post a zip file of your code and I can have a look.
magadanski replied on at Permalink Reply 1 Attachment
It is a new block type -- not an existing one.

The developer of the plugin said he had installed this with no issues on a couple of other sites. He thinks this could be some writing permissions issue, however I'm not sure which folders on the server should have writing permissions.
jero replied on at Permalink Reply
jero
I can confirm that it installs on my mostly vanilla 5.4.2.1 system. What version of C5 are you using?

According to the controller, the block type is btMersenMap - if the block is installed, you'll see an entry in the BlockTypes table where the btHandle is set to "btMersenMap".

I deleted that BlockTypes record , and dropped the "btMersenMap" table, which makes the block appear to be ready for installation and indeed it installs again correctly.

Is it possible that an earlier version has left the block type installed, but the package has been removed/moved etc??
magadanski replied on at Permalink Reply
I'm running version 5.4.2.

No, I'm not seing the block type anywhere else but in the "New" section in "Add Functionality".

I checked the database to make sure that there aren't any occurances of the btMersenMap table but there wasn't anything like that.

No earlier versions of the plugin have been installed.
jero replied on at Permalink Reply
jero
Have you cleared and disabled the C5 cache, and also cleared your browser cache?

Set your Debug level to development (dashboard->Sitewide settings->debug) - do you see any errors when you try to install etc?

Are there any error logs anywhere?

Please post your Environment values? (dashboard->Sitewide settings)
magadanski replied on at Permalink Reply 1 Attachment
I've cleared the browser cache, however I'm not sure where I can clear the C5 cache from.

I enabled the debug mode and there are no errors displayed. I also checked the server logs and there are no errors too.

I've attached a file with the environment variables. I just noticed that the maximum execution time has been set to 5 seconds and if I try to set it to a bigger value using ini_set in the config/site.php file it won't work. I'm not sure whether this is due to server settings or does the C5 CMS set such a value somewhere.
jero replied on at Permalink Reply
jero
You can clear and disable the cache by going to:

Dashboard->Sitewide settings->Speed setting

Max execution time is a bit tight at 5s - 30 is a more typical value IMHO, but I don't think that's the problem here.
magadanski replied on at Permalink Reply
I cleared the cache and disabled it altogether, however, when I tried activating the plugin once more I got the same strange behavior. I get a "Block Type Installed." message, however I cannot use that new block type and it's still listed under "Downloaded and Ready to Install".
jero replied on at Permalink Reply
jero
Just to double check: you have placed the code in the folder blocks/mersen_parts_map in blocks, not concrete/blocks/mersen_parts_map

Your environment shows three overrides:

blocks/search, blocks/mersen_parts_map, themes/windwarehouse

With the lastone, if that came in a package, check the package controller to see if any blocks are installed.

It's kind of grasping at straws I'm sorry to say.
magadanski replied on at Permalink Reply
Yes, the block type files are in the blocks/mersen_parts_map folder.

Regarding checking the package controller -- where do I do that?
mkly replied on at Permalink Reply
mkly
Ok. Just to make sure.
- The directory should be called mersen_parts_maps and be in the root blocks directory
blocks/
--mersen_parts_map/
----controller.php
----db.xml
----etc...

Make sure that you have permissions set properly.

The main reasons things don't show up are because either the block name, block directory or permissions are not correct.
mkly replied on at Permalink Reply
mkly
Ok, I didn't see the part about how it says it's installed. But not showing up. In controller.php change
$btTable = 'btMersenMap';

to
$btTable = 'btMersenPartsMap';

and in db.xml change
<table name="btMersenMap">

to
<table name="btMersenPartsMap">