Salesforce package installed with Call Center missing fields - salesforce

I've created a beta release package that includes a call center definition file and a visualforce page. After creating the package and installing it in a developer org, the visualforce page appears fine, but ALL fields from the call center definition file are missing.
Here is my call center definition file:
<callCenter>
<section sortOrder="0" name="reqGeneralInfo" label="General Info">
<item sortOrder="0" name="reqInternalName"
label="Internal Name">callCenter001</item>
<item sortOrder="1" name="reqDisplayName"
label="Display Name">My Call Center</item>
<item sortOrder="2" name="reqDescription"
label="Description">Located in San Francisco, CA</item>
<item sortOrder="3" name="reqProgId"
label="CTI Connector ProgId">MyAdapter.MyAdapter.1</item>
<item sortOrder="4" name="reqVersion"
label="Version">4.0</item>
<item sortOrder="5" name="reqAdapterUrl"
label="CTI Adapter URL">http://localhost:11000</item>
</section>
<section sortOrder="1" name="ServerInfo" label="CTI Server Info">
<item sortOrder="0" name="HostA"
label="Host A">Host A</item>
<item sortOrder="1" name="PortA"
label="Port A">Port A</item>
<item sortOrder="2" name="HostB"
label="Host B">Host B</item>
<item sortOrder="3" name="PortB"
label="Port B">Port B</item>
<item sortOrder="4" name="PeripheralID"
label="Peripheral ID">1000</item>
</section>
<section sortOrder="2" name="DialingOptions" label="Dialing Options">
<item sortOrder="0" name="OutsidePrefix"
label="Outside Prefix">1</item>
<item sortOrder="1" name="LongDistPrefix"
label="Long Distance Prefix">9</item>
<item sortOrder="2" name="InternationalPrefix"
label="International Prefix">01</item>
</section>
</callCenter>
After upload it displays fine in the packager org, but when i install the beta package in a dev org, it looks like this:
Why does it keep losing the fields I create in the call center definition file after installing in a new org?

This relates to a bug which was fixed in Summer '22 patch 15.1.
ref: CTI Call Center Definition Settings are missing after package installation
The current Workaround is to import a Call center definition XML file directly into Salesforce using the UI:
Setup > Call Centers > click "Import" button and upload the Call center xml file.

Related

Magento 2 InstallSchema method not executed

On my own Magento 2 custom module, I want to install a custom database table. This is the InstallSchema class code:
<?php
namespace MyVendor\MyModule\Setup;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
class InstallSchema implements InstallSchemaInterface
{
/**
* #inheritdoc
*/
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$setup->startSetup();
$table = $setup->getConnection()
->newTable($setup->getTable('my_table'))
->addColumn(
'greeting_id',
\Magento\Framework\DB\Ddl\Table::TYPE_INTEGER,
null,
['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true],
'Greeting ID'
)
->addColumn(
'message',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false, 'default' => ''],
'Message'
)->setComment("Greeting Message table");
$setup->getConnection()->createTable($table);
$setup->endSetup();
}
}
But the install method is not being executed.
Attached an xdebug session with breakpoints inside the function, never called.
Removed the module line in setup_module database table and re-run bin/magento setup:upgrade
Set the developer mode, disable cache, run a setup:di:compile, still fails.
Any ideas?
I've also tried to use UpdateSchema changing the module version, no luck.
I'm running Magento 2 on a Ubuntu Server virtual box. Permissions on folders are set correctly.
#wildchild great to get it working with another solution. In your question, you did not mention if you are using 2.2.* or 2.3.*, you just stated Magento 2.
I had the same issue after moved from one server to another and upgrading from 2.2 to 2.3 my custom module stop working, the PHP script not creating the table in the database.
I later found out that Magento has changed the music now you have to use declarative schema structure
The Module_Vendor/Module_Name/etc/db_schema.xml file declares a module’s database structure.
See the sample below and you should read more here
Create a table
The following example creates the declarative_table table with four columns. The id_column column is the primary key.
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
<table name="declarative_table">
<column xsi:type="int" name="id_column" padding="10" unsigned="true" nullable="false" comment="Entity Id"/>
<column xsi:type="int" name="severity" padding="10" unsigned="true" nullable="false" comment="Severity code"/>
<column xsi:type="varchar" name="title" nullable="false" length="255" comment="Title"/>
<column xsi:type="timestamp" name="time_occurred" padding="10" comment="Time of event"/>
<constraint xsi:type="primary" referenceId="PRIMARY">
<column name="id_column"/>
</constraint>
</table>
</schema>
Then run these command // ubuntu
php bin/magento setup:upgrade && php bin/magento cache:flush && php bin/magento cache:clean
In my case the package name was wrong. After replacing by right package name issue is fixed.
namespace Package_Name\Module_Name\Setup;
Please declare and add dependencies in InstallSchema file as given below:-
namespace <Your_Package>\<Your_Module>\Setup;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Magento\Framework\Setup\ModuleContextInterface;
Then clear the cache and remove data from generated folder and remove module entry from setup_module.
Make sure that you have defined correct setup version in your module.xml file
Found the solution. It was the module name in the module.xml file. The setup:upgrade installer search for the InstallSchema in a case-sensitive folder path, so if you declare the module as
my_module
it will search on MyVendor/my/module/Setup folder.
I resolve it by replacing the name with:
MyModule
So the installer will search correctly on MyVendor/MyModule/Setup folder.
I found the problem with the "old-way", by placing log messages on the Install.php file on the Magento setup folder.

How to set a page as startpage in EPIServer

I have created a CMS site with 4 pages in EPIServer. Now I want to set the page with id '5' as the start page. in episerver.config section I am not finding the sitesettings section . I am developing the MVC application template provided by .NET. But not getting any option for setting pagesstarid. Where to set taht in episever.config file.
My configuration file is like this:
<episerver xmlns="http://EPiServer.Configuration.EPiServerSection">
<workflowSettings>
<workflowHost type="EPiServer.WorkflowFoundation.AspNetWorkflowManager,EPiServer.WorkflowFoundation" />
<definitions>
<!-- definition: Workflow definitions that should be predefined, that is if no definition with
specified type exists it will be created-->
<!--
<definition name="Sequential Approval" description="A sequential approval workflow for pages" type="EPiServer.WorkflowFoundation.Workflows.SequentialApproval,EPiServer.WorkflowFoundation"/>
<definition name="Parallel Approval" description="A paralell approval workflow for pages" type="EPiServer.WorkflowFoundation.Workflows.ParallelApproval,EPiServer.WorkflowFoundation"/>
<definition name="Request for feedback" description="Assigns request for feedback tasks to users/roles" type="EPiServer.WorkflowFoundation.Workflows.RequestForFeedback,EPiServer.WorkflowFoundation"/>
<definition name="Ready for translation" description="Assigns translation tasks to users/roles" type="EPiServer.WorkflowFoundation.Workflows.ReadyForTranslation,EPiServer.WorkflowFoundation"/>
-->
</definitions>
<externalServices>
<!-- externalService: Custom services that is to be registered with workflow runtime-->
<externalService type="EPiServer.WorkflowFoundation.Workflows.ApprovalService,EPiServer.WorkflowFoundation" />
<externalService type="EPiServer.WorkflowFoundation.Workflows.ReadyForTranslationService,EPiServer.WorkflowFoundation" />
<externalService type="EPiServer.WorkflowFoundation.Workflows.RequestForFeedbackService,EPiServer.WorkflowFoundation" />
</externalServices>
<references>
<!-- reference: References for xoml based workflows, used at compiling of xoml based workflows-->
<!-- reference path="C:\Inetpub\wwwroot\mysiste\bin\customdependency.dll" /-->
</references>
</workflowSettings>
<applicationSettings httpCacheability="Public" pageValidateTemplate="false" uiShowGlobalizationUserInterface="true" urlRebaseKind="ToRootRelative" uiUrl="~/EPiServer/CMS/" utilUrl="~/util/" />
</episerver>
In EPiServer 7, you can change the start page if you go to admin mode / config / Manage websites.
Hope this helps

Posting hazardous materials information to Amazon MWS

We are using MWS service to create/update items on Amazon marketplace. Everything is working fine except we are not able to send hazardous item info for an item through XML.
Which XML fields should we use for hazardous materials information?
Example Feed:
<?xml version="1.0" ?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema
-
instance" xsi:noNamespaceSchemaLocation="amzn
-
envelop
e.xsd">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>M_SELLER_354577</MerchantIdentifier>
</Header>
<MessageType>Product</MessageType>
<PurgeAndReplace>true</PurgeAndReplace>
<Message>
<MessageID>1</MessageID>
<Op
erationType>Update</OperationType>
<Product>
<SKU>1Z
-
500ABR
-
FLAT</SKU>
<ProductTaxCode>A_GEN_TAX</ProductTaxCode>
<LaunchDate>2005
-
07
-
26T00:00:01</LaunchDate>
<DescriptionData>
<Title>Lyric 500 tc Queen Flat Sheet, Ivory</Title>
<Brand>Peaco
ck Alley</Brand>
<Description>Lyric sheeting by Peacock Alley is the epitome of simple and classic</Description>
<BulletPoint>made in Italy</BulletPoint>
<BulletPoint>500 thr
ead count</BulletPoint>
<BulletPoint>plain weave (percale)</BulletPoint>
<BulletPoint>100% Egyptian cotton</BulletPoint>
<Manufacturer>Peacock Alley</Manufacturer>
<SearchTerms>bedding</SearchTerms>
<SearchTerms>Sheets</SearchTerms>
<Item
Type>flat
-
sheets</ItemType>
<IsGiftWrapAvailable>false</IsGiftWrapAvailable>
<IsGiftMessageAvailable>false</IsGiftMessageAvailable>
<RecommendedBrowseNode>60583031</RecommendedBrowseNode>
<RecommendedBrowseNode>60576021<
/RecommendedBrowseNode>
</DescriptionData>
<ProductData>
<Home>
<Parentage>variation
-
parent</Parentage>
<VariationData>
<VariationTheme>Size
-
Color</VariationTheme>
</VariationData>
<Material>cotton</Material>
<
ThreadCount>500</ThreadCount>
</Home>
</ProductData>
</Product>
</Message>
<Message>
</AmazonEnvelope>
There are a few fields in the XSD that deal with hazardous materials
There is the <EUcompliance> tag, but according to the XSD, that could only be used instead of <Home> which does not make any sense to me. For details look at Products.xsd and EUcompliance.xsd
There are <HazmatItem>s in <FBA> and <ToysBaby> but they share the same fate as the above. For details look at amzn-base.xsd for its definition and FBA.xsd and ToysBaby for its use.
I have no clue why neither is valid alongside other product types, but hey, that's what their XSDs say, and it's not the first time I'm puzzled what the schema designers at Amazon were thinking... so you're left with
Put it in <OtherItemAttributes> which is valid for all product types. It would go between </ItemType> and <IsGiftWrapAvailable>. For details look at products.xsd
I don't know why you'd want to include hazmat information in the feed, but that's where I'd put it.
(BTW, you have an extra tag at the end which shouldn't be there)

"Could not get the type info from component xml schema" when loading a page in SiteEdit 2009

I enabled inline editing on SitEdit 2009 SP2 using the answer given here
How do I enable inline field editing in SiteEdit when using an XSLT TBB?
but I keep getting this error when loading the resulting page in SiteEdit:
Sys.FormatException: Could not get the type info from component xml schema.
Field: cf_tcm:20-33457-64_content_header
XPath: [1]
My XSLT TBB fragment:
<xsl:if test="//*[local-name()='content_header'] != ''">
<h1>
<div>
<tcdl:ComponentField name="content_header" index="0">
<xsl:value-of select="//*[local-name()='content_header']">
</tcdl:ComponentField>
</div>
</h1>
</xsl:if>
The output in the published file:
<h1>
<div>
<span>
<!-- Start SiteEdit Component Field: {"ID" : "cf_tcm:20-33457-64_content_header", "XPath" : "[1]", "IsMultiValued" : false} -->
<tcdl:ComponentField name="content_header" index="0" SiteEditProcessed="true">
Test
</tcdl:ComponentField>
</span>
</div>
</h1>
What is wrong with my code?
That error message means that the XPath in your <!-- Start SiteEdit Component Field: { ...} --> command does not point to a field in the current Component. Given that your XPath shows up as [1], that sounds pretty accurate.
You'll need to find the cause of the empty XPath being output. In your XSLT you mark the field with a <tcdl:ComponentField> wrapper. This wrapper is later processed by the "Enable Inline Editing" TBB to generate a corresponding <!-- Start SiteEdit Component Field ... --> command. Since the SiteEdit front-end needs an XPath to the field and the tcdl:ComponentField only contains the field name, the TBB will need to look up the XPath based on the field name.
The "Enable Inline Editing" TBB from SiteEdit 2009 looks up the current Component when processing tcdl:ComponentField by looking at the current resolved item (engine.PublishingContext.ResolvedItem.Item.Id). It then looks up the field in that Component to determine its XPath.
If you look at the package in the Template Builder, what is the Component at the bottom of the Package list? Does that Component contain a content_header field?

Silverlight out of browser icons displaying inconsistently

I'm getting some strange behaviour with the out of browser icons in a Silverlight 3 app. All four sizes are defined in the AppManifest.xml and each icon has the build action set to "Content". However, I'm only seeing the icon display on the very first install prompt (128x128 icon) and not on the desktop, shortcut menu or title bar when the app runs. If I remove the 128x128 icon definition from the xml then the next size down is automatically used so it seems they're all being referenced and packaged correctly.
Here's the app manifest xml:
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Deployment.ApplicationIdentity>
<ApplicationIdentity ShortName="XXX" Title="XXX">
<ApplicationIdentity.Blurb>XXX</ApplicationIdentity.Blurb>
<ApplicationIdentity.Icons>
<Icon Size="16x16">Icons/16.png</Icon>
<Icon Size="32x32">Icons/32.png</Icon>
<Icon Size="48x48">Icons/48.png</Icon>
<Icon Size="128x128">Icons/128.png</Icon>
</ApplicationIdentity.Icons>
</ApplicationIdentity>
</Deployment.ApplicationIdentity>
</Deployment>
Any ideas?
Just for future reference, the out of browser configuration has changed for the release version of Silverlight 3. The settings are now configured in OutOfBrowserSettings.xml and read as follows:
<OutOfBrowserSettings ShortName="XXX" EnableGPUAcceleration="False" ShowInstallMenuItem="True">
<OutOfBrowserSettings.Blurb>XXX</OutOfBrowserSettings.Blurb>
<OutOfBrowserSettings.WindowSettings>
<WindowSettings Title="XXX" Height="800" Width="600" />
</OutOfBrowserSettings.WindowSettings>
<OutOfBrowserSettings.Icons>
<Icon Size="16,16">Icons/16.png</Icon>
<Icon Size="32,32">Icons/32.png</Icon>
<Icon Size="48,48">Icons/48.png</Icon>
<Icon Size="128,128">Icons/128.png</Icon>
</OutOfBrowserSettings.Icons>
</OutOfBrowserSettings>
This has solved all the problems I described above. Further info on the changes in the release version are here: http://blogs.msdn.com/katriend/archive/2009/07/10/silverlight-3-out-of-browser-applications.aspx

Resources