Tags: .NET 6 CMS12 Moduler Optimizely/Episerver SQL

Erstatning for rapportsenteret i Optimizely CMS 12

I Optimizely (tidligere Episerver) CMS til og med versjon 11 hadde vi tilgang til et rapportsenter med følgende innebyggede rapporter.

Rapportsenteret i Optimizely CMS

Disse rapportene var bygget på, den nå utdaterte, teknologien Web Forms og ble fjernet da Optimizely CMS ble lansert på ny og moderne plattform; .NET 6.

Selv synes jeg flere av funksjonene i rapportsenteret var svært nyttige, men med modulen SqlStudio for Optimizely CMS kan man kjøre SQL spørringer direkte mot databasen og oppnå akkurat det samme i CMS 12.

For informasjon om hvordan man lagrer spørringer, sjekk dokumentasjonen for modulen. Hvis du lagrer de som vist under, kan det se slik ut i SqlStudio-modulen.

SqlStudio med lagrede spørringer som erstatter det gamle rapportsenteret

SQL-spørringer

Her lister jeg opp ulike SQL-spørringer som samlet kan brukes som erstatning for hele rapportsenteret slik vi kjenner det fra CMS 11. For hver spørring er det to varianter. En variant for å kjøre rapporten, og en variant for å lagre spørringen slik at du kan kjøre rapporten senere.

Ikke publiserte sider

SQL for å vise rapporten

SELECT
    c.pkID AS "Side ID",
    cl.Name AS "Sidenavn",
    FORMAT(cl.StartPublish, 'dd.MM.yyyy') AS "Publiseringsdato",
    FORMAT(cl.Changed, 'dd.MM.yyyy') AS "Sist endret",
    cl.ChangedByName AS "Endret av",
    lb.LanguageID AS "Språk"
FROM 
    tblContent c,
    tblWorkContent wc,
    tblContentLanguage cl,
    tblLanguageBranch lb	
WHERE
    c.pkID = cl.fkContentID AND
    c.pkID = wc.fkContentID AND
    wc.fkLanguageBranchID = cl.fkLanguageBranchID AND
    cl.fkLanguageBranchID = lb.pkID AND	
    wc.StartPublish IS NULL

SQL for å lagre spørringen

INSERT INTO SqlQueries (Name, Category, Query)
VALUES ('[1] Ikke publiserte sider', 'Rapportsenter', 'SELECT
    c.pkID AS "Side ID",
    cl.Name AS "Sidenavn",
    FORMAT(cl.StartPublish, ''dd.MM.yyyy'') AS "Publiseringsdato",
    FORMAT(cl.Changed, ''dd.MM.yyyy'') AS "Sist endret",
    cl.ChangedByName AS "Endret av",
    lb.LanguageID AS "Språk"
FROM
    tblContent c,
    tblWorkContent wc,
    tblContentLanguage cl,
    tblLanguageBranch lb	
WHERE
    c.pkID = cl.fkContentID AND
    c.pkID = wc.fkContentID AND
    wc.fkLanguageBranchID = cl.fkLanguageBranchID AND
    cl.fkLanguageBranchID = lb.pkID AND	
    wc.StartPublish IS NULL')

Publiserte sider

Viser sider publisert siste 7 dager. Endre på siste linje for å endre intervallet.

SQL for å vise rapporten

SELECT
    c.pkID AS "Side ID",
    cl.Name AS "Sidenavn",
    FORMAT(cl.StartPublish, 'dd.MM.yyyy') AS "Publiseringsdato",
    FORMAT(cl.StopPublish, 'dd.MM.yyyy') AS "Publisering stoppet",
    FORMAT(cl.Changed, 'dd.MM.yyyy') AS "Sist endret",
    cl.ChangedByName AS "Endret av",
    lb.LanguageID AS "Språk",
    ct.Name as "Sidetype"
FROM 
    tblContent c,
    tblContentType ct,
    tblContentLanguage cl,
    tblLanguageBranch lb	
WHERE
    c.pkID = cl.fkContentID AND
    c.fkContentTypeID = ct.pkID AND
    cl.fkLanguageBranchID = lb.pkID AND
    cl.StartPublish > DateAdd(DD,-7,GETDATE())

SQL for å lagre spørringen

INSERT INTO SqlQueries (Name, Category, Query)
VALUES ('[2] Publiserte sider', 'Rapportsenter', 'SELECT
    c.pkID AS "Side ID",
    cl.Name AS "Sidenavn",
    FORMAT(cl.StartPublish, ''dd.MM.yyyy'') AS "Publiseringsdato",
    FORMAT(cl.StopPublish, ''dd.MM.yyyy'') AS "Publisering stoppet",
    FORMAT(cl.Changed, ''dd.MM.yyyy'') AS "Sist endret",
    cl.ChangedByName AS "Endret av",
    lb.LanguageID AS "Språk",
    ct.Name as "Sidetype"
FROM 
    tblContent c,
    tblContentType ct,
    tblContentLanguage cl,
    tblLanguageBranch lb	
WHERE
    c.pkID = cl.fkContentID AND
    c.fkContentTypeID = ct.pkID AND
    cl.fkLanguageBranchID = lb.pkID AND
    cl.StartPublish > DateAdd(DD,-7,GETDATE())')

Endrede sider

Viser sider endret siste 7 dager. Endre på siste linje for å endre intervallet.

SQL for å vise rapporten

SELECT
    c.pkID AS "Side ID",
    cl.Name AS "Sidenavn",
    FORMAT(cl.Changed, 'dd.MM.yyyy') AS "Sist endret",
    cl.ChangedByName AS "Endret av",
    lb.LanguageID AS "Språk",
    ct.Name as "Sidetype"
FROM 
    tblContent c,
    tblContentType ct,
    tblContentLanguage cl,
    tblLanguageBranch lb	
WHERE
    c.pkID = cl.fkContentID AND
    c.fkContentTypeID = ct.pkID AND
    cl.fkLanguageBranchID = lb.pkID AND
    cl.Changed > DateAdd(DD,-7,GETDATE())

SQL for å lagre spørringen

INSERT INTO SqlQueries (Name, Category, Query)
VALUES ('[3] Endrede sider', 'Rapportsenter', 'SELECT
    c.pkID AS "Side ID",
    cl.Name AS "Sidenavn",
    FORMAT(cl.Changed, ''dd.MM.yyyy'') AS "Sist endret",
    cl.ChangedByName AS "Endret av",
    lb.LanguageID AS "Språk",
    ct.Name as "Sidetype"
FROM 
    tblContent c,
    tblContentType ct,
    tblContentLanguage cl,
    tblLanguageBranch lb	
WHERE
    c.pkID = cl.fkContentID AND
    c.fkContentTypeID = ct.pkID AND
    cl.fkLanguageBranchID = lb.pkID AND
    cl.Changed > DateAdd(DD,-7,GETDATE())')

Utløpte sider

Viser sider utløpt siste 7 dager. Endre på siste linje for å endre intervallet.

SQL for å vise rapporten

SELECT
    c.pkID AS "Side ID",
    cl.Name AS "Sidenavn",
    FORMAT(cl.StartPublish, 'dd.MM.yyyy') AS "Publiseringsdato",
    FORMAT(cl.StopPublish, 'dd.MM.yyyy') AS "Publisering stoppet",
    FORMAT(cl.Changed, 'dd.MM.yyyy') AS "Sist endret",
    cl.ChangedByName AS "Endret av",
    lb.LanguageID AS "Språk",
    ct.Name as "Sidetype"
FROM 
    tblContent c,
    tblContentType ct,
    tblContentLanguage cl,
    tblLanguageBranch lb	
WHERE
    c.pkID = cl.fkContentID AND
    c.fkContentTypeID = ct.pkID AND
    cl.fkLanguageBranchID = lb.pkID AND
    cl.StopPublish > DateAdd(DD,-7,GETDATE())

SQL for å lagre spørringen

INSERT INTO SqlQueries (Name, Category, Query)
VALUES ('[4] Utløpte sider', 'Rapportsenter', 'SELECT
    c.pkID AS "Side ID",
    cl.Name AS "Sidenavn",
    FORMAT(cl.StartPublish, ''dd.MM.yyyy'') AS "Publiseringsdato",
    FORMAT(cl.StopPublish, ''dd.MM.yyyy'') AS "Publisering stoppet",
    FORMAT(cl.Changed, ''dd.MM.yyyy'') AS "Sist endret",
    cl.ChangedByName AS "Endret av",
    lb.LanguageID AS "Språk",
    ct.Name as "Sidetype"
FROM 
    tblContent c,
    tblContentType ct,
    tblContentLanguage cl,
    tblLanguageBranch lb	
WHERE
    c.pkID = cl.fkContentID AND
    c.fkContentTypeID = ct.pkID AND
    cl.fkLanguageBranchID = lb.pkID AND
    cl.StopPublish > DateAdd(DD,-7,GETDATE())')

Enkle adresser

SQL for å vise rapporten

SELECT
    c.pkID AS "Side ID",
    cl.Name AS "Sidenavn",
    cl.ExternalURL as "Enkel adresse",
    cl.ChangedByName AS "Endret av",
    lb.LanguageID AS "Språk",
    c.VisibleInMenu AS "Vises på menyer"
FROM 
    tblContent c,
    tblContentLanguage cl,
    tblLanguageBranch lb	
WHERE
    c.pkID = cl.fkContentID AND
    cl.fkLanguageBranchID = lb.pkID AND
    cl.ExternalURL IS NOT NULL

SQL for å lagre spørringen

INSERT INTO SqlQueries (Name, Category, Query)
VALUES ('[5] Enkle adresser', 'Rapportsenter', 'SELECT
    c.pkID AS "Side ID",
    cl.Name AS "Sidenavn",
    cl.ExternalURL as "Enkel adresse",
    cl.ChangedByName AS "Endret av",
    lb.LanguageID AS "Språk",
    c.VisibleInMenu AS "Vises på menyer"
FROM 
    tblContent c,
    tblContentLanguage cl,
    tblLanguageBranch lb	
WHERE
    c.pkID = cl.fkContentID AND
    cl.fkLanguageBranchID = lb.pkID AND
    cl.ExternalURL IS NOT NULL')

Koblingsstatus

SQL for å vise rapporten

SELECT
    cl.fkContentID AS "Side ID",
    cl.Name AS "Sidenavn",
    lb.LanguageID AS "Språk",
    csl.LinkURL as "Brutt URL-adresse",
    csl.HttpStatusCode AS "Koblingsstatus",
    csl.FirstDateBroken AS "Brutt siden",
    csl.LastCheckedDate AS "Sist kontrollert"
FROM 
    tblContentSoftlink csl,
    tblLanguageBranch lb,
    tblContentLanguage cl
WHERE
    csl.OwnerLanguageID = lb.pkID AND 
    csl.fkOwnerContentID = cl.fkContentId AND
    csl.OwnerLanguageID = cl.fkLanguageBranchID AND
    csl.FirstDateBroken IS NOT NULL

SQL for å lagre spørringen

INSERT INTO SqlQueries (Name, Category, Query)
VALUES ('[6] Koblingsstatus', 'Rapportsenter', 'SELECT
    cl.fkContentID AS "Side ID",
    cl.Name AS "Sidenavn",
    lb.LanguageID AS "Språk",
    csl.LinkURL as "Brutt URL-adresse",
    csl.HttpStatusCode AS "Koblingsstatus",
    csl.FirstDateBroken AS "Brutt siden",
    csl.LastCheckedDate AS "Sist kontrollert"
FROM 
    tblContentSoftlink csl,
    tblLanguageBranch lb,
    tblContentLanguage cl
WHERE
    csl.OwnerLanguageID = lb.pkID AND 
    csl.fkOwnerContentID = cl.fkContentId AND
    csl.OwnerLanguageID = cl.fkLanguageBranchID AND
    csl.FirstDateBroken IS NOT NULL')

Disse spørringene er bare et kjapt utgangspunkt som gir omtrent det samme som rapportene i det gamle rapportsenteret. Noen av rapportene hadde flere inputmuligheter, men ved behov klarer du sikkert å utvide spørringene så de dekker dine behov.

Oppdatering: I Episerver.CMS.UI 12.12.0 er rapportsenteret tilbake. Men, du kan allikevel bruke denne modulen til å lage dine egne rapporter.

Lykke til!

Found this post helpful? Help keep this blog ad-free by buying me a coffee! ☕