/o//commerce-media/accounts/-1/images/18598938?download=true
ServiceNow Connector
Analytics and Optimization
Leírás
VilMinds ServiceNow Connector is a seamless and loosely coupled
integration with ServiceNow IT SERVICE MANAGEMENT.
Transform the Speed, Visibility, and Agility of ITSM through Liferay portal.
This Connector helps to achieve the end to end digital transformation for your IT services and infrastructure through a single unified portal.
ServiceNow Connector lets you interact with the below ServiceNow Features while automating service management processes.
It’s simple to configure and fast to deploy, so you can go live quickly with confidence while scaling to your business needs.
Key Features:
- Service Portal: Create Incident, requests and view his requests, incidents
- Service Catalogue: Create an order for Asset Hardware or software which he needed
- Knowledge Base: View all the articles related to ITSM
- My Assets: View all his assets which are in use currently
- Notification: View all his notification
- LDAP Integration
- SSO Integration
- oAuth2 authentication
- Role Base access
For more information please contact to contact@vilminds.com
Transform the Speed, Visibility, and Agility of ITSM through Liferay portal.
This Connector helps to achieve the end to end digital transformation for your IT services and infrastructure through a single unified portal.
ServiceNow Connector lets you interact with the below ServiceNow Features while automating service management processes.
It’s simple to configure and fast to deploy, so you can go live quickly with confidence while scaling to your business needs.
Key Features:
- Service Portal: Create Incident, requests and view his requests, incidents
- Service Catalogue: Create an order for Asset Hardware or software which he needed
- Knowledge Base: View all the articles related to ITSM
- My Assets: View all his assets which are in use currently
- Notification: View all his notification
- LDAP Integration
- SSO Integration
- oAuth2 authentication
- Role Base access
For more information please contact to contact@vilminds.com
VilMinds ServiceNow Connector is a seamless and loosely coupled
integration with ServiceNow IT SERVICE MANAGEMENT.
Transform the Speed, Visibility, and Agility of ITSM through Liferay portal.
This Connector helps to achieve the end to end digital transformation for your IT services and infrastructure through a single unified portal.
ServiceNow Connector lets you interact with the below ServiceNow Features while automating service management processes.
It’s simple to configure and fast to deploy, so you can go live quickly with confidence while scaling to your business needs.
Key Features:
- Service Portal: Create Incident, requests and view his requests, incidents
- Service Catalogue: Create an order for Asset Hardware or software which he needed
- Knowledge Base: View all the articles related to ITSM
- My Assets: View all his assets which are in use currently
- Notification: View all his notification
- LDAP Integration
- SSO Integration
- oAuth2 authentication
- Role Base access
For more information please contact to contact@vilminds.com
Transform the Speed, Visibility, and Agility of ITSM through Liferay portal.
This Connector helps to achieve the end to end digital transformation for your IT services and infrastructure through a single unified portal.
ServiceNow Connector lets you interact with the below ServiceNow Features while automating service management processes.
It’s simple to configure and fast to deploy, so you can go live quickly with confidence while scaling to your business needs.
Key Features:
- Service Portal: Create Incident, requests and view his requests, incidents
- Service Catalogue: Create an order for Asset Hardware or software which he needed
- Knowledge Base: View all the articles related to ITSM
- My Assets: View all his assets which are in use currently
- Notification: View all his notification
- LDAP Integration
- SSO Integration
- oAuth2 authentication
- Role Base access
For more information please contact to contact@vilminds.com
DEVELOPER
Hiba jelentkezett a sablon feldolgozása során.
The string doesn't match the expected date/time/date-time format. The string to parse was: "0". The expected format was: "yyyy-MM-dd'T'HH:mm:ss'Z'".
The nested reason given follows:
Unparseable date: "0"
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign parsedDate = createDate?datet... [in template "3192443#3192485#null" at line 58, column 17]
~ Reached through: #nested [in template "3192443#3192485#null" in macro "section" at line 243, column 17]
~ Reached through: @section title=languageUtil.get(local... [in template "3192443#3192485#null" at line 56, column 1]
----
1<#assign
2 channel = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?accountId=-1&filter=name eq 'Marketplace Channel' and siteGroupId eq '${themeDisplay.getScopeGroupId()}'")
3
4 product = restClient.get(
5 "/headless-commerce-delivery-catalog/v1.0/channels/" + channel.items[0].id +
6 "/products/" + CPDefinition_cProductId.getData() +
7 "?accountId=-1&nestedFields=categories,productSpecifications,skus&skus.accountId=-1&skus.currencyCode=USD"
8 )
9
10 catalogName = product.catalogName!""
11 categories = product.categories![]
12 createDate = product.createDate!0
13 productSpecifications = product.productSpecifications![]
14
15 liferayVersions = productSpecifications?filter(item -> stringUtil.equals(item.specificationKey, "liferay-version"))
16 platformOffering = categories?filter(item -> stringUtil.equals(item.vocabulary?replace(" ", "-"), "marketplace-liferay-platform-offering"))
17>
18
19<#assign
20 publisherDetailsResponse = restClient.get("/c/publisherdetailses?filter=publisherName eq '${catalogName}'")
21 redirectPath = "https://marketplace.liferay.com/e/publisher-details/29282497"
22/>
23
24<#if publisherDetailsResponse.items?has_content>
25 <#assign
26 publisherDetails = publisherDetailsResponse.items[0]
27 profileImageURL = publisherDetails.publisherProfileImage?replace("https://", "http://")
28 />
29</#if>
30
31<#assign
32 appDocumentationURL = getSpecificationValue("appdocumentationurl")
33 appInstallationGuideURL = getSpecificationValue("appinstallationguideurl")
34 appUsageTerms = getSpecificationValue("appusagetermsurl")
35 cpuValue = getSpecificationValue("cpu")
36 developerName = getSpecificationValue("developer-name", catalogName)
37 publisherURL = (getSpecificationValue("publisherwebsiteurl")?trim?replace(" ", ""))!""
38 ramValue = getSpecificationValue("ram")
39 sourceCode = getSpecificationValue("source-code-url")
40 supportEmail = getSpecificationValue("supportemailaddress")
41 supportPhone = getSpecificationValue("supportphone")
42 type = getSpecificationValue("type")?lower_case
43>
44<@section title = languageUtil.get(locale, "developer")>
45 <#if publisherDetails?has_content>
46 <a class = "bg-neutral-8" href = "${redirectPath}/${publisherDetails.id}">
47 ${developerName}
48 </a>
49 <#else>
50 <a class = "bg-neutral-8" href = "/?developer-name=${developerName}">
51 ${developerName}
52 </a>
53 </#if>
54</@section>
55
56<@section title = languageUtil.get(locale, "publisher-date", "Publisher Date")>
57 <#if createDate?has_content>
58 <#assign parsedDate = createDate?datetime("yyyy-MM-dd'T'HH:mm:ss'Z'") />
59
60 <p>${parsedDate?string("MMMM d, yyyy")}</p>
61 </#if>
62</@section>
63
64<@section title = languageUtil.get(locale, "deployment-method", "Deployment Method")>
65 <#list platformOffering as offering>
66 <p>${offering.name}</p>
67 </#list>
68</@section>
69
70<@section title = languageUtil.get(locale, "app-type", "App Type")>
71 <#if type == 'client-extension'> Client Extension </#if>
72 <#if type == 'cloud'> Cloud </#if>
73 <#if type == 'composite-app'> Composite App </#if>
74 <#if type == 'dxp'> DXP </#if>
75 <#if type == 'low-code-configuration'> Low Code Configuration </#if>
76</@section>
77
78<@section title = languageUtil.get(locale, "version")>
79 ${getSpecificationValue("latest-version", "1.0.0")}
80</@section>
81
82<#if liferayVersions?has_content>
83 <@section title = languageUtil.get(locale, "supported-versions", "Supported Versions")>
84 <#list liferayVersions as version>
85 ${version.value}<#if version?has_next>, </#if>
86 </#list>
87 </@section>
88</#if>
89
90<#if cpuValue?has_content>
91 <@section title = languageUtil.get(locale, "resource-requirements", "Resource Requirements")>
92 <p>
93 <#if cpuValue?has_content>
94 ${cpuValue}
95 <#assign cpuNumber = cpuValue?number?default(0) />
96 <#if cpuValue?eval gt 1>
97 CPUS
98 </#if>
99 <#if cpuValue?eval lt 2>
100 CPU
101 </#if>
102 </#if>, <#if ramValue?has_content>${ramValue} GB RAM</#if>
103 </p>
104 </@section>
105</#if>
106
107<@section title = languageUtil.get(locale, "standard-price", "Standard Price")>
108 <div>
109 <#assign purchasableSkus = [] />
110
111 <#list product.skus as sku>
112 <#if sku.purchasable?? && sku.purchasable>
113 <#assign purchasableSkus = purchasableSkus + [sku] />
114 </#if>
115 </#list>
116
117 <#assign standardSku = {} />
118
119 <#list purchasableSkus as sku>
120 <#assign matched = false />
121
122 <#list sku.skuOptions as opt>
123 <#if stringUtil.equals(opt.skuOptionValueKey, "standard")>
124 <#assign
125 matched = true
126 standardSku = sku
127 />
128
129 <#break>
130 </#if>
131 </#list>
132 <#if matched><#break></#if>
133 </#list>
134
135 <#if standardSku.price?? && standardSku.price.price?eval gt 0>
136 <div class="bg-neutral-8">${standardSku.price.priceFormatted!""}</div>
137 <#else>
138 ${languageUtil.get(locale, "free", "Free")}
139 </#if>
140 </div>
141</@section>
142
143<@section title = languageUtil.get(locale, "help-and-support", "Help and Support")>
144 <div class="d-flex flex-column mt-4">
145 <#if (appDocumentationURL?has_content || appInstallationGuideURL?has_content)>
146 <div class="d-flex mb-4">
147 <span class="support-modal-icon" id="app-documentation">
148 <@clay["icon"] symbol="document" />
149 </span>
150
151 <a class="d-flex support-modal justify-content-between w-100" href="javascript:void(0)" onClick="openInstallationDocsModal();">
152 <span class="ml-1 ">
153 ${languageUtil.get(locale, "app-documentation", "App Documentation")}
154 </span>
155 </a>
156 </div>
157 </#if>
158
159 <div class="d-flex mb-4">
160 <span class="support-modal-icon" id="publisher-support">
161 <@clay["icon"] symbol="envelope-closed" />
162 </span>
163
164 <a class="d-flex justify-content-between support-modal w-100" href="javascript:void(0)" onClick="openPublisherSupportModal();">
165 <span class="ml-1 ">
166 ${languageUtil.get(locale, "publisher-support", "Publisher Support")}
167 </span>
168 </a>
169 </div>
170
171 <#if sourceCode?has_content>
172 <div class="d-flex mb-4">
173 <span class="support-link-icon">
174 <@clay["icon"] symbol="code" />
175 </span>
176
177 <a
178 class="d-flex justify-content-between support-link w-100"
179 href="${sourceCode}"
180 target="_blank"
181 >
182 <span class="ml-1">
183 ${languageUtil.get(locale, "source-code", "Source Code")}
184
185 <span class="d-none ml-1 support-link-icon-arrow-container">
186 <@clay["icon"] className="support-link-icon-arrow" symbol="tap-ahead" />
187 </span>
188 </span>
189 </a>
190 </div>
191 </#if>
192
193 <div class="d-flex">
194 <span class="support-link-icon">
195 <@clay["icon"] symbol="check-square" />
196 </span>
197
198 <a
199 class="d-flex justify-content-between support-link w-100"
200 href="https://marketplace.liferay.com/documents/d/marketplace/end_user_license_agreement-1"
201 target="_blank">
202
203 <span class="ml-1">
204 ${languageUtil.get(locale, "eula", "EULA")}
205
206 <span class="d-none support-link-icon-arrow-container ml-1">
207 <@clay["icon"] className="support-link-icon-arrow" symbol="tap-ahead" />
208 </span>
209 </span>
210 </a>
211 </div>
212 </div>
213</@section>
214
215<@section
216 showLine = false
217 title = languageUtil.get(locale, "share-link")
218>
219 <a class="align-items-center d-flex font-weight-bold ml-1 support-link text-primary" href="#copy-share-link" onclick="copyToClipboard(Liferay.ThemeDisplay.getCanonicalURL())">
220 <span class="link-icon mr-1">
221 <@clay["icon"] symbol="link" />
222 </span>
223 Copy & Share
224 </a>
225</@section>
226
227<#function getSpecificationValue key default="">
228 <#local spec = productSpecifications?filter(productSpecification ->
229 stringUtil.equals(productSpecification.specificationKey, key)) />
230
231 <#return (spec?first.value)!default />
232</#function>
233
234<#macro section
235 title
236 showLine=true
237>
238 <p>
239 <strong>${title}</strong>
240 </p>
241
242 <div>
243 <#nested>
244 </div>
245
246 <#if showLine>
247 <hr />
248 </#if>
249</#macro>
250
251<script ${nonceAttribute}>
252 function installationDocsModalBody() {
253 return `
254 <#if appDocumentationURL?has_content>
255 <div class="d-flex flex-row align-items-center mb-3">
256 <span class="align-items-center d-flex justify-content-center modal-icon-background mr-3" style="background: #E2E2E4; border-radius:50%; height:40px; overflow:hidden; width:57px;">
257 <@clay["icon"]
258 style="fill:#6B6C7E;"
259 symbol="document-code"
260 />
261 </span>
262
263 <div class="d-flex flex-column" style="min-width: 0;">
264 <span class="text-black-50">${languageUtil.get(locale, "app-documentation-url", "App Documentation URL")}</span>
265
266 <a class="font-weight-bold" href="${appDocumentationURL}" target="_blank">
267 ${appDocumentationURL}
268 </a>
269 </div>
270 </div>
271 </#if>
272
273 <#if appInstallationGuideURL?has_content>
274 <div class="d-flex flex-row align-items-center mb-4">
275 <span class="align-items-center d-flex justify-content-center modal-icon-background mr-3" style="background: #E2E2E4; border-radius:50%; height:40px; overflow:hidden; width:57px;">
276 <@clay["icon"]
277 style="fill:#6B6C7E;"
278 symbol="document"
279 />
280 </span>
281
282 <div class="d-flex flex-column" style="min-width: 0;">
283 <span class="text-black-50">${languageUtil.get(locale, "app-installation-guide-url", "App Installation Guide URL")}</span>
284
285 <a class="font-weight-bold" href="${appInstallationGuideURL}" target="_blank">
286${appInstallationGuideURL}
287 </a>
288 </div>
289 </div>
290 </#if>
291 `;
292 }
293
294 function publisherSupportModalBody() {
295 return `
296 <div class="align-items-center d-flex flex-row mb-3">
297 <span class="align-items-center d-flex justify-content-center modal-icon-background mr-3" style="background: #E2E2E4; border-radius:50%; height:40px; overflow:hidden; width:40px;">
298 <#if profileImageURL?? && profileImageURL?length gt 0>
299 <img src="${profileImageURL}" alt="Publisher Image" style="width: 100%; height: 100%; object-fit: cover; border-radius: 50%;" />
300 <#else>
301 <@clay["icon"]
302 style="fill:#6B6C7E;"
303 symbol="picture"
304 />
305 </#if>
306 </span>
307
308 <div class="d-flex flex-column">
309 <h3 class="font-weight-bold mb-0">
310 ${catalogName}
311 </h3>
312 </div>
313 </div>
314
315 <#if publisherURL?has_content>
316 <div class="align-items-center d-flex flex-row mb-3">
317 <span class="align-items-center d-flex justify-content-center modal-icon-background mr-3" style="background: #E2E2E4; border-radius:50%; height:40px; overflow:hidden; width:40px;">
318 <@clay["icon"]
319 style="fill:#6B6C7E;"
320 symbol="globe"
321 />
322 </span>
323
324 <div class="d-flex flex-column">
325 <span class="text-black-50">${languageUtil.get(locale, "publisher-website", "Publisher Website")}</span>
326
327 <a href="${publisherURL}" target="_blank" class="font-weight-bold">
328 ${publisherURL}
329 </a>
330 </div>
331 </div>
332 </#if>
333
334 <#if supportEmail?has_content>
335 <div class="align-items-center d-flex flex-row mb-3">
336 <span class="align-items-center d-flex justify-content-center modal-icon-background mr-3" style="background: #E2E2E4; border-radius:50%; height:40px; overflow:hidden; width:40px;">
337 <@clay["icon"] style="fill:#6B6C7E;"symbol="envelope-closed" />
338 </span>
339
340 <div class="d-flex flex-column">
341 <span class="text-black-50">${languageUtil.get(locale, "support-email", "Support Email")}</span>
342
343 <a class="font-weight-bold" href="mailto:${supportEmail}" target="_blank">
344 ${supportEmail}
345 </a>
346 </div>
347 </div>
348 </#if>
349
350 <#if supportPhone?has_content>
351 <div class="d-flex flex-row align-items-center mb-3">
352 <span class="align-items-center d-flex justify-content-center modal-icon-background mr-3" style="background: #E2E2E4; border-radius:50%; height:40px; overflow:hidden; width:40px;">
353 <@clay["icon"]
354 style="fill:#6B6C7E;"
355 symbol="phone"
356 />
357 </span>
358
359 <div class="d-flex flex-column">
360 <span class="text-black-50">${languageUtil.get(locale, "phone")}</span>
361
362 <a class="font-weight-bold" href="tel:${supportPhone}" target="_blank">
363 ${supportPhone}
364 </a>
365 </div>
366 </div>
367 </#if>
368 `;
369 }
370
371 function openInstallationDocsModal() {
372 Liferay.Util.openModal({
373 bodyHTML: installationDocsModalBody(),
374 center: true,
375 headerHTML: "<h2>Installation Guide</h2>",
376 size: "md"
377 });
378 }
379
380 function openPublisherSupportModal() {
381 Liferay.Util.openModal({
382 bodyHTML: publisherSupportModalBody(),
383 center: true,
384 headerHTML: "<h2>Publisher Support Info</h2>",
385 size: "md"
386 });
387 }
388</script>
389
390<script ${nonceAttribute}>
391 function copyToClipboard(text) {
392 if (navigator && navigator.clipboard && navigator.clipboard.writeText) {
393 navigator.clipboard.writeText(text);
394
395 Liferay.Util.openToast({ message: "Copied link to the clipboard" });
396 }
397 }
398</script>
399
400<style ${nonceAttribute}>
401 .support-link,
402 .support-modal {
403 font-size: 16px;
404 }
405
406 .support-link-icon {
407 color: #0B5FFF;#54555F
408 }
409
410 .support-link-icon-arrow {
411 height: 12px !important;
412 width: 12px !important;
413 }
414
415 .support-link:hover,
416 .support-modal:hover {
417 transform: translateY(-0.75px);
418 }
419
420 .support-link:hover .support-link-icon-arrow-container {
421 display: inline-block !important;
422 transform: rotate(90deg);
423 }
424
425 .support-modal-icon,
426 .support-modal {
427 color: #54555F;
428 }
429
430 .support-modal:hover {
431 color: #272833;
432 }
433
434 .support-svg mask,
435 .link-arrow mask {
436 mask-type: alpha;
437 }
438
439 .tempCSS{
440 min-width: 0;
441 }
442</style>
DEVELOPER
2024.11.21. 18:31
Published date
2024.11.21. 18:31
Published Date
2024.11.21. 18:31
SUPPORTED OFFERINGS
Liferay PaaS
Supported Versions
7.0
Resource Requirements
Edition
Community
PRICE
Paid
help & support
SHARE LINK
HTML Example
A paragraph is a self-contained unit of a discourse in writing dealing with a particular point or idea. Paragraphs are usually an expected part of formal writing, used to organize longer prose.