Application Version | 2.11.0 |
Date | 2023-09-18 |
pCon.basket Online is a client-side web application, therefore in order to operate properly it has to be served by a web server. Any web server which supports static web content can be used (e.g. Apache
, NGINX
, IIS
, ...). pCon.basket is distributed as a zip-container. The whole content of the container has to be unpacked (while keeping the folder structure unchanged) and served by the web server. The index.html
in the root of the distribution has to be used as the entry point for the web page.
pCon.basket reqiures access to an EAIWS server during runtime. The EAIWS has to be accessible from client-side. If pCon.basket and EAIWS are hosted on different domains, CORS has to be enabled on the EAIWS server. For further information how to setup the EAIWS see the EAIWS documentation.
Required EAIWS version: 4.14 or newer
The following EAIWS plugin are used from pCon.basket Online and have to be available on the EAIWS server.
To configure the application, the settings.json
in the root folder has to be edited. The available settings can be seen here (all fields/settings are optional):
{ "application": { /** * Array of languages used for the product data in order of priority. If * the array is empty or undefined the UI language will be used as fallback. * The dataLanguage will be used as default language when creating new projects. */ "dataLanguage": string[], /** array of default user restrictions, see section 3.1 */ "userRestrictions": string[], /** * List of project states which are supported by the application * with defined order. Available values: * `Undefined`, `InProgress`, `Offered`, `NotCommissioned`, * `ApprovalRequired`, `WaitingForApproval`, `ApprovalDenied`, * `Approved`, `Ordered` */ "supportedProjectStates": string[], /** * Name of the activity which should be started immediately after * starting the application. */ "defaultActivity": string, /** * If false the user is not able to enter the dashboard. * Only supported in combination with `defaultActivity`. (default: true) */ "dashboardEnabled": boolean, /** * If false news will not be shown in the dashboard. (default: true) */ "dashboardNewsEnabled": boolean, /** If false the application settings will not be available. (default: true) */ "settingsEnabled": boolean, /** * Name of the activity which should be started to open the file specified by the * he `file_open_url` url parameter. */ "fileOpenActivity": string, /** Url to the application website */ "websiteUrl": string, /** Url to the terms of use of the application */ "termsOfUseUrl": string, /** Url to the legal notice of the application */ "legalNoticeUrl": string, /** Url to the help/manual of the application */ "helpUrl": string, /** Url to the `whats new` document of the application */ "whatsNewUrl": string, /** Email address used for error reporting */ "supportEmailAddress": string, /** ID of the special model information text (default: 71) */ "specialModelInfoTextId": string, /** Enables/disables article price date support (default: true) */ "priceDateSupported": string, /** application theme */ "theme": { /** Primary color of the theme as hex string. (default: #0078d4) */ "primaryColor": string, /** Text color of the theme as hex string. (default: #333333) */ "textColor": string, /** Application bar color of the theme as hex string. (default: #ffffff) */ "appBarColor": string, /** Logo of the application. (default: null) */ "logo": string | null, /** * Background color of the logo as hex/css color string. * (default: transparent) */ "logoBackgroundColor": string } /** * Custom data which will be available at runtime to all plugins. * Please see the documentation/readme of the individual plugins for more details. */ "customData": { "DATAGROUP_KEY": { "DATA_KEY": object | array | primitive_type }; } }, "calculation": { /** * name of the pricing procedure to use for the * project and item calculation (default: STDB2B) */ "pricingProcedure": string }, "catalog": { /** if true, article numbers will be shown for catalog items (default: false) */ "showArticleNumber": boolean }, "eaiws": { /** base url of the EAIWS server */ "baseUrl": string | null, /** startup to use for session creation */ "startup": string | null, /** * Interval for the session keep alive message in milliseconds. * (default: 60000, 0 disables keep alive) * Only used if session is created with `baseUrl` and `startup`. */ "keepAliveInterval": number, /** * gatekeeper ID to use for session creation, ignored if * `baseUrl` and `startup` are defined */ "gatekeeperId": string | null, /** * Application ID used to connect to gatekeeper. */ "gatekeeperAppId": string }, "report": { /** * Array of template names of report templates which should be available to the user. * If null all available templates will be shown. */ "templates": string[] | null, /** Name of the default template */ "defaultTemplate": string | null, /** * Predefined attachments for each template which will be added to every report. * The name of the template is used as the key for the dictionary. * If an empty string is used as the tamplate name the provided attachments * will be applied to all templates without explicitly defined attachments. */ "attachments": { [template: string]: { /** List of PDF urls which should be added in front of the report. */ "prependUrls": string[], /** List of PDF urls which should be added at the end of the report. */ "appendUrls": string[] } }; }, "order": { /** * If defined a report using the specified template will * be generated and attached to the order. (default: null) */ "reportTemplate": string | null }; "projectEditor": { /** Controls if the delete confirmation dialog should be shown. (default: "Always") */ "deleteItemConfirmation": "Always" | "MultipleItems" | "Never", /** Controls if the catalog should be opened automatically for empty/new projects. (default: false) */ "openCatalogForEmptyProjects": boolean }, "plugins": { /** * Array of plugin names which can be used to disable certain plugins. * Disabled plugins will be ignored and not loaded from the application. */ "disabledPlugins": string[], /** * Array of plugin categories which can be used to disable certain plugins. * Every plugin with a disabled category will be ignored and not loaded from the application. */ "disabledCategories": string[], /** * Settings for individual plugins. Some plugins may provide * additional configuration options which can be defined here. * Please see the documentation/readme of the individual plugins * for more details. */ "settings": { "PLUGIN_NAME": object | array | primitive_type } } }
User restrictions can be used to limit the access for the user to certain application features. The restrictions defined in the settings.json
are used as default restrictions and can be overridden by authorization or integration plugins. The list of available restrictions can be seen here:
{ type UserRestriction = /** Editing of project informations and items is not allowed. (read-only access) */ "edit" | /** Editing the project informations is not allowed. (read-only access) */ "project.edit" | /** The project calculation will not be available. */ "project.calculation" | /** Editing the project calculation is not allowed. (read-only access) */ "project.calculation.edit" | /** The project purchase calculation will not be available. */ "project.calculation.purchaseCalculation" | /** The condition type will not be visible in the project calculation. */ "project.calculation.conditionType" | /** The margin will not be visible in the project calculation. */ "project.calculation.margin" | /** The project customer information will not be available. */ "project.customer" | /** Editing the project customer information is not allowed. (read-only access) */ "project.customer.edit" | /** Editing/switching the customer by using the customer search is not allowed. (read-only access) */ "project.customer.search.edit" | /** Editing the general customer data is not allowed. (read-only access) */ "project.customer.general.edit" | "project.customer.general.company.edit" | "project.customer.general.externalCustomerId.edit" | "project.customer.general.customerNumber.edit" | "project.customer.general.generalAgreementNumber.edit" | "project.customer.general.customerRelatedRemarks.edit" | /** The customer main address will not be available. */ "project.customer.mainAddress" | /** Editing the customer main address is not allowed. (read-only access) */ "project.customer.mainAddress.edit" | /** The customer shipping address will not be available. */ "project.customer.shippingAddress" | /** Editing the customer shipping address is not allowed. (read-only access) */ "project.customer.shippingAddress.edit" | /** The customer billing address will not be available. */ "project.customer.billingAddress"| /** Editing the customer billing address is not allowed. (read-only access) */ "project.customer.billingAddress.edit" | /** The project data will not be available. */ "project.data" | "project.data.projectName" | "project.data.projectNumber" | "project.data.projectState" | "project.data.projectDate" | "project.data.projectValidToDate" | "project.data.externalReferenceNumber" | "project.data.externalReferenceText" | "project.data.description" | "project.data.keywords" | "project.data.dataLanguage" | "project.data.defaultPriceDate" | "project.data.headerText" | "project.data.footerText" | /** Text formatting functions for project texts will not be available. */ "project.data.textFormatting" | /** Editing the project data is not allowed. (read-only access) */ "project.data.edit" | "project.data.projectName.edit" | "project.data.projectNumber.edit" | "project.data.projectState.edit" | "project.data.projectDate.edit" | "project.data.projectValidToDate.edit" | "project.data.externalReferenceNumber.edit" | "project.data.externalReferenceText.edit" | "project.data.description.edit" | "project.data.keywords.edit" | "project.data.dataLanguage.edit" | "project.data.defaultPriceDate.edit" | "project.data.headerText.edit" | "project.data.footerText.edit" | /** The project party in charge information will not be available. */ "project.partyInCharge" | /** Editing the project party in charge information is not allowed. (read-only access) */ "project.partyInCharge.edit" | /** The project currency and taxes will not be available. */ "project.tax" | /** Editing currency and taxes is not allowed. (read-only access) */ "project.tax.edit" | /** Currency exchange rates will not be available. */ "project.tax.exchangeRates" | /** Editing the currency exchange rates is not allowed. (read-only access) */ "project.tax.exchangeRates.edit" | /** Tax rates will not be available. */ "project.tax.taxRates" | /** Editing the tax rates is not allowed. (read-only access) */ "project.tax.taxRates.edit" | /** The project terms will not be available. */ "project.terms" | /** Editing the project terms is not allowed. (read-only access) */ "project.terms.edit" | /** Editing or creating items is not allowed. (read-only access) */ "item.edit" | /** Additional user defined item images will not be available. */ "item.additionalImages" | /** Extra item texts (e.g. special model information) will not be available. */ "item.extraTexts" | /** Editing the extra item texts is not allowed. (read-only access) */ "item.extraTexts.edit" | /** The external item number of items will not be available. */ "item.externalItemNumber" | /** Editing of the external item number of items is not allowed. (read-only access) */ "item.externalItemNumber.edit" | /** The item comments will not be available. */ "item.comments" | /** Editing of item comments item is not allowed. (read-only access) */ "item.comments.edit" | /** The item calculation will not be available. */ "item.calculation" | /** Editing the item calculation is not allowed. (read-only access) */ "item.calculation.edit" | /** The item purchase calculation will not be available. */ "item.calculation.purchaseCalculation" | /** The condition type will not be visible in the item calculation. */ "item.calculation.conditionType" | /** The margin will not be visible in the item calculation. */ "item.calculation.margin" | /** The `update condition amounts` function will not be available. */ "item.calculation.updateConditionAmounts" | /** The item configuration will not be available. */ "item.configuration" | /** Configuration of items/articles is not allowed. (read-only access) */ "item.configuration.edit" | /** Creating folders will not be available. */ "item.folder.create" | /** Folder sub totals will not be available. */ "item.folder.subTotal" | /** Creating set articles will not be available. */ "item.setArticle.create" | /** Converting a folder into a set article will not be available. */ "item.setArticle.convertTo" | /** Breaking up a set article will not be available. */ "item.setArticle.breakUp" | /** Creating text items will not be available. */ "item.textItem.create" | /** User defined description for OFML articles will not be available. */ "item.ofmlArticle.userDescription" | /** Editing the user defined description for OFML articles is not allowed. (read-only access) */ "item.ofmlArticle.userDescription.edit" | /** Updating/migrating ofml articles will not be available. */ "item.ofmlArticle.update" | /** Creating user articles will not be available. */ "item.userArticle.create" | /** Converting an article into a user article will not be available. */ "item.userArticle.convertTo" | /** * Editing the purchase price of a user article is not allowed. (read-only access) * The purchase price will be linked to the sales price in this case. */ "item.userArticle.purchasePrice.edit" | /** Merging articles will not be available. */ "item.mergeArticles" | /** Mark items as alternative (or vice versa) will not be available. */ "item.markAsAlternative" | /** Mark items as optional (or vice versa) will not be available. */ "item.markAsOptional" | /** Reporting will not be available. */ "report" | /** Editing the report is not allowed. (read-only access) */ "report.edit" | /** Order information / placing an order will not be available. */ "order" | /** Editing the order information is not allowed. (read-only access) */ "order.edit" | /** Editing the order number is not allowed. (read-only access) */ "order.orderNumber.edit" | /** Editing the order number is not allowed. (read-only access) */ "order.vendorNumber.edit" | /** Editing the order main address is not allowed. (read-only access) */ "order.mainAddress.edit" | /** Editing the order shipping address is not allowed. (read-only access) */ "order.shippingAddress.edit" | /** Editing the order billing address is not allowed. (read-only access) */ "order.billingAddress.edit"; }
.woff2
(MIME type: font/woff2
)..env
(MIME type: application/octet-stream
).© EasternGraphics GmbH | Albert-Einstein-Straße 1 | 98693 Ilmenau | GERMANY
This work (whether as text, file, book or in other form) is copyright. All rights are reserved by
EasternGraphics GmbH. Translation, reproduction or distribution of the whole or parts thereof is permitted only with the prior agreement in writing of EasternGraphics GmbH.
EasternGraphics GmbH accepts no liability for the completeness, freedom from errors, topicality or continuity of this work or for its suitability to the intended purposes of the user. All liability except in the case of malicious intent, gross negligence or harm to life and limb is excluded.
All names or descriptions contained in this work may be the trademarks of the relevant copyright owner and as such legally protected. The fact that such trademarks appear in this work entitles no-one to assume that they are for the free use of all and sundry.