feat: 4 new analytics modules
This commit is contained in:
parent
2890d9ccf0
commit
9cd8657ce6
@ -117,6 +117,14 @@ module.exports = {
|
|||||||
message: 'Mail template failed to load.',
|
message: 'Mail template failed to load.',
|
||||||
code: 3003
|
code: 3003
|
||||||
}),
|
}),
|
||||||
|
PageGenericError: CustomError('PageGenericError', {
|
||||||
|
message: 'An unexpected error occured during a page operation.',
|
||||||
|
code: 6001
|
||||||
|
}),
|
||||||
|
PageDuplicateCreate: CustomError('PageDuplicateCreate', {
|
||||||
|
message: 'Cannot create this page because an entry already exists at the same path.',
|
||||||
|
code: 6002
|
||||||
|
}),
|
||||||
SearchActivationFailed: CustomError('SearchActivationFailed', {
|
SearchActivationFailed: CustomError('SearchActivationFailed', {
|
||||||
message: 'Search Engine activation failed.',
|
message: 'Search Engine activation failed.',
|
||||||
code: 4002
|
code: 4002
|
||||||
|
@ -177,6 +177,11 @@ module.exports = class Page extends Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static async createPage(opts) {
|
static async createPage(opts) {
|
||||||
|
const dupCheck = await WIKI.models.pages.query().select('id').where('localeCode', opts.locale).where('path', opts.path).first()
|
||||||
|
if (dupCheck) {
|
||||||
|
throw new WIKI.Error.PageDuplicateCreate()
|
||||||
|
}
|
||||||
|
|
||||||
await WIKI.models.pages.query().insert({
|
await WIKI.models.pages.query().insert({
|
||||||
authorId: opts.authorId,
|
authorId: opts.authorId,
|
||||||
content: opts.content,
|
content: opts.content,
|
||||||
|
17
server/modules/analytics/matomo/code.yml
Normal file
17
server/modules/analytics/matomo/code.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
head: |
|
||||||
|
<!-- Matomo -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
var _paq = window._paq || [];
|
||||||
|
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||||
|
_paq.push(['trackPageView']);
|
||||||
|
_paq.push(['enableLinkTracking']);
|
||||||
|
(function() {
|
||||||
|
var u="{{serverHost}}/";
|
||||||
|
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||||
|
_paq.push(['setSiteId', '{{siteId}}']);
|
||||||
|
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||||
|
g.type='text/javascript'; g.async=true; g.defer=true; g.src='{{scriptUrl}}'; s.parentNode.insertBefore(g,s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<noscript><p><img src="{{serverHost}}/matomo.php?idsite=2&rec=1" style="border:0;" alt="" /></p></noscript>
|
||||||
|
<!-- End Matomo Code -->
|
26
server/modules/analytics/matomo/definition.yml
Normal file
26
server/modules/analytics/matomo/definition.yml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
key: matomo
|
||||||
|
title: Matomo
|
||||||
|
description: Take back control with Matomo Analytics – a powerful web analytics platform that gives you and your business 100% data ownership and user privacy protection.
|
||||||
|
author: requarks.io
|
||||||
|
logo: https://static.requarks.io/logo/matomo.svg
|
||||||
|
website: https://matomo.org/
|
||||||
|
isAvailable: true
|
||||||
|
props:
|
||||||
|
siteId:
|
||||||
|
type: String
|
||||||
|
title: Site ID
|
||||||
|
hint: The number index representing your site ID
|
||||||
|
default: 1
|
||||||
|
order: 1
|
||||||
|
serverHost:
|
||||||
|
type: String
|
||||||
|
title: Server Host
|
||||||
|
hint: Including https:// and optionally the port. Without trailing slash. (e.g. https://example.matomo.cloud)
|
||||||
|
default: https://example.matomo.cloud
|
||||||
|
order: 2
|
||||||
|
scriptUrl:
|
||||||
|
type: String
|
||||||
|
title: Tracking Script URL
|
||||||
|
hint: The full URL of the Matomo tracking script.
|
||||||
|
default: //cdn.matomo.cloud/EXAMPLE.matomo.cloud/matomo.js
|
||||||
|
order: 3
|
5
server/modules/analytics/newrelic/code.yml
Normal file
5
server/modules/analytics/newrelic/code.yml
Normal file
File diff suppressed because one or more lines are too long
18
server/modules/analytics/newrelic/definition.yml
Normal file
18
server/modules/analytics/newrelic/definition.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
key: newrelic
|
||||||
|
title: New Relic Browser
|
||||||
|
description: New Relic Browser provides deep visibility and insight into how your users are interacting with your application or website.
|
||||||
|
author: requarks.io
|
||||||
|
logo: https://static.requarks.io/logo/newrelic.svg
|
||||||
|
website: https://newrelic.com/products/browser-monitoring
|
||||||
|
isAvailable: true
|
||||||
|
props:
|
||||||
|
licenseKey:
|
||||||
|
type: String
|
||||||
|
title: License Key
|
||||||
|
hint: Found at the very end of the code snippet provided by New Relic Browser
|
||||||
|
order: 1
|
||||||
|
appId:
|
||||||
|
type: String
|
||||||
|
title: Application ID
|
||||||
|
hint: Found at the very end of the code snippet provided by New Relic Browser
|
||||||
|
order: 2
|
12
server/modules/analytics/statcounter/code.yml
Normal file
12
server/modules/analytics/statcounter/code.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
head: |
|
||||||
|
<!-- Statcounter Code -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
var sc_project={{projectId}};
|
||||||
|
var sc_invisible=1;
|
||||||
|
var sc_security="{{securityToken}}";
|
||||||
|
var sc_https=1;
|
||||||
|
var sc_remove_link=1;
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="https://www.statcounter.com/counter/counter.js" async></script>
|
||||||
|
<noscript><div class="statcounter"><img class="statcounter" src="https://c.statcounter.com/{{projectId}}/0/{{securityToken}}/1/" alt="Web Analytics Made Easy - StatCounter"></div></noscript>
|
||||||
|
<!-- End of Statcounter Code -->
|
18
server/modules/analytics/statcounter/definition.yml
Normal file
18
server/modules/analytics/statcounter/definition.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
key: statcounter
|
||||||
|
title: StatCounter
|
||||||
|
description: See how Statcounter's easy-to-use features give you everything you need to understand your visitors and increase your website traffic.
|
||||||
|
author: requarks.io
|
||||||
|
logo: https://static.requarks.io/logo/statcountr.svg
|
||||||
|
website: https://statcounter.com/
|
||||||
|
isAvailable: true
|
||||||
|
props:
|
||||||
|
projectId:
|
||||||
|
type: String
|
||||||
|
title: Project ID
|
||||||
|
hint: Unique Project ID, found in the code snippet provided by StatCounter
|
||||||
|
order: 1
|
||||||
|
securityToken:
|
||||||
|
type: String
|
||||||
|
title: Security Token
|
||||||
|
hint: Security token, found in the code snippet provided by StatCounter
|
||||||
|
order: 2
|
16
server/modules/analytics/yandex/code.yml
Normal file
16
server/modules/analytics/yandex/code.yml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
head: |
|
||||||
|
<!-- Yandex.Metrika counter -->
|
||||||
|
<script type="text/javascript" >
|
||||||
|
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
|
||||||
|
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
|
||||||
|
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
|
||||||
|
|
||||||
|
ym({{tagNumber}}, "init", {
|
||||||
|
clickmap:true,
|
||||||
|
trackLinks:true,
|
||||||
|
accurateTrackBounce:true,
|
||||||
|
webvisor:true
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<noscript><div><img src="https://mc.yandex.ru/watch/{{tagNumber}}" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
||||||
|
<!-- /Yandex.Metrika counter -->
|
13
server/modules/analytics/yandex/definition.yml
Normal file
13
server/modules/analytics/yandex/definition.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
key: yandex
|
||||||
|
title: Yandex Metrica
|
||||||
|
description: From traffic trends to mouse movements – get a comprehensive understanding of your online audience and drive business growth.
|
||||||
|
author: requarks.io
|
||||||
|
logo: https://static.requarks.io/logo/yandex.svg
|
||||||
|
website: https://metrica.yandex.com
|
||||||
|
isAvailable: true
|
||||||
|
props:
|
||||||
|
tagNumber:
|
||||||
|
type: String
|
||||||
|
title: Tag Number
|
||||||
|
hint: When creating the tag, select "CMS and website builders" and copy the provided Tag Number
|
||||||
|
order: 1
|
Loading…
Reference in New Issue
Block a user